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

注意

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

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

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

要在 playbook 中使用它,请指定:cisco.dnac.network_device

cisco.dnac 3.1.0 中的新增功能

概要

  • 此模块代表模块 network_device_v1 的别名

注意

此模块具有相应的 action 插件

要求

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

  • dnacentersdk >= 2.4.9

  • python >= 3.5

参数

参数

注释

cleanConfig

布尔值

在 cisco.dnac 4.0.0 中添加

CleanConfig 查询参数。选择清理配置选项将尝试删除在将设备添加到清单和站点分配期间配置的设备设置。请注意,此操作与取消预配不同。它不会删除在设备预配期间推送的配置。

选项

  • false

  • true

cliTransport

字符串

CLI 传输。支持的值 telnet、ssh。如果类型为 NETWORK_DEVICE,则需要。

computeDevice

布尔值

是否为计算设备。选项为 true/false。

选项

  • false

  • true

dnac_debug

布尔值

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

选项

  • false ← (默认)

  • true

dnac_host

字符串 / 必填

Cisco DNA Center 主机名。

dnac_password

字符串

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

dnac_port

整数

Cisco DNA Center 端口。

默认值: 443

dnac_username

别名:user

字符串

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

默认值: "admin"

dnac_verify

布尔值

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

选项

  • false

  • true ← (默认)

dnac_version

字符串

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

默认值: "2.3.7.6"

enablePassword

字符串

设备的 CLI enable 密码。如果设备配置为使用 enable 密码,则需要。

extendedDiscoveryInfo

字符串

此字段包含是否使用预设数据添加设备的信息。支持的值 DISCOVER_WITH_CANNED_DATA。

httpPassword

字符串

设备的 HTTP 密码/Meraki 仪表板的 API 密钥。如果类型为 MERAKI_DASHBOARD 或 COMPUTE_DEVICE,则需要。

httpPort

字符串

设备的 HTTP 端口。如果类型为 COMPUTE_DEVICE,则需要。

httpSecure

布尔值

选择 HTTP/HTTPS 协议的标志。选项为 true/false。true 表示 HTTPS,false 表示 HTTP。默认为 true。

选项

  • false

  • true

httpUserName

字符串

设备的 HTTP 用户名。如果类型为 COMPUTE_DEVICE,则需要。

id

字符串

Id 路径参数。设备 ID。

ipAddress

列表 / 元素=字符串

设备的 IP 地址。如果类型为 NETWORK_DEVICE、COMPUTE_DEVICE 或 THIRD_PARTY_DEVICE,则需要。

merakiOrgId

列表 / 元素=字符串

为其需要导入设备的所选 Meraki 组织。如果类型为 MERAKI_DASHBOARD,则需要。

netconfPort

字符串

设备的 Netconf 端口。如果提供 netconf,则 CliTransport 必须为“ssh”。

password

字符串

设备的 CLI 密码。如果类型为 NETWORK_DEVICE,则需要。

serialNumber

字符串

设备的序列号。如果 extendedDiscoveryInfo 为“DISCOVER_WITH_CANNED_DATA”,则需要。

snmpAuthPassphrase

字符串

设备的 SNMPv3 身份验证密码。如果 snmpMode 为 authNoPriv 或 authPriv,则需要。

snmpAuthProtocol

字符串

SNMPv3 身份验证协议。支持的值 sha、md5。如果 snmpMode 为 authNoPriv 或 authPriv,则需要。

snmpMode

字符串

SNMPv3 模式。支持的值 noAuthnoPriv、authNoPriv、authPriv。如果 snmpVersion 为 v3,则需要。

snmpPrivPassphrase

字符串

SNMPv3 私钥密码。如果 snmpMode 为 authPriv,则需要。

snmpPrivProtocol

字符串

SNMPv3 私钥协议。支持的值 AES128。如果 snmpMode 为 authPriv,则需要。

snmpRetry

整数

SNMP 重试次数。支持的最大值为 3。默认为全局 SNMP 重试(如果存在)或 3。

snmpROCommunity

字符串

设备的 SNMP 只读社区。如果 snmpVersion 为 v2,则至少需要 snmpROCommunity 和 snmpRWCommunity 之一。

snmpRWCommunity

字符串

设备的 SNMP 读写社区。如果 snmpVersion 为 v2,则至少需要 snmpROCommunity 和 snmpRWCommunity 之一。

snmpTimeout

整数

SNMP 超时时间(秒)。支持的最大值为 300。默认为全局 SNMP 超时(如果存在)或 5。

snmpUserName

字符串

设备的 SNMPV3 用户名。如果 snmpVersion 为 v3,则需要。

snmpVersion

字符串

SNMP 版本。支持的值 v2、v3。如果类型为 NETWORK_DEVICE、COMPUTE_DEVICE 或 THIRD_PARTY_DEVICE,则需要。

type

字符串

正在添加的设备类型。默认为 NETWORK_DEVICE。

updateMgmtIPaddressList

列表 / 元素=字典

网络设备的 updateMgmtIPaddressList。

existMgmtIpAddress

字符串

设备的 ExistMgmtIpAddress IP 地址。

newMgmtIpAddress

字符串

要更新的新 IP 地址。

userName

字符串

设备的 CLI 用户名。如果类型为 NETWORK_DEVICE,则需要。

validate_response_schema

布尔值

用于 Cisco DNA Center SDK 的标志,用于启用针对 JSON 模式验证请求正文。

选项

  • false

  • true ← (默认)

备注

注意

  • 使用的 SDK 方法是 devices.Devices.add_device、devices.Devices.delete_device_by_id_v1、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,

  • 需要注意的是,此模块是 network_device_v1 的别名

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

  • 不支持 check_mode

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

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

参见

另请参见

Cisco DNA Center 设备文档,关于 `AddDeviceKnowYourNetworkV1`

`AddDeviceKnowYourNetworkV1` API 的完整参考。

Cisco DNA Center 设备文档,关于 `DeleteDeviceByIdV1`

`DeleteDeviceByIdV1` API 的完整参考。

Cisco DNA Center 设备文档,关于 `UpdateDeviceDetailsV1`

`UpdateDeviceDetailsV1` API 的完整参考。

示例

- name: Create
  cisco.dnac.network_device:
    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}}"
    state: present
    cliTransport: string
    computeDevice: true
    enablePassword: string
    extendedDiscoveryInfo: string
    httpPassword: string
    httpPort: string
    httpSecure: true
    httpUserName: string
    ipAddress:
    - string
    merakiOrgId:
    - string
    netconfPort: string
    password: string
    serialNumber: string
    snmpAuthPassphrase: string
    snmpAuthProtocol: string
    snmpMode: string
    snmpPrivPassphrase: string
    snmpPrivProtocol: string
    snmpROCommunity: string
    snmpRWCommunity: string
    snmpRetry: 0
    snmpTimeout: 0
    snmpUserName: string
    snmpVersion: string
    type: string
    userName: string

- name: Update all
  cisco.dnac.network_device:
    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}}"
    state: present
    cliTransport: string
    computeDevice: true
    enablePassword: string
    extendedDiscoveryInfo: string
    httpPassword: string
    httpPort: string
    httpSecure: true
    httpUserName: string
    ipAddress:
    - string
    merakiOrgId:
    - string
    netconfPort: string
    password: string
    serialNumber: string
    snmpAuthPassphrase: string
    snmpAuthProtocol: string
    snmpMode: string
    snmpPrivPassphrase: string
    snmpPrivProtocol: string
    snmpROCommunity: string
    snmpRWCommunity: string
    snmpRetry: 0
    snmpTimeout: 0
    snmpUserName: string
    snmpVersion: string
    type: string
    updateMgmtIPaddressList:
    - existMgmtIpAddress: string
      newMgmtIpAddress: string
    userName: string

- name: Delete by id
  cisco.dnac.network_device:
    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}}"
    state: absent
    cleanConfig: true
    id: string

返回值

常见的返回值已在 此处 文档中说明,以下是此模块独有的字段:

描述

dnac_response

字典

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

返回:始终返回

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

作者

  • Rafael Campos (@racampos)