cisco.aci.aci_epg 模块 – 管理端点组 (EPG) 对象 (fv:AEPg)

注意

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

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

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

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

概要

  • 管理 Cisco ACI 结构上的端点组 (EPG)。

参数

参数

注释

annotation

字符串

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

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

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

默认值: "orchestrator:ansible"

ap

别名:app_profile, app_profile_name

字符串

将包含 EPG 的现有应用程序网络配置文件的名称。

bd

别名:bd_name, bridge_domain

字符串

与 EPG 关联的桥接域的名称。

certificate_name

别名:cert_name

字符串

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

如果提供了 private_key 文件名,则默认为 private_key 基名,不含扩展名。

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

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

custom_qos_policy

字符串

自定义服务质量策略的名称。

description

别名:descr

字符串

EPG 的描述。

epg

别名:epg_name, name

字符串

端点组的名称。

fwd_control

字符串

EPG 使用的转发控制。

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

选项

  • "none"

  • "proxy-arp"

host

别名:hostname

字符串

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

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

intra_epg_isolation

字符串

EPG 内隔离。

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

选项

  • "enforced"

  • "unenforced"

match

字符串

默认阻止语句 (fv:Crtrn) 的匹配类型。

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

选项

  • "any"

  • "all"

monitoring_policy

字符串

监控策略的名称。

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

password

字符串

用于身份验证的密码。

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

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

port

整数

用于 REST 连接的端口号。

默认值取决于参数 use_ssl

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

优先级

整数

块语句 (fv:Crtrn) 优先级,用于解决微分段 EPG 之间的相等匹配。

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

preferred_group

布尔值

EPG 是否属于首选组的一部分,并且无需合约即可通信。

这对于迁移场景非常方便,或者当 ACI 用于网络自动化但不用于策略时。

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

选项

  • false

  • true

优先级

字符串

QoS 类别。

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

选项

  • "level1"

  • "level2"

  • "level3"

  • "unspecified"

private_key

别名:cert_key

字符串

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

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

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

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

状态

字符串

使用presentabsent添加或删除。

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

选项

  • "absent"

  • "present" ← (默认)

  • "query"

suppress_previous

别名:no_previous, ignore_previous

布尔值

如果为true,则在进行 POST 更新到 APIC 之前不会发送 GET 请求来检查之前状态。

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

默认值为false

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

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

选项

  • false

  • true

suppress_verification

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

布尔值

如果为true,则在将 POST 更新发送到 APIC 后不会发送验证性 GET 请求。

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

默认值为false

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

包含默认值在内的当前对象在一个任务中将无法验证。

选项

  • false

  • true

tenant

别名:tenant_name

字符串

现有租户的名称。

超时

整数

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

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

默认值为 30。

use_proxy

布尔值

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

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

默认值为 true。

选项

  • false

  • true

use_ssl

布尔值

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

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

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

选项

  • false

  • true

useg

字符串

使用yes创建 uSeg EPG,使用no创建应用程序 EPG。

选项

  • "yes"

  • "no"

username

别名:user

字符串

用于身份验证的用户名。

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

默认值为 admin。

validate_certs

布尔值

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

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

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

默认值为 true。

选项

  • false

  • true

备注

注意

另请参阅

另请参阅

cisco.aci.aci_tenant

管理租户 (fv:Tenant)。

cisco.aci.aci_ap

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

APIC 管理信息模型参考

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

Cisco ACI 指南

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

开发 Cisco ACI 模块

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

示例

- name: Add a new EPG
  cisco.aci.aci_epg:
    host: apic
    username: admin
    password: SomeSecretPassword
    tenant: production
    ap: intranet
    epg: web_epg
    description: Web Intranet EPG
    bd: prod_bd
    monitoring_policy: default
    preferred_group: true
    state: present
  delegate_to: localhost

- name: Add a new uSeg EPG
  cisco.aci.aci_epg:
    host: apic
    username: admin
    password: SomeSecretPassword
    tenant: production
    ap: intranet
    epg: web_epg
    description: Web Intranet EPG
    bd: prod_bd
    monitoring_policy: default
    preferred_group: true
    useg: 'yes'
    state: present
  delegate_to: localhost

- name: Add a uSeg EPG with block statement match and precedence
  cisco.aci.aci_epg:
    host: apic
    username: admin
    password: SomeSecretPassword
    tenant: production
    ap: intranet
    epg: web_epg
    description: Web Intranet EPG
    bd: prod_bd
    monitoring_policy: default
    preferred_group: true
    useg: 'yes'
    match: all
    precedence: 1
    state: present
  delegate_to: localhost

- name: Query an EPG
  cisco.aci.aci_epg:
    host: apic
    username: admin
    password: SomeSecretPassword
    tenant: production
    ap: ticketing
    epg: web_epg
    state: query
  delegate_to: localhost
  register: query_result

- name: Query all EPGs
  cisco.aci.aci_epg:
    host: apic
    username: admin
    password: SomeSecretPassword
    state: query
  delegate_to: localhost
  register: query_result

- name: Query all EPGs with a Specific Name
  cisco.aci.aci_epg:
    host: apic
    username: admin
    password: SomeSecretPassword
    validate_certs: false
    epg: web_epg
    state: query
  delegate_to: localhost
  register: query_result

- name: Query all EPGs of an App Profile
  cisco.aci.aci_epg:
    host: apic
    username: admin
    password: SomeSecretPassword
    validate_certs: false
    ap: ticketing
    state: query
  delegate_to: localhost
  register: query_result

- name: Remove an EPG
  cisco.aci.aci_epg:
    host: apic
    username: admin
    password: SomeSecretPassword
    validate_certs: false
    tenant: production
    app_profile: intranet
    epg: web_epg
    monitoring_policy: default
    state: absent
  delegate_to: localhost

返回值

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

描述

current

列表 / 元素=字符串

模块完成后从 APIC 获取的现有配置

返回:成功

示例:[{"fvTenant": {"attributes": {"descr": "Production environment", "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": "生产 环境"}}}

状态

整数

APIC返回的HTTP状态码

返回:失败或调试

示例: 200

URL

字符串

发送给APIC请求使用的HTTP URL

返回:失败或调试

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

作者

  • Swetha Chunduri (@schunduri)

  • Shreyas Srish (@shrsr)

  • Christian Kolrep (@Christian-Kolrep)

  • Akini Ross (@akinross)