cisco.dnac.network_device module – Resource module for Network Device
Note
This module is part of the cisco.dnac collection (version 6.2.1).
You might already have this collection installed if you are using the ansible package.
It is not included in ansible-core.
To check whether it is installed, run ansible-galaxy collection list.
To install it, use: ansible-galaxy collection install cisco.dnac.
To use it in a playbook, specify: cisco.dnac.network_device.
New in version 3.1.0: of cisco.dnac
Synopsis
- Manage operations create, update and delete of the resource Network Device. 
- Adds the device with given credential. 
- Deletes the network device for the given Id. 
- Sync the devices provided as input. 
Note
This module has a corresponding action plugin.
Requirements
The below requirements are needed on the host that executes this module.
- dnacentersdk >= 2.4.8 
- python >= 3.5 
Parameters
| Parameter | Comments | 
|---|---|
| CleanConfig query parameter. Choices: 
 | |
| Network Device’s cliTransport. | |
| ComputeDevice flag. Choices: 
 | |
| Flag for Cisco DNA Center SDK to enable debugging. Choices: 
 | |
| The Cisco DNA Center hostname. | |
| The Cisco DNA Center password to authenticate. | |
| The Cisco DNA Center port. Default: 443 | |
| The Cisco DNA Center username to authenticate. Default: “admin” | |
| Flag to enable or disable SSL certificate verification. Choices: 
 | |
| Informs the SDK which version of Cisco DNA Center to use. Default: “2.2.3.3” | |
| Network Device’s enablePassword. | |
| Network Device’s extendedDiscoveryInfo. | |
| Network Device’s httpPassword. | |
| Network Device’s httpPort. | |
| HttpSecure flag. Choices: 
 | |
| Network Device’s httpUserName. | |
| Network Device’s id. | |
| Network Device’s ipAddress. | |
| Network Device’s merakiOrgId. | |
| Network Device’s netconfPort. | |
| Network Device’s password. | |
| Network Device’s serialNumber. | |
| Network Device’s snmpAuthPassphrase. | |
| Network Device’s snmpAuthProtocol. | |
| Network Device’s snmpMode. | |
| Network Device’s snmpPrivPassphrase. | |
| Network Device’s snmpPrivProtocol. | |
| Network Device’s snmpRetry. | |
| Network Device’s snmpROCommunity. | |
| Network Device’s snmpRWCommunity. | |
| Network Device’s snmpTimeout. | |
| Network Device’s snmpUserName. | |
| Network Device’s snmpVersion. | |
| Network Device’s type. | |
| Network Device’s updateMgmtIPaddressList. | |
| Network Device’s existMgmtIpAddress. | |
| Network Device’s newMgmtIpAddress. | |
| Network Device’s userName. | |
| Flag for Cisco DNA Center SDK to enable the validation of request bodies against a JSON schema. Choices: 
 | 
Notes
Note
- SDK Method used are devices.Devices.add_device, devices.Devices.delete_device_by_id, devices.Devices.sync_devices, 
- Paths used are post /dna/intent/api/v1/network-device, delete /dna/intent/api/v1/network-device/{id}, put /dna/intent/api/v1/network-device, 
- Removed ‘managementIpAddress’ options in v4.3.0. 
- Does not support - check_mode
- The plugin runs on the control node and does not use any ansible connection plugins, but instead the embedded connection manager from Cisco DNAC SDK 
- The parameters starting with dnac_ are used by the Cisco DNAC Python SDK to establish the connection 
Examples
- 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
    updateMgmtIPaddressList:
    - existMgmtIpAddress: string
      newMgmtIpAddress: 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
    id: 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
Return Values
Common return values are documented here, the following are the fields unique to this module:
| Key | Description | 
|---|---|
| A dictionary or list with the response returned by the Cisco DNAC Python SDK Returned: always Sample: “{\n \”response\”: {\n \”taskId\”: \”string\”,\n \”url\”: \”string\”\n },\n \”version\”: \”string\”\n}\n” |