cisco.dnac.inventory_intent 模块 – 网络设备资源模块

注意

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

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

要安装它,请使用:ansible-galaxy collection install cisco.dnac。您需要其他要求才能使用此模块,请参阅 要求 获取详细信息。

要在剧本中使用它,请指定:cisco.dnac.inventory_intent

cisco.dnac 6.8.0 中的新增功能

概要

  • 管理网络设备资源的创建、更新和删除操作。

  • 使用给定的凭据添加设备。

  • 删除给定 ID 的网络设备。

  • 同步作为输入提供的设备。

要求

执行此模块的主机需要以下要求。

  • dnacentersdk >= 2.7.2

  • python >= 3.9

参数

参数

注释

config

列表 / 元素=字典 / 必需

具有凭据的设备列表,用于执行添加/更新/删除/重新同步操作

add_user_defined_field

字典

此操作将采用字典作为参数,我们在此提供详细信息以创建/更新/删除/将多个 UDF 分配给设备。

description

字符串

关于全局用户定义字段的信息。也用于更新接口详细信息。

name

字符串

全局用户定义字段的名称。创建/删除 UDF 并将其分配给设备时需要。

value

字符串

要分配给标签的值,无论是否具有相同的用户定义字段名称。

clean_config

布尔值

如果需要通过清除当前配置来删除已配置的设备,则需要此参数。

选项

  • false ← (默认)

  • true

cli_transport

字符串

添加网络设备的必要前提是指定设备使用的传输协议(ssh 或 telnet)。

compute_device

布尔值

指示设备是否是计算设备。

选项

  • false

  • true

credential_update

布尔值

将其设置为“True”以更新设备凭据和其他设备详细信息。当此参数为“True”时,请确保设备存在于 Cisco Catalyst Center 中;只有这样才能对相应的设备执行更新操作。如果参数为“True”并且任何设备都不存在,模块将尝试添加它。如果在此添加过程中缺少必需的参数,模块将失败并停止执行,从而防止对已存在的设备进行更新操作。

选项

  • false ← (默认)

  • true

device_resync

布尔值

如果需要设备重新同步,则将其设置为 true。

选项

  • false ← (默认)

  • true

enable_password

字符串

在设备上启用配置所需的密码。

export_device_details_limit

整数

指定更新设备详细信息或将设备详细信息/凭据导出到文件的限制。默认限制设置为 500 个设备。此限制适用于导出设备详细信息/凭据和编辑设备详细信息时。单个 API 调用可以导出的设备详细信息/凭据的最大数量为 800。

默认值: 500

export_device_list

字典

此操作将字典作为参数,并将设备详细信息以及设备凭据详细信息导出到 csv 文件。

operation_enum

字符串

枚举(CREDENTIALDETAILS, DEVICEDETAILS) 0 用于导出设备凭据详细信息或 1 用于导出设备详细信息。CREDENTIALDETAILS - 用于导出设备凭据详细信息,例如 snpm 凭据、设备凭据等。DEVICEDETAILS - 用于导出特定于设备的详细信息,例如设备主机名、序列号、类型、系列等。

parameters

列表 / 元素=字符串

需要导出到文件的设备参数列表。(例如,[“componentName”,“SerialNumber”,“Last Sync Status”])

password

字符串

将设备凭据导出到文件时,指定用于文件加密的密码。

site_name

字符串

指示将配置有线设备的确切位置。这是一个字符串值,应表示站点的完整分层路径(例如,“Global/USA/San Francisco/BGL_18/floor_pnp”)。

extended_discovery_info

字符串

设备的其他发现信息。

force_sync

布尔值

如果 forcesync 为 true,则设备同步将在可用时运行在高优先级线程中,否则同步将失败。

选项

  • false ← (默认)

  • true

hostnames

列表 / 元素=字符串

表示设备的主机名列表。可以执行更新、删除、重新同步或重新引导等操作作为使用 IP 地址的替代方法。

http_password

字符串

添加计算、Meraki 和 Firepower 管理设备所需的 HTTP 密码。

