cisco.aci.aci_l3out_extepg_to_contract 模块 – 将合约绑定到外部端点组 (EPG) (fv:RsCons, fv:RsProv, fv:RsProtBy, fv:RsConsIf 和 fv:RsIntraEpg)

注意

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

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

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

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

概要

  • 将合约绑定到 ACI 结构上的外部端点组 (EPG)。

参数

参数

注释

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 的值。

contract

别名:contract_name, contract_interface

字符串

合约或合约接口的名称。

contract_label

字符串

要匹配的合约标签。

contract_type

字符串 / 必需

确定合约的类型。

选择

  • "consumer"

  • "provider"

  • "taboo"

  • "interface"

  • "intra_epg"

extepg

别名:extepg_name, external_epg

字符串

外部端点组的名称。

host

别名:hostname

字符串

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

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

l3out

别名:l3out_name

字符串

l3out 的名称。

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 的值。

priority

字符串

QoS 类。

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

选择

  • "level1"

  • "level2"

  • "level3"

  • "level4"

  • "level5"

  • "level6"

  • "unspecified"

private_key

别名:cert_key

字符串

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

此值也会影响所使用的默认 certificate_name

此选项与 password 互斥。如果同时提供了 password,则会被忽略。

如果任务中未指定该值,则会改用环境变量 ACI_PRIVATE_KEYANSIBLE_NET_SSH_KEYFILE 的值。

provider_match

字符串

用于提供合同的匹配算法。

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

选择

  • "all"(全部)

  • "at_least_one"(至少一个)

  • "at_most_one"(至多一个)

  • "none"(无)

state(状态)

字符串

使用 presentabsent 来添加或删除。

使用 query 来列出一个或多个对象。

选择

  • "absent"(不存在)

  • "present" ← (默认)

  • "query"(查询)

subject_label

字符串

要匹配的主题标签。

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(真)

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(真)

注释

注意

参见

另请参阅

APIC 管理信息模型参考

有关内部 APIC 类 **fv:RsCons**、**fv:RsProv**、**fv:RsProtBy, B(fv:RsConsIf 和 B(fv:RsIntraEpg** 的详细信息。

Cisco ACI 指南

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

开发 Cisco ACI 模块

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

示例

- name: Bind a contract to an external EPG
  cisco.aci.aci_l3out_extepg_to_contract:
    host: apic
    username: admin
    password: SomeSecretePassword
    tenant: Auto-Demo
    l3out: l3out
    extepg: testEpg
    contract: contract1
    contract_type: provider
    state: present
  delegate_to: localhost

- name: Remove existing contract from an external EPG
  cisco.aci.aci_l3out_extepg_to_contract:
    host: apic
    username: admin
    password: SomeSecretePassword
    tenant: Auto-Demo
    l3out: l3out
    extepg: testEpg
    contract: contract1
    contract_type: provider
    state: absent
  delegate_to: localhost

- name: Query a contract bound to an external EPG
  cisco.aci.aci_l3out_extepg_to_contract:
    host: apic
    username: admin
    password: SomeSecretePassword
    tenant: ansible_tenant
    l3out: ansible_l3out
    extepg: ansible_extEpg
    contract: ansible_contract
    contract_type: provider
    state: query
  delegate_to: localhost
  register: query_result

- name: Query all contracts relationships
  cisco.aci.aci_l3out_extepg_to_contract:
    host: apic
    username: admin
    password: SomeSecretePassword
    contract_type: provider
    state: query
  delegate_to: localhost
  register: query_result

返回值

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

描述

current(当前)

list / elements=string

模块完成后来自 APIC 的现有配置

Returned: success(成功)

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

error(错误)

dictionary(字典)

从 APIC 返回的错误信息

Returned: failure(失败)

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

filter_string

字符串

用于请求的过滤器字符串

Returned: failure or debug(失败或调试)

Sample: "?rsp-prop-include=config-only"

method(方法)

字符串

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

Returned: failure or debug(失败或调试)

Sample: "POST"

previous(先前)

list / elements=string

在模块启动之前来自 APIC 的原始配置

Returned: info(信息)

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

proposed(建议)

dictionary(字典)

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

Returned: info(信息)

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

raw(原始)

字符串

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

Returned: parse error(解析错误)

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

response(响应)

字符串

来自 APIC 的 HTTP 响应

Returned: failure or debug(失败或调试)

Sample: "OK (30 bytes)"

sent(已发送)

list / elements=string

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

Returned: info(信息)

Sample: {"fvTenant": {"attributes": {"descr": "Production environment"}}}

status(状态)

整数

来自 APIC 的 HTTP 状态

Returned: failure or debug(失败或调试)

Sample: 200

url

字符串

用于向 APIC 发出请求的 HTTP URL

Returned: failure or debug(失败或调试)

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

作者

  • Sudhakar Shet Kudtarkar (@kudtarkar1)

  • Shreyas Srish (@shrsr)

  • Akini Ross (@akinross)