cisco.aci.aci_bd 模块 – 管理桥接域 (BD) 对象 (fv:BD)

注意

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

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

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

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

概要

  • 管理 Cisco ACI 结构上的桥接域 (BD)。

参数

参数

注释

allow_intersite_bum_traffic

别名: allow_bum_traffic

布尔值

控制是否允许站点之间的 BUM 流量。

APIC 在创建时未设置时默认为 false

选项

  • false

  • true

allow_intersite_l2_stretch

别名: allow_l2_stretch

布尔值

允许站点之间的 L2 延伸。

APIC 在创建时未设置时默认为 false

选项

  • false

  • true

allow_ipv6_multicast

别名: ipv6_multicast, ipv6_mcast, allow_ipv6_mcast

布尔值

标志,指示是否启用了 IPv6 组播。

APIC 在创建时未设置时默认为 false

选项

  • false

  • true

annotation

字符串

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

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

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

默认值:"orchestrator:ansible"

arp_flooding

布尔值

确定桥接域是否应洪泛 ARP 流量。

APIC 在创建时未设置时默认为 false

选项

  • false

  • true

bd

别名: bd_name, name

字符串

桥接域的名称。

bd_type

字符串

桥接域上的流量类型。

APIC 在创建时未设置时默认为 ethernet

选项

  • "ethernet"

  • "fc"

certificate_name

别名: cert_name

字符串

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

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

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

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

description

字符串

桥接域的描述。

enable_multicast

布尔值

确定是否启用 PIM。

APIC 在创建时未设置时默认为 false

选项

  • false

  • true

enable_rogue_except_mac

布尔值

桥接域的 Rogue 异常 MAC 通配符支持。

仅在 APIC 版本 6.0 或更高版本中可用。

APIC 在创建时未设置时默认为 false

选项

  • false

  • true

enable_routing

布尔值

确定是否应允许 IP 转发。

APIC 在创建时未设置时默认为 true

选项

  • false

  • true

endpoint_clear

布尔值

true 时,清除所有叶子中的所有端点。

一旦端点被清除,该值不会重置为禁用;这需要第二个任务。

APIC 在创建时未设置时默认为 false

选项

  • false

  • true

endpoint_move_detect

字符串

确定是否应启用 GARP 以检测端点何时移动。

选项

  • "default"

  • "garp"

endpoint_retention_action

字符串

确定桥接域是否应继承或解析端点保留策略。

APIC 在创建时未设置时默认为 resolve

选项

  • "inherit"

  • "resolve"

endpoint_retention_policy

字符串

当覆盖默认端点保留策略时,桥接域应使用的端点保留策略的名称。

first_hop_security_policy

别名: fhsp, fhs_pol, fhsp_name

字符串

要应用于桥接域的第一跳安全策略的名称。

要删除此属性,请传递一个空字符串。

host

别名: hostname

字符串

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

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

host_based_routing

别名: advertise_host_routes

布尔值

启用从与此 BD 关联的 L3OUT(s) 发出主机路由(/32 前缀)。

APIC 在创建时未设置时默认为 false

选项

  • false

  • true

igmp_policy

别名: igmp

字符串

当覆盖默认 IGMP 接口策略时,桥接域应使用的 IGMP 接口策略的名称。

要删除此属性,请传递一个空字符串。

igmp_snoop_policy

字符串

当覆盖默认 IGMP 侦听策略时,桥接域应使用的 IGMP 侦听策略的名称。

ip_learning

布尔值

确定桥接域是否应学习端点 IP。

APIC 在创建时未设置时默认为 true

选项

  • false

  • true

ipv6_l3_unknown_multicast

字符串

确定用于 IPv6 未知组播目标转发的方法。

APIC 在创建时未设置时默认为 flood

选项

  • "flood"

  • "opt-flood"

ipv6_nd_policy

字符串

当覆盖默认 IPV6 ND 策略时,桥接域应使用的 IPv6 邻居发现策略的名称。