http_port

字符串

添加计算和 Firepower 管理设备所需的 HTTP 端口号。

http_secure

布尔值

指示 HTTP 安全性的标志。

选项

  • false

  • true

http_username

字符串

添加计算和 Firepower 管理设备所需的 HTTP 用户名。

ip_address_list

列表 / 元素=字符串

设备IP地址列表。此列表是添加、更新、删除或重新同步设备(Meraki设备除外)等任务所必需的。

mac_addresses

列表 / 元素=字符串

表示设备的MAC地址列表。可以执行更新、删除、重新同步或重启等操作,作为使用IP地址的替代方案。

netconf_port

字符串

指定使用Netconf协议连接到设备的端口号。Netconf(网络配置协议)用于管理网络设备。确保提供的端口号与网络设备上配置的Netconf服务端口相对应。对于在支持无线功能的设备(例如Catalyst 9000系列交换机和C9800系列无线控制器)上启用无线服务,必须使用具有用户权限15的NETCONF。连接到C9800系列无线控制器需要NETCONF凭据,因为大部分数据收集都是使用这些设备的NETCONF完成的。

password

字符串

访问设备的密码以及设备导出期间的文件加密密码。添加网络设备需要此密码。导出设备到csv文件时也需要此密码进行文件加密。

provision_wired_device

列表 / 元素=字典

此参数接受一个字典列表。每个字典都提供有线设备的IP地址以及将对其进行配置的站点名称。

device_ip

字符串

在cisco.dnac 6.12.0中添加

指定有线设备的IP地址。这是一个字符串值,应采用标准IPv4或IPv6地址格式。

resync_retry_count

整数

在cisco.dnac 6.12.0中添加

确定在配置过程中检查设备是否已达到受管状态的总重试次数。如果未指定,则默认值为200次重试。

默认值: 200

resync_retry_interval

整数

在cisco.dnac 6.12.0中添加

设置系统在整个配置过程中重新检查设备状态的时间间隔(以秒为单位)。如果未指定,则系统默认每2秒检查一次设备状态。

默认值: 2

site_name

字符串

指示将配置有线设备的确切位置。这是一个字符串值,应表示站点的完整分层路径(例如,“Global/USA/San Francisco/BGL_18/floor_pnp”)。

reboot_device

布尔值

如果需要重启接入点,将其设置为true。

选项

  • false ← (默认)

  • true

resync_device_count

整数

指定要在清单中重新同步的设备的最大数量。确保此数量不超过200,因为尝试重新同步超过200个设备可能会导致“sync_devices_using_forcesync”API进入无限循环。

默认值: 200

resync_max_timeout

整数

设置清单中设备重新同步过程的最大超时时间(以秒为单位)。默认为600秒,有助于防止无限循环。

默认值: 600

role

字符串

设备的角色,可以是ACCESS、CORE、DISTRIBUTION、BORDER ROUTER、UNKNOWN。ALL - 此角色通常表示网络中的所有设备,无论其具体角色或功能如何。UNKNOWN - 此角色分配给尚未识别或分类其角色或功能的设备。如果平台无法根据可用信息确定设备的角色,则可能会发生这种情况。ACCESS - 此角色通常表示用作最终用户设备连接到网络的接入点的交换机或接入点。这些设备通常位于网络边缘,并为最终用户设备提供连接。BORDER ROUTER - 这些设备将不同的网络域或网段连接在一起。它们通常充当不同网络之间的网关,例如将企业网络连接到互联网或连接多个分支机构。DISTRIBUTION - 此角色表示在分层网络设计中充当分布式交换机或路由器的功能。它们聚合来自接入交换机的流量,并将其路由到网络核心或其他分布式交换机。CORE - 此角色通常表示构成网络主干的高容量交换机或路由器。它们处理大量的流量,并在网络的不同部分之间提供连接,例如连接分布式交换机或在不同的网络段之间提供互连。

serial_numbers

列表 / 元素=字符串

