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

要在剧本中使用它,请指定: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

布尔值

用于桥接域的恶意异常 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 播发主机路由(/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 邻居发现策略时,桥接域应使用的 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 的名称。

备注

注意

  • 在您的 playbook 中使用此模块之前,使用的 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": ""}}}]

error

字典

从 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 bytes)"

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)