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* 参数的内容。 |
|
端口应与其一起创建的绑定配置文件字典。 |
|
应创建的端口的类型 选项
|
|
CA 证书捆绑包的路径,可用作验证 SSL API 请求的一部分。 |
|
客户端证书的路径,用作 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资源(例如:最小带宽)和特性(例如:vnic类型、physnet)。 返回值:成功 |
|
资源的修订号。 返回值:成功 示例: |
|
任何附加安全组的ID。 返回值:成功 |
|
端口状态。值为 返回值:成功 示例: |
|
资源上的标签列表。 返回值:成功 示例: |
|
与project_id相同。已弃用。 返回值:成功 示例: |
|
引用此父端口及其子端口的Trunk。如果加载了 返回值:成功 |
|
上次更新端口的时间戳。 返回值:成功 示例: |