cisco.dnac.inventory_workflow_manager module – Comprehensive network device inventory management for Cisco Catalyst Center

Note

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

New in cisco.dnac 6.8.0

Synopsis

  • Add, update, delete, and synchronize network devices in Cisco Catalyst Center inventory

  • Provision wired devices and manage device configurations across multiple sites

  • Schedule and manage device maintenance windows with flexible recurrence options

  • Handle device credentials, roles, and user-defined fields

  • Export device details and credentials with encrypted file support

  • Perform bulk operations on network devices with comprehensive error handling

Requirements

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

  • dnacentersdk >= 2.7.2

  • python >= 3.9

Parameters

Parameter

Comments

config

list / elements=dictionary / required

List of device configurations for inventory operations

add_user_defined_field

list / elements=dictionary

Create and assign Global User Defined Fields.

This operation will take dictionary as a parameter and in this we give details to create/update/delete/assign multiple UDF to a device.

description

string

UDF description and metadata. Info about the global user defined field. Also used while updating interface details.

name

string / required

Global UDF name (required for create/delete/assign).

Name of Global User Defined Field. Required for creating/deleting UDF and then assigning it to device.

Must be unique across Catalyst Center.

value

string

Value to assign to the UDF.

Value to assign to tag with or without the same user defined field name.

clean_config

boolean

Remove device configuration during deletion.

false - Remove from inventory only (default).

true - Remove device and clear configuration.

Required if need to delete the Provisioned device by clearing current configuration.

Choices:

  • false ← (default)

  • true

cli_transport

string

CLI transport protocol for device communication.

The essential prerequisite for adding Network devices is the specification of the transport protocol (either ssh or telnet) used by the device.

Required for NETWORK_DEVICE types.

Choices:

  • "ssh"

  • "telnet"

compute_device

boolean

Indicates whether a device is a compute device.

Choices:

  • false

  • true

credential_update

boolean

Set this to ‘True’ to update device credentials and other device details.

When this parameter is ‘True’, ensure that the devices are present in Cisco Catalyst Center; only then can update operations be performed on the respective devices.

If the parameter is ‘True’ and any device is not present, the module will attempt to add it. If required parameters are missing during this addition, the module will fail and stop execution, preventing update operations for devices that are already present.

Choices:

  • false ← (default)

  • true

device_resync

boolean

Trigger device inventory synchronization.

Make this as true needed for the resyncing of device.

Choices:

  • false ← (default)

  • true

devices_maintenance_schedule

list / elements=dictionary

Schedule device maintenance windows.

Defines the maintenance schedule for a list of devices, specifying the time frame and recurrence details for scheduled maintenance tasks or deleting them.

Supports one-time and recurring maintenance.

Requires Catalyst Center >= 2.3.7.9.

description

string

Maintenance purpose and details.

A brief description of the maintenance schedule, specifying its purpose or any relevant details.

device_ips

list / elements=string / required

List of network device IPs.

This field is applicable only during the creation or deletion of schedules. For updates, this field is read-only, and devices cannot be added or removed.

end_time

string / required

Maintenance window end time.

The scheduled end time of the maintenance window. For one-time schedules, this must be later than the current time.

Format - “YYYY-MM-DD HH:MM:SS” (e.g., “2025-04-05 12:00:00”).

Must be after start_time.

recurrence_end_time

string

End time for recurring maintenance.

The timestamp indicating when the recurring maintenance schedule should end. It must be greater than both the maintenance end date/time and the current time.

Format - “YYYY-MM-DD HH:MM:SS”.

recurrence_interval

integer

Days between recurring maintenance windows.

Interval for recurrence in days. The interval must be longer than the duration of the maintenance schedules and must be within the range 1 to 365 (inclusive).

start_time

string / required

Maintenance window start time.

The scheduled start time of the maintenance window. For one-time schedules, this must be later than the current time.

Format - “YYYY-MM-DD HH:MM:SS” (e.g., “2025-04-05 10:00:00”).

Must be future time for new schedules.

time_zone

string / required

Timezone for maintenance schedule.

Time zone in which the maintenance schedule is defined (for example, “Africa/Nairobi”, “America/New_York”, “Asia/Kolkata”, “Europe/London”, “Australia/Sydney”, etc.).

See Catalyst Center documentation for complete list.

