cisco.aci.aci_epg_subnet 模块 – 管理 EPG 子网 (fv:Subnet)

注意

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

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

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

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

概要

  • 管理 Cisco ACI 结构中的 EPG 子网。

参数

参数

注释

annotation

字符串

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

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

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

默认值: "orchestrator:ansible"

ap

别名:app_profile, app_profile_name

字符串

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

certificate_name

别名:cert_name

字符串

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

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

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

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

description

别名:descr

字符串

子网的描述。

enable_vip

布尔值

确定是否应将子网视为 VIP(虚拟 IP 地址)。

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

选项

  • false

  • true

epg

别名:epg_name

字符串

端点组的名称。

gateway

别名:gateway_ip

字符串

子网的 IPv4 或 IPv6 网关地址。

host

别名:hostname

字符串

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

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

ip_data_plane_learning

别名:ip_dataplane_learning

字符串

是否启用或禁用 IP 数据平面学习。

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

选项

  • "enabled"

  • "disabled"

mask

别名:subnet_mask

整数

子网掩码。

这是与 CIDR 表示法关联的数字。

对于 IPv4 地址,可接受的值范围为 032

对于 IPv6 地址,可接受的值范围为 0128

name_alias

字符串

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

nd_prefix_policy

字符串

与子网关联的 IPv6 邻居发现前缀策略。

output_level

字符串

影响此 ACI 模块的输出。

normal 表示标准输出,包括 current 字典

info 添加信息输出,包括 previousproposedsent 字典

debug 添加调试输出,包括 filter_stringmethodresponsestatusurl 信息

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

选项

  • "debug"

  • "info"

  • "normal" ← (默认值)

output_path

字符串

模块生成的ACI JSON配置对象的导出文件路径。

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

密码

字符串

用于身份验证的密码。

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

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

端口

整数

用于REST连接的端口号。

默认值取决于参数use_ssl

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

首选

布尔值

确定子网是否优于所有可用子网。在桥接域中,每个地址族(IPv4/IPv6)只能有一个首选子网。

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

选项

  • false

  • true

私钥

别名:cert_key

字符串

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

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

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

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

路由配置文件

字符串

与子网关联的路由配置文件。

L3Out路由配置文件

字符串

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

范围

列表 / 元素=字符串

确定子网的范围。

private选项仅允许与同一VRF中的主机通信。

public选项允许在ACI结构外部通告子网,并允许与其他VRF中的主机通信。

shared选项将通信限制在同一VRF或共享VRF中的主机。

该值是一个选项列表,privatepublic是互斥的,但两者都可以与shared一起使用。

在创建时未设置时,APIC默认为private

选项

  • "private"

  • "public"

  • "shared"

状态

字符串

使用presentabsent添加或删除。

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

选项

  • "absent"

  • "present" ← (默认)

  • "query"

子网控制

字符串

确定子网的控制状态。

querier_ip选项用于将gateway_ip视为IGMP查询器源IP。

nd_ra选项用于将gateway_ip地址视为邻居发现路由器通告前缀。

no_gw选项用于从网关地址中删除默认网关功能。

在创建时未设置时,APIC默认为nd_ra

选项

  • "nd_ra_prefix"

  • "no_default_gateway"

  • "querier_ip"

  • "unspecified"

子网名称

别名:name

字符串

子网的名称。

抑制先前

别名:no_previous, ignore_previous

布尔值

如果为true,则在向APIC发送POST更新之前,不会发送GET来检查先前状态。

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

默认值为false

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

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

选项

  • false

  • true

抑制验证

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

布尔值

如果为true,则在向APIC发送POST更新后,不会发送验证GET。

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

默认值为false

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

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

选项

  • false

  • true

租户

别名:tenant_name

字符串

租户的名称。

超时

整数

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

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

默认值为30。

使用代理

布尔值

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

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

默认值为true。

选项

  • false

  • true

使用SSL

布尔值

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

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

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

选项

  • false

  • true

用户名

别名:user

字符串

用于身份验证的用户名。

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

默认值为admin。

验证证书

布尔值

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

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

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

默认值为true。

选项

  • false

  • true

备注

注意

  • gateway参数是访问子网的根密钥(不是名称),因此当状态为absentpresent时,需要gateway

  • 在您的playbook中使用此模块之前,必须先存在使用的tenantapepg。可以使用cisco.aci.aci_tenant模块,cisco.aci.aci_apcisco.aci.aci_epg来实现这些。

另请参见

另请参见

cisco.aci.aci_epg

管理端点组(EPG)对象(fv:AEPg)。

cisco.aci.aci_ap

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

cisco.aci.aci_tenant

管理租户(fv:Tenant)。

APIC管理信息模型参考

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

Cisco ACI指南

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

开发Cisco ACI模块

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

示例

- name: Create a subnet
  cisco.aci.aci_epg_subnet:
    host: apic
    username: admin
    password: SomeSecretPassword
    tenant: production
    ap: intranet
    epg: web_epg
    gateway: 10.1.1.1
    mask: 24
    state: present
  delegate_to: localhost

- name: Create a subnet with options
  cisco.aci.aci_epg_subnet:
    host: apic
    username: admin
    password: SomeSecretPassword
    tenant: production
    ap: intranet
    epg: web_epg
    subnet_name: sql
    gateway: 10.1.2.1
    mask: 23
    description: SQL Servers
    scope: public
    route_profile_l3out: corp
    route_profile: corp_route_profile
    state: present
  delegate_to: localhost

- name: Update a subnets scope to private and shared
  cisco.aci.aci_epg_subnet:
    host: apic
    username: admin
    password: SomeSecretPassword
    tenant: production
    ap: intranet
    epg: web_epg
    gateway: 10.1.1.1
    mask: 24
    scope: [private, shared]
    state: present
  delegate_to: localhost

- name: Get all subnets
  cisco.aci.aci_epg_subnet:
    host: apic
    username: admin
    password: SomeSecretPassword
    state: query
  delegate_to: localhost

- name: Get all subnets of specific gateway in specified tenant
  cisco.aci.aci_epg_subnet:
    host: apic
    username: admin
    password: SomeSecretPassword
    tenant: production
    gateway: 10.1.1.1
    mask: 24
    state: query
  delegate_to: localhost
  register: query_result

- name: Get specific subnet
  cisco.aci.aci_epg_subnet:
    host: apic
    username: admin
    password: SomeSecretPassword
    tenant: production
    ap: intranet
    epg: web_epg
    gateway: 10.1.1.1
    mask: 24
    state: query
  delegate_to: localhost
  register: query_result

- name: Delete a subnet
  cisco.aci.aci_epg_subnet:
    host: apic
    username: admin
    password: SomeSecretPassword
    tenant: production
    ap: intranet
    epg: web_epg
    gateway: 10.1.1.1
    mask: 24
    state: absent
  delegate_to: localhost

返回值

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

描述

当前

列表 / 元素=字符串

模块完成后APIC中的现有配置

返回:成功

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

错误

字典

APIC返回的错误信息

返回: 失败

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

过滤器字符串

字符串

请求使用的过滤器字符串

返回: 失败或调试信息

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

方法

字符串

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

返回: 失败或调试信息

示例: "POST"

之前

列表 / 元素=字符串

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

返回: 信息

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

建议

字典

根据用户提供的参数组装的配置

返回: 信息

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

原始数据

字符串

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>"

响应

字符串

APIC的HTTP响应

返回: 失败或调试信息

示例: "OK (30 bytes)"

发送

列表 / 元素=字符串

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

返回: 信息

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

状态

整数

APIC的HTTP状态

返回: 失败或调试信息

示例: 200

URL

字符串

向APIC发出请求使用的HTTP URL

返回: 失败或调试信息

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

作者

  • Gaspard MICOL (@gmicol)