l2_unknown_unicast

字符串

确定对未知 l2 目标使用什么转发方法。

APIC 在创建时未设置时默认为 proxy

选项

  • "proxy"

  • "flood"

l3_unknown_multicast

字符串

确定用于未知组播目标转发的方法。

APIC 在创建时未设置时默认为 flood

选项

  • "flood"

  • "opt-flood"

limit_ip_learn

布尔值

确定 BD 是否应将 IP 学习限制为仅由桥接域拥有的子网。

APIC 在创建时未设置时默认为 true

选项

  • false

  • true

link_local_address

别名: ll_addr_ipv6, ll_addr, link_local

字符串

覆盖系统生成的 IPv6 链路本地地址。

mac_address

别名: mac

字符串

要分配给 bd 的 MAC 地址,而不是使用默认地址。

在创建时未设置时,APIC 默认为 00:22:BD:F8:19:FF

mld_snoop_policy

别名: mld_snoop, mld_policy

字符串

当覆盖默认 MLD 侦听策略时,桥域应使用的多播侦听器发现 (MLD) 侦听策略的名称。

要删除此属性,请传递一个空字符串。

monitoring_policy

别名: mon_pol, monitoring_pol

字符串

要应用于桥域的监控策略的名称。

要删除此属性,请传递一个空字符串。

multi_dest

字符串

确定 L2 多播、广播和链路层流量的转发方法。

在创建时未设置时,APIC 默认为 bd-flood

选项

  • "bd-flood"

  • "drop"

  • "encap-flood"

multicast_arp_drop

别名: mcast_arp_drop

布尔值

启用 BD 恶意多播 ARP 数据包丢弃。

仅在 APIC 版本 6.0 或更高版本中可用。

APIC 在创建时未设置时默认为 true

选项

  • false

  • true

name_alias

字符串

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

optimize_wan_bandwidth

别名: wan_optimization, opt_bandwidth

布尔值

优化 WAN 带宽可改善分支机构的网络应用程序体验,并更好地利用有限的网络资源。

APIC 在创建时未设置时默认为 false

选项

  • false

  • true

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

password

字符串

用于身份验证的密码。

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

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

pim_destination_filter

别名: pim_dest, pim_destination

字符串

要应用于桥域的 PIM 目标过滤器的名称。

要删除此属性,请传递一个空字符串。

仅在 APIC 5.2 或更高版本中可用。

pim_source_filter

别名: pim_source

字符串

要应用于桥域的 PIM 源过滤器的名称。

要删除此属性,请传递一个空字符串。

仅在 APIC 5.2 或更高版本中可用。

port

整数

用于 REST 连接的端口号。

默认值取决于参数 use_ssl

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

private_key

别名: cert_key

字符串

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

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

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

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

route_profile

字符串

要与桥域关联的路由配置文件。

route_profile_l3out

字符串

包含关联路由配置文件的 L3 Out。

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

别名: tenant_name

字符串

租户的名称。

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

vlan

别名: encap

字符串

为桥域访问端口封装选择的 VLAN。

要删除此属性,请传递一个空字符串。

vmac

字符串

BD/SVI 的虚拟 MAC 地址。当使用 L2 外部将 BD 扩展到多个站点时使用。

vrf

别名: vrf_name

字符串

VRF 的名称。

Notes

注意

  • 在剧本中使用此模块之前,使用的 tenant 必须存在。可以使用 cisco.aci.aci_tenant 模块执行此操作。

另请参阅

另请参阅

cisco.aci.aci_tenant

管理租户 (fv:Tenant)。

APIC 管理信息模型参考

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

Cisco ACI 指南

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

开发 Cisco ACI 模块

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

示例

