cisco.aci.aci_bulk_static_binding_to_epg 模块 – 将静态路径绑定到 EPG (fv:RsPathAtt)

注意

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

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

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

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

概要

  • 将静态路径绑定到 Cisco ACI 结构上的 EPG。

参数

参数

注释

annotation

string

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

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

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

默认值: "orchestrator:ansible"

ap

别名:app_profile, app_profile_name

string

应用程序配置文件的名称。

certificate_name

别名:cert_name

string

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

如果提供了 private_key 文件名,则默认值为 private_key 的基本名称,不带扩展名。

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

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

deploy_immediacy

string

PC、VPC 或接口上静态 EPG 的部署即时性。

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

选择

  • "immediate"

  • "lazy"

description

别名:descr

string

静态路径到 EPG 绑定的描述。

encap_id

别名:vlan, vlan_id

integer

epg 与接口路径关联的封装 ID。

当使用微细分时,这充当辅助 encap_id

接受的值是指定封装的任何有效封装 ID,当前范围在 14096 之间。

epg

别名:epg_name

string

端点组的名称。

host

别名:hostname

string

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

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

interface_configs

list / elements=dictionary

接口配置列表,元素采用字典形式。

模块级属性将被路径级属性覆盖。

deploy_immediacy

string

PC、VPC 或接口上静态 EPG 的部署即时性。

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

选择

  • "immediate"

  • "lazy"

description

别名:descr

string

静态路径到 EPG 绑定的描述。

encap_id

别名:vlan, vlan_id

integer

epg 与接口路径关联的封装 ID。

当使用微细分时,这充当辅助 encap_id

接受的值是指定封装的任何有效封装 ID,当前范围在 14096 之间。

extpaths

list / elements=string

extpaths 是 tDn 的整数值部分。

仅当 interface_typefexfex_vpcfex_port_channel 时才使用 extpaths

interface_typefex_vpc 时,extpaths 是包含两个 fex ID 的列表。

通常类似于 1011

interface

string / 必填

tDn 中 interface 字符串值部分。

通常是一个策略组,如 test-IntPolGrp,或者是一个格式如 1/7 的接口,具体取决于 interface_type

interface_mode

别名:interface_mode_name, mode

string

确定如何从帧读取和向帧添加 2 层标签。

802.1pnative 是相同的。

accessuntagged 是相同的。

regulartaggedtrunk 是相同的。

APIC 在创建时未设置的情况下默认为 trunk

选择

  • "802.1p"

  • "access"

  • "native"

  • "regular"

  • "tagged"

  • "trunk"

  • "untagged"

interface_type

string

静态 EPG 部署的接口类型。

选择

  • "fex"

  • "port_channel"

  • "switch_port"

  • "vpc"

  • "fex_port_channel"

  • "fex_vpc"

leafs

别名:leaves, nodes, paths, switches

list / elements=string / required

interface 所属的交换机 ID。

interface_typeswitch_portport_channelfex 时,leafs 是叶子 ID 的字符串。

interface_typevpc 时,leafs 是包含两个叶子 ID 的列表。

leafs 值通常类似于 ‘101’ 或 ‘101-102’,具体取决于 connection_type

pod_id

别名:pod, pod_number

integer / required

tDn 的 pod 编号部分。

pod_id 通常是小于 10 的整数。

primary_encap_id

别名:primary_vlan, primary_vlan_id

string

确定在使用微细分时,将 epg 与接口路径关联的主封装 ID。

接受的值是指定封装的任何有效封装 ID,当前范围在 14096 之间,以及 unknown

unknown 是默认值,使用 unknown 会禁用微细分。

interface_mode

别名:interface_mode_name, mode

string

确定如何从帧读取和向帧添加 2 层标签。

802.1pnative 是相同的。

accessuntagged 是相同的。

regulartaggedtrunk 是相同的。

APIC 在创建时未设置的情况下默认为 trunk

选择

  • "802.1p"

  • "access"

  • "native"

  • "regular"

  • "tagged"

  • "trunk"

  • "untagged"

interface_type

string

静态 EPG 部署的接口类型。

选择

  • "fex"

  • "port_channel"

  • "switch_port" ← (默认)

  • "vpc"

  • "fex_port_channel"

  • "fex_vpc"

output_level

string

影响此 ACI 模块的输出。

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

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

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

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

选择

  • "debug"

  • "info"

  • "normal" ← (默认)

output_path

string

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

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

password

string

用于身份验证的密码。

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

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

port

integer

用于 REST 连接的端口号。

默认值取决于参数 use_ssl

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

primary_encap_id

别名:primary_vlan, primary_vlan_id

string

确定在使用微细分时,将 epg 与接口路径关联的主封装 ID。

接受的值是指定封装的任何有效封装 ID,当前范围在 14096 之间,以及 unknown

unknown 是默认值,使用 unknown 会禁用微细分。

private_key

别名:cert_key

string

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

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

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

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

state

string

使用 presentabsent 进行添加或删除。

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

选择

  • "absent"

  • "present" ← (默认)

  • "query"

suppress_previous

别名:no_previous, ignore_previous

boolean

如果为 true,则在向 APIC 发送 POST 更新之前,不会发送 GET 以检查先前状态。

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

默认值为 false

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

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

选择

  • false

  • true

suppress_verification

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

boolean

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

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

默认值为 false

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

