cisco.aci.aci_domain 模块 – 管理物理、虚拟、桥接、路由或 FC 域配置文件 (phys:DomP、vmm:DomP、l2ext:DomP、l3ext:DomP 和 fc:DomP)

注意

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

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

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

要在剧本中使用它,请指定:cisco.aci.aci_domain

概要

  • 管理 Cisco ACI 结构上的物理、虚拟、桥接、路由或 FC 域配置文件。

参数

参数

注释

access_mode

字符串

vmm 域的访问模式

创建域后,无法更改此参数

选项

  • "只读"

  • "读写"

add_infra_pg

别名:infra_pg

布尔值

为基础设施 VLAN(例如虚拟 APIC)配置端口组。

选项

  • false

  • true

annotation

字符串

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

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

如果任务中未指定值且未设置环境变量 ACI_ANNOTATION,则将使用默认值。

默认值: "orchestrator:ansible"

certificate_name

别名:cert_name

字符串

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

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

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

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

domain

别名:domain_name, domain_profile, name

字符串

物理、虚拟、桥接路由或 FC 域配置文件的名称。

domain_type

别名:type

字符串 / 必需

域配置文件的类型。

fc:FC 域配置文件是关于单个 FC 管理域的策略

l2dom:外部桥接域配置文件是用于管理在结构外部桥接的 L2 桥接基础设施的策略。

l3dom:外部路由域配置文件是用于管理结构外部的 L3 路由基础设施的策略。

phys:物理域配置文件存储应用于与该域关联的 EPG 的物理资源和封装资源。

vmm:VMM 域配置文件是用于将具有类似网络策略要求的 VM 控制器分组的策略。

选项

  • "fc"

  • "l2dom"

  • "l3dom"

  • "phys"

  • "vmm"

dscp

别名:target

字符串

目标区分服务 (DSCP) 值。

在创建期间未设置时,APIC 默认值为 unspecified

选项

  • "AF11"

  • "AF12"

  • "AF13"

  • "AF21"

  • "AF22"

  • "AF23"

  • "AF31"

  • "AF32"

  • "AF33"

  • "AF41"

  • "AF42"

  • "AF43"

  • "CS0"

  • "CS1"

  • "CS2"

  • "CS3"

  • "CS4"

  • "CS5"

  • "CS6"

  • "CS7"

  • "EF"

  • "VA"

  • "unspecified"

enable_vm_folder

布尔值

启用虚拟机文件夹数据检索

选项

  • false

  • true

encap_mode

字符串

与虚拟交换机一起使用的第 2 层封装协议。

选项

  • "unknown"

  • "vlan"

  • "vxlan"

host

别名:hostname

字符串

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

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

multicast_address

字符串

虚拟交换机要使用的多播 IP 地址。

name_alias

字符串

当前对象的别名。这与 ACI 中的 nameAlias 字段相关。

output_level

字符串

影响此 ACI 模块的输出。

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

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

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

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

选项

  • "debug"

  • "info"

  • "normal" ← (默认)

output_path

字符串

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

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

owner_key

字符串

ACI 对象的 ownerKey 属性的自定义字符串。

此属性代表一个密钥,用于启用客户端拥有其数据以进行实体关联。

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

owner_tag

字符串

用户自定义的 ACI 对象 ownerTag 属性字符串。

此属性代表一个标签,允许客户端添加他们自己的数据。

例如,指示谁创建了此对象。

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

密码

字符串

用于身份验证的密码。

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

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

端口

整数

用于 REST 连接的端口号。

默认值取决于参数 use_ssl

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

私钥

别名:cert_key

字符串

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

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

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

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

状态

字符串

使用 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

tag_collection

布尔值

启用 Cisco APIC 收集已在 VMware vCenter 中分配标签的虚拟机,用于微分段。

选项

  • false

  • true

超时

整数

以秒为单位的套接字级别超时。

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

默认值为 30。

use_proxy

布尔值

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

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

默认值为 true。

选项

  • false

  • true

use_ssl

布尔值

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

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

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

选项

  • false

  • true

用户名

别名:user

字符串

用于身份验证的用户名。

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

默认值为 admin。

validate_certs

布尔值

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

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

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

默认值为 true。

选项

  • false

  • true

vm_provider

字符串

VMM 域的虚拟机平台。

ACI v3.0 中添加了对 Kubernetes 的支持。

ACI v3.1 中添加了对 CloudFoundry、OpenShift 和 Red Hat 的支持。

选项

  • "cloudfoundry"

  • "kubernetes"

  • "microsoft"

  • "openshift"

  • "openstack"

  • "redhat"

  • "vmware"

vswitch

字符串

用于 vmm 域的虚拟交换机。

在创建期间未设置时,APIC 默认值为 default

选项

  • "avs"

  • "default"

  • "dvs"

  • "unknown"

另见

另见

cisco.aci.aci_aep_to_domain

将 AEP 绑定到物理或虚拟域 (infra:RsDomP)。

cisco.aci.aci_domain_to_encap_pool

将域绑定到封装池 (infra:RsVlanNs)。

cisco.aci.aci_domain_to_vlan_pool

将域绑定到 VLAN 池 (infra:RsVlanNs)。

APIC 管理信息模型参考

有关内部 APIC 类 phys:DomPvmm:DomPl2ext:DomPl3ext:DomPfc:DomP 的更多信息

Cisco ACI 指南

使用 Ansible 管理 ACI 基础架构的详细信息。

开发 Cisco ACI 模块

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

示例

- name: Add a new physical domain
  cisco.aci.aci_domain:
    host: apic
    username: admin
    password: SomeSecretPassword
    domain: phys_dom
    domain_type: phys
    state: present

- name: Remove a physical domain
  cisco.aci.aci_domain:
    host: apic
    username: admin
    password: SomeSecretPassword
    domain: phys_dom
    domain_type: phys
    state: absent

- name: Add a new VMM domain
  cisco.aci.aci_domain:
    host: apic
    username: admin
    password: SomeSecretPassword
    domain: hyperv_dom
    domain_type: vmm
    vm_provider: microsoft
    state: present
  delegate_to: localhost

- name: Remove a VMM domain
  cisco.aci.aci_domain:
    host: apic
    username: admin
    password: SomeSecretPassword
    domain: hyperv_dom
    domain_type: vmm
    vm_provider: microsoft
    state: absent
  delegate_to: localhost

- name: Query a specific physical domain
  cisco.aci.aci_domain:
    host: apic
    username: admin
    password: SomeSecretPassword
    domain: phys_dom
    domain_type: phys
    state: query
  delegate_to: localhost
  register: query_result

- name: Query all domains
  cisco.aci.aci_domain:
    host: apic
    username: admin
    password: SomeSecretPassword
    domain_type: phys
    state: query
  delegate_to: localhost
  register: query_result

返回值

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

描述

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>"

响应

字符串

来自APIC的HTTP响应

返回:失败或调试

示例: "OK (30 bytes)"

已发送

列表 / 元素=字符串

实际/最小配置已推送到APIC

返回:信息

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

状态

整数

来自APIC的HTTP状态

返回:失败或调试

示例: 200

URL

字符串

用于向APIC发出请求的HTTP URL

返回:失败或调试

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

作者

  • Dag Wieers (@dagwieers)