表示设备的序列号列表。可以执行更新、删除、重新同步或重启等操作,作为使用IP地址的替代方案。

snmp_auth_passphrase

字符串

添加网络、计算和第三方设备所需的SNMP身份验证密码。

snmp_auth_protocol

字符串

SNMP身份验证协议。SHA(安全哈希算法) - 常用于数据完整性验证和身份验证目的的密码哈希函数。

默认值: "SHA"

snmp_mode

字符串

设备的SNMP模式是指不同的SNMP(简单网络管理协议)版本及其对应的安全级别。NOAUTHNOPRIV - 此模式不为SNMP消息提供身份验证或加密。这意味着使用SNMPv1进行通信的设备不需要任何身份验证(用户名/密码)或加密(数据机密性)。这使其成为安全性最低的选择。AUTHNOPRIV - 此模式为SNMP消息提供身份验证,但不提供加密。身份验证涉及使用社区字符串(类似于密码)验证SNMP消息的来源。但是,设备之间传输的数据未加密,因此容易受到窃听。AUTHPRIV - 此模式为SNMP消息提供身份验证和加密。它在这三个选项中提供了最高级别的安全性。身份验证确保消息的来源是真实的,加密确保设备之间交换的数据是机密的,并且无法被未经授权的方拦截。

snmp_priv_passphrase

字符串

添加网络、计算和第三方设备所需的SNMP私钥密码。

snmp_priv_protocol

字符串

添加网络、计算和第三方设备所需的SNMP私有协议。

snmp_retry

整数

SNMP重试次数。

默认值: 3

snmp_ro_community

字符串

添加V2C设备所需的SNMP只读社区。

snmp_rw_community

字符串

添加V2C设备所需的SNMP读写社区。

snmp_timeout

整数

SNMP超时持续时间。

默认值: 5

snmp_username

字符串

添加网络、计算和第三方设备所需的SNMP用户名。

snmp_version

字符串

这是一个用于管理和监控网络设备的标准协议。v2 - 在此SNMP管理器(例如Cisco Catalyst)和被管理设备(例如路由器、交换机或接入点)之间的通信基于社区字符串。社区字符串作为身份验证的一种形式,它们以明文形式传输,不提供加密。v3 - 这是SNMP最安全的版本,提供身份验证、完整性和加密功能。它允许使用用户名、身份验证密码和加密密钥,与v2相比提供更强的安全性。

type

字符串

从NETWORK_DEVICE、COMPUTE_DEVICE、MERAKI_DASHBOARD、THIRD_PARTY_DEVICE、FIREPOWER_MANAGEMENT_SYSTEM中选择设备类型。NETWORK_DEVICE - 指的是传统的网络设备,例如路由器、交换机、接入点和防火墙。这些设备负责网络内的路由、交换和提供连接。COMPUTE_DEVICE - 这些是网络基础设施的一部分的计算资源,例如服务器、虚拟机或容器。Cisco Catalyst Center可以与计算设备集成,以提供可见性和管理功能,确保网络和计算资源无缝协同工作以支持应用程序和服务。MERAKI_DASHBOARD - 这是一个基于云的平台,用于管理Meraki网络设备,包括无线接入点、交换机、安全设备和摄像机。THIRD_PARTY_DEVICE - 此类别包含来自思科或Meraki以外的供应商的设备。Cisco Catalyst Center旨在通过开放标准和API支持与第三方设备的集成。这允许组织使用Cisco Catalyst Center的集中式管理和自动化功能有效地管理异构网络环境。FIREPOWER_MANAGEMENT_SYSTEM - 这是一个集中式管理控制台,用于管理思科的Firepower下一代防火墙(NGFW)设备。它提供诸如策略管理、威胁检测和高级安全分析等功能。

默认值: "NETWORK_DEVICE"

update_interface_details

字典

此操作将接受字典作为参数,我们在此提供更新设备接口详细信息的详细信息。

admin_status

字符串

设备接口的状态,可以是(UP/DOWN)。

clear_mac_address_table

布尔值