- name: Add Bridge Domain
  cisco.aci.aci_bd:
    host: "{{ inventory_hostname }}"
    username: "{{ username }}"
    password: "{{ password }}"
    validate_certs: false
    tenant: prod
    bd: web_servers
    mac_address: 00:22:BD:F8:19:FE
    vrf: prod_vrf
    host_based_routing: true
    allow_intersite_bum_traffic: true
    allow_intersite_l2_stretch: true
    allow_ipv6_mcast: true
    ll_addr: "fe80::1322:33ff:fe44:5566"
    vmac: "00:AA:BB:CC:DD:03"
    optimize_wan_bandwidth: true
    vlan: vlan-101
    igmp_policy: web_servers_igmp_pol
    monitoring_policy: web_servers_monitoring_pol
    igmp_snoop_policy: web_servers_igmp_snoop
    mld_snoop_policy: web_servers_mld_snoop
    first_hop_security_policy: web_servers_fhs
    state: present
  delegate_to: localhost

- name: Add an FC Bridge Domain
  cisco.aci.aci_bd:
    host: "{{ inventory_hostname }}"
    username: "{{ username }}"
    password: "{{ password }}"
    validate_certs: false
    tenant: prod
    bd: storage
    bd_type: fc
    vrf: fc_vrf
    enable_routing: false
    state: present
  delegate_to: localhost

- name: Modify a Bridge Domain
  cisco.aci.aci_bd:
    host: "{{ inventory_hostname }}"
    username: "{{ username }}"
    password: "{{ password }}"
    validate_certs: true
    tenant: prod
    bd: web_servers
    arp_flooding: true
    l2_unknown_unicast: flood
    state: present
  delegate_to: localhost

- name: Modify a Bridge Domain to remove mld_snoop_policy and first_hop_security_policy
  cisco.aci.aci_bd:
    host: "{{ inventory_hostname }}"
    username: "{{ username }}"
    password: "{{ password }}"
    validate_certs: true
    tenant: prod
    bd: web_servers
    arp_flooding: true
    l2_unknown_unicast: flood
    mld_snoop_policy: ""
    first_hop_security_policy: ""
    state: present
  delegate_to: localhost

- name: Query All Bridge Domains
  cisco.aci.aci_bd:
    host: "{{ inventory_hostname }}"
    username: "{{ username }}"
    password: "{{ password }}"
    validate_certs: true
    state: query
  delegate_to: localhost
  register: query_result

- name: Query a Bridge Domain
  cisco.aci.aci_bd:
    host: "{{ inventory_hostname }}"
    username: "{{ username }}"
    password: "{{ password }}"
    validate_certs: true
    tenant: prod
    bd: web_servers
    state: query
  delegate_to: localhost
  register: query_result

- name: Delete a Bridge Domain
  cisco.aci.aci_bd:
    host: "{{ inventory_hostname }}"
    username: "{{ username }}"
    password: "{{ password }}"
    validate_certs: true
    tenant: prod
    bd: web_servers
    state: absent
  delegate_to: localhost

返回值

通用返回值已在此处记录 此处,以下是此模块独有的字段

描述

current

列表 / 元素=字符串

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

已返回: 成功

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

错误

字典

从 APIC 返回的错误信息

已返回: 失败

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

filter_string

字符串

用于请求的过滤字符串

已返回: 失败或调试

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

method

字符串

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

已返回: 失败或调试

示例: "POST"

previous

列表 / 元素=字符串

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

已返回: 信息

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

proposed

字典

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

已返回: 信息

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

raw

字符串

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

已返回: 解析错误

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

response

字符串

来自 APIC 的 HTTP 响应

已返回: 失败或调试

示例: "OK (30 字节)"

sent

列表 / 元素=字符串

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

已返回: 信息

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

status

整数

来自 APIC 的 HTTP 状态

已返回: 失败或调试

示例: 200

url

字符串

用于向 APIC 发送请求的 HTTP URL

已返回: 失败或调试

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

作者

  • Jacob McGill (@jmcgill298)

  • Samita Bhattacharjee (@samitab)