在单个任务中,当前对象(包括默认值)将无法验证。

选择

  • false

  • true

tenant

别名:tenant_name

string

租户的名称。

timeout

integer

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

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

默认值为 30。

use_proxy

boolean

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

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

默认值为 true。

选择

  • false

  • true

use_ssl

boolean

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

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

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

选择

  • false

  • true

username

别名:user

string

用于身份验证的用户名。

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

默认值为 admin。

validate_certs

boolean

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

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

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

默认值为 true。

选择

  • false

  • true

注释

注意

另请参阅

另请参阅

cisco.aci.aci_tenant

管理租户 (fv:Tenant)。

cisco.aci.aci_ap

管理顶层应用程序配置文件 (AP) 对象 (fv:Ap)。

cisco.aci.aci_epg

管理端点组 (EPG) 对象 (fv:AEPg)。

APIC 管理信息模型参考

有关内部 APIC 类 fv:RsPathAtt 的更多信息。

Cisco ACI 指南

有关如何使用 Ansible 管理你的 ACI 基础架构的详细信息。

开发 Cisco ACI 模块

关于如何编写你自己的 Cisco ACI 模块并做出贡献的详细指南。

示例

- name: Create list of interfaces using module level attributes
  cisco.aci.aci_bulk_static_binding_to_epg:
    host: apic
    username: admin
    password: SomeSecretPassword
    tenant: accessport-code-cert
    ap: accessport_code_app
    epg: accessport_epg1
    encap_id: 221
    interface_mode: trunk
    deploy_immediacy: lazy
    description: "Module level attributes used to create interfaces"
    interface_configs:
      - interface: 1/7
        leafs: 101
        pod: 1
      - interface: 1/7
        leafs: 107
        pod: 7
      - interface: 1/8
        leafs: 108
        pod: 8
        encap_id: 108
    state: present
  delegate_to: localhost

- name: Create/Update list of interfaces using path level attributes
  cisco.aci.aci_bulk_static_binding_to_epg:
    host: apic
    username: admin
    password: SomeSecretPassword
    tenant: accessport-code-cert
    ap: accessport_code_app
    epg: accessport_epg1
    interface_configs:
      - interface: 1/7
        leafs: 101
        pod: 1
        encap_id: 221
        interface_mode: trunk
        deploy_immediacy: lazy
        description: "Path level attributes used to create/update interfaces"
      - interface: 1/7
        leafs: 107
        pod: 7
        encap_id: 221
        interface_mode: trunk
        deploy_immediacy: lazy
        description: "Path level attributes used to create/update interfaces"
      - interface: 1/8
        leafs: 108
        pod: 8
        encap_id: 108
        interface_mode: trunk
        deploy_immediacy: lazy
        description: "Path level attributes used to create/update interfaces"
    state: present
  delegate_to: localhost

- name: Query all interfaces of an EPG
  cisco.aci.aci_bulk_static_binding_to_epg:
    host: apic
    username: admin
    password: SomeSecretPassword
    tenant: accessport-code-cert
    ap: accessport_code_app
    epg: accessport_epg1
    state: query
  delegate_to: localhost

- name: Query all interfaces
  cisco.aci.aci_bulk_static_binding_to_epg:
    host: apic
    username: admin
    password: SomeSecretPassword
    state: query
  delegate_to: localhost

- name: Remove list of interfaces
  cisco.aci.aci_bulk_static_binding_to_epg:
    host: apic
    username: admin
    password: SomeSecretPassword
    tenant: accessport-code-cert
    ap: accessport_code_app
    epg: accessport_epg1
    encap_id: 221
    interface_mode: trunk
    deploy_immediacy: lazy
    interface_configs:
      - interface: 1/7
        leafs: 101
        pod: 1
      - interface: 1/7
        leafs: 107
        pod: 7
      - interface: 1/8
        leafs: 108
        pod: 8
        encap_id: 108
    state: absent
  delegate_to: localhost

返回值

通用返回值在此处有文档记录 这里,以下是此模块特有的字段

描述

current

list / elements=string

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

返回: 成功

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

error

字典

从 APIC 返回的错误信息

返回: 失败

示例: {"code": "122", "text": "未知的托管对象类 foo"}

filter_string

string

用于请求的过滤器字符串

返回: 失败或调试

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

method

string

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

返回: 失败或调试

示例: "POST"

previous

list / elements=string

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

返回: 信息

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

proposed

字典

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

返回: 信息

示例: {"fvTenant": {"attributes": {"descr": "生产环境", "name": "production"}}}

raw

string

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

返回: 解析错误

示例: "<?xml version=\"1.0\" encoding=\"UTF-8\"?><imdata totalCount=\"1\"><error code=\"122\" text=\"未知的托管对象类 foo\"/></imdata>"

response

string

来自 APIC 的 HTTP 响应

返回: 失败或调试

示例: "OK (30 字节)"

sent

list / elements=string

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

返回: 信息

示例: {"fvTenant": {"attributes": {"descr": "生产环境"}}}

status

integer

来自 APIC 的 HTTP 状态

返回: 失败或调试

示例: 200

url

string

用于向 APIC 发出请求的 HTTP URL

返回: 失败或调试

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

作者

  • Bruno Calogero (@brunocalogero)

  • Marcel Zehnder (@maercu)

  • Sabari Jaganathan (@sajagana)