community.hrobot.v_switch 模块 – 管理 Hetzner 的 vSwitch

注意

此模块是 community.hrobot 集合 (版本 2.0.2) 的一部分。

如果您使用的是 ansible 包,则可能已安装此集合。它不包含在 ansible-core 中。要检查它是否已安装,请运行 ansible-galaxy collection list

要安装它,请使用:ansible-galaxy collection install community.hrobot

要在 playbook 中使用它,请指定:community.hrobot.v_switch

community.hrobot 1.7.0 中的新增功能

概要

  • 管理 Hetzner 的 vSwitch。

参数

参数

注释

hetzner_password

字符串 / 必需

Robot web 服务用户的密码。

hetzner_user

字符串 / 必需

Robot web 服务用户的用户名。

name

字符串 / 必需

vSwitch 的名称。

为了识别 vSwitch,名称和 VLAN 必须匹配。如果不匹配,将创建一个新的 vSwitch。

servers

列表 / 元素=字符串

服务器标识符列表(服务器的数字 ID 或服务器的主 IPv4 或 IPv6)。

如果未指定 servers,则不会删除服务器。

state

字符串

vSwitch 的状态。

如果 state 为 present,则创建 vSwitch;如果 state 为 absent,则删除 vSwitch。

absent 只会在当天结束时取消 vSwitch。

取消时,如果您想主动删除 vSwitch 中的服务器,则必须指定 servers=[]

选项

  • "present" ← (默认)

  • "absent"

timeout

整数

等待 vSwitch 服务器配置完成的超时时间(以秒为单位)。

默认值: 180

vlan

整数 / 必需

vSwitch 的 VLAN ID。

范围可以是 4000 到 4091。

为了识别 vSwitch,名称和 VLAN 必须匹配。如果不匹配,将创建一个新的 vSwitch。

wait

布尔值

是否等待 vSwitch 成功配置后再确定要执行的操作,以及在模块返回之前。

当 vSwitch 正在服务器中设置时,API 返回状态 in process。如果发生这种情况,模块将尝试再次运行,直到状态变为 ready 或服务器已从 vSwitch 中移除。

请注意,如果在删除和移除服务器时禁用 wait,模块将因 VSWITCH_IN_PROCESS 错误而失败。

选项

  • false

  • true ← (默认)

wait_delay

整数

再次检查 vSwitch 服务器是否已配置之前等待的延迟(以秒为单位)。

默认值: 10

属性

属性

支持

描述

action_group

操作组: community.hrobot.robot

module_defaults 中使用 group/community.hrobot.robot 为此模块设置默认值。

check_mode

支持: 完全支持

可以在 check_mode 下运行,并在不修改目标的情况下返回更改状态预测。

diff_mode

支持: 不支持

在 diff 模式下,将返回有关已更改内容(或可能需要在 check_mode 下更改的内容)的详细信息。

另请参阅

另请参阅

vSwitch 文档

Hetzner vSwitch 专用服务器连接文档。

示例

- name: Create vSwitch with VLAN 4010 and name foo
  community.hrobot.v_switch:
    hetzner_user: foo
    hetzner_password: bar
    vlan: 4010
    name: foo

- name: Create vSwitch with VLAN 4020 and name foo with two servers
  community.hrobot.v_switch:
    hetzner_user: foo
    hetzner_password: bar
    vlan: 4010
    name: foo
    servers:
      - 123.123.123.123
      - 154323

返回值

常见的返回值已在 此处 记录,以下是此模块独有的字段

描述

v_switch

字典

vSwitch 信息。

返回:成功

已取消

布尔值

取消状态。

返回:成功

示例: false

cloud_network

列表 / 元素=字典

已分配的云网络列表。

返回:成功

示例: [{"gateway": "10.0.2.1", "id": 123, "ip": "10.0.2.0", "mask": 24}]

gateway

字符串

网关。

返回:成功

示例: "10.0.2.1"

id

整数

云网络ID。

返回:成功

示例: 123

ip

字符串

IP地址。

返回:成功

示例: "10.0.2.0"

mask

整数

CIDR 表示法中的子网掩码。

返回:成功

示例: 24

id

整数

vSwitch 的 ID。

返回:成功

示例: 4321

name

字符串

vSwitch 的名称。

返回:成功

示例: "my vSwitch"

server

列表 / 元素=字典

vSwitch 的 VLAN。

返回:成功

示例: [{"server_ip": "123.123.123.123", "server_ipv6_net": "2a01:4f8:111:4221::", "server_number": 321, "status": "ready"}]

server_ip

字符串

服务器的主IP地址。

返回:成功

示例: "123.123.123.123"

server_ipv6_net

字符串

服务器的主IPv6网络地址。

返回:成功

示例: "2a01:f48:111:4221::"

server_number

整数

服务器的数字ID。

返回:成功

示例: 321

status

字符串

此服务器的vSwitch状态。

返回:成功

只能返回

  • "ready"

  • "in process"

  • "failed"

示例: "ready"

subnet

列表 / 元素=字典

已分配的IP地址列表。

返回:成功

示例: [{"gateway": "213.239.252.49", "ip": "213.239.252.48", "mask": 29}]

gateway

字符串

子网网关。

返回:成功

示例: "213.239.252.49"

ip

字符串

IP地址。

返回:成功

示例: "213.239.252.48"

mask

整数

CIDR 表示法中的子网掩码。

返回:成功

示例: 29

vlan

整数

vSwitch 的 VLAN ID。

返回:成功

示例: 4000

作者

  • Alexander Gil Casas (@pando85)