Choices:

  • "Africa/Abidjan"

  • "Africa/Accra"

  • "Africa/Addis_Ababa"

  • "Africa/Algiers"

  • "Africa/Asmara"

  • "Africa/Bamako"

  • "Africa/Bangui"

  • "Africa/Banjul"

  • "Africa/Bissau"

  • "Africa/Blantyre"

  • "Africa/Brazzaville"

  • "Africa/Bujumbura"

  • "Africa/Cairo"

  • "Africa/Casablanca"

  • "Africa/Conakry"

  • "Africa/Dakar"

  • "Africa/Dar_es_Salaam"

  • "Africa/Djibouti"

  • "Africa/Douala"

  • "Africa/El_Aaiun"

  • "Africa/Freetown"

  • "Africa/Gaborone"

  • "Africa/Harare"

  • "Africa/Johannesburg"

  • "Africa/Juba"

  • "Africa/Kampala"

  • "Africa/Khartoum"

  • "Africa/Kigali"

  • "Africa/Kinshasa"

  • "Africa/Lagos"

  • "Africa/Libreville"

  • "Africa/Lome"

  • "Africa/Luanda"

  • "Africa/Lubumbashi"

  • "Africa/Lusaka"

  • "Africa/Malabo"

  • "Africa/Maputo"

  • "Africa/Maseru"

  • "Africa/Mbabane"

  • "Africa/Mogadishu"

  • "Africa/Monrovia"

  • "Africa/Nairobi"

  • "Africa/Ndjamena"

  • "Africa/Niamey"

  • "Africa/Nouakchott"

  • "Africa/Ouagadougou"

  • "Africa/Porto-Novo"

  • "Africa/Sao_Tome"

  • "Africa/Tripoli"

  • "Africa/Tunis"

  • "Africa/Windhoek"

  • "America/Adak"

  • "America/Anchorage"

  • "America/Anguilla"

  • "America/Antigua"

  • "America/Argentina/Buenos_Aires"

  • "America/Aruba"

  • "America/Asuncion"

  • "America/Atikokan"

  • "America/Barbados"

  • "America/Belize"

  • "America/Blanc-Sablon"

  • "America/Bogota"

  • "America/Cancun"

  • "America/Caracas"

  • "America/Cayenne"

  • "America/Cayman"

  • "America/Chicago"

  • "America/Costa_Rica"

  • "America/Curacao"

  • "America/Danmarkshavn"

  • "America/Denver"

  • "America/Dominica"

  • "America/Edmonton"

  • "America/El_Salvador"

  • "America/Grand_Turk"

  • "America/Grenada"

  • "America/Guadeloupe"

  • "America/Guatemala"

  • "America/Guayaquil"

  • "America/Guyana"

  • "America/Halifax"

  • "America/Havana"

  • "America/Hermosillo"

  • "America/Jamaica"

  • "America/Kralendijk"

  • "America/La_Paz"

  • "America/Lima"

  • "America/Los_Angeles"

  • "America/Lower_Princes"

  • "America/Managua"

  • "America/Manaus"

  • "America/Marigot"

  • "America/Martinique"

  • "America/Mexico_City"

  • "America/Miquelon"

  • "America/Montevideo"

  • "America/Montserrat"

  • "America/Nassau"

  • "America/New_York"

  • "America/Noronha"

  • "America/Nuuk"

  • "America/Ojinaga"

  • "America/Panama"

  • "America/Paramaribo"

  • "America/Phoenix"

  • "America/Port-au-Prince"

  • "America/Port_of_Spain"

  • "America/Puerto_Rico"

  • "America/Punta_Arenas"

  • "America/Regina"

  • "America/Rio_Branco"

  • "America/Santiago"

  • "America/Santo_Domingo"

  • "America/Sao_Paulo"

  • "America/Scoresbysund"

  • "America/St_Barthelemy"

  • "America/St_Johns"

  • "America/St_Kitts"

  • "America/St_Lucia"

  • "America/St_Thomas"

  • "America/St_Vincent"

  • "America/Tegucigalpa"

  • "America/Thule"

  • "America/Tijuana"

  • "America/Toronto"

  • "America/Tortola"

  • "America/Vancouver"

  • "America/Whitehorse"

  • "America/Winnipeg"

  • "Antarctica/Casey"

  • "Antarctica/Davis"

  • "Antarctica/DumontDUrville"

  • "Antarctica/Mawson"

  • "Antarctica/McMurdo"

  • "Antarctica/Palmer"

  • "Antarctica/Syowa"

  • "Antarctica/Troll"

  • "Antarctica/Vostok"

  • "Arctic/Longyearbyen"

  • "Asia/Aden"

  • "Asia/Almaty"

  • "Asia/Amman"

  • "Asia/Ashgabat"

  • "Asia/Baghdad"

  • "Asia/Bahrain"

  • "Asia/Baku"

  • "Asia/Bangkok"

  • "Asia/Beirut"

  • "Asia/Bishkek"

  • "Asia/Brunei"

  • "Asia/Calcutta"

  • "Asia/Chita"

  • "Asia/Colombo"

  • "Asia/Damascus"

  • "Asia/Dhaka"

  • "Asia/Dili"

  • "Asia/Dubai"

  • "Asia/Dushanbe"

  • "Asia/Hebron"

  • "Asia/Ho_Chi_Minh"

  • "Asia/Hong_Kong"

  • "Asia/Hovd"

  • "Asia/Irkutsk"

  • "Asia/Jakarta"

  • "Asia/Jayapura"

  • "Asia/Jerusalem"

  • "Asia/Kabul"

  • "Asia/Kamchatka"

  • "Asia/Karachi"

  • "Asia/Kathmandu"

  • "Asia/Kuala_Lumpur"

  • "Asia/Kuwait"

  • "Asia/Macau"

  • "Asia/Makassar"

  • "Asia/Manila"

  • "Asia/Muscat"

  • "Asia/Nicosia"

  • "Asia/Novosibirsk"

  • "Asia/Omsk"

  • "Asia/Phnom_Penh"

  • "Asia/Pyongyang"

  • "Asia/Qatar"

  • "Asia/Qyzylorda"

  • "Asia/Riyadh"

  • "Asia/Sakhalin"

  • "Asia/Seoul"

  • "Asia/Shanghai"

  • "Asia/Singapore"

  • "Asia/Taipei"

  • "Asia/Tashkent"

  • "Asia/Tbilisi"

  • "Asia/Tehran"

  • "Asia/Thimphu"

  • "Asia/Tokyo"

  • "Asia/Ulaanbaatar"

  • "Asia/Urumqi"

  • "Asia/Vientiane"

  • "Asia/Vladivostok"

  • "Asia/Yangon"

  • "Asia/Yekaterinburg"

  • "Asia/Yerevan"

  • "Atlantic/Azores"

  • "Atlantic/Bermuda"

  • "Atlantic/Canary"

  • "Atlantic/Cape_Verde"

  • "Atlantic/Faroe"

  • "Atlantic/Reykjavik"

  • "Atlantic/South_Georgia"

  • "Atlantic/St_Helena"

  • "Atlantic/Stanley"

  • "Australia/Adelaide"

  • "Australia/Brisbane"

  • "Australia/Darwin"

  • "Australia/Eucla"

  • "Australia/Lord_Howe"

  • "Australia/Perth"

  • "Australia/Sydney"

  • "Europe/Amsterdam"

  • "Europe/Andorra"

  • "Europe/Athens"

  • "Europe/Belgrade"

  • "Europe/Berlin"

  • "Europe/Bratislava"

  • "Europe/Brussels"

  • "Europe/Bucharest"

  • "Europe/Budapest"

  • "Europe/Chisinau"

  • "Europe/Copenhagen"

  • "Europe/Dublin"

  • "GMT"

  • "Europe/Gibraltar"

  • "Europe/Guernsey"

  • "Europe/Helsinki"

  • "Europe/Isle_of_Man"

  • "Europe/Istanbul"

  • "Europe/Jersey"

  • "Europe/Kaliningrad"

  • "Europe/Kyiv"

  • "Europe/Lisbon"

  • "Europe/Ljubljana"

  • "Europe/London"

  • "Europe/Luxembourg"

  • "Europe/Madrid"

  • "Europe/Malta"

  • "Europe/Mariehamn"

  • "Europe/Minsk"

  • "Europe/Monaco"

  • "Europe/Moscow"

  • "Europe/Oslo"

  • "Europe/Paris"

  • "Europe/Podgorica"

  • "Europe/Prague"

  • "Europe/Riga"

  • "Europe/Rome"

  • "Europe/Samara"

  • "Europe/San_Marino"

  • "Europe/Sarajevo"

  • "Europe/Simferopol"

  • "Europe/Skopje"

  • "Europe/Sofia"

  • "Europe/Stockholm"

  • "Europe/Tallinn"

  • "Europe/Tirane"

  • "Europe/Vaduz"

  • "Europe/Vatican"

  • "Europe/Vienna"

  • "Europe/Vilnius"

  • "Europe/Warsaw"

  • "Europe/Zagreb"

  • "Europe/Zurich"

  • "Indian/Antananarivo"

  • "Indian/Chagos"

  • "Indian/Christmas"

  • "Indian/Cocos"

  • "Indian/Comoro"

  • "Indian/Kerguelen"

  • "Indian/Mahe"

  • "Indian/Maldives"

  • "Indian/Mauritius"

  • "Indian/Mayotte"

  • "Indian/Reunion"

  • "Pacific/Apia"

  • "Pacific/Auckland"

  • "Pacific/Bougainville"

  • "Pacific/Chatham"

  • "Pacific/Chuuk"

  • "Pacific/Easter"

  • "Pacific/Efate"

  • "Pacific/Fakaofo"

  • "Pacific/Fiji"

  • "Pacific/Funafuti"

  • "Pacific/Galapagos"

  • "Pacific/Gambier"

  • "Pacific/Guadalcanal"

  • "Pacific/Guam"

  • "Pacific/Honolulu"

  • "Pacific/Kiritimati"

  • "Pacific/Kosrae"

  • "Pacific/Majuro"

  • "Pacific/Marquesas"

  • "Pacific/Midway"

  • "Pacific/Nauru"

  • "Pacific/Niue"

  • "Pacific/Norfolk"

  • "Pacific/Noumea"

  • "Pacific/Pago_Pago"

  • "Pacific/Palau"

  • "Pacific/Pitcairn"

  • "Pacific/Port_Moresby"

  • "Pacific/Rarotonga"

  • "Pacific/Saipan"

  • "Pacific/Tahiti"

  • "Pacific/Tarawa"

  • "Pacific/Tongatapu"

  • "Pacific/Wake"

  • "Pacific/Wallis"

