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

注意

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

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

要安装它,请使用:ansible-galaxy collection install cisco.dnac。您需要其他要求才能使用此模块,请参阅 要求 以了解详情。

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

cisco.dnac 3.1.0 中的新增功能

概要

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

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

  • 此 API 允许将当前未配置的任何网络设备从清单中移除。重要提示:当前已配置的设备无法删除。要删除已配置的设备,必须先取消配置该设备。

  • 更新给定设备或一组设备的凭据、管理 IP 地址,并在 Catalyst Center 中触发清单同步。

注意

此模块具有相应的 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 Dashboard 的 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。如果type为NETWORK_DEVICE、COMPUTE_DEVICE或THIRD_PARTY_DEVICE,则需要此项。

type

字符串

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

updateMgmtIPaddressList

列表 / 元素=字典

网络设备的updateMgmtIPaddressList。

existMgmtIpAddress

字符串

设备的现有管理IP地址。

newMgmtIpAddress

字符串

要更新的新IP地址。

userName

字符串

设备的CLI用户名。如果type为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,

  • 不支持check_mode

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

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

另请参见

另请参见

Cisco DNA Center文档,关于Devices AddDeviceKnowYourNetworkV1

AddDeviceKnowYourNetworkV1 API的完整参考。

Cisco DNA Center文档,关于Devices DeleteDeviceByIdV1

DeleteDeviceByIdV1 API的完整参考。

Cisco DNA Center文档,关于Devices UpdateDeviceDetailsV1

UpdateDeviceDetailsV1 API的完整参考。

示例

- name: Create
  cisco.dnac.network_device_v1:
    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_v1:
    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_v1:
    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)