cisco.aci.aci_l3out 模块 – 管理三层外部 (L3Out) 对象 (l3ext:Out)

注意

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

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

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

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

概要

  • 管理 Cisco ACI 架构上的三层外部 (L3Out)。

参数

参数

注释

annotation

字符串

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

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

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

默认: "orchestrator:ansible"

asn

别名:as_number

整数

L3Out 的 AS 号。

仅在使用 “eigrp” 作为 l3protocol 时适用。

certificate_name

别名:cert_name

字符串

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

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

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

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

description

别名:descr

字符串

L3Out 的描述。

domain

别名:ext_routed_domain_name, routed_domain

字符串

与 L3Out 关联的外部 L3 域的名称。

dscp

别名:target

字符串

目标差分服务 (DSCP) 值。

在创建过程中未设置时,APIC 默认为 unspecified

选项

  • "AF11"

  • "AF12"

  • "AF13"

  • "AF21"

  • "AF22"

  • "AF23"

  • "AF31"

  • "AF32"

  • "AF33"

  • "AF41"

  • "AF42"

  • "AF43"

  • "CS0"

  • "CS1"

  • "CS2"

  • "CS3"

  • "CS4"

  • "CS5"

  • "CS6"

  • "CS7"

  • "EF"

  • "VA"

  • "unspecified"

host

别名:hostname

字符串

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

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

l3out

别名:l3out_name, name

字符串

正在创建的 L3Out 的名称。

l3protocol

列表 / 元素=字符串

L3Out 的路由协议。

如果相关协议要保留,则在修改 l3out 时,必须再次提供已与 l3out 关联的协议。

否则,如果每次修改 l3out 时未提供协议,则会删除协议。

第一个示例,要将 BGP 协议添加到具有 OSPF 协议的 l3out,即使之前提供了 “ospf”,用户也必须输入 [ bgp, ospf ]

第二个示例,要将协议从 OSPF 更改为 EIGRP,用户只需输入 [ eigrp ],之前的 OSPF 协议将被删除。

要删除所有现有协议,用户必须输入 [ static ]

SR-MPLS 基础设施 L3out 要求 l3protocol 为 ‘bgp’。

选项

  • "bgp"

  • "eigrp"

  • "ospf"

  • "pim"

  • "static"

mpls

字符串

指示是否启用 MPLS(多协议标签交换)。

在创建过程中未设置时,APIC 默认为 no

SR-MPLS 仅在 APIC v5.0 及更高版本中受支持。

子类 mplsExtPmplsRsLabelPoll3extProvLbl 仅在 yes 时才会显示在输出中。

选项

  • "no"

  • "yes"

name_alias

字符串

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

ospf

字典

OSPF 协议的参数。

area_cost

整数

OSPF 区域成本。

在创建过程中未设置时,APIC 默认为 1

area_ctrl

列表 / 元素=字符串

重分发和摘要 LSA 生成到 NSSA 和 Stub 区域的控制。

在创建过程中未设置时,APIC 默认为 redistribute,summary

选项

  • "redistribute"

  • "summary"

  • "suppress-fa"

  • "unspecified"

area_id

字符串

OSPF 区域 ID。

区域是具有相同区域标识的 OSPF 网络、路由器和链接的逻辑集合。

区域内的路由器必须维护其所属区域的拓扑数据库。

路由器没有关于其区域外的网络拓扑的详细信息,从而减小了其数据库的大小。

区域限制路由信息分发的范围。在区域内不可能进行路由更新过滤。

同一区域内路由器的链路状态数据库 (LSDB) 必须同步且完全相同。

然而,可以在不同区域之间进行路由汇总和过滤。

创建区域的主要好处是通过过滤和路由汇总来减少要传播的路由数量。

区域通过区域 ID 来标识。

Cisco IOS 软件支持以 IP 地址格式或十进制格式表示的区域 ID,例如,区域 0.0.0.0 等同于区域 0。

在创建过程中未设置时,APIC 默认为 1

area_type

字符串

OSPF 区域类型。

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

