cisco.dnac.network_device module – Resource module for Network Device

Note

This module is part of the cisco.dnac collection (version 6.22.0).

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. You need further requirements to be able to use this module, see Requirements for details.

To use it in a playbook, specify: cisco.dnac.network_device.

New in cisco.dnac 3.1.0

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.

  • Update the credentials, management IP address of a given device or a set of devices in Catalyst Center and trigger an inventory sync.

Note

This module has a corresponding action plugin.

Requirements

The below requirements are needed on the host that executes this module.

  • dnacentersdk >= 2.7.2

  • python >= 3.5

Parameters

Parameter

Comments

cleanConfig

boolean

added in cisco.dnac 4.0.0

CleanConfig query parameter.

Choices:

  • false

  • true

cliTransport

string

CLI transport. Supported values telnet, ssh2.

computeDevice

boolean

Compute Device or not. Options are TRUE / FALSE.

Choices:

  • false

  • true

dnac_debug

boolean

Flag for Cisco DNA Center SDK to enable debugging.

Choices:

  • false ← (default)

  • true

dnac_host

string / required

The Cisco DNA Center hostname.

dnac_password

string

The Cisco DNA Center password to authenticate.

dnac_port

integer

The Cisco DNA Center port.

Default: 443

dnac_username

aliases: user

string

The Cisco DNA Center username to authenticate.

Default: "admin"

dnac_verify

boolean

Flag to enable or disable SSL certificate verification.

Choices:

  • false

  • true ← (default)

dnac_version

string

Informs the SDK which version of Cisco DNA Center to use.

Default: "2.3.7.6"

enablePassword

string

CLI enable password of the device.

extendedDiscoveryInfo

string

This field holds that info as whether to add device with canned data or not. Supported values DISCOVER_WITH_CANNED_DATA.

httpPassword

string

HTTP password of the device.

httpPort

string

HTTP port of the device.

httpSecure

boolean

Flag to select HTTP / HTTPS protocol. Options are TRUE / FALSE. TRUE for HTTPS and FALSE for HTTP.

Choices:

  • false

  • true

httpUserName

string

HTTP Username of the device.

id

string

Id path parameter. Device ID.

ipAddress

list / elements=string

IP Address of the device.

merakiOrgId

list / elements=string

Selected meraki organization for which the devices needs to be imported.

netconfPort

string

Netconf Port of the device.

password

string

CLI Password of the device.

serialNumber

string

Serial Number of the Device.

snmpAuthPassphrase

string

SNMPV3 auth passphrase of the device.

snmpAuthProtocol

string

SNMPV3 auth protocol. Supported values sha, md5.

snmpMode

string

SNMPV3 mode. Supported values noAuthnoPriv, authNoPriv, authPriv.

snmpPrivPassphrase

string

SNMPV3 priv passphrase.

snmpPrivProtocol

string

SNMPV3 priv protocol. Supported values AES128.

snmpRetry

integer

SNMP retry count. Max value supported is 3. Default is Global SNMP retry (if exists) or 3.

snmpROCommunity

string

SNMP Read Community of the device.

snmpRWCommunity

string

SNMP Write Community of the device.

snmpTimeout

integer

SNMP timeout in seconds. Max value supported is 300. Default is Global SNMP timeout (if exists) or 5.

snmpUserName

string

SNMPV3 user name of the device.

snmpVersion

string

SNMP version. Values supported v2, v3. Default is v2.

type

string

Type of device being added.

updateMgmtIPaddressList

list / elements=dictionary

Network Device’s updateMgmtIPaddressList.

existMgmtIpAddress

string

ExistMgmtIpAddress IP Address of the device.

newMgmtIpAddress

string

New IP Address to be Updated.

userName

string

CLI user name of the device.

validate_response_schema

boolean

Flag for Cisco DNA Center SDK to enable the validation of request bodies against a JSON schema.

Choices:

  • false

  • true ← (default)

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

See Also

See also

Cisco DNA Center documentation for Devices AddDevice2

Complete reference of the AddDevice2 API.

Cisco DNA Center documentation for Devices DeleteDeviceById

Complete reference of the DeleteDeviceById API.

Cisco DNA Center documentation for Devices UpdateDeviceDetails

Complete reference of the UpdateDeviceDetails API.

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
    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

Return Values

Common return values are documented here, the following are the fields unique to this module:

Key

Description

dnac_response

dictionary

A dictionary or list with the response returned by the Cisco DNAC Python SDK

Returned: always

Sample: {"response": {"taskId": "string", "url": "string"}, "version": "string"}

Authors

  • Rafael Campos (@racampos)