openstack.cloud.port 模块 – 从 OpenStack 云添加/更新/删除端口。
注意
此模块是 openstack.cloud 集合(版本 2.3.0)的一部分。
如果您正在使用 ansible
包,您可能已经安装了此集合。它不包含在 ansible-core
中。要检查是否已安装,请运行 ansible-galaxy collection list
。
要安装它,请使用:ansible-galaxy collection install openstack.cloud
。您需要其他要求才能使用此模块,有关详细信息,请参阅要求。
要在 playbook 中使用它,请指定:openstack.cloud.port
。
概要
从 OpenStack 云添加、更新或删除端口。
要求
以下要求需要在执行此模块的主机上满足。
python >= 3.6
openstacksdk >= 1.0.0
参数
参数 |
注释 |
---|---|
允许的地址对列表。 允许的地址对支持字典结构。 例如,allowed_address_pairs: - ip_address: 10.1.0.12 mac_address: ab:cd:ef:12:34:56 - ip_address: … 如果未指定所有子选项(例如,当给定 ip_address 但未给定 mac_address 时),端口将在更新期间更改。 |
|
IP 地址。 |
|
MAC 地址。 |
|
套接字层在 API 调用超时之前应等待多长时间。 如果省略此项,则不会将任何内容传递给 requests 库。 |
|
包含云的身份验证插件策略所需的身份验证信息的字典。 对于默认的 *password* 插件,这将包含 *auth_url*、*username*、*password*、*project_name* 以及有关域的任何信息(例如,如果云支持它们,则为 *user_domain_name* 或 *project_domain_name*)。 对于其他插件,此参数将需要包含该身份验证插件所需的任何参数。 如果提供了命名的云或存在 OpenStack OS_* 环境变量,则不需要此参数。 |
|
要使用的身份验证插件的名称。 如果云使用密码身份验证以外的其他方式,则应在此处指示插件的名称,并相应地更新 *auth* 参数的内容。 |
|
应使用其创建端口的绑定配置文件字典。 |
|
应创建的端口类型 选项
|
|
可以作为验证 SSL API 请求的一部分使用的 CA 证书包的路径。 |
|
用作 SSL 事务一部分的客户端证书的路径。 |
|
用作 SSL 事务一部分的客户端密钥的路径。 |
|
要操作的命名云或云配置。 如果 *cloud* 是一个字符串,它会引用 OpenStack clouds.yaml 文件中定义的命名云配置。 为 *auth* 和 *auth_type* 提供默认值。 如果提供了 *auth* 或存在 OpenStack OS_* 环境变量,则不需要此参数。 如果 *cloud* 是一个字典,它包含一个完整的云配置,就像 clouds.yaml 的一个部分一样。 |
|
端口的描述。 |
|
使用此端口的设备的设备 ID。 |
|
使用此端口的实体的 ID。 |
|
端口的 dns 域(仅在启用 dns 集成的情况下) |
|
端口的 dns 名称(仅在启用 dns 集成的情况下) |
|
要分配给此端口的额外 dhcp 选项。 额外选项支持字典结构。 请注意,只能更新选项,而不能删除。 例如,extra_dhcp_opts: - ip_version: 4 opt_name: bootfile-name opt_value: pxelinux.0 - opt_name: … 如果未指定所有子选项(例如,当给定 opt_name 但未给定 ip_version 时),端口将在更新期间更改。 |
|
此 DHCP 选项适用的 IP 版本。 |
|
要设置的 DHCP 选项的名称。 |
|
要设置的 DHCP 选项的值。 |
|
此端口所需的 IP 和/或子网。 子网由 subnet_id 引用,IP 由 ip_address 引用。 如果未指定所有子选项(例如,当给定 ip_address 但未给定 subnet_id 时),端口将在更新期间更改。 |
|
要尝试分配的固定 IP 地址。 |
|
要将 IP 地址附加到的子网。 |
|
要从服务目录中获取的端点 URL 类型。 选项
|
|
设置管理状态。 选项
|
|
是否在网络上启用或禁用端口安全性。 选项
|
|
此端口的 MAC 地址。 |
|
必须为端口指定的名称。 此端口属性无法更新。 |
|
此端口所属网络的 ID 或名称。 创建新端口时必需。 创建端口时必须是名称。 此端口属性无法更新。 |
|
不将安全组与此端口关联。 已弃用。 使用 *security_groups*: 选项
|
|
区域的名称。 |
|
OpenStackSDK 的日志级别 选项
|
|
OpenStackSDK 日志文件的路径。 如果为空,则不写入日志 |
|
与端口关联的安全组 ID 或名称。 |
|
资源应该存在还是不存在。 选项
|
|
Ansible应该等待请求的资源多长时间。 默认值: |
|
是否应该验证SSL API请求。 在Ansible 2.3之前,默认值为 选项
|
|
Ansible是否应该等待直到请求的资源完成。 选项
|
注释
注意
可以使用标准的OpenStack环境变量,例如
OS_USERNAME
,而不是提供显式的值。身份验证信息由openstacksdk驱动,这意味着值可以来自/etc/ansible/openstack.yaml、/etc/openstack/clouds.yaml或~/.config/openstack/clouds.yaml中的yaml配置文件,然后来自标准环境变量,最后来自play中的显式参数。更多信息可以在https://docs.openstack.org/openstacksdk/找到
示例
# Create a port
- openstack.cloud.port:
state: present
auth:
auth_url: https://identity.example.com
username: admin
password: admin
project_name: admin
name: port1
network: foo
# Create a port with a static IP
- openstack.cloud.port:
state: present
auth:
auth_url: https://identity.example.com
username: admin
password: admin
project_name: admin
name: port1
network: foo
fixed_ips:
- ip_address: 10.1.0.21
# Create a port with No security groups
- openstack.cloud.port:
state: present
auth:
auth_url: https://identity.example.com
username: admin
password: admin
project_name: admin
name: port1
network: foo
no_security_groups: True
# Update the existing 'port1' port with multiple security groups (version 1)
- openstack.cloud.port:
state: present
auth:
auth_url: https://identity.example.com
username: admin
password: admin
project_name: admin
name: port1
security_groups: 1496e8c7-4918-482a-9172-f4f00fc4a3a5,057d4bdf-6d4d-472...
# Update the existing 'port1' port with multiple security groups (version 2)
- openstack.cloud.port:
state: present
auth:
auth_url: https://identity.example.com
username: admin
password: admin
project_name: admin
name: port1
security_groups:
- 1496e8c7-4918-482a-9172-f4f00fc4a3a5
- 057d4bdf-6d4d-472...
# Create port of type 'direct'
- openstack.cloud.port:
state: present
auth:
auth_url: https://identity.example.com
username: admin
password: admin
project_name: admin
name: port1
network: foo
binding_vnic_type: direct
# Create a port with binding profile
- openstack.cloud.port:
state: present
auth:
auth_url: https://identity.example.com
username: admin
password: admin
project_name: admin
name: port1
network: foo
binding_profile:
pci_slot: "0000:03:11.1"
physical_network: "provider"
返回值
常见的返回值记录在这里,以下是此模块特有的字段
键 |
描述 |
---|---|
描述端口的字典。 返回值: 当state为 |
|
允许的地址对。 返回值: 成功 示例: |
|
分配端口的主机的ID。在某些情况下,不同的实现可以在不同的主机上运行。 返回值: 成功 示例: |
|
一个字典,使运行在指定主机上的应用程序能够将特定的vif端口信息传递给插件并从插件接收。 返回值: 成功 示例: |
|
一个字典,使应用程序能够传递有关网络API提供的功能的信息。 返回值: 成功 |
|
端口的VIF类型。 返回值: 成功 |
|
绑定到neutron端口的虚拟网络接口卡(vNIC)类型。 返回值: 成功 示例: |
|
端口创建时的时间戳。 返回值: 成功 示例: |
|
端口底层数据平面的状态。 返回值: 成功 |
|
端口描述。 返回值: 成功 |
|
此端口的设备ID。 返回值: 成功 示例: |
|
此端口的设备所有者,例如 返回值: 成功 示例: |
|
此端口的设备配置文件,引用Cyborg设备配置文件:https://docs.openstack.org/api-ref/accelerator/v2/index.html# device-profiles。 返回值: 成功 |
|
端口的DNS分配。 返回值: 成功 |
|
分配给端口的DNS域。 返回值: 成功 |
|
端口的DNS名称。 返回值: 成功 |
|
一组零个或多个额外的DHCP选项对。一个选项对由一个选项值和一个名称组成。 返回值: 成功 示例: |
|
端口的IP地址。包括IP地址和子网ID。 返回值: 成功 |
|
端口ID。 返回值: 成功 示例: |
|
ip_allocation指示端口何时使用延迟的、立即的或不分配IP。 返回值: 成功 |
|
端口的管理状态,即启动 返回值: 成功 示例: |
|
端口安全状态,即启用 返回值: 成功 示例: |
|
允许的地址对的MAC地址。 返回值: 成功 示例: |
|
端口名称。 返回值: 成功 示例: |
|
附加网络的ID。 返回值: 成功 示例: |
|
为此端口定义的NUMA亲缘性策略。 返回值: 成功 示例: |
|
拥有该网络的项目的ID。 返回值: 成功 示例: |
|
是否传播端口的上行链路状态。 返回值: 成功 示例: |
|
绑定端口的网络所附加的QoS策略的ID。 返回值: 成功 示例: |
|
附加到端口的QoS策略的ID。 返回值: 成功 示例: |
|
端口资源请求向Nova和Placement公开端口请求的Placement资源(即:minimum-bandwidth)和特性(即:vnic-type,physnet)。 返回值: 成功 |
|
资源的修订号。 返回值: 成功 示例: |
|
任何附加的安全组的ID。 返回值: 成功 |
|
端口状态。值为 返回值: 成功 示例: |
|
资源上的标签列表。 返回值: 成功 示例: |
|
与project_id相同。已弃用。 返回值: 成功 示例: |
|
指向此父端口及其子端口的中继。如果加载了 返回值: 成功 |
|
端口最后更新时的时间戳。 返回值: 成功 示例: |