如果需要清除特定设备接口的MAC地址表,请将其设置为true。它是一个布尔类型,默认值为False。

选项

  • false ← (默认)

  • true

deployment_mode

字符串

预览/部署[预览表示配置未推送到设备。部署将配置推送到设备]

默认值: "Deploy"

description

字符串

指定设备接口的描述。

interface_name

列表 / 元素=字符串

指定要更新设备接口详细信息的接口名称列表。(例如,GigabitEthernet1/0/11、FortyGigabitEthernet1/1/2)

vlan_id

整数

分配给网络中VLAN的唯一ID号,仅在更新接口详细信息时使用。

voice_vlan_id

整数

用于区分专门用于语音流量的特定VLAN的标识符,仅在更新接口详细信息时使用。

update_mgmt_ipaddresslist

列表 / 元素=字典

网络设备的更新管理IP地址列表。

exist_mgmt_ipaddress

字符串

设备现有的管理IP地址。

new_mgmt_ipaddress

字符串

设备新的管理IP地址。

username

字符串

访问设备的用户名。添加网络设备需要此用户名。

config_verify

布尔值

设置为 True 以在应用 playbook 配置后验证 Cisco Catalyst Center 配置。

选项

  • false ← (默认)

  • true

dnac_api_task_timeout

整数

定义用于检索任务详细信息的 API 调用的超时时间(秒)。如果在此期间内未收到任务详细信息,则进程将结束,并会记录超时通知。

默认值: 1200

dnac_debug

布尔值

用于启用 Cisco DNA Center SDK 调试的标志。

选项

  • false ← (默认)

  • true

dnac_host

字符串 / 必需

Cisco DNA Center 主机名。

dnac_log

布尔值

启用/禁用 playbook 执行日志记录的标志。

当为 True 且提供 dnac_log_file_path 时,- 在执行位置创建具有指定名称的日志文件。

当为 True 且未提供 dnac_log_file_path 时,- 在执行位置创建名为“dnac.log”的日志文件。

当为 False 时,- 日志记录被禁用。

如果日志文件不存在,- 将根据“dnac_log_append”标志以追加或写入模式创建它。

如果日志文件存在,- 将根据“dnac_log_append”标志覆盖或追加它。

选项

  • false ← (默认)

  • true

dnac_log_append

布尔值

确定文件的模式。设置为 True 表示“追加”模式。设置为 False 表示“写入”模式。

选项

  • false

  • true ← (默认)

dnac_log_file_path

字符串

控制日志记录。如果 dnac_log 为 True,则记录日志。

如果未指定路径,- 当“dnac_log_append”为 True 时,在当前 Ansible 目录中生成“dnac.log”;日志将被追加。- 当“dnac_log_append”为 False 时,生成“dnac.log”;日志将被覆盖。

如果指定了路径,- 当“dnac_log_append”为 True 时,文件将以追加模式打开。- 当“dnac_log_append”为 False 时,文件将以写入 (w) 模式打开。- 在共享文件场景中,如果没有追加模式,则每次模块执行后内容将被覆盖。- 对于共享日志文件,将第一个模块的追加设置为 False(以覆盖);对于后续模块,将追加设置为 True。

默认值: "dnac.log"

dnac_log_level

字符串

设置日志级别的阈值。级别等于或高于此级别的消息将被记录。级别按严重性顺序排列 [CRITICAL、ERROR、WARNING、INFO、DEBUG]。

CRITICAL 表示会停止程序的严重错误。仅显示 CRITICAL 消息。

ERROR 表示阻止功能出现的问题。显示 ERROR 和 CRITICAL 消息。

WARNING 表示潜在的未来问题。显示 WARNING、ERROR、CRITICAL 消息。

INFO 跟踪正常操作。显示 INFO、WARNING、ERROR、CRITICAL 消息。

DEBUG 提供详细的诊断信息。显示所有日志消息。

默认值: "WARNING"

dnac_password

字符串

用于身份验证的 Cisco DNA Center 密码。

