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

注意

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

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

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

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

community.hrobot 1.7.0 中的新增功能

概要

  • 管理 Hetzner 的 vSwitch。

参数

参数

注释

hetzner_password

字符串 / 必需

Robot 网络服务用户的密码。

hetzner_user

字符串 / 必需

Robot 网络服务用户的用户名。

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

支持:不支持

在差异模式下,将返回有关已更改内容(或可能需要在 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 的信息。

返回:成功

cancelled

布尔值

取消状态。

返回:成功

示例: 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)