enable_password

string

Privileged EXEC mode password.

Required for enabling configurations on the device.

export_device_details_limit

integer

Maximum devices per export batch.

Specifies the limit for updating device details or exporting device details/credentials to a file. The default limit is set to 500 devices.

This limit is applied when exporting device details/credentials and editing device details.

The maximum number of device details/credentials that can be exported in a single API call is 800.

Controls memory usage for large inventories.

Default: 500

export_device_list

dictionary

Export device information to encrypted CSV.

This operation take dictionary as parameter and export the device details as well as device credentials details in a csv file.

operation_enum

string / required

Export data type.

0/CREDENTIALDETAILS - 0 to export Device Credential Details. Used for exporting device credentials details like snmp credentials, device credentials etc.

1/DEVICEDETAILS - 1 to export Device Details. Used for exporting device specific details like device hostname, serial number, type, family etc.

Choices:

  • "0"

  • "1"

  • "CREDENTIALDETAILS"

  • "DEVICEDETAILS"

parameters

list / elements=string

Specific device attributes to export.

List of device parameters that needs to be exported to file. (For example, [“componentName”, “SerialNumber”, “Last Sync Status”])

password

string / required

CSV file encryption password.

Specifies the password for the encryption of file while exporting the device credentails into the file.

Must meet complexity requirements (8+ chars, mixed case, numbers, symbols).

site_name

string

Filter devices by site location.

Indicates the exact location where the wired device will be provisioned. This is a string value that should represent the complete hierarchical path of the site (For example, “Global/USA/San Francisco/BGL_18/floor_pnp”).

extended_discovery_info

string

Additional discovery information for the device.

force_sync

boolean

Use high-priority thread for synchronization.

If forcesync is true then device sync would run in high priority thread if available, else the sync will fail.

Choices:

  • false ← (default)

  • true

hostname_list

list / elements=string

Alternative device identification using hostnames.

Can be used instead of IP addresses for operations.

http_password

string

HTTP authentication password.

Required for COMPUTE_DEVICE, MERAKI_DASHBOARD, and FIREPOWER_MANAGEMENT_SYSTEM.

http_port

string

HTTP service port.

Required for COMPUTE_DEVICE and FIREPOWER_MANAGEMENT_SYSTEM.

Common values are 80 (HTTP) or 443 (HTTPS).

http_secure

boolean