dnac_port

字符串

Cisco DNA Center 端口。

默认值: "443"

dnac_task_poll_interval

整数

指定连续调用 API 以检索任务详细信息之间的间隔(秒)。

默认值: 2

dnac_username

别名:user

字符串

用于身份验证的 Cisco DNA Center 用户名。

默认值: "admin"

dnac_verify

布尔值

启用或禁用 SSL 证书验证的标志。

选项

  • false

  • true ← (默认)

dnac_version

字符串

告知 SDK 使用哪个版本的 Cisco DNA Center。

默认值: "2.2.3.3"

state

字符串

模块完成后的 Cisco Catalyst Center 状态。

选项

  • "merged" ← (默认)

  • "deleted"

validate_response_schema

布尔值

用于启用 Cisco DNA Center SDK 对请求主体根据 JSON 模式进行验证的标志。

选项

  • false

  • true ← (默认)

注释

注意

  • 使用的 SDK 方法为 devices.Devices.add_device、devices.Devices.delete_device_by_id、devices.Devices.sync_devices,

  • 使用的路径为 post /dna/intent/api/v1/network-device、delete /dna/intent/api/v1/network-device/{id}、put /dna/intent/api/v1/network-device,

  • 在 v4.3.0 中删除了“managementIpAddress”选项。

  • 在 v6.12.0 中将参数“ip_address”重命名为“ip_address_list”选项。

  • 在 v6.12.0 中删除了“serial_number”、“device_added”、“role_source”选项。

  • 在 v6.13.1 中添加了“add_user_defined_field”、“update_interface_details”、“export_device_list”选项。

  • 在 v6.13.1 中删除了“provision_wireless_device”、“reprovision_wired_device”选项。

  • 在 v6.13.1 中添加了参数“admin_status”选项。

  • 在 v6.13.1 中删除了“device_updated”选项。

  • 不支持 check_mode

  • 插件在控制节点上运行,不使用任何 Ansible 连接插件,而是使用来自 Cisco DNAC SDK 的嵌入式连接管理器。

  • 以 dnac_ 开头的参数由 Cisco DNAC Python SDK 用于建立连接。

另请参见

另请参见

Cisco Catalyst Center 设备 AddDevice2 文档

AddDevice2 API 的完整参考。

Cisco Catalyst Center 设备 DeleteDeviceById 文档

DeleteDeviceById API 的完整参考。

Cisco Catalyst Center 设备 SyncDevices2 文档

SyncDevices2 API 的完整参考。

示例

- name: Add new device in Inventory with full credentials
  cisco.dnac.inventory_intent:
    dnac_host: "{{dnac_host}}"
    dnac_username: "{{dnac_username}}"
    dnac_password: "{{dnac_password}}"
    dnac_verify: "{{dnac_verify}}"
    dnac_port: "{{dnac_port}}"
    dnac_version: "{{dnac_version}}"
    dnac_debug: "{{dnac_debug}}"
    dnac_log_level: "{{dnac_log_level}}"
    dnac_log: False
    state: merged
    config:
      - cli_transport: ssh
        compute_device: False
        password: Test@123
        enable_password: Test@1234
        extended_discovery_info: test
        http_username: "testuser"
        http_password: "test"
        http_port: "443"
        http_secure: False
        ip_address_list: ["1.1.1.1", "2.2.2.2"]
        netconf_port: 830
        snmp_auth_passphrase: "Lablab@12"
        snmp_auth_protocol: SHA
        snmp_mode: AUTHPRIV
        snmp_priv_passphrase: "Lablab@123"
        snmp_priv_protocol: AES256
        snmp_retry: 3
        snmp_timeout: 5
        snmp_username: v3Public
        snmp_version: v3
        type: NETWORK_DEVICE
        username: cisco