选项

  • "nssa"

  • "regular"

  • "stub"

description

别名:descr

字符串

指定策略组件的描述。

multipod_internal

字符串

在 WAN 实例而不是默认实例中启动 OSPF。

在创建过程中未设置时,APIC 默认为 no

选项

  • "no"

  • "yes"

name_alias

字符串

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

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

port

整数

用于 REST 连接的端口号。

默认值取决于参数 use_ssl

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

private_key

别名: cert_key

字符串

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

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

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

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

route_control

别名: route_control_enforcement

列表 / 元素=字符串

路由控制强制执行方向。唯一允许的值是 export 或 import,export。

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

选项

  • "export"

  • "import"

state

字符串

使用 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

字符串

现有租户的名称。

timeout

整数

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

如果任务中未指定该值,则将使用环境变量 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

字符串

用于身份验证的用户名。

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

默认值为 admin。

validate_certs

boolean

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

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

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

默认值为 true。

选项

  • false

  • true

vrf

别名: vrf_name

字符串

与 L3Out 关联的 VRF 的名称。

SR-MPLS Infra L3out 要求 VRF 为 'overlay-1'。

说明

注意

另请参阅

另请参阅

cisco.aci.aci_tenant

管理租户 (fv:Tenant)。

cisco.aci.aci_domain

管理物理、虚拟、桥接、路由或 FC 域配置文件(phys:DomP、vmm:DomP、l2ext:DomP、l3ext:DomP 和 fc:DomP)。

cisco.aci.aci_vrf

管理上下文或 VRF (fv:Ctx)。

APIC 管理信息模型参考

有关内部 APIC 类 l3ext:Out 的详细信息。

Cisco ACI 指南

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

开发 Cisco ACI 模块

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

示例

- name: Add a new L3Out
  cisco.aci.aci_l3out:
    host: apic
    username: admin
    password: SomeSecretPassword
    tenant: production
    name: prod_l3out
    description: L3Out for Production tenant
    domain: l3dom_prod
    vrf: prod
    l3protocol: ospf
    ospf:
      area_cost: 1
      area_ctrl: [summary, redistribute]
      area_id: 0.0.0.1
      area_type: regular
      multipod_internal: 'no'
    state: present
  delegate_to: localhost

- name: Delete L3Out
  cisco.aci.aci_l3out:
    host: apic
    username: admin
    password: SomeSecretPassword
    tenant: production
    name: prod_l3out
    state: absent
  delegate_to: localhost

- name: Query L3Out information
  cisco.aci.aci_l3out:
    host: apic
    username: admin
    password: SomeSecretPassword
    tenant: production
    name: prod_l3out
    state: query
  delegate_to: localhost
  register: query_result

- name: Query all L3Outs
  cisco.aci.aci_l3out:
    host: apic
    username: admin
    password: SomeSecretPassword
    state: query
  delegate_to: localhost
  register: query_all_result

返回值

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

描述

current

列表 / 元素=字符串

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

返回: 成功

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

error

字典

从 APIC 返回的错误信息

返回: 失败

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

filter_string

字符串

用于请求的过滤器字符串

返回: 失败或调试

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

method

字符串

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

返回: 失败或调试

示例: "POST"

previous

列表 / 元素=字符串

模块启动前 APIC 中的原始配置

返回: 信息

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

proposed

字典

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

返回: 信息

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

raw

字符串

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

返回: 解析错误

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

response

字符串

来自 APIC 的 HTTP 响应

返回: 失败或调试

示例: "OK (30 bytes)"

sent

列表 / 元素=字符串

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

返回: 信息

示例: {"fvTenant": {"attributes": {"descr": "Production environment"}}}

status

整数

来自 APIC 的 HTTP 状态

返回: 失败或调试

示例: 200

url

字符串

用于向 APIC 发出请求的 HTTP url

返回: 失败或调试

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

作者

  • Rostyslav Davydenko (@rost-d)

  • Gaspard Micol (@gmicol)

  • Akini Ross (@akinross)