Flag indicating HTTP security.

Choices:

  • false

  • true

http_username

string

HTTP authentication username.

Required for COMPUTE_DEVICE and FIREPOWER_MANAGEMENT_SYSTEM.

ip_address_list

list / elements=string

List of device management IP addresses.

Primary method for device identification.

Required for most device operations (except Meraki).

mac_address_list

list / elements=string

Alternative device identification using MAC addresses.

Helpful for network discovery scenarios.

netconf_port

string

Specifies the port number for connecting to devices using the Netconf protocol. Netconf (Network Configuration Protocol) is used for managing network devices.

Ensure that the provided port number corresponds to the Netconf service port configured on your network devices.

NETCONF with user privilege 15 is mandatory for enabling Wireless Services on Wireless capable devices such as Catalyst 9000 series Switches and C9800 Series Wireless Controllers.

The NETCONF credentials are required to connect to C9800 Series Wireless Controllers as the majority of data collection is done using NETCONF for these Devices.

Standard NETCONF port is 830.

password

string

Device access password and file encryption key.

Required for NETWORK_DEVICE additions.

Also used for CSV export file encryption.

provision_wired_device

list / elements=dictionary

Provision wired devices to network sites.

This parameter takes a list of dictionaries. Each dictionary provides the IP address of a wired device and the name of the site where the device will be provisioned.

device_ip

string / required

added in cisco.dnac 6.12.0

IP address of device to provision.

Specifies the IP address of the wired device. This is a string value that should be in the format of standard IPv4 or IPv6 addresses.

Device must exist in inventory.

resync_retry_count

integer

added in cisco.dnac 6.12.0

Retry attempts for managed state verification.

Determines the total number of retry attempts for checking if the device has reached a managed state during the provisioning process.

If unspecified, the default value is set to 200 retries.

Higher values provide more reliability.

Default: 200

resync_retry_interval

integer

added in cisco.dnac 6.12.0

Seconds between managed state checks.

Sets the interval, in seconds, at which the system will recheck the device status throughout the provisioning process.

If unspecified, the system will check the device status every 2 seconds by default.

Balance between responsiveness and system load.

Default: 2

site_name

string / required

Target site for device provisioning.

Indicates the exact location where the wired device will be provisioned. This is a string value that should represent the complete hierarchical path of the site (For example, “Global/USA/San Francisco/BGL_18/floor_pnp”).

Must use complete hierarchical path.

reboot_device

boolean

Trigger device reboot (Access Points only).

Make this as true needed for the Rebooting of Access Points.

Only applicable to Unified AP devices.

Choices:

  • false ← (default)

  • true

resync_device_count

integer

Maximum devices per resync batch.

Specifies the maximum number of devices to be resynced in the inventory.

Ensure this count does not exceed 200, as attempting to resync more than 200 devices may cause the ‘sync_devices_using_forcesync’ API to enter an infinite loop.

Default: 200

resync_max_timeout

integer

Maximum resync wait time in seconds.

Sets the maximum timeout for the device resync process in the inventory, in seconds.

The default is 600 seconds, which helps prevent infinite loops.

Default: 600

role

string

Network device role assignment.

ACCESS - This role typically represents switches or access points that serve as access points for end-user devices to connect to the network. These devices are often located at the edge of the network and provide connectivity to end-user devices.

DISTRIBUTION - This role represents function as distribution switches or routers in hierarchical network designs. They aggregate traffic from access switches and route it toward the core of the network or toward other distribution switches.

CORE - This role typically represents high-capacity switches or routers that form the backbone of the network. They handle large volumes of traffic and provide connectivity between different parts of network, such as connecting distribution switches or providing interconnection between different network segments.

BORDER_ROUTER - These are devices that connect different network domains or segments together. They often serve as gateways between different networks, such as connecting an enterprise network to the internet or connecting multiple branch offices.

UNKNOWN - This role is assigned to devices whose roles or functions have not been identified or classified within Cisco Catalyst Center. This could happen if the platform is unable to determine the device’s role based on available information.

Choices:

  • "ACCESS"

  • "DISTRIBUTION"

  • "CORE"

  • "BORDER_ROUTER"

  • "UNKNOWN"

serial_number_list

list / elements=string

Alternative device identification using serial numbers.

Useful for devices before IP assignment.

snmp_auth_passphrase

string

SNMPv3 authentication passphrase.

Required for AUTHNOPRIV and AUTHPRIV modes.

snmp_auth_protocol

string

SNMPv3 authentication algorithm. SHA (Secure Hash Algorithm) - cryptographic hash function commonly used for data integrity verification and authentication purposes.

Choices:

  • "SHA" ← (default)

  • "MD5"

snmp_mode

string

Device’s snmp Mode refer to different SNMP (Simple Network Management Protocol) versions and their corresponding security levels.

NOAUTHNOPRIV - This mode provides no authentication or encryption for SNMP messages. It means that devices communicating using SNMPv1 do not require any authentication (username/password) or encryption (data confidentiality). This makes it the least secure option.

AUTHNOPRIV - This mode provides authentication but no encryption for SNMP messages. Authentication involves validating the source of the SNMP messages using a community string (similar to a password). However, the data transmitted between devices is not encrypted, so it’s susceptible to eavesdropping.

AUTHPRIV - This mode provides both authentication and encryption for SNMP messages. It offers the highest level of security among the three options. Authentication ensures that the source of the messages is genuine, and encryption ensures that the data exchanged between devices is confidential and cannot be intercepted by unauthorized parties.

Choices:

  • "NOAUTHNOPRIV"

  • "AUTHNOPRIV"

  • "AUTHPRIV"

snmp_priv_passphrase

string

SNMPv3 privacy/encryption passphrase.

Required for AUTHPRIV mode.

snmp_priv_protocol

string

SNMPv3 encryption algorithm.

AES variants provide different key lengths.

Required for adding network, compute, and third-party devices.

Choices:

  • "AES128"

  • "AES192"

  • "AES256"

  • "CISCOAES128"

  • "CISCOAES192"

  • "CISCOAES256"

snmp_retry

integer

Number of SNMP request retries before timeout.

Default: 3

snmp_ro_community

string

SNMPv2c read-only community string.

Required for SNMPv2c devices.

snmp_rw_community

string

SNMPv2c read-write community string.

Required for configuration changes via SNMP.

snmp_timeout

integer

SNMP request timeout in seconds.

Default: 5

snmp_username

string

SNMPv3 username for authentication.

Required for SNMPv3 with authentication.

snmp_version

string

It is a standard protocol used for managing and monitoring network devices.

v2 - In this communication between the SNMP manager (such as Cisco Catalyst) and the managed devices (such as routers, switches, or access points) is based on community strings. Community strings serve as a form of authentication and they are transmitted in clear text, providing no encryption.

v3 - It is the most secure version of SNMP, providing authentication, integrity, and encryption features. It allows for the use of usernames, authentication passwords, and encryption keys, providing stronger security compared to v2.

Choices:

  • "v2"

  • "v3"

type

string

Device type classification for inventory management.

NETWORK_DEVICE - This refers to traditional networking equipment such as routers, switches, access points, and firewalls. These devices are responsible for routing, switching, and providing connectivity within the network.

COMPUTE_DEVICE - These are computing resources such as servers, virtual machines, or containers that are part of the network infrastructure. Cisco Catalyst Center can integrate with compute devices to provide visibility and management capabilities, ensuring that the network and compute resources work together seamlessly to support applications and services.

MERAKI_DASHBOARD - It is a cloud-based platform used to manage Meraki networking devices, including wireless access points, switches, security appliances, and cameras.

THIRD_PARTY_DEVICE - This category encompasses devices from vendors other than Cisco or Meraki. Cisco Catalyst Center is designed to support integration with third-party devices through open standards and APIs. This allows organizations to manage heterogeneous network environments efficiently using Cisco Catalyst Center’s centralized management and automation capabilities.

FIREPOWER_MANAGEMENT_SYSTEM - It is a centralized management console used to manage Cisco’s Firepower Next-Generation Firewall (NGFW) devices. It provides features such as policy management, threat detection, and advanced security analytics.

Choices:

  • "NETWORK_DEVICE" ← (default)

  • "COMPUTE_DEVICE"

  • "MERAKI_DASHBOARD"

  • "THIRD_PARTY_DEVICE"

  • "FIREPOWER_MANAGEMENT_SYSTEM"

update_interface_details

dictionary

Update physical interface configurations.

This operation will take dictionary as a parameter and in this we give details to update interface details of device.

admin_status

string

Administrative interface state.

Status of Interface of a device, it can be (UP/DOWN).

Choices:

  • "UP"

  • "DOWN"

clear_mac_address_table

boolean

Clear interface MAC address table.

Set this to true if you need to clear the MAC address table for a specific device’s interface. It’s a boolean type, with a default value of False.

Only supported on ACCESS role devices.

Choices:

  • false ← (default)

  • true

deployment_mode

string

Configuration deployment mode.

Preview - Preview/Deploy [Preview means the configuration is not pushed to the device.

Deploy - Deploy makes the configuration pushed to the device].

Choices:

  • "Preview"

  • "Deploy" ← (default)

description

string

Interface description text. Specifies the description of the interface of the device.

interface_name

list / elements=string / required

List of interface names to update.

Specify the list of interface names to update the details of the device interface. (For example, GigabitEthernet1/0/11, FortyGigabitEthernet1/1/2)

vlan_id

integer

Access VLAN ID assignment.

Unique Id number assigned to a VLAN within a network used only while updating interface details.

Must be valid VLAN number (1-4094).

voice_vlan_id

integer

Voice VLAN ID for IP phone traffic.

Identifier used to distinguish a specific VLAN that is dedicated to voice traffic used only while updating interface details.

Separate VLAN for voice traffic optimization.

update_mgmt_ipaddresslist

list / elements=dictionary

Update device management IP addresses.

exist_mgmt_ipaddress

string / required

Device’s existing Mgmt IpAddress.

new_mgmt_ipaddress

string / required

Device’s new Mgmt IpAddress.

username

string

Device access username.

Required for NETWORK_DEVICE additions.

config_verify

boolean

Enable verification of Cisco Catalyst Center configuration after applying playbook changes

When enabled, the module will validate that changes were applied correctly

Choices:

  • false ← (default)

  • true

dnac_api_task_timeout

integer

Defines the timeout in seconds for API calls to retrieve task details. If the task details are not received within this period, the process will end, and a timeout notification will be logged.

Default: 1200

dnac_debug

boolean

Indicates whether debugging is enabled in the Cisco Catalyst Center SDK.

Choices:

  • false ← (default)

  • true

dnac_host

string / required

The hostname of the Cisco Catalyst Center.

dnac_log

boolean

Flag to enable/disable playbook execution logging.

When true and dnac_log_file_path is provided, - Create the log file at the execution location with the specified name.

When true and dnac_log_file_path is not provided, - Create the log file at the execution location with the name ‘dnac.log’.

When false, - Logging is disabled.

If the log file doesn’t exist, - It is created in append or write mode based on the “dnac_log_append” flag.

If the log file exists, - It is overwritten or appended based on the “dnac_log_append” flag.

Choices:

  • false ← (default)

  • true

dnac_log_append

boolean

Determines the mode of the file. Set to True for ‘append’ mode. Set to False for ‘write’ mode.

Choices:

  • false

  • true ← (default)

dnac_log_file_path

string

Governs logging. Logs are recorded if dnac_log is True.

If path is not specified, - When ‘dnac_log_append’ is True, ‘dnac.log’ is generated in the current Ansible directory; logs are appended. - When ‘dnac_log_append’ is False, ‘dnac.log’ is generated; logs are overwritten.

If path is specified, - When ‘dnac_log_append’ is True, the file opens in append mode. - When ‘dnac_log_append’ is False, the file opens in write (w) mode. - In shared file scenarios, without append mode, content is overwritten after each module execution. - For a shared log file, set append to False for the 1st module (to overwrite); for subsequent modules, set append to True.

Default: "dnac.log"

dnac_log_level

string

Sets the threshold for log level. Messages with a level equal to or higher than this will be logged. Levels are listed in order of severity [CRITICAL, ERROR, WARNING, INFO, DEBUG].

CRITICAL indicates serious errors halting the program. Displays only CRITICAL messages.

ERROR indicates problems preventing a function. Displays ERROR and CRITICAL messages.

WARNING indicates potential future issues. Displays WARNING, ERROR, CRITICAL messages.

INFO tracks normal operation. Displays INFO, WARNING, ERROR, CRITICAL messages.

DEBUG provides detailed diagnostic info. Displays all log messages.

Default: "WARNING"

dnac_password

string

The password for authentication at the Cisco Catalyst Center.

dnac_port

string

Specifies the port number associated with the Cisco Catalyst Center.

Default: "443"

dnac_task_poll_interval

integer

Specifies the interval in seconds between successive calls to the API to retrieve task details.

Default: 2

dnac_username

aliases: user

string

The username for authentication at the Cisco Catalyst Center.

Default: "admin"

dnac_verify

boolean

Flag to enable or disable SSL certificate verification.

Choices:

  • false

  • true ← (default)

dnac_version

string

Specifies the version of the Cisco Catalyst Center that the SDK should use.

Default: "2.2.3.3"

state

string

Desired state of the device inventory after module execution

merged - Add new devices or update existing device configurations

deleted - Remove devices from inventory (use clean_config for configuration cleanup)

Choices:

  • "merged" ← (default)

  • "deleted"

validate_response_schema

boolean

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

Choices:

  • false

  • true ← (default)

Notes

Note

  • Minimum Catalyst Center version 2.3.5.3 required for inventory workflow features.

  • Device maintenance scheduling requires Catalyst Center >= 2.3.7.9.

  • Enhanced provisioning features available in Catalyst Center >= 2.3.5.3.

  • Primary SDK Methods - devices.Devices.add_device, devices.Devices.delete_device_by_id, devices.Devices.sync_devices.

  • REST Endpoints - POST /dna/intent/api/v1/network-device, DELETE /dna/intent/api/v1/network-device/{id}, PUT /dna/intent/api/v1/network-device.

  • Parameter ‘ip_address’ renamed to ‘ip_address_list’ in v6.12.0.

  • Removed ‘managementIpAddress’ options in v4.3.0.

  • Removed parameters in v6.12.0 ‘serial_number’, ‘device_added’, ‘role_source’.

  • Added in v6.13.1 - ‘add_user_defined_field’, ‘update_interface_details’, ‘export_device_list’, ‘admin_status’.

  • Removed in v6.13.1 - ‘provision_wireless_device’, ‘reprovision_wired_device’, ‘device_updated’.

  • Use strong passwords for device access and file encryption (8+ characters, mixed case, numbers, symbols).

  • Enable SNMP v3 with AUTHPRIV mode for secure device monitoring.

  • Regularly rotate device credentials and update in Catalyst Center.

  • Use HTTPS (http_secure=true) for web-based device management.

  • Maximum 200 devices per resync operation to prevent API timeouts.

  • Export operations limited to 800 devices per API call.

  • Maintenance scheduling supports up to 365-day recurrence intervals.

  • Use appropriate batch sizes for large-scale operations.

  • NETWORK_DEVICE - Requires username, password, and transport protocol.

  • COMPUTE_DEVICE - Requires http_username, http_password, and http_port.

  • MERAKI_DASHBOARD - Requires only http_password (API key).

  • FIREPOWER_MANAGEMENT_SYSTEM - Requires http_username, http_password, http_port.

  • THIRD_PARTY_DEVICE - Requires SNMP configuration for monitoring.

  • Device deletion with clean_config=false retains device configuration. To delete a device along with its configuration, the ‘clean_config’ flag must be explicitly set to True.

  • Interface updates only supported on user-facing/access ports.

  • MAC address table clearing restricted to ACCESS role devices.

  • Timezone specification recommended for maintenance scheduling accuracy. For a list of supported time zones, please refer to the relevant documentation detailing all available options.

  • Verify device reachability before bulk operations.

  • Monitor task status for long-running operations.

  • Check device management state before provisioning.

  • Validate site hierarchy before device-to-site assignments.

  • Ensure proper SNMP/NETCONF connectivity for device management.

  • Review Catalyst Center logs for detailed error information.

  • Does not support check_mode

  • The plugin runs on the control node and does not use any ansible connection plugins instead embedded connection manager from Cisco Catalyst Center SDK

  • The parameters starting with dnac_ are used by the Cisco Catalyst Center Python SDK to establish the connection

See Also

See also

Cisco Catalyst Center API Documentation

Complete API reference for device management.

Device Management API

Specific documentation for device operations.

Cisco Catalyst Center documentation for Devices DeleteDeviceById

Complete reference of the DeleteDeviceById API.

Cisco Catalyst Center documentation for Devices SyncDevices2

Complete reference of the SyncDevices2 API.

Site Design and Hierarchy

Site management for device provisioning.

Examples

---
- name: Add new device in Inventory with full credentials
  cisco.dnac.inventory_workflow_manager:
    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 }}"
    dnac_log_level: "{{ dnac_log_level }}"
    dnac_log: false
    state: merged
    config:
      - ip_address_list:
          - "204.1.2.2"
          - "204.1.2.3"
        cli_transport: ssh
        compute_device: false
        password: Test@123
        enable_password: Test@1234
        extended_discovery_info: test
        http_username: "testuser"
        http_password: "test"
        http_port: "443"
        http_secure: false
        netconf_port: 830
        snmp_auth_passphrase: "Lablab@12"
        snmp_auth_protocol: SHA
        snmp_mode: AUTHPRIV
        snmp_priv_passphrase: "Lablab@123"
        snmp_priv_protocol: AES256
        snmp_retry: 3
        snmp_timeout: 5
        snmp_username: v3Public
        snmp_version: v3
        type: NETWORK_DEVICE
        username: cisco
- name: Add new Compute device in Inventory with full
    credentials.Inputs needed for Compute Device
  cisco.dnac.inventory_workflow_manager:
    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 }}"
    dnac_log_level: "{{ dnac_log_level }}"
    dnac_log: false
    state: merged
    config:
      - ip_address_list:
          - "204.1.2.2"
          - "204.1.2.3"
        http_username: "testuser"
        http_password: "test"
        http_port: "443"
        snmp_auth_passphrase: "Lablab@12"
        snmp_auth_protocol: SHA
        snmp_mode: AUTHPRIV
        snmp_priv_passphrase: "Lablab@123"
        snmp_priv_protocol: AES256
        snmp_retry: 3
        snmp_timeout: 5
        snmp_username: v3Public
        compute_device: true
        username: cisco
        password: Lablab@123
        enable_password: Cisco@123
        type: "COMPUTE_DEVICE"
- name: Add new Compute device in Inventory with minimal configuration
    credentials.Inputs needed for Compute Device
  cisco.dnac.inventory_workflow_manager:
    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 }}"
    dnac_log_level: "{{ dnac_log_level }}"
    dnac_log: false
    state: merged
    config:
      - ip_address_list:
          - "204.1.2.2"
          - "204.1.2.3"
        compute_device: true
        type: "COMPUTE_DEVICE"
        http_username: "testuser"
        http_password: "test"
        http_port: "443"
        snmp_version: v2  # Based on device snmp version field required
        snmp_ro_community: Private@123  # Based on device snmp version field required
- name: Add new Meraki device in Inventory with full
    credentials.Inputs needed for Meraki Device.
  cisco.dnac.inventory_workflow_manager:
    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 }}"
    dnac_log_level: "{{ dnac_log_level }}"
    dnac_log: false
    state: merged
    config:
      - http_password: "test"
        type: "MERAKI_DASHBOARD"
- name: Add new Firepower Management device in Inventory
    with full credentials.Input needed to add Device.
  cisco.dnac.inventory_workflow_manager:
    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 }}"
    dnac_log_level: "{{ dnac_log_level }}"
    dnac_log: false
    state: merged
    config:
      - ip_address_list:
          - "204.1.2.2"
          - "204.1.2.3"
        http_username: "testuser"
        http_password: "test"
        http_port: "443"
        type: "FIREPOWER_MANAGEMENT_SYSTEM"
- name: Add new Third Party device in Inventory with
    full credentials.Input needed to add Device.
  cisco.dnac.inventory_workflow_manager:
    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 }}"
    dnac_log_level: "{{ dnac_log_level }}"
    dnac_log: false
    state: merged
    config:
      - ip_address_list:
          - "204.1.2.2"
          - "204.1.2.3"
        snmp_auth_passphrase: "Lablab@12"
        snmp_auth_protocol: SHA
        snmp_mode: AUTHPRIV
        snmp_priv_passphrase: "Lablab@123"
        snmp_priv_protocol: AES256
        snmp_retry: 3
        snmp_timeout: 5
        snmp_username: v3Public
        type: "THIRD_PARTY_DEVICE"
        username: v3Public
        password: "Lablab@123"
- name: Update device details or credentails in Inventory
  cisco.dnac.inventory_workflow_manager:
    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 }}"
    dnac_log_level: "{{ dnac_log_level }}"
    dnac_log: false
    state: merged
    config:
      - ip_address_list:
          - "204.1.2.2"
          - "204.1.2.3"
        cli_transport: telnet
        compute_device: false
        password: newtest123
        enable_password: newtest1233
        type: NETWORK_DEVICE
        credential_update: true
- name: Update new management IP address of device in
    inventory
  cisco.dnac.inventory_workflow_manager:
    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 }}"
    dnac_log_level: "{{ dnac_log_level }}"
    dnac_log: false
    state: merged
    config:
      - ip_address_list:
          - "204.1.2.2"
          - "204.1.2.3"
        credential_update: true
        update_mgmt_ipaddresslist:
          - exist_mgmt_ipaddress: "1.1.1.1"
            new_mgmt_ipaddress: "12.12.12.12"
- name: Associate Wired Devices to site and Provisioned
    it in Inventory
  cisco.dnac.inventory_workflow_manager:
    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 }}"
    dnac_log_level: "{{ dnac_log_level }}"
    dnac_log: false
    state: merged
    config:
      - provision_wired_device:
          - device_ip: "1.1.1.1"
            site_name: "Global/USA/San Francisco/BGL_18/floor_pnp"
            resync_retry_count: 200
            resync_retry_interval: 2
          - device_ip: "2.2.2.2"
            site_name: "Global/USA/San Francisco/BGL_18/floor_test"
            resync_retry_count: 200
            resync_retry_interval: 2
- name: Update Device Role with IP Address
  cisco.dnac.inventory_workflow_manager:
    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 }}"
    dnac_log_level: "{{ dnac_log_level }}"
    dnac_log: false
    state: merged
    config:
      - ip_address_list:
          - "204.1.2.2"
          - "204.1.2.3"
        role: ACCESS
- name: Update Interface details with IP Address
  cisco.dnac.inventory_workflow_manager:
    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 }}"
    dnac_log_level: "{{ dnac_log_level }}"
    dnac_log: false
    state: merged
    config:
      - ip_address_list:
          - "204.1.2.2"
          - "204.1.2.3"
        update_interface_details:
          description: "Testing for updating interface
            details"
          admin_status: "UP"
          vlan_id: 23
          voice_vlan_id: 45
          deployment_mode: "Deploy"
          interface_name: ["GigabitEthernet1/0/11", FortyGigabitEthernet1/1/1]
          clear_mac_address_table: true
- name: Export Device Details in a CSV file Interface
    details with IP Address
  cisco.dnac.inventory_workflow_manager:
    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 }}"
    dnac_log_level: "{{ dnac_log_level }}"
    dnac_log: false
    state: merged
    config:
      - ip_address_list:
          - "204.1.2.2"
          - "204.1.2.3"
        export_device_list:
          password: "File_password"
          operation_enum: "0"
          parameters: ["componentName", "SerialNumber", "Last Sync Status"]
- name: Create Global User Defined with IP Address
  cisco.dnac.inventory_workflow_manager:
    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 }}"
    dnac_log_level: "{{ dnac_log_level }}"
    dnac_log: false
    state: merged
    config:
      - ip_address_list:
          - "204.1.2.2"
          - "204.1.2.3"
        add_user_defined_field:
          - name: Test123
            description: "Added first udf for testing"
            value: "value123"
          - name: Test321
            description: "Added second udf for testing"
            value: "value321"
- name: Resync Device with IP Addresses
  cisco.dnac.inventory_workflow_manager:
    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 }}"
    dnac_log_level: "{{ dnac_log_level }}"
    dnac_log: false
    state: merged
    config:
      - ip_address_list:
          - "204.1.2.2"
          - "204.1.2.3"
        device_resync: true
        force_sync: false
- name: Reboot AP Devices with IP Addresses
  cisco.dnac.inventory_workflow_manager:
    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 }}"
    dnac_log_level: "{{ dnac_log_level }}"
    dnac_log: false
    state: merged
    config:
      - ip_address_list:
          - "204.1.2.2"
          - "204.1.2.3"
        reboot_device: true
- name: Schedule the maintenance for the devices for
    one time.
  cisco.dnac.inventory_workflow_manager:
    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 }}"
    dnac_log_level: "{{ dnac_log_level }}"
    dnac_log: false
    state: merged
    config:
      - devices_maintenance_schedule:
          - device_ips:
              - "204.1.2.2"
              - "204.1.2.3"
            description: "Schedule maintenance for 2
              devices"
            start_time: "2025-04-05 10:30:00"
            end_time: "2025-04-05 11:30:00"
            time_zone: "Asia/Kolkata"
- name: Schedule the maintenance for the devices with
    recurrence interval and recurrence end time.
  cisco.dnac.inventory_workflow_manager:
    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 }}"
    dnac_log_level: "{{ dnac_log_level }}"
    dnac_log: false
    state: merged
    config:
      - devices_maintenance_schedule:
          - device_ips:
              - "204.1.2.2"
              - "204.1.2.3"
            description: "Schedule maintenance for 2
              devices"
            start_time: "2025-04-05 10:30:00"
            end_time: "2025-04-05 11:30:00"
            ime_zone: "Asia/Kolkata"
            recurrence_end_time: "2025-04-10 11:40:00"
            recurrence_interval: 2
- name: Update the maintenance schedule for the devices.
  cisco.dnac.inventory_workflow_manager:
    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 }}"
    dnac_log_level: "{{ dnac_log_level }}"
    dnac_log: false
    state: merged
    config:
      - devices_maintenance_schedule:
          - device_ips:
              - "204.1.2.2"
              - "204.1.2.3"
            description: "Updated description for maintenance
              of 2 devices"
            start_time: "2025-04-05 10:30:00"
            end_time: "2025-04-05 11:30:00"
            time_zone: "Asia/Kolkata"
            recurrence_end_time: "2025-04-10 11:40:00"
            recurrence_interval: 1
- name: Delete Provision/Unprovision Devices by IP Address
  cisco.dnac.inventory_workflow_manager:
    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 }}"
    dnac_log: false
    dnac_log_level: "{{ dnac_log_level }}"
    state: deleted
    config:
      - ip_address_list:
          - "204.1.2.2"
          - "204.1.2.3"
        clean_config: false
- name: Delete Provision/Unprovision network devices
    along with configuration
  cisco.dnac.inventory_workflow_manager:
    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 }}"
    dnac_log: false
    dnac_log_level: "{{ dnac_log_level }}"
    state: deleted
    config:
      - ip_address_list:
          - "204.1.2.2"
          - "204.1.2.3"
        clean_config: true
- name: Delete Global User Defined Field with name
  cisco.dnac.inventory_workflow_manager:
    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 }}"
    dnac_log_level: "{{ dnac_log_level }}"
    dnac_log: false
    state: deleted
    config:
      - ip_address_list:
          - "204.1.2.2"
          - "204.1.2.3"
        add_user_defined_field:
          - name: "Test123"
- name: Delete the maintenance schedule for the devices.
  cisco.dnac.inventory_workflow_manager:
    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 }}"
    dnac_log_level: "{{ dnac_log_level }}"
    dnac_log: false
    state: deleted
    config:
      - devices_maintenance_schedule:
          - device_ips:
              - "204.1.2.2"
              - "204.1.2.3"

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 Catalyst Center Python SDK

Returned: always

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

Authors

  • Abhishek Maheshwari (@abmahesh)

  • Madhan Sankaranarayanan (@madhansansel)

  • Syed Khadeer Ahmed (@syed-khadeerahmed)

  • Ajith Andrew J (@ajithandrewj)