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 |
---|---|
List of device configurations for inventory operations |
|
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. |
|
UDF description and metadata. Info about the global user defined field. Also used while updating interface details. |
|
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 to assign to the UDF. Value to assign to tag with or without the same user defined field name. |
|
Remove device configuration during deletion.
Required if need to delete the Provisioned device by clearing current configuration. Choices:
|
|
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:
|
|
Indicates whether a device is a compute device. Choices:
|
|
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:
|
|
Trigger device inventory synchronization. Make this as true needed for the resyncing of device. Choices:
|
|
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. |
|
Maintenance purpose and details. A brief description of the maintenance schedule, specifying its purpose or any relevant details. |
|
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. |
|
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. |
|
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”. |
|
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). |
|
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. |
|
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:
|
|
Privileged EXEC mode password. Required for enabling configurations on the device. |
|
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: |
|
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. |
|
Export data type.
Choices:
|
|
Specific device attributes to export. List of device parameters that needs to be exported to file. (For example, [“componentName”, “SerialNumber”, “Last Sync Status”]) |
|
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). |
|
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”). |
|
Additional discovery information for the device. |
|
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:
|
|
Alternative device identification using hostnames. Can be used instead of IP addresses for operations. |
|
HTTP authentication password. Required for COMPUTE_DEVICE, MERAKI_DASHBOARD, and FIREPOWER_MANAGEMENT_SYSTEM. |
|
HTTP service port. Required for COMPUTE_DEVICE and FIREPOWER_MANAGEMENT_SYSTEM. Common values are 80 (HTTP) or 443 (HTTPS). |
|
Flag indicating HTTP security. Choices:
|
|
HTTP authentication username. Required for COMPUTE_DEVICE and FIREPOWER_MANAGEMENT_SYSTEM. |
|
List of device management IP addresses. Primary method for device identification. Required for most device operations (except Meraki). |
|
Alternative device identification using MAC addresses. Helpful for network discovery scenarios. |
|
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. |
|
Device access password and file encryption key. Required for NETWORK_DEVICE additions. Also used for CSV export file encryption. |
|
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. |
|
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. |
|
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: |
|
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: |
|
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. |
|
Trigger device reboot (Access Points only). Make this as true needed for the Rebooting of Access Points. Only applicable to Unified AP devices. Choices:
|
|
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: |
|
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: |
|
Network device role assignment.
Choices:
|
|
Alternative device identification using serial numbers. Useful for devices before IP assignment. |
|
SNMPv3 authentication passphrase. Required for AUTHNOPRIV and AUTHPRIV modes. |
|
SNMPv3 authentication algorithm. SHA (Secure Hash Algorithm) - cryptographic hash function commonly used for data integrity verification and authentication purposes. Choices:
|
|
Device’s snmp Mode refer to different SNMP (Simple Network Management Protocol) versions and their corresponding security levels.
Choices:
|
|
SNMPv3 privacy/encryption passphrase. Required for AUTHPRIV mode. |
|
SNMPv3 encryption algorithm. AES variants provide different key lengths. Required for adding network, compute, and third-party devices. Choices:
|
|
Number of SNMP request retries before timeout. Default: |
|
SNMPv2c read-only community string. Required for SNMPv2c devices. |
|
SNMPv2c read-write community string. Required for configuration changes via SNMP. |
|
SNMP request timeout in seconds. Default: |
|
SNMPv3 username for authentication. Required for SNMPv3 with authentication. |
|
It is a standard protocol used for managing and monitoring network devices.
Choices:
|
|
Device type classification for inventory management.
Choices:
|
|
Update physical interface configurations. This operation will take dictionary as a parameter and in this we give details to update interface details of device. |
|
Administrative interface state. Status of Interface of a device, it can be (UP/DOWN). Choices:
|
|
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:
|
|
Configuration deployment mode.
Choices:
|
|
Interface description text. Specifies the description of the interface of the device. |
|
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) |
|
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 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 device management IP addresses. |
|
Device’s existing Mgmt IpAddress. |
|
Device’s new Mgmt IpAddress. |
|
Device access username. Required for NETWORK_DEVICE additions. |
|
Enable verification of Cisco Catalyst Center configuration after applying playbook changes When enabled, the module will validate that changes were applied correctly Choices:
|
|
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: |
|
Indicates whether debugging is enabled in the Cisco Catalyst Center SDK. Choices:
|
|
The hostname of the Cisco Catalyst Center. |
|
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:
|
|
Determines the mode of the file. Set to True for ‘append’ mode. Set to False for ‘write’ mode. Choices:
|
|
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: |
|
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: |
|
The password for authentication at the Cisco Catalyst Center. |
|
Specifies the port number associated with the Cisco Catalyst Center. Default: |
|
Specifies the interval in seconds between successive calls to the API to retrieve task details. Default: |
|
The username for authentication at the Cisco Catalyst Center. Default: |
|
Flag to enable or disable SSL certificate verification. Choices:
|
|
Specifies the version of the Cisco Catalyst Center that the SDK should use. Default: |
|
Desired state of the device inventory after module execution
Choices:
|
|
Flag for Cisco Catalyst Center SDK to enable the validation of request bodies against a JSON schema. Choices:
|
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 |
---|---|
A dictionary or list with the response returned by the Cisco Catalyst Center Python SDK Returned: always Sample: |