- name: Add new Compute device in Inventory with full credentials.Inputs needed for Compute Device
  cisco.dnac.inventory_intent:
    dnac_host: "{{dnac_host}}"
    dnac_username: "{{dnac_username}}"
    dnac_password: "{{dnac_password}}"
    dnac_verify: "{{dnac_verify}}"
    dnac_port: "{{dnac_port}}"
    dnac_version: "{{dnac_version}}"
    dnac_debug: "{{dnac_debug}}"
    dnac_log_level: "{{dnac_log_level}}"
    dnac_log: False
    state: merged
    config:
      - ip_address_list: ["1.1.1.1", "2.2.2.2"]
        http_username: "testuser"
        http_password: "test"
        http_port: "443"
        snmp_auth_passphrase: "Lablab@12"
        snmp_auth_protocol: SHA
        snmp_mode: AUTHPRIV
        snmp_priv_passphrase: "Lablab@123"
        snmp_priv_protocol: AES256
        snmp_retry:  3
        snmp_timeout: 5
        snmp_username: v3Public
        compute_device: True
        username: cisco
        type: "COMPUTE_DEVICE"

- name: Add new Meraki device in Inventory with full credentials.Inputs needed for Meraki Device.
  cisco.dnac.inventory_intent:
    dnac_host: "{{dnac_host}}"
    dnac_username: "{{dnac_username}}"
    dnac_password: "{{dnac_password}}"
    dnac_verify: "{{dnac_verify}}"
    dnac_port: "{{dnac_port}}"
    dnac_version: "{{dnac_version}}"
    dnac_debug: "{{dnac_debug}}"
    dnac_log_level: "{{dnac_log_level}}"
    dnac_log: False
    state: merged
    config:
      - http_password: "test"
        type: "MERAKI_DASHBOARD"

- name: Add new Firepower Management device in Inventory with full credentials.Input needed to add Device.
  cisco.dnac.inventory_intent:
    dnac_host: "{{dnac_host}}"
    dnac_username: "{{dnac_username}}"
    dnac_password: "{{dnac_password}}"
    dnac_verify: "{{dnac_verify}}"
    dnac_port: "{{dnac_port}}"
    dnac_version: "{{dnac_version}}"
    dnac_debug: "{{dnac_debug}}"
    dnac_log_level: "{{dnac_log_level}}"
    dnac_log: False
    state: merged
    config:
      - ip_address_list: ["1.1.1.1", "2.2.2.2"]
        http_username: "testuser"
        http_password: "test"
        http_port: "443"
        type: "FIREPOWER_MANAGEMENT_SYSTEM"

- name: Add new Third Party device in Inventory with full credentials.Input needed to add Device.
  cisco.dnac.inventory_intent:
    dnac_host: "{{dnac_host}}"
    dnac_username: "{{dnac_username}}"
    dnac_password: "{{dnac_password}}"
    dnac_verify: "{{dnac_verify}}"
    dnac_port: "{{dnac_port}}"
    dnac_version: "{{dnac_version}}"
    dnac_debug: "{{dnac_debug}}"
    dnac_log_level: "{{dnac_log_level}}"
    dnac_log: False
    state: merged
    config:
      - ip_address_list: ["1.1.1.1", "2.2.2.2"]
        snmp_auth_passphrase: "Lablab@12"
        snmp_auth_protocol: SHA
        snmp_mode: AUTHPRIV
        snmp_priv_passphrase: "Lablab@123"
        snmp_priv_protocol: AES256
        snmp_retry:  3
        snmp_timeout: 5
        snmp_username: v3Public
        type: "THIRD_PARTY_DEVICE"

- name: Update device details or credentails in Inventory
  cisco.dnac.inventory_intent:
    dnac_host: "{{dnac_host}}"
    dnac_username: "{{dnac_username}}"
    dnac_password: "{{dnac_password}}"
    dnac_verify: "{{dnac_verify}}"
    dnac_port: "{{dnac_port}}"
    dnac_version: "{{dnac_version}}"
    dnac_debug: "{{dnac_debug}}"
    dnac_log_level: "{{dnac_log_level}}"
    dnac_log: False
    state: merged
    config:
      - cli_transport: telnet
        compute_device: False
        password: newtest123
        enable_password: newtest1233
        ip_address_list: ["1.1.1.1", "2.2.2.2"]
        type: NETWORK_DEVICE
        credential_update: True

