openstack.cloud.subnet_pool 模块 – 从 OpenStack 创建、更新或删除子网池

注意

此模块是 openstack.cloud 集合(版本 2.3.0)的一部分。

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

要安装它,请使用:ansible-galaxy collection install openstack.cloud。 您需要进一步的要求才能使用此模块,请参阅要求了解详细信息。

要在 playbook 中使用它,请指定:openstack.cloud.subnet_pool

概要

  • 从 OpenStack 创建、更新或删除子网池。

要求

执行此模块的主机需要以下要求。

  • python >= 3.6

  • openstacksdk >= 1.0.0

参数

参数

注释

address_scope

字符串

与此子网池关联的地址范围的 ID 或名称。

api_timeout

整数

套接字层在 API 调用超时之前应等待多长时间。 如果省略此项,则不会将任何内容传递给 requests 库。

auth

字典

包含云身份验证插件策略所需的身份验证信息的字典。 对于默认的*password*插件,这将包含 *auth_url*、*username*、*password*、*project_name* 以及有关域的任何信息(例如,如果云支持,则为 *user_domain_name* 或 *project_domain_name*)。 对于其他插件,此参数将需要包含该身份验证插件所需的任何参数。 如果提供了命名云或存在 OpenStack OS_* 环境变量,则不需要此参数。

auth_type

字符串

要使用的身份验证插件的名称。 如果云使用密码身份验证以外的其他身份验证,则应在此处指示插件的名称,并应相应地更新 *auth* 参数的内容。

ca_cert

别名:cacert

字符串

可用于验证 SSL API 请求的 CA 证书捆绑包的路径。

client_cert

别名:cert

字符串

用作 SSL 事务一部分的客户端证书的路径。

client_key

别名:key

字符串

用作 SSL 事务一部分的客户端密钥的路径。

cloud

任意

要操作的命名云或云配置。 如果 *cloud* 是一个字符串,则它引用 OpenStack clouds.yaml 文件中定义的命名云配置。 提供 *auth* 和 *auth_type* 的默认值。 如果提供了 *auth* 或存在 OpenStack OS_* 环境变量,则不需要此参数。 如果 *cloud* 是字典,则它包含一个完整的云配置,就像在 clouds.yaml 的一部分中一样。

default_prefix_length

整数

当创建子网时省略 cidr 或 prefixlen 属性时要分配的前缀长度。

default_quota

整数

每个项目的配额,该配额可以在项目中从子网池中为项目子网分配前缀空间。

description

字符串

子网池描述。

extra_specs

字典

传递给 API 的带有额外键/值对的字典。

interface

别名:endpoint_type

字符串

要从服务目录中获取的端点 URL 类型。

选择

  • "admin"

  • "internal"

  • "public" ←(默认)

is_default

布尔值

此子网池是否为默认值。

选择

  • false

  • true

is_shared

别名:shared

布尔值

此子网池是否共享。

此属性无法更新。

选择

  • false

  • true

maximum_prefix_length

整数

可以从子网池分配的最大前缀长度。

minimum_prefix_length

整数

可以从子网池分配的最小前缀长度。

name

字符串 / 必需

要赋予子网池的名称。

此属性无法更新。

prefixes

列表 / elements=string

以 CIDR 表示法表示的子网池前缀。

project

字符串

项目的名称或 ID。

region_name

字符串

区域的名称。

sdk_log_level

字符串

OpenStackSDK 的日志级别

选择

  • "INFO" ←(默认)

  • "DEBUG"

sdk_log_path

字符串

OpenStackSDK 日志文件的路径。 如果为空,则不写入日志

state

字符串

子网池应该是 present 还是 absent

选择

  • "present" ←(默认)

  • "absent"

timeout

整数

Ansible 应等待请求的资源多长时间。

默认值: 180

validate_certs

别名:verify

布尔值

是否应验证 SSL API 请求。

在 Ansible 2.3 之前,此项默认为 true

选择

  • false

  • true

wait

布尔值

Ansible 是否应等待直到请求的资源完成。

选择

  • false

  • true ←(默认)

注释

注意

  • 可以使用标准的 OpenStack 环境变量,例如 OS_USERNAME,而无需提供显式的值。

  • 身份验证信息由 openstacksdk 驱动,这意味着值可以来自 /etc/ansible/openstack.yaml、/etc/openstack/clouds.yaml 或 ~/.config/openstack/clouds.yaml 中的 YAML 配置文件,然后来自标准环境变量,最后来自 playbook 中的显式参数。更多信息请访问 https://docs.openstack.org/openstacksdk/

示例

- name: Create an subnet pool.
  openstack.cloud.subnet_pool:
    cloud: mycloud
    state: present
    name: my_subnet_pool
    prefixes:
        - 10.10.10.0/24

- name: Create a subnet pool for a given project.
  openstack.cloud.subnet_pool:
    cloud: mycloud
    state: present
    name: my_subnet_pool
    project: myproj
    prefixes:
        - 10.10.10.0/24

- name: Create a shared and default subnet pool in existing address scope
  openstack.cloud.subnet_pool:
    cloud: mycloud
    state: present
    name: my_subnet_pool
    address_scope: my_adress_scope
    is_default: True
    default_quota: 10
    maximum_prefix_length: 32
    minimum_prefix_length: 8
    default_prefix_length: 24
    is_shared: True
    prefixes:
        - 10.10.10.0/8

- name: Delete subnet poool.
  openstack.cloud.subnet_pool:
    cloud: mycloud
    state: absent
    name: my_subnet_pool

返回值

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

描述

subnet_pool

字典

描述子网池的字典。

返回:statepresent 时成功返回。

address_scope_id

字符串

地址范围 ID。

返回: 成功

示例: "861174b82b43463c9edc5202aadc60ef"

created_at

字符串

子网池创建的时间戳。

返回: 成功

示例: ""

default_prefix_length

整数

当创建子网时省略 cidr 或 prefixlen 属性时,要分配的前缀的长度。

返回: 成功

示例: 32

default_quota

整数

每个项目可以从子网池为项目子网分配的前缀空间的配额。

返回: 成功

示例: 22

description

字符串

子网池描述。

返回: 成功

示例: "我的测试子网池。"

id

字符串

子网池 ID。

返回: 成功

示例: "474acfe5-be34-494c-b339-50f06aa143e4"

ip_version

整数

子网池的 IP 版本,4 或 6。

返回: 成功

示例: 4

is_default

布尔值

指示这是否为默认子网池。

返回: 成功

示例: false

is_shared

布尔值

指示此子网池是否在所有项目之间共享。

返回: 成功

示例: false

maximum_prefix_length

整数

可以从子网池分配的最大前缀长度。

返回: 成功

示例: 22

minimum_prefix_length

整数

可以从子网池分配的最小前缀长度。

返回: 成功

示例: 8

name

字符串

子网池名称。

返回: 成功

示例: "my_subnet_pool"

prefixes

列表 / elements=string

分配给子网池的子网前缀列表。

返回: 成功

示例: ["10.10.20.0/24", "10.20.10.0/24"]

project_id

字符串

项目的 ID。

返回: 成功

示例: "861174b82b43463c9edc5202aadc60ef"

revision_number

整数

子网池的修订号。

返回: 成功

示例: 5

tags

列表 / elements=string

关联的标签列表。

返回: 成功

tenant_id

字符串

项目的 ID。已弃用。

返回: 成功

示例: "861174b82b43463c9edc5202aadc60ef"

updated_at

字符串

子网池上次更新的时间戳。

返回: 成功

作者

  • OpenStack Ansible SIG