cisco.catalystcenter.network_devices_intent_info module -- Information module for Network Devices Intent

Note

This module is part of the cisco.catalystcenter collection (version 2.12.0).

To install it, use: ansible-galaxy collection install cisco.catalystcenter. You need further requirements to be able to use this module, see Requirements for details.

To use it in a playbook, specify: cisco.catalystcenter.network_devices_intent_info.

New in cisco.catalystcenter 2.0.0

Synopsis

  • Get all Network Devices Intent.

  • Get Network Devices Intent by id. - > API to fetch the details of network device using the `id`. Use the `/dna/intent/api/v1/networkDevices/query` API for advanced filtering. The API supports views. - > API to fetch the list of network devices using basic filters. Use the `/dna/intent/api/v1/networkDevices/query` API for advanced filtering. The API supports views to fetch only the required fields.

Note

This module has a corresponding action plugin.

Requirements

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

  • catalystcentersdk >= 3.2.3.0.0

  • python >= 3.12

Parameters

Parameter

Comments

catalystcenter_debug

aliases: dnac_debug

boolean

Flag for Cisco Catalyst Center SDK to enable debugging.

Choices:

catalystcenter_host

aliases: dnac_host

string / required

The Cisco Catalyst Center hostname.

catalystcenter_password

aliases: dnac_password

string

The Cisco Catalyst Center password to authenticate.

catalystcenter_port

aliases: dnac_port, catalystcenter_api_port

integer

The Cisco Catalyst Center port.

Default: :ansible-option-default:`443`

catalystcenter_username

aliases: dnac_username, user

string

The Cisco Catalyst Center username to authenticate.

Default: :ansible-option-default:`"admin"`

catalystcenter_verify

aliases: dnac_verify

boolean

Flag to enable or disable SSL certificate verification.

Choices:

catalystcenter_version

aliases: dnac_version

string

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

Default: :ansible-option-default:`"3.1.6.0"`

family

string

Family query parameter. Product family of the network device. For example, Switches, Routers, etc.

headers

dictionary

Additional headers.

id

string

Id path parameter. Unique identifier for the network device.

limit

integer

Limit query parameter. The number of records to show for this page.

managementAddress

string

ManagementAddress query parameter. Management address of the network device.

managementState

string

ManagementState query parameter. The status of the network device's manageability. Possible values are * `MANAGED` Device is managed. * `UNDER_MAINTENANCE` Device is in service maintenance. * `NEVER_MANAGED` Device has never been managed.

offset

integer

Offset query parameter. The first record to show for this page; the first record is numbered 1.

order

string

Order query parameter. Whether ascending or descending order should be used to sort the response.

reachabilityStatus

string

ReachabilityStatus query parameter. Reachability status of the network device. Possible values are * `REACHABLE` - Device is reachable by SNMP (in case of network device) or HTTP (in case of compute device or Meraki device). * `ONLY_PING_REACHABLE` - Mandatory protocol (SNMP/HTTP/NETCONF) failed for the device. The device is reachable only by ICMP. * `UNREACHABLE` - Device is not reachable by either SNMP/HTTP or ICMP. * `UNKNOWN` - Device reachability status can't be determined. The product hasn't interacted with the device yet, or the parent device that controls the device is unreachable.

role

string

Role query parameter. Role assigned to the network device.

secureMode

string

SecureMode query parameter. Security mode of the network device.

serialNumber

string

SerialNumber query parameter. Serial number of the network device.

sortBy

string

SortBy query parameter. A property within the response to sort by.

stackDevice

boolean

StackDevice query parameter. Flag indicating if the device is a stack device.

Choices:

status

string

Status query parameter. Inventory related status of the network device. | status | Description | | ---------------------- | ------------------------------------------------------------------------------- -------------------------------------------------------------------------------------------------------- ------------------ | | `MANAGED` | The device is successfully managed. | | `SYNC_NOT_STARTED` | Sync request is queued and pending processing. | | `SYNC_INIT_FAILED` | Sync initialization failed due to bootstrap issues. | | `SYNC_PRECHECK_FAILED` | Device failed to meet necessary preconditions for sync. | | `SYNC_IN_PROGRESS` | Sync with the device is in progress. | | `SYNC_INTERNAL_ERROR` | Encountered an internal error during data collection, potentially leading to incomplete or outdated device information. | | `SYNC_DISABLED` | Sync has been disabled on the device. | | `DELETING_DEVICE` | The device is being deleted from Catalyst Center. | | `UNDER_MAINTENANCE` | The device is in maintenance mode. Assurance will not raise alerts when the network device is in maintenance mode. | | `QUARANTINED` | The device is in quarantined state. Inventory sync and provisioning are disabled for the device. | | `UNASSOCIATED` | Access point is not associated with any WLC. | | `UNREACHABLE` | The device is not reachable by either SNMP/HTTP/NETCONF or ICMP. | | `UNKNOWN` | All information from the device could not be collected, or inventory collection was not started. It may be a temporary issue. Attempt to resync the device, and if the error persists, contact Cisco TAC. |.

validate_response_schema

boolean

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

Choices:

views

list / elements=string

Views query parameter. The specific views being requested. This is an optional parameter which can be passed to get one or more of the network device data. If this is not provided, then it will default to `BASIC` views. If multiple views are provided, the response will contain the union of the views. Attributes covered by the views are * `BASIC` id, managementAddress, dnsResolvedManagementIpAddress, hostname, macAddress, serialNumbers, type, family, series, status, platformIds, softwareType, softwareVersion, vendor, stackDevice, bootTime, role, roleSource, apEthernetMacAddress, apManagerInterfaceIpAddress, apWlcIpAddress, deviceSupportLevel, snmpContact, snmpLocation, secureMode * `RESYNC` id, managementAddress, dnsResolvedManagementIpAddress, hostname, macAddress, serialNumbers, type, family, series, status, reachabilityStatus, reachabilityFailureReason, managementState, lastSuccessfulResyncReasons, resyncStartTime, resyncEndTime, resyncReasons, resyncRequestedByApps, pendingResyncRequestCount, pendingResyncRequestReasons, resyncIntervalSource, resyncIntervalMinutes, errorCode, errorDescription, secureMode * `USER_DEFINED_FIELDS` id, managementAddress, dnsResolvedManagementIpAddress, hostname, macAddress, serialNumbers, type, family, series, status, userDefinedFields * `CREDENTIALS` (without sensitive credentials) id, managementAddress, dnsResolvedManagementIpAddress, hostname, macAddress, serialNumbers, type, family, series, status, credentials, category Note `CREDENTIALS` view only returns the non-sensitive credentials of the network device. The sensitive credentials are not returned in the response.

Notes

Note

  • SDK Method used are devices.Devices.get_details_of_a_single_network_device, devices.Devices.retrieve_network_devices,

  • Paths used are get /dna/intent/api/v1/networkDevices, get /dna/intent/api/v1/networkDevices/{id},

  • Supports check_mode

  • The plugin runs on the control node and does not use any ansible connection plugins,

  • but instead uses the embedded connection manager from Cisco CATALYST SDK

  • Requires Python >= 3.10, matching the controller Python versions supported by the collection's minimum ansible-core version (see the collection README for the current ansible-core / Python compatibility range)

See Also

See also

Cisco Catalyst Center documentation for Devices GetDetailsOfASingleNetworkDevice

Complete reference of the GetDetailsOfASingleNetworkDevice API.

Cisco Catalyst Center documentation for Devices RetrieveNetworkDevices

Complete reference of the RetrieveNetworkDevices API.

Examples

---
- name: Get all Network Devices Intent
  cisco.catalystcenter.network_devices_intent_info:
    catalystcenter_host: "{{catalystcenter_host}}"
    catalystcenter_username: "{{catalystcenter_username}}"
    catalystcenter_password: "{{catalystcenter_password}}"
    catalystcenter_verify: "{{catalystcenter_verify}}"
    catalystcenter_port: "{{catalystcenter_port}}"
    catalystcenter_version: "{{catalystcenter_version}}"
    catalystcenter_debug: "{{catalystcenter_debug}}"
    headers: "{{my_headers | from_json}}"
    id: e910e834-e35b-4800-9401-a40e22ce09f3
    managementAddress: 1.1.1.1
    serialNumber: FDO20120QWY
    family: Switch
    stackDevice: true
    role: ACCESS
    status: string
    reachabilityStatus: REACHABLE
    managementState: MANAGED
    secureMode: UNKNOWN
    views: ['BASIC']
    limit: 0
    offset: 1
    sortBy: macAddress
    order: asc
  register: result
- name: Get Network Devices Intent by id
  cisco.catalystcenter.network_devices_intent_info:
    catalystcenter_host: "{{catalystcenter_host}}"
    catalystcenter_username: "{{catalystcenter_username}}"
    catalystcenter_password: "{{catalystcenter_password}}"
    catalystcenter_verify: "{{catalystcenter_verify}}"
    catalystcenter_port: "{{catalystcenter_port}}"
    catalystcenter_version: "{{catalystcenter_version}}"
    catalystcenter_debug: "{{catalystcenter_debug}}"
    headers: "{{my_headers | from_json}}"
    views: ['BASIC']
    id: string
  register: result

Return Values

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

Key

Description

catalystcenter_response

dictionary

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

Returned: always

Sample: :ansible-rv-sample-value:`{"response": {}, "version": "string"}`

Authors

  • Bryan Vargas (@bvargasre)