- name: Update new management IP address of device in inventory
  cisco.dnac.inventory_intent:
    dnac_host: "{{dnac_host}}"
    dnac_username: "{{dnac_username}}"
    dnac_password: "{{dnac_password}}"
    dnac_verify: "{{dnac_verify}}"
    dnac_port: "{{dnac_port}}"
    dnac_version: "{{dnac_version}}"
    dnac_debug: "{{dnac_debug}}"
    dnac_log_level: "{{dnac_log_level}}"
    dnac_log: False
    state: merged
    config:
      - ip_address_list: ["1.1.1.1"]
        credential_update: True
        update_mgmt_ipaddresslist:
        - exist_mgmt_ipaddress: "1.1.1.1"
          new_mgmt_ipaddress: "12.12.12.12"

- name: Associate Wired Devices to site and Provisioned it in Inventory
  cisco.dnac.inventory_intent:
    dnac_host: "{{dnac_host}}"
    dnac_username: "{{dnac_username}}"
    dnac_password: "{{dnac_password}}"
    dnac_verify: "{{dnac_verify}}"
    dnac_port: "{{dnac_port}}"
    dnac_version: "{{dnac_version}}"
    dnac_debug: "{{dnac_debug}}"
    dnac_log_level: "{{dnac_log_level}}"
    dnac_log: False
    state: merged
    config:
      - provision_wired_device:
        - device_ip: "1.1.1.1"
          site_name: "Global/USA/San Francisco/BGL_18/floor_pnp"
          resync_retry_count: 200
          resync_retry_interval: 2
        - device_ip: "2.2.2.2"
          site_name: "Global/USA/San Francisco/BGL_18/floor_test"
          resync_retry_count: 200
          resync_retry_interval: 2

- name: Update Device Role with IP Address
  cisco.dnac.inventory_intent:
    dnac_host: "{{dnac_host}}"
    dnac_username: "{{dnac_username}}"
    dnac_password: "{{dnac_password}}"
    dnac_verify: "{{dnac_verify}}"
    dnac_port: "{{dnac_port}}"
    dnac_version: "{{dnac_version}}"
    dnac_debug: "{{dnac_debug}}"
    dnac_log_level: "{{dnac_log_level}}"
    dnac_log: False
    state: merged
    config:
      - ip_address_list: ["1.1.1.1", "2.2.2.2"]
        role: ACCESS

- name: Update Interface details with IP Address
  cisco.dnac.inventory_intent:
    dnac_host: "{{dnac_host}}"
    dnac_username: "{{dnac_username}}"
    dnac_password: "{{dnac_password}}"
    dnac_verify: "{{dnac_verify}}"
    dnac_port: "{{dnac_port}}"
    dnac_version: "{{dnac_version}}"
    dnac_debug: "{{dnac_debug}}"
    dnac_log_level: "{{dnac_log_level}}"
    dnac_log: False
    state: merged
    config:
      - ip_address_list: ["1.1.1.1", "2.2.2.2"]
        update_interface_details:
          description: "Testing for updating interface details"
          admin_status: "UP"
          vlan_id: 23
          voice_vlan_id: 45
          deployment_mode: "Deploy"
          interface_name: ["GigabitEthernet1/0/11", FortyGigabitEthernet1/1/1]
          clear_mac_address_table: True

- name: Export Device Details in a CSV file Interface details with IP Address
  cisco.dnac.inventory_intent:
    dnac_host: "{{dnac_host}}"
    dnac_username: "{{dnac_username}}"
    dnac_password: "{{dnac_password}}"
    dnac_verify: "{{dnac_verify}}"
    dnac_port: "{{dnac_port}}"
    dnac_version: "{{dnac_version}}"
    dnac_debug: "{{dnac_debug}}"
    dnac_log_level: "{{dnac_log_level}}"
    dnac_log: False
    state: merged
    config:
      - ip_address_list: ["1.1.1.1", "2.2.2.2"]
        export_device_list:
          password: "File_password"
          operation_enum: "0"
          parameters: ["componentName", "SerialNumber", "Last Sync Status"]

- name: Create Global User Defined with IP Address
  cisco.dnac.inventory_intent:
    dnac_host: "{{dnac_host}}"
    dnac_username: "{{dnac_username}}"
    dnac_password: "{{dnac_password}}"
    dnac_verify: "{{dnac_verify}}"
    dnac_port: "{{dnac_port}}"
    dnac_version: "{{dnac_version}}"
    dnac_debug: "{{dnac_debug}}"
    dnac_log_level: "{{dnac_log_level}}"
    dnac_log: False
    state: merged
    config:
      - ip_address_list: ["1.1.1.1", "2.2.2.2"]
        add_user_defined_field:
        - name: Test123
          description: "Added first udf for testing"
          value: "value123"
        - name: Test321
          description: "Added second udf for testing"
          value: "value321"

- name: Resync Device with IP Addresses
  cisco.dnac.inventory_intent:
    dnac_host: "{{dnac_host}}"
    dnac_username: "{{dnac_username}}"
    dnac_password: "{{dnac_password}}"
    dnac_verify: "{{dnac_verify}}"
    dnac_port: "{{dnac_port}}"
    dnac_version: "{{dnac_version}}"
    dnac_debug: "{{dnac_debug}}"
    dnac_log_level: "{{dnac_log_level}}"
    dnac_log: False
    state: merged
    config:
      - ip_address_list: ["1.1.1.1", "2.2.2.2"]
        device_resync: True
        force_sync: False

- name: Reboot AP Devices with IP Addresses
  cisco.dnac.inventory_intent:
    dnac_host: "{{dnac_host}}"
    dnac_username: "{{dnac_username}}"
    dnac_password: "{{dnac_password}}"
    dnac_verify: "{{dnac_verify}}"
    dnac_port: "{{dnac_port}}"
    dnac_version: "{{dnac_version}}"
    dnac_debug: "{{dnac_debug}}"
    dnac_log_level: "{{dnac_log_level}}"
    dnac_log: False
    state: merged
    config:
      - ip_address_list: ["1.1.1.1", "2.2.2.2"]
        reboot_device: True

- name: Delete Provision/Unprovision Devices by IP Address
  cisco.dnac.inventory_intent:
    dnac_host: "{{dnac_host}}"
    dnac_username: "{{dnac_username}}"
    dnac_password: "{{dnac_password}}"
    dnac_verify: "{{dnac_verify}}"
    dnac_port: "{{dnac_port}}"
    dnac_version: "{{dnac_version}}"
    dnac_debug: "{{dnac_debug}}"
    dnac_log: False
    dnac_log_level: "{{dnac_log_level}}"
    state: deleted
    config:
      - ip_address_list: ["1.1.1.1", "2.2.2.2"]
        clean_config: False

- name: Delete Global User Defined Field with name
  cisco.dnac.inventory_intent:
    dnac_host: "{{dnac_host}}"
    dnac_username: "{{dnac_username}}"
    dnac_password: "{{dnac_password}}"
    dnac_verify: "{{dnac_verify}}"
    dnac_port: "{{dnac_port}}"
    dnac_version: "{{dnac_version}}"
    dnac_debug: "{{dnac_debug}}"
    dnac_log_level: "{{dnac_log_level}}"
    dnac_log: False
    state: deleted
    config:
    - ip_address_list: ["1.1.1.1", "2.2.2.2"]
      add_user_defined_field:
        - name: Test123
        - name: Test321

返回值

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

描述

dnac_response

字典

包含 Cisco Catalyst Center Python SDK 返回的响应的字典或列表。

返回:始终

示例: {"response": {"taskId": "string", "url": "string"}, "version": "string"}

作者

  • Abhishek Maheshwari (@abmahesh) Madhan Sankaranarayanan (@madhansansel)