openstack.cloud.subnet 模块 – 向 OpenStack 网络添加/删除子网
注意
此模块是 openstack.cloud 集合 (版本 2.3.0) 的一部分。
如果您使用的是 ansible
包,则可能已安装此集合。它不包含在 ansible-core
中。要检查是否已安装,请运行 ansible-galaxy collection list
。
要安装它,请使用:ansible-galaxy collection install openstack.cloud
。您需要其他要求才能使用此模块,请参阅 要求 获取详细信息。
要在 playbook 中使用它,请指定:openstack.cloud.subnet
。
概要
向 OpenStack 网络添加或删除子网
要求
执行此模块的主机需要以下要求。
python >= 3.6
openstacksdk >= 1.0.0
参数
参数 |
注释 |
---|---|
来自子网池的最后一个应分配给虚拟机的 IP 地址。 |
|
来自子网池的应分配 IP 地址的起始地址。 |
|
要分配给子网的分配池列表。每个元素都包含一个“起始”值和一个“结束”值。 |
|
套接字层在 API 调用超时之前应等待多长时间。如果省略此项,则不会将任何内容传递给请求库。 |
|
包含云的认证插件策略所需的认证信息的字典。对于默认的 *password* 插件,这将包含 *auth_url*、*username*、*password*、*project_name* 以及云支持的任何有关域的信息(例如,*user_domain_name* 或 *project_domain_name*)。对于其他插件,此参数需要包含该认证插件所需的任何参数。如果提供了命名云或存在 OpenStack OS_* 环境变量,则不需要此参数。 |
|
要使用的认证插件的名称。如果云使用密码认证以外的其他方法,则应在此处指示插件的名称,并相应地更新 *auth* 参数的内容。 |
|
可用于验证 SSL API 请求的 CA 证书包的路径。 |
|
应分配给子网的子网的 CIDR 表示法。当 *state* 为“present”且未指定子网池时,这是必需的。 |
|
作为 SSL 事务一部分使用的客户端证书的路径。 |
|
作为 SSL 事务一部分使用的客户端密钥的路径。 |
|
要操作的命名云或云配置。如果 *cloud* 是字符串,则它引用在 OpenStack clouds.yaml 文件中定义的命名云配置。为 *auth* 和 *auth_type* 提供默认值。如果提供了 *auth* 或存在 OpenStack OS_* 环境变量,则不需要此参数。如果 *cloud* 是字典,则它包含完整的云配置,就像 clouds.yaml 的一个部分一样。 |
|
子网描述 |
|
此子网不会分配网关 IP 选项
|
|
此子网的 DNS 服务器列表。 |
|
包含传递给 API 的额外键值对的字典 默认值: |
|
将分配给此子网网关的 IP 地址 |
|
子网的主机路由字典列表。 |
|
目标网络 (CIDR)。 |
|
destination 的下一跳(也称为网关)。 |
|
从服务目录中获取的端点 URL 类型。 选项
|
|
子网的 IP 版本 4 或 6 选项
|
|
IPv6 地址模式 选项
|
|
IPv6 路由器通告模式 选项
|
|
是否为此子网启用 DHCP。 选项
|
|
要创建的子网名称。尽管 Neutron 允许使用非唯一子网名称,但此模块强制执行子网名称唯一性。 |
|
应将子网附加到的网络的名称或 ID 当 state 为 ‘present’ 时必需 |
|
从子网池分配子网时要使用的前缀长度 |
|
包含子网的项目名称或 ID(仅限管理员名称) |
|
区域名称。 |
|
OpenStackSDK 的日志级别 选项
|
|
OpenStackSDK 日志文件的路径。如果为空,则不写入日志 |
|
指示所需资源状态 选项
|
|
从中获取 CIDR 的子网池名称或 ID |
|
Ansible 应等待请求资源多长时间。 默认值: |
|
使用默认子网池 (对于 ip_version) 获取 CIDR。 选项
|
|
是否应验证 SSL API 请求。 在 Ansible 2.3 之前,默认为 选项
|
|
Ansible 是否应等到请求的资源完成。 选项
|
备注
注意
可以使用标准的 OpenStack 环境变量(例如
OS_USERNAME
),而不是提供显式值。身份验证信息由 openstacksdk 驱动,这意味着值可以来自 /etc/ansible/openstack.yaml、/etc/openstack/clouds.yaml 或 ~/.config/openstack/clouds.yaml 中的 yaml 配置文件,然后来自标准环境变量,最后来自剧本中的显式参数。更多信息可在 https://docs.openstack.org/openstacksdk/ 找到。
示例
# Create a new (or update an existing) subnet on the specified network
- openstack.cloud.subnet:
state: present
network_name: network1
name: net1subnet
cidr: 192.168.0.0/24
dns_nameservers:
- 8.8.8.7
- 8.8.8.8
host_routes:
- destination: 0.0.0.0/0
nexthop: 12.34.56.78
- destination: 192.168.0.0/24
nexthop: 192.168.0.1
# Delete a subnet
- openstack.cloud.subnet:
state: absent
name: net1subnet
# Create an ipv6 stateless subnet
- openstack.cloud.subnet:
state: present
name: intv6
network_name: internal
ip_version: 6
cidr: 2db8:1::/64
dns_nameservers:
- 2001:4860:4860::8888
- 2001:4860:4860::8844
ipv6_ra_mode: dhcpv6-stateless
ipv6_address_mode: dhcpv6-stateless
返回值
常用的返回值已在 此处 记录,以下是此模块特有的字段
键 |
描述 |
---|---|
子网 ID 返回:子网存在时成功。 |
|
描述子网的字典。 返回:子网存在时成功。 |
|
与此子网关联的分配池。 返回:成功 |
|
子网的 CIDR。 返回:成功 |
|
创建时间戳 返回:成功 |
|
描述 返回:成功 |
|
此子网的 DNS 域名服务器。 返回:成功 |
|
是否发布固定 IP 的 DNS 记录。 返回:成功 |
|
子网的网关 IP。 返回:成功 |
|
主机路由列表。 返回:成功 |
|
唯一 UUID。 返回:成功 |
|
此子网的 IP 版本。 返回:成功 |
|
IPv6 地址模式,包括 ‘dhcpv6-stateful’、‘dhcpv6-stateless’ 或 ‘slaac’。 返回:成功 |
|
IPv6 路由器通告模式,可以是 ‘slaac’、‘dhcpv6-stateful’、‘dhcpv6-stateless’。 返回:成功 |
|
此子网的 DHCP 启用标志。 返回:成功 |
|
赋予子网的名称。 返回:成功 |
|
此子网所属的网络 ID。 返回:成功 |
|
从子网池分配子网时要使用的前缀长度。 返回:成功 |
|
与此子网关联的项目 ID。 返回:成功 |
|
资源的修订号 返回:成功 |
|
此子网关联到的段的 ID。 返回:成功 |
|
此子网的服务类型 返回:成功 |
|
从中获取 CIDR 的子网池 ID。 返回:成功 |
|
标签 返回:成功 |
|
子网上次更新的时间戳。 返回:成功 |
|
是否使用默认子网池来获取 CIDR。 返回:成功 |