cisco.aci.aci_cloud_subnet 模块 – 管理云子网 (cloud:Subnet)

注意

此模块是 cisco.aci 集合 (版本 2.10.1) 的一部分。

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

要安装它,请使用: ansible-galaxy collection install cisco.aci

要在 playbook 中使用它,请指定: cisco.aci.aci_cloud_subnet

概要

  • 管理 Cisco Cloud ACI 上的云子网。

参数

参数

注释

address

别名:subnet

字符串

云子网的 IP 地址。

注解

字符串

用于注释对象的自定义字符串。

如果任务中未指定此值,则将使用环境变量 ACI_ANNOTATION 的值。

如果任务和环境变量 ACI_ANNOTATION 中均未指定此值,则将使用默认值。

默认值: "orchestrator:ansible"

aws_availability_zone

别名:availability_zone, av_zone, zone

字符串

附加到给定云上下文配置文件的云区域。

仅当它是 AWS Cloud APIC 时使用。

azure_region

别名:az_region

字符串

将此子网附加到的 Azure 云区域。

仅当它是 Azure Cloud APIC 时使用。

certificate_name

别名:cert_name

字符串

附加到用于基于签名的身份验证的 APIC AAA 用户的 X.509 证书名称。

如果提供了 private_key 文件名,则默认为 private_key 基名(不带扩展名)。

如果为 private_key 提供了 PEM 格式的内容,则默认为 username 值。

如果任务中未指定此值,则将使用环境变量 ACI_CERTIFICATE_NAME 的值。

cidr

字符串 / 必需

云 cidr 的地址。

cloud_context_profile

字符串 / 必需

云上下文配置文件的名称。

description

字符串

云子网的描述。

host

别名:hostname

字符串

Ansible 控制主机可解析的 APIC 的 IP 地址或主机名。

如果任务中未指定此值,则将使用环境变量 ACI_HOST 的值。

name

字符串

云子网的名称。

name_alias

字符串

当前对象的名称的别名。这与 ACI 中的 nameAlias 字段相关,用于重命名对象而不更改 DN。

output_level

字符串

影响此 ACI 模块的输出。

normal 表示标准输出,包括 current 字典

info 添加信息输出,包括 previousproposedsent 字典

debug 添加调试输出,包括 filter_stringmethodresponsestatusurl 信息

如果任务中未指定此值,则将使用环境变量 ACI_OUTPUT_LEVEL 的值。

选项

  • "debug"

  • "info"

  • "normal" ← (默认)

output_path

字符串

将用于转储模块生成的 ACI JSON 配置对象的路径。

如果任务中未指定此值,则将使用环境变量 ACI_OUTPUT_PATH 的值。

password

字符串

用于身份验证的密码。

此选项与 private_key 互斥。如果也提供了 private_key,则将使用它。

如果任务中未指定此值,则将使用环境变量 ACI_PASSWORDANSIBLE_NET_PASSWORD 的值。

port

整数

用于 REST 连接的端口号。

默认值取决于参数 use_ssl

如果任务中未指定此值,则将使用环境变量 ACI_PORT 的值。

private_key

别名:cert_key

字符串

用于基于签名的身份验证的 PEM 格式的私钥文件或私钥内容。

此值还会影响使用的默认 certificate_name

此选项与 password 互斥。如果也提供了 password,则将被忽略。

如果任务中未指定此值,则将使用环境变量 ACI_PRIVATE_KEYANSIBLE_NET_SSH_KEYFILE 的值。

state

字符串

使用 presentabsent 进行添加或删除。

使用 query 列出单个或多个对象。

选项

  • "absent"

  • "present" ← (默认)

  • "query"

suppress_previous

别名:no_previous, ignore_previous

布尔值

如果 true,则在向 APIC 发送 POST 更新之前,不会发送 GET 请求来检查之前的状态。

如果任务中未指定此值,则将使用环境变量 ACI_SUPPRESS_PREVIOUS 的值。

默认值为 false

警告 - 这会导致之前的返回值为空。

不会检查对象的先前状态,POST 更新将包含所有属性。

选项

  • false

  • true

suppress_verification

别名:no_verification, no_verify, suppress_verify, ignore_verify, ignore_verification

布尔值

如果 true,则在向 APIC 发送 POST 更新后,不会发送验证性 GET 请求。

如果任务中未指定此值,则将使用环境变量 ACI_SUPPRESS_VERIFICATION 的值。

默认值为 false

警告 - 这会导致当前返回值设置为建议值。

包含默认值的对象在单个任务中将无法验证。

选项

  • false

  • true

租户 (tenant)

字符串 / 必需

租户名称。

超时 (timeout)

整数

套接字级别超时(秒)。

如果任务中未指定此值,则将使用环境变量 ACI_TIMEOUT 的值。

默认值为 30。

使用代理 (use_proxy)

布尔值

如果 false,即使目标主机上的环境变量中定义了代理,也不会使用代理。

如果任务中未指定此值,则将使用环境变量 ACI_USE_PROXY 的值。

默认值为 true。

选项

  • false

  • true

使用 SSL (use_ssl)

布尔值

如果 false,将使用 HTTP 连接而不是默认的 HTTPS 连接。

如果任务中未指定此值,则将使用环境变量 ACI_USE_SSL 的值。

当连接为本地连接时,默认值为 true。

选项

  • false

  • true

用户名 (username)

别名:user

字符串

用于身份验证的用户名。

如果任务中未指定此值,则将使用环境变量 ACI_USERNAMEANSIBLE_NET_USERNAME 的值。

默认值为 admin。

验证证书 (validate_certs)

布尔值

如果 false,则不会验证 SSL 证书。

仅当在使用自签名证书的个人控制站点上使用时,才应将其设置为 false

如果任务中未指定此值,则将使用环境变量 ACI_VALIDATE_CERTS 的值。

默认值为 true。

选项

  • false

  • true

vNet 网关 (vnet_gateway)

布尔值

确定是否部署 vNet 网关路由器。

仅当它是 Azure Cloud APIC 时使用。

选项

  • false ← (默认)

  • true

备注

注意

另请参阅

另请参阅

Cisco ACI 指南

有关如何使用 Ansible 管理 ACI 基础设施的详细信息。

开发 Cisco ACI 模块

有关如何编写您自己的 Cisco ACI 模块以进行贡献的详细指南。

示例

- name: Create AWS aci cloud subnet
  cisco.aci.aci_cloud_subnet:
    host: apic
    username: userName
    password: somePassword
    validate_certs: false
    tenant: anstest
    cloud_context_profile: aws_cloudCtxProfile
    cidr: '10.10.0.0/16'
    aws_availability_zone: us-west-1a
    address: 10.10.0.1
  delegate_to: localhost

- name: Create Azure aci cloud subnet
  cisco.aci.aci_cloud_subnet:
    host: apic
    username: userName
    password: somePassword
    validate_certs: false
    tenant: anstest
    cloud_context_profile: azure_cloudCtxProfile
    cidr: '10.10.0.0/16'
    azure_region: westus2
    vnet_gateway: true
    address: 10.10.0.1
  delegate_to: localhost

- name: Query a specific subnet
  cisco.aci.aci_cloud_subnet:
    host: apic
    username: userName
    password: somePassword
    validate_certs: false
    tenant: anstest
    cloud_context_profile: ctx_profile_1
    cidr: '10.10.0.0/16'
    address: 10.10.0.1
    state: query
  delegate_to: localhost

- name: Query all subnets
  cisco.aci.aci_cloud_subnet:
    host: apic
    username: userName
    password: somePassword
    validate_certs: false
    tenant: anstest
    cloud_context_profile: ctx_profile_1
    cidr: '10.10.0.0/16'
    state: query
  delegate_to: localhost

返回值

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

描述

当前 (current)

列表 / 元素=字符串

模块完成后的 APIC 中的现有配置

返回:成功

示例: [{"fvTenant": {"attributes": {"descr": "Production environment", "dn": "uni/tn-production", "name": "production", "nameAlias": "", "ownerKey": "", "ownerTag": ""}}}]

错误 (error)

字典

APIC 返回的错误信息

返回:失败

示例: {"code": "122", "text": "unknown managed object class foo"}

筛选字符串 (filter_string)

字符串

用于请求的筛选字符串

返回:失败或调试

示例: "?rsp-prop-include=config-only"

方法 (method)

字符串

用于向 APIC 发送请求的 HTTP 方法

返回:失败或调试

示例: "POST"

先前 (previous)

列表 / 元素=字符串

模块启动之前 APIC 中的原始配置

返回:信息

示例: [{"fvTenant": {"attributes": {"descr": "Production", "dn": "uni/tn-production", "name": "production", "nameAlias": "", "ownerKey": "", "ownerTag": ""}}}]

建议 (proposed)

字典

用户提供的参数组装的配置

返回:信息

示例: {"fvTenant": {"attributes": {"descr": "Production environment", "name": "production"}}}

原始数据 (raw)

字符串

APIC REST API 返回的原始输出(xml 或 json)

返回:解析错误

示例: "<?xml version=\"1.0\" encoding=\"UTF-8\"?><imdata totalCount=\"1\"><error code=\"122\" text=\"unknown managed object class foo\"/></imdata>"

响应 (response)

字符串

APIC 的 HTTP 响应

返回:失败或调试

示例: "OK (30 bytes)"

已发送 (sent)

列表 / 元素=字符串

实际/最小配置推送到 APIC

返回:信息

示例: {"fvTenant": {"attributes": {"descr": "Production environment"}}}

状态 (status)

整数

APIC 的 HTTP 状态

返回:失败或调试

示例: 200

URL

字符串

用于向 APIC 发送请求的 HTTP URL

返回:失败或调试

示例: "https://10.11.12.13/api/mo/uni/tn-production.json"

作者

  • Nirav (@nirav)

  • Cindy Zhao (@cizhao)

  • Samita Bhattacharjee (@samitab)