cisco.aci.aci_vrf_multicast 模块 – 管理 VRF 组播对象 (pim:CtxP)

注意

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

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

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

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

概要

  • 在 Cisco ACI 交换矩阵上管理 VRF 组播对象。

  • 创建 state=present 在 VRF 上启用协议无关组播 (PIM)

  • 删除 state=absent 在 VRF 上禁用协议无关组播 (PIM)。

参数

参数

注释

annotation

字符串

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

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

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

默认值: "orchestrator:ansible"

any_source_multicast

别名:asm, any_source

字典

协议无关组播 (PIM) 任意源组播 (ASM) 设置的配置容器。

expiry

别名:expiry_seconds

整数

以秒为单位的过期时间。

当创建期间未设置时,APIC 默认为 default-timeout

指定 0 可重置为 default-timeout

max_rate

别名:max_rate_per_second

整数

每秒最大速率。

当创建期间未设置时,APIC 默认为 65535

shared_range_route_map

别名:shared_range_policy

字符串

路由图的 DN。

指定 "" 以删除路由图配置。

source_group_expiry_route_map

别名:sg_expiry_route_map

字符串

路由图的 DN。

指定 "" 以删除路由图配置。

source_ip

别名:source, source_ip_address

字符串

源 IP 地址。

auto_rp

别名:auto

字典

协议无关组播 (PIM) 自动汇集点 (Auto-RP) 设置的配置容器。

ma_filter

别名:filter, route_map, route_map_dn

字符串

路由图的 DN。

指定 "" 以删除路由图配置。

rp_updates

别名:control, ctrl

列表 / 元素=字符串

自动汇集点 (Auto-RP) 策略的控制状态。

指定 [] 以删除控制状态配置。

选项

  • "forward"

  • "listen"

bootstrap_router

别名:bsr, bootstrap

字典

协议无关组播 (PIM) 引导路由器 (BSR) 设置的配置容器。

bsr_filter

别名:filter, route_map, route_map_dn

字符串

路由图的 DN。

指定 "" 以删除路由图配置。

rp_updates

别名:control, ctrl

列表 / 元素=字符串

引导路由器 (BSR) 策略的控制状态。

指定 [] 以删除控制状态配置。

选项

  • "forward"

  • "listen"

certificate_name

别名: cert_name

字符串

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

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

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

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

host

别名: hostname

字符串

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

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

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_setting

字典

协议无关组播 (PIM) 设置的配置容器。

control_state

别名:control, ctrl

列表 / 元素=字符串

检测到循环时要采取的操作。

指定 [] 以删除控制状态配置。

选项

  • "fast"

  • "strict"

mtu

整数

组播支持的 MTU 大小。

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

port

整数

用于 REST 连接的端口号。

默认值取决于参数 use_ssl

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

private_key

别名: cert_key

字符串

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

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

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

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

resource_policy

字典

协议无关组播 (PIM) 资源策略的配置容器。

maximum_limit

别名: max

整数

最大组播条目数。

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

指定 0 以重置为 unlimited

reserved_multicast_entries

别名: rsvd

整数

保留的组播条目数。

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

当提供 reserved_route_map 时,这是必需的。

reserved_route_map

别名: route_map, route_map_dn

字符串

路由图的 DN。

指定 "" 以删除路由图配置。

当提供 reserved_multicast_entries 时,这是必需的。

source_specific_multicast

别名: ssm, specific_source

字典

协议无关组播 (PIM) 源特定组播 (SSM) 设置的配置容器。

group_range_route_map

别名: group_range_policy

字符串

路由图的 DN。

指定 "" 以删除路由图配置。

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

vrf

别名:vrf_name

字符串

现有 VRF 的名称。

注释

注意

另请参阅

另请参阅

APIC 管理信息模型参考

有关内部 APIC 类 pim:CtxP 的更多信息。

Cisco ACI 指南

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

开发 Cisco ACI 模块

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

示例

- name: Enable Multicast on a VRF
  cisco.aci.aci_vrf_multicast:
    host: apic
    username: admin
    password: SomeSecretePassword
    tenant: ansible_tenant
    vrf: ansible_vrf
    state: present
  delegate_to: localhost

- name: Change Multicast PIM Settings on a VRF
  cisco.aci.aci_vrf_multicast:
    host: apic
    username: admin
    password: SomeSecretePassword
    tenant: ansible_tenant
    vrf: ansible_vrf
    pim_setting:
      mtu: 2000
      control_state: [fast, strict]
    state: present
  delegate_to: localhost

- name: Change Multicast Resource Policy on a VRF
  cisco.aci.aci_vrf_multicast:
    host: apic
    username: admin
    password: SomeSecretePassword
    tenant: ansible_tenant
    vrf: ansible_vrf
    resource_policy:
      maximum_limit: 100
      reserved_multicast_entries: 20
      reserved_route_map: uni/tn-ansible_test/rtmap-ansible_test
    state: present
  delegate_to: localhost

- name: Remove Route-Map from Multicast Resource Policy on a VRF
  cisco.aci.aci_vrf_multicast:
    host: apic
    username: admin
    password: SomeSecretePassword
    tenant: ansible_tenant
    vrf: ansible_vrf
    resource_policy:
      reserved_route_map: ""
    state: present
  delegate_to: localhost

- name: Change Multicast Any Source Multicast (ASM) Settings on a VRF
  cisco.aci.aci_vrf_multicast:
    host: apic
    username: admin
    password: SomeSecretePassword
    tenant: ansible_tenant
    vrf: ansible_vrf
    any_source_multicast:
      shared_range_route_map: uni/tn-ansible_test/rtmap-ansible_test
      source_group_expiry_route_map: uni/tn-ansible_test/rtmap-ansible_test
      expiry: 500
      max_rate: 64000
      source_ip: 1.1.1.1
    state: present
  delegate_to: localhost

- name: Change Multicast Source Specific Multicast (SSM) Settings on a VRF
  cisco.aci.aci_vrf_multicast:
    host: apic
    username: admin
    password: SomeSecretePassword
    tenant: ansible_tenant
    vrf: ansible_vrf
    source_specific_multicast:
      group_range_route_map: uni/tn-ansible_test/rtmap-ansible_test
    state: present
  delegate_to: localhost

- name: Change Multicast Bootstrap Router (BSR) Settings on a VRF
  cisco.aci.aci_vrf_multicast:
    host: apic
    username: admin
    password: SomeSecretePassword
    tenant: ansible_tenant
    vrf: ansible_vrf
    bootstrap_router:
      bsr_filter: uni/tn-ansible_test/rtmap-ansible_test
      rp_updates: [forward, listen]
    state: present
  delegate_to: localhost

- name: Change Multicast Auto-Rendezvous Point (Auto-RP) Settings on a VRF
  cisco.aci.aci_vrf_multicast:
    host: apic
    username: admin
    password: SomeSecretePassword
    tenant: ansible_tenant
    vrf: ansible_vrf
    auto_rp:
      ma_filter: uni/tn-ansible_test/rtmap-ansible_test
      rp_updates: [forward, listen]
    state: present
  delegate_to: localhost

- name: Disable Multicast on a VRF
  cisco.aci.aci_vrf_multicast:
    host: apic
    username: admin
    password: SomeSecretePassword
    tenant: ansible_tenant
    vrf: ansible_vrf
    state: absent
  delegate_to: localhost

- name: Query Multicast Settings for a VRF
  cisco.aci.aci_vrf_multicast:
    host: apic
    username: admin
    password: SomeSecretePassword
    tenant: ansible_tenant
    vrf: ansible_vrf
    state: query
  delegate_to: localhost
  register: query_result

- name: Query Multicast Settings for all VRFs
  cisco.aci.aci_vrf_multicast:
    host: apic
    username: admin
    password: SomeSecretePassword
    state: query
  delegate_to: localhost
  register: query_result

返回值

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

描述

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=\"未知 托管 对象 \"/></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"

作者

  • Tim Cragg (@timcragg)

  • Akini Ross (@akinross)