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

Note

This module is part of the cisco.dnac collection (version 6.27.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

  • This module represents an alias of the module network_device_v1

Note

This module has a corresponding action plugin.

Requirements

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

  • dnacentersdk >= 2.4.9

  • python >= 3.5

Parameters

Parameter

Comments

cleanConfig

boolean

added in cisco.dnac 4.0.0

CleanConfig query parameter. Selecting the clean up configuration option will attempt to remove device settings that were configured during the addition of the device to the inventory and site assignment. Please note that this operation is different from deprovisioning. It does not remove configurations that were pushed during device provisioning.

Choices:

  • false

  • true

cliTransport

string

CLI transport. Supported values telnet, ssh. Required if type is NETWORK_DEVICE.

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. Required if device is configured to use enable password.

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 / API key for Meraki Dashboard. Required if type is MERAKI_DASHBOARD or COMPUTE_DEVICE.

httpPort

string

HTTP port of the device. Required if type is COMPUTE_DEVICE.

httpSecure

boolean

Flag to select HTTP / HTTPS protocol. Options are true / false. True for HTTPS and false for HTTP. Default is true.

Choices:

  • false

  • true

httpUserName

string

HTTP Username of the device. Required if type is COMPUTE_DEVICE.

id

string

Id path parameter. Device ID.

ipAddress

list / elements=string

IP Address of the device. Required if type is NETWORK_DEVICE, COMPUTE_DEVICE or THIRD_PARTY_DEVICE.

merakiOrgId

list / elements=string

Selected Meraki organization for which the devices needs to be imported. Required if type is MERAKI_DASHBOARD.

netconfPort

string

Netconf Port of the device. CliTransport must be ‘ssh’ if netconf is provided. Netconf port is required for eWLC.

password

string

CLI Password of the device. Required if type is NETWORK_DEVICE.

serialNumber

string

Serial Number of the Device. Required if extendedDiscoveryInfo is ‘DISCOVER_WITH_CANNED_DATA’.

snmpAuthPassphrase

string

SNMPv3 auth passphrase of the device. Required if snmpMode is authNoPriv or authPriv.

snmpAuthProtocol

string

SNMPv3 auth protocol. Supported values sha, md5. Required if snmpMode is authNoPriv or authPriv.

snmpMode

string

SNMPv3 mode. Supported values noAuthnoPriv, authNoPriv, authPriv. Required if snmpVersion is v3.

snmpPrivPassphrase

string

SNMPv3 priv passphrase. Required if snmpMode is authPriv.

snmpPrivProtocol

string

SNMPv3 priv protocol. Supported values AES128. Required if snmpMode is authPriv.

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. If snmpVersion is v2, at least one of snmpROCommunity and snmpRWCommunity is required.

snmpRWCommunity

string

SNMP Write Community of the device. If snmpVersion is v2, at least one of snmpROCommunity and snmpRWCommunity is required.

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. Required if snmpVersion is v3.

snmpVersion

string

SNMP version. Values supported v2, v3. Required if type is NETWORK_DEVICE, COMPUTE_DEVICE or THIRD_PARTY_DEVICE.

type

string

Type of device being added. Default is NETWORK_DEVICE.

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. Required if type is NETWORK_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_v1, 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,

  • It should be noted that this module is an alias of network_device_v1

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

Complete reference of the AddDeviceKnowYourNetworkV1 API.

Cisco DNA Center documentation for Devices DeleteDeviceByIdV1

Complete reference of the DeleteDeviceByIdV1 API.

Cisco DNA Center documentation for Devices UpdateDeviceDetailsV1

Complete reference of the UpdateDeviceDetailsV1 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)