cisco.aci.aci_subject_label 模块 – 管理主题标签 (vz:ConsSubjLbl 和 vz:ProvSubjLbl)

注意

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

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

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

要在剧本中使用它,请指定: cisco.aci.aci_subject_label

概要

  • 管理 Cisco ACI 结构中的主题标签。

参数

参数

注释

annotation

字符串

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

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

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

默认值: "orchestrator:ansible"

ap

别名:app_profile, app_profile_name, application_profile, application_profile_name

字符串

应用程序配置文件的名称。

certificate_name

别名:cert_name

字符串

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

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

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

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

complement

布尔值

主题标签上是否启用了互补。

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

选项

  • false

  • true

contract

别名:contract_name

字符串

契约的名称。

description

别名:descr

字符串

主题标签的描述。

epg

别名:epg_name

字符串

端点组的名称。

esg

别名:esg_name

字符串

端点安全组的名称。

external_epg

别名:extepg, extepg_name, external_epg_name

字符串

外部端点组的名称。

host

别名:hostname

字符串

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

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

l2out

别名:l2out_name

字符串

L2Out 的名称。

l3out

别名:l3out_name

字符串

L3Out 的名称。

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

state

字符串

使用presentabsent添加或删除。

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

选项

  • "absent"

  • "present" ← (默认)

  • "query"

subject

别名:subject_name

字符串

主题的名称。

subject_label

别名:subject_label_name, name, label

字符串

主题标签的名称。

subject_label_type

别名:type

字符串 / 必填

确定主题标签的类型。

选项

  • "consumer"

  • "provider"

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

tag

字符串

主题标签的策略标签颜色。

在创建期间未设置时,APIC 默认值为yellow-green

选项

  • "alice_blue"

  • "antique_white"

  • "aqua"

  • "aquamarine"

  • "azure"

  • "beige"

  • "bisque"

  • "black"

  • "blanched_almond"

  • "blue"

  • "blue_violet"

  • "brown"

  • "burlywood"

  • "cadet_blue"

  • "chartreuse"

  • "chocolate"

  • "coral"

  • "cornflower_blue"

  • "cornsilk"

  • "crimson"

  • "cyan"

  • "dark_blue"

  • "dark_cyan"

  • "dark_goldenrod"

  • "dark_gray"

  • "dark_green"

  • "dark_khaki"

  • "dark_magenta"

  • "dark_olive_green"

  • "dark_orange"

  • "dark_orchid"

  • "dark_red"

  • "dark_salmon"

  • "dark_sea_green"

  • "dark_slate_blue"

  • "dark_slate_gray"

  • "dark_turquoise"

  • "dark_violet"

  • "deep_pink"

  • "deep_sky_blue"

  • "dim_gray"

  • "dodger_blue"

  • "fire_brick"

  • "floral_white"

  • "forest_green"

  • "fuchsia"

  • "gainsboro"

  • "ghost_white"

  • "gold"

  • "goldenrod"

  • "gray"

  • "green"

  • "green_yellow"

  • "honeydew"

  • "hot_pink"

  • "indian_red"

  • "indigo"

  • "ivory"

  • "khaki"

  • "lavender"

  • "lavender_blush"

  • "lawn_green"

  • "lemon_chiffon"

  • "light_blue"

  • "light_coral"

  • "light_cyan"

  • "light_goldenrod_yellow"

  • "light_gray"

  • "light_green"

  • "light_pink"

  • "light_salmon"

  • "light_sea_green"

  • "light_sky_blue"

  • "light_slate_gray"

  • "light_steel_blue"

  • "light_yellow"

  • "lime"

  • "lime_green"

  • "linen"

  • "magenta"

  • "maroon"

  • "medium_aquamarine"

  • "medium_blue"

  • "medium_orchid"

  • "medium_purple"

  • "medium_sea_green"

  • "medium_slate_blue"

  • "medium_spring_green"

  • "medium_turquoise"

  • "medium_violet_red"

  • "midnight_blue"

  • "mint_cream"

  • "misty_rose"

  • "moccasin"

  • "navajo_white"

  • "navy"

  • "old_lace"

  • "olive"

  • "olive_drab"

  • "orange"

  • "orange_red"

  • "orchid"

  • "pale_goldenrod"

  • "pale_green"

  • "pale_turquoise"

  • "pale_violet_red"

  • "papaya_whip"

  • "peachpuff"

  • "peru"

  • "pink"

  • "plum"

  • "powder_blue"

  • "purple"

  • "red"

  • "rosy_brown"

  • "royal_blue"

  • "saddle_brown"

  • "salmon"

  • "sandy_brown"

  • "sea_green"

  • "seashell"

  • "sienna"

  • "silver"

  • "sky_blue"

  • "slate_blue"

  • "slate_gray"

  • "snow"

  • "spring_green"

  • "steel_blue"

  • "tan"

  • "teal"

  • "thistle"

  • "tomato"

  • "turquoise"

  • "violet"

  • "wheat"

  • "white"

  • "white_smoke"

  • "yellow"

  • "yellow_green"

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

另请参见

另请参见

APIC 管理信息模型参考

有关内部 APIC 类vz:ConsSubjLbl和(vz:ProvSubjLbl)的更多信息。

Cisco ACI 指南

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

开发 Cisco ACI 模块

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

示例

- name: Add a Subject Label on a Contract Subject
  cisco.aci.aci_subject_label:
    host: apic
    username: admin
    password: SomeSecretPassword
    tenant: production
    contract: web
    subject: web_subject
    subject_label: web_subject_label
    subject_type: consumer
    state: present
  delegate_to: localhost

- name: Add a Subject Label on a L2Out External EPG
  cisco.aci.aci_subject_label:
    host: apic
    username: admin
    password: SomeSecretPassword
    tenant: production
    l2out: l2out_name
    external_epg: external_epg_name
    subject_label: l2out_subject_label
    subject_type: consumer
    state: present
  delegate_to: localhost

- name: Add a Subject Label on a L3Out External EPG
  cisco.aci.aci_subject_label:
    host: apic
    username: admin
    password: SomeSecretPassword
    tenant: production
    l3out: l3out_name
    external_epg: external_epg_name
    subject_label: l3out_subject_label
    subject_type: consumer
    state: present
  delegate_to: localhost

- name: Add a Subject Label on a L3Out External EPG Contract
  cisco.aci.aci_subject_label:
    host: apic
    username: admin
    password: SomeSecretPassword
    tenant: production
    l3out: l3out_name
    external_epg: external_epg_name
    contract: web
    subject_label: l3out_subject_label
    subject_type: consumer
    state: present
  delegate_to: localhost

- name: Add a Subject Label on a ESG
  cisco.aci.aci_subject_label:
    host: apic
    username: admin
    password: SomeSecretPassword
    tenant: production
    ap: app_profile_name
    esg: esg_name
    subject_label: esg_subject_label
    subject_type: consumer
    state: present
  delegate_to: localhost

- name: Add a Subject Label on a EPG
  cisco.aci.aci_subject_label:
    host: apic
    username: admin
    password: SomeSecretPassword
    tenant: production
    ap: app_profile_name
    epg: epg_name
    subject_label: epg_subject_label
    subject_type: consumer
    state: present
  delegate_to: localhost

- name: Add a Subject Label on a EPG Contract
  cisco.aci.aci_subject_label:
    host: apic
    username: admin
    password: SomeSecretPassword
    tenant: production
    ap: app_profile_name
    epg: epg_name
    contract: web
    subject_label: epg_subject_label
    subject_type: consumer
    state: present
  delegate_to: localhost

- name: Query a Subject Label on a Contract Subject
  cisco.aci.aci_subject_label:
    host: apic
    username: admin
    password: SomeSecretPassword
    tenant: production
    contract: web
    subject: web_subject
    subject_label: web_subject_label
    subject_type: consumer
    state: query
  delegate_to: localhost
  register: query_result

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

- name: Remove a Subject Label on a Contract Subject
  cisco.aci.aci_subject_label:
    host: apic
    username: admin
    password: SomeSecretPassword
    tenant: production
    contract: web
    subject: web_subject
    subject_label: web_subject_label
    subject_type: consumer
    state: absent
  delegate_to: localhost

返回值

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

描述

current

列表 / 元素=字符串

模块完成后从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"

作者

  • Mark Ciecior (@markciecior)

  • Akini Ross (@akinross)