From f06ed0557063748f37ae9dc04c990676fcdb87e7 Mon Sep 17 00:00:00 2001 From: SyedKhadeerAhmed Date: Tue, 7 Oct 2025 11:34:42 +0530 Subject: [PATCH 1/6] 6 bugs done --- plugins/modules/swim_workflow_manager.py | 177 +- .../dnac/fixtures/swim_workflow_manager.json | 3342 +++++++++++++++++ .../dnac/test_swim_workflow_manager.py | 58 +- 3 files changed, 3557 insertions(+), 20 deletions(-) diff --git a/plugins/modules/swim_workflow_manager.py b/plugins/modules/swim_workflow_manager.py index 3496130fc4..57a4f445d7 100644 --- a/plugins/modules/swim_workflow_manager.py +++ b/plugins/modules/swim_workflow_manager.py @@ -411,6 +411,15 @@ description: Specify the name of the device family such as Switches and Hubs, etc. type: str + api_task_timeout: + description: | + Timeout duration in seconds for image distribution API operations. Controls how long + the system waits for image distribution tasks to complete, including image transfer + to target devices, network propagation, and distribution validation. Default of 2400 + seconds (40 minutes) accounts for large image files, multiple target devices, and + network latency. Adjust based on distribution scope, network bandwidth, and image size. + type: int + default: 1800 site_name: description: Used to get device details associated to this site. @@ -467,6 +476,15 @@ ACCESS, BORDER ROUTER, DISTRIBUTION, and CORE. type: str + api_task_timeout: + description: | + Timeout duration in seconds for image activation API operations. Controls how long + the system waits for image upload, installation, and activation processes to complete + before timing out. Default of 2400 seconds (40 minutes) accommodates large image + transfers and device processing time. Adjust based on network speed, image size, + and device capabilities. + type: int + default: 1800 device_family_name: description: Specify the name of the device family such as Switches and Hubs, etc. @@ -831,6 +849,7 @@ device_family_name: Switches and Hubs device_series_name: Cisco Catalyst 9300 Series Switches + - name: Activate the given image on devices associated to that site with specified role. cisco.dnac.swim_workflow_manager: @@ -850,7 +869,52 @@ device_role: ALL device_family_name: Switches and Hubs device_series_name: Cisco Catalyst 9300 Series Switches - scehdule_validate: false + schedule_validate: false + activate_lower_image_version: true + distribute_if_needed: true + +- name: Activate the golden image on devices associated + to that site with specified role. + cisco.dnac.swim_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: true + config: + - image_activation_details: + site_name: Global/USA/San Francisco/BGL_18 + device_role: ALL + device_family_name: Switches and Hubs + device_series_name: Cisco Catalyst 9300 Series Switches + schedule_validate: false + activate_lower_image_version: true + distribute_if_needed: true + +- name: distribute the golden image on devices associated + to that site with specified role with custom api timeout. + cisco.dnac.swim_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: true + config: + - image_activation_details: + site_name: Global/USA/San Francisco/BGL_18 + api_task_timeout: 2500 + device_role: ALL + device_family_name: Switches and Hubs + device_series_name: Cisco Catalyst 9300 Series Switches + schedule_validate: false activate_lower_image_version: true distribute_if_needed: true @@ -1365,11 +1429,18 @@ def get_device_uuids( device_uuid_list = [] device_id_list, site_response_list = [], [] if not site_name: - site_names = "Global/.*" - self.log( - "Site name not specified; defaulting to 'Global' to fetch all devices under this category", - "INFO", - ) + if self.compare_dnac_versions(self.get_ccc_version(), "2.3.5.3") <= 0: + site_name = "Global/.*" + self.log( + "Site name not specified; defaulting to 'Global/.*' to fetch all devices under this category", + "INFO", + ) + else: + site_name = "Global" + self.log( + "Site name not specified; defaulting to 'Global' to fetch all devices under this category", + "INFO", + ) (site_exists, site_id) = self.site_exists(site_name) if not site_exists: @@ -1428,7 +1499,11 @@ def get_device_uuids( for item_dict in item["response"]: site_response_list.append(item_dict) else: + self.log(site_name, "DEBUG") if site_name: + self.log( + "Fetching devices for site '{0}'".format(site_name), "DEBUG" + ) site_type = self.get_sites_type(site_name) self.log("Determined site type: {0}".format(site_type), "DEBUG") site_info = {} @@ -1493,7 +1568,7 @@ def get_device_uuids( self.log("No child site data found under: {0}".format(wildcard_site_name), "DEBUG") site_names = site_name - elif site_type == "area": + elif site_type in ["area", "global"]: self.log( "Processing site as an area: {site_name}".format(site_name=site_name), "DEBUG", @@ -1528,7 +1603,7 @@ def get_device_uuids( "ERROR", ) - if site_type in ["area", "floor"]: + if site_type in ["area", "floor", "global"]: self.log("Fetching site names for pattern: {0}".format(site_names), "DEBUG") get_site_names = self.get_site(site_names) self.log("Fetched site names: {0}".format(str(get_site_names)), "DEBUG") @@ -2999,7 +3074,7 @@ def get_diff_distribution(self): device_family = distribution_details.get("device_family_name") device_role = distribution_details.get("device_role", "ALL") device_series_name = distribution_details.get("device_series_name") - + self.max_timeout = distribution_details.get("api_task_timeout", 1800) self.log( "Fetching device UUIDs for site '{0}', family '{1}', role '{2}', and series '{3}'.".format( site_name, device_family, device_role, device_series_name @@ -3087,6 +3162,7 @@ def get_diff_distribution(self): ) self.set_operation_result("success", False, self.msg, "INFO") return self + if ( self.compare_dnac_versions(self.get_ccc_version(), "2.3.7.9") <= 0 @@ -3213,7 +3289,7 @@ def get_diff_distribution(self): "DEBUG", ) - self.check_tasks_response_status( + self.check_swim_tasks_response_status( response, "distribute_images_on_the_network_device" ) @@ -3401,7 +3477,7 @@ def get_diff_distribution(self): self.log("API response from 'bulk_distribute_images_on_network_devices': {0}".format(str(response)), "DEBUG") - self.check_tasks_response_status( + self.check_swim_tasks_response_status( response, "bulk_distribute_images_on_network_devices" ) @@ -3559,6 +3635,7 @@ def get_diff_activation(self): device_family = activation_details.get("device_family_name") device_role = activation_details.get("device_role", "ALL") device_series_name = activation_details.get("device_series_name") + self.max_timeout = activation_details.get("api_task_timeout", 1800) self.log( "Fetching device UUIDs for site '{0}', family '{1}', role '{2}', and series '{3}'.".format( @@ -3653,7 +3730,7 @@ def get_diff_activation(self): activation_payload_list = [] # OLD FLOW (for DNAC < 2.3.7.9) - if self.compare_dnac_versions(self.get_ccc_version(), "2.3.7.9") < 0: + if self.compare_dnac_versions(self.get_ccc_version(), "2.3.7.9") <= 0: for image_name, image_id in image_ids.items(): payload = [ { @@ -3751,7 +3828,7 @@ def get_diff_activation(self): ) self.log("API response from 'update_images_on_the_network_device': {0}".format(str(response)), "DEBUG") - self.check_tasks_response_status(response, "update_images_on_the_network_device") + self.check_swim_tasks_response_status(response, "update_images_on_the_network_device") device_ip = self.get_device_ip_from_id(activation_device_id) if response and self.status not in ["failed", "exited"]: @@ -3817,7 +3894,7 @@ def get_diff_activation(self): device_ip_for_not_elg_list = [] # OLD FLOW (for DNAC < 2.3.7.9) - if self.compare_dnac_versions(self.get_ccc_version(), "2.3.7.9") < 0: + if self.compare_dnac_versions(self.get_ccc_version(), "2.3.7.9") <= 0: for device_uuid in device_uuid_list: device_ip = self.get_device_ip_from_id(device_uuid) activated = False @@ -3903,7 +3980,7 @@ def get_diff_activation(self): "{} to {}".format(img, ", ".join(devices)) for img, devices in failed_image_map.items() ] - # NEW FLOW (for DNAC >= 2.3.7.9) + # NEW FLOW (for DNAC > 2.3.7.9) else: image_id_base = self.have.get("activation_image_id") # Resolve sub-package ids (if any) @@ -3914,7 +3991,6 @@ def get_diff_activation(self): for device_uuid in device_uuid_list: device_ip = self.get_device_ip_from_id(device_uuid) - device_ips.append(device_ip) self.log("Processing device: {0}".format(device_ip), "DEBUG") # Aggregate all image ids for this device @@ -3934,6 +4010,8 @@ def get_diff_activation(self): device_ip_for_not_elg_list.append(device_ip) continue + device_ips.append(elg_device_ip) + activation_payload = {} if device_id: activation_payload["id"] = device_id @@ -3968,7 +4046,7 @@ def get_diff_activation(self): params={"payload": activation_payload_list}, ) self.log("API response from 'bulk_update_images_on_network_devices': {0}".format(str(response)), "DEBUG") - self.check_tasks_response_status(response, "bulk_update_images_on_network_devices") + self.check_swim_tasks_response_status(response, "bulk_update_images_on_network_devices") if response and self.status not in ["failed", "exited"]: self.msg = "All eligible images activated successfully on the devices {0}.".format(", ".join(device_ips)) @@ -4014,6 +4092,71 @@ def get_diff_activation(self): self.complete_successful_activation = True return self + def check_swim_tasks_response_status(self, response, api_name): + """ + Get the task response status from taskId + Args: + self: The current object details. + response (dict): API response. + api_name (str): API name. + Returns: + self (object): The current object with updated desired Fabric Transits information. + Description: + Poll the function 'get_tasks_by_id' until it returns either 'SUCCESS' or 'FAILURE' + state or till it reaches the maximum timeout. + Log the task details and return self. + """ + + if not response: + self.msg = "response is empty" + self.status = "exited" + return self + + if not isinstance(response, dict): + self.msg = "response is not a dictionary" + self.status = "exited" + return self + + task_info = response.get("response") + if task_info.get("errorcode") is not None: + self.msg = response.get("response").get("detail") + self.status = "failed" + return self + + task_id = task_info.get("taskId") + start_time = time.time() + while True: + elapsed_time = time.time() - start_time + if elapsed_time >= self.max_timeout: + self.msg = "Max timeout of {0} sec has reached for the task id '{1}'. " \ + .format(self.max_timeout, task_id) + \ + "Exiting the loop due to unexpected API '{0}' status.".format(api_name) + self.log(self.msg, "WARNING") + self.status = "failed" + break + + task_details = self.get_tasks_by_id(task_id) + self.log('Getting tasks details from task ID {0}: {1}' + .format(task_id, task_details), "DEBUG") + + task_status = task_details.get("status") + if task_status == "FAILURE": + details = self.get_task_details_by_id(task_id) + self.msg = details.get("failureReason") + self.status = "failed" + break + + elif task_status == "SUCCESS": + self.result["changed"] = True + self.log("The task with task ID '{0}' is executed successfully." + .format(task_id), "INFO") + break + + self.log("Progress is {0} for task ID: {1}" + .format(task_status, task_id), "DEBUG") + + return self + def get_diff_merged(self, config): """ Get tagging details and then trigger distribution followed by activation if specified in the playbook. diff --git a/tests/unit/modules/dnac/fixtures/swim_workflow_manager.json b/tests/unit/modules/dnac/fixtures/swim_workflow_manager.json index c15e2039df..89289bf443 100644 --- a/tests/unit/modules/dnac/fixtures/swim_workflow_manager.json +++ b/tests/unit/modules/dnac/fixtures/swim_workflow_manager.json @@ -11996,6 +11996,3348 @@ ,"Task_Details_": {"response": {"lastUpdate": 1758702532478, "status": "PENDING", "startTime": 1758702532340, "resultLocation": "/dna/intent/api/v1/tasks/01997ad6-f6f4-75a7-8227-508d56a067ca/detail", "id": "01997ad6-f6f4-75a7-8227-508d56a067ca"}, "version": "1.0"} ,"Task_Status__": {"response": {"endTime": 1758703979104, "rootId": "01997ad6-f6f4-75a7-8227-508d56a067ca", "status": "SUCCESS", "startTime": 1758702532340, "resultLocation": "/dna/intent/api/v1/tasks/01997ad6-f6f4-75a7-8227-508d56a067ca/detail", "id": "01997ad6-f6f4-75a7-8227-508d56a067ca"}, "version": "1.0"} +, "playbook_sub_package_images_with_api_task_timeout": [ + { + "image_activation_details": { + "activate_lower_image_version": true, + "api_task_timeout": 2500, + "distribute_if_needed": true, + "image_name": "cat9k_iosxe.17.12.01.SPA.bin", + "site_name": "Global/test_delete_device/delete_device_clean_config", + "sub_package_images": [ + "C9800-SW-iosxe-wlc.17.12.01.SPA.bin" + ] + } + } +], +"get_software_image_details10_sub_package_images_with_api_task_timeout": {"response": [{"imageUuid": "4c86a250-9ce3-4473-af5f-98ba2d12ec3c", "name": "cat9k_iosxe.17.12.01.SPA.bin", "family": "CAT9K", "version": "17.12.01.0.80", "displayVersion": "17.12.01", "md5Checksum": "977fe40c6a49f48210571ed453d57ecc", "shaCheckSum": "e1b5cd9e0b243af13eb48912310f56f6ad5cb154c1cc79b273b0018cb6fa102afa57b9208c8a6e85744dba9044612192899152339e157c659fae58f516231508", "createdTime": "2025-07-25 08:10:31.0", "imageType": "SYSTEM_SW", "fileSize": "1301722947 bytes", "imageName": "cat9k_iosxe.17.12.01.SPA.bin", "applicationType": "", "feature": "", "fileServiceId": "d6f46239-75d4-4419-95ac-6fb74710b0e0", "isTaggedGolden": true, "imageSource": "http://172.21.236.183/swim/V1712_1_CCO/cat9k_iosxe.17.12.01.SPA.bin", "extendedAttributes": {"Description": "Cisco IOS Software, IOS-XE Software", "BOOTROM": "UNKNOWN", "MINFLASHSIZE": "UNKNOWN", "MEDIA": "5", "FULL_VERSION": "17.12.01.0.80", "DEFAULT_BOOTROM": "UNKNOWN", "DEFAULT_RAM": "UNKNOWN", "GAIA_FEATURE": "UNKNOWN", "COMPRESSION_CODE": "-1", "DEFAULT_MINFLASHSIZE": "UNKNOWN", "RAM": "UNKNOWN"}, "vendor": "CISCO", "imageIntegrityStatus": "VERIFIED", "importSourceType": "REMOTEURL"}], "version": "1.0"}, +"get_sites2_sub_package_images_with_api_task_timeout":{"response": [{"id": "83470aa5-6f71-45f2-b02c-a5ee1d35e659", "siteHierarchyId": "73273999-4fde-4376-b071-25ebee51d155/b0ff2ef7-d187-4019-9e79-69e3416dd46c/83470aa5-6f71-45f2-b02c-a5ee1d35e659", "parentId": "b0ff2ef7-d187-4019-9e79-69e3416dd46c", "name": "delete_device_clean_config", "nameHierarchy": "Global/test_delete_device/delete_device_clean_config", "type": "building", "latitude": 37.373, "longitude": -121.873, "address": "1234 Elm Street3", "country": "india"}], "version": "1.0"}, +"get_sites3_sub_package_images_with_api_task_timeout": {"response": [{"id": "83470aa5-6f71-45f2-b02c-a5ee1d35e659", "siteHierarchyId": "73273999-4fde-4376-b071-25ebee51d155/b0ff2ef7-d187-4019-9e79-69e3416dd46c/83470aa5-6f71-45f2-b02c-a5ee1d35e659", "parentId": "b0ff2ef7-d187-4019-9e79-69e3416dd46c", "name": "delete_device_clean_config", "nameHierarchy": "Global/test_delete_device/delete_device_clean_config", "type": "building", "latitude": 37.373, "longitude": -121.873, "address": "1234 Elm Street3", "country": "india"}], "version": "1.0"}, +"get_sites1_sub_package_images_with_api_task_timeout": {"response": [{"id": "83470aa5-6f71-45f2-b02c-a5ee1d35e659", "siteHierarchyId": "73273999-4fde-4376-b071-25ebee51d155/b0ff2ef7-d187-4019-9e79-69e3416dd46c/83470aa5-6f71-45f2-b02c-a5ee1d35e659", "parentId": "b0ff2ef7-d187-4019-9e79-69e3416dd46c", "name": "delete_device_clean_config", "nameHierarchy": "Global/test_delete_device/delete_device_clean_config", "type": "building", "latitude": 37.373, "longitude": -121.873, "address": "1234 Elm Street3", "country": "india"}]}, +"get_site_assigned_network_devices1_sub_package_images_with_api_task_timeout": {"response": [{"deviceId": "e0ebb237-e073-4ce3-94b6-45bc6329194a", "siteId": "83470aa5-6f71-45f2-b02c-a5ee1d35e659", "siteNameHierarchy": "Global/test_delete_device/delete_device_clean_config", "siteType": "building"}], "version": "1.0"}, +"get_site_assigned_network_devices2_sub_package_images_with_api_task_timeout": {"response": [], "version": "1.0"}, +"get_device_list1_sub_package_images_with_api_task_timeout": {"response": [{"description": "Cisco IOS Software [IOSXE], Catalyst L3 Switch Software (CAT9K_IOSXE), Version 17.15.1prd18, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Thu 04-Jul-24 22:32 by mcpre netconf enabled", "memorySize": "NA", "family": "Switches and Hubs", "type": "Cisco Catalyst 9300 Switch", "upTime": "1:16:04.20", "lastUpdateTime": 1758698036783, "macAddress": "24:6c:84:d3:7f:80", "softwareType": "IOS-XE", "softwareVersion": "17.15.1prd18", "deviceSupportLevel": "Supported", "serialNumber": "FJC271924D9", "inventoryStatusDetail": "", "dnsResolvedManagementAddress": "204.1.2.1", "lastManagedResyncReasons": "Periodic", "managementState": "Managed", "pendingSyncRequestsCount": "0", "reasonsForDeviceResync": "Periodic", "reasonsForPendingSyncRequests": "", "syncRequestedByApp": "", "collectionInterval": "Global Default", "roleSource": "AUTO", "lastUpdated": "2025-09-24 07:13:56", "bootDateTime": "2025-09-24 05:57:56", "apManagerInterfaceIp": "", "collectionStatus": "Managed", "hostname": "SJ-EN-9300.clean.com", "locationName": null, "managementIpAddress": "204.1.2.1", "platformId": "C9300-48UXM", "reachabilityFailureReason": "", "reachabilityStatus": "Reachable", "series": "Cisco Catalyst 9300 Series Switches", "interfaceCount": "0", "snmpContact": "", "snmpLocation": "", "associatedWlcIp": "", "apEthernetMacAddress": null, "errorCode": null, "errorDescription": null, "lastDeviceResyncStartTime": "2025-09-24 07:12:50", "lineCardCount": "0", "lineCardId": "", "managedAtleastOnce": false, "tagCount": "0", "tunnelUdpPort": null, "uptimeSeconds": 9051, "vendor": "Cisco", "waasDeviceMode": null, "location": null, "role": "ACCESS", "instanceUuid": "e0ebb237-e073-4ce3-94b6-45bc6329194a", "instanceTenantId": "68593aeecd0f400013b8604e", "id": "e0ebb237-e073-4ce3-94b6-45bc6329194a"}], "version": "1.0"}, +"device_list_response1_sub_package_images_with_api_task_timeout": { + "response": [ + { + "description": "isFmc is true", + "memorySize": "NA", + "family": "Security and VPN", + "type": "Cisco Firepower Management Center", + "upTime": null, + "lastUpdateTime": 1758684741845, + "macAddress": null, + "softwareType": null, + "softwareVersion": null, + "deviceSupportLevel": "Supported", + "serialNumber": null, + "dnsResolvedManagementAddress": "5.5.5.5", + "lastManagedResyncReasons": "", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Periodic", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "collectionInterval": "06:00:00", + "roleSource": "AUTO", + "lastUpdated": "2025-09-24 03:32:21", + "bootDateTime": null, + "apManagerInterfaceIp": "", + "collectionStatus": "Partial Collection Failure", + "hostname": "5.5.5.5", + "locationName": null, + "managementIpAddress": "5.5.5.5", + "platformId": null, + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Firewall Management", + "interfaceCount": "0", + "snmpContact": "", + "snmpLocation": "", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": "UNKNOWN", + "errorDescription": "NCIM12024: All information from the device could not be collected successfully or the inventory collection for this device has not yet started. It may be a temporary problem that will resolve automatically. Resync the device, if that does not resolve the problem, please contact Cisco TAC.", + "lastDeviceResyncStartTime": "2025-09-24 03:25:58", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": false, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": -1, + "vendor": "NA", + "waasDeviceMode": null, + "location": null, + "role": "CORE", + "instanceUuid": "a7d476bf-3a70-49ff-b2a7-e10eca2d28ce", + "instanceTenantId": "68593aeecd0f400013b8604e", + "id": "a7d476bf-3a70-49ff-b2a7-e10eca2d28ce" + }, + { + "description": null, + "memorySize": "NA", + "family": "Unified AP", + "type": "Cisco Catalyst 9130AXE Unified Access Point", + "upTime": "01:14:54.150", + "lastUpdateTime": 1758698001942, + "macAddress": "04:5f:b9:c4:7e:60", + "softwareType": null, + "softwareVersion": "17.12.4.22", + "deviceSupportLevel": "Supported", + "serialNumber": "FJC243912MR", + "inventoryStatusDetail": "NA", + "dnsResolvedManagementAddress": "", + "lastManagedResyncReasons": "", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "collectionInterval": "NA", + "roleSource": "AUTO", + "lastUpdated": "2025-09-24 07:13:21", + "bootDateTime": null, + "apManagerInterfaceIp": "204.192.4.200", + "collectionStatus": "Managed", + "hostname": "AP1416.9D2A.1D0C", + "locationName": null, + "managementIpAddress": "204.1.216.4", + "platformId": "C9130AXE-B", + "reachabilityFailureReason": "NA", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9130AXE Series Unified Access Points", + "interfaceCount": "0", + "snmpContact": "", + "snmpLocation": "default location", + "associatedWlcIp": "204.192.4.200", + "apEthernetMacAddress": "14:16:9d:2a:1d:0c", + "errorCode": "null", + "errorDescription": null, + "lastDeviceResyncStartTime": "", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": false, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 9021, + "vendor": "NA", + "waasDeviceMode": null, + "location": null, + "role": "ACCESS", + "instanceUuid": "dd0c9055-d260-4182-9f60-8a634d83d9b5", + "instanceTenantId": "68593aeecd0f400013b8604e", + "id": "dd0c9055-d260-4182-9f60-8a634d83d9b5" + }, + { + "description": null, + "memorySize": "NA", + "family": "Unified AP", + "type": "Cisco Catalyst 9130AXE Unified Access Point", + "upTime": "01:14:55.150", + "lastUpdateTime": 1758698001942, + "macAddress": "04:5f:b9:c4:7e:80", + "softwareType": null, + "softwareVersion": "17.12.4.22", + "deviceSupportLevel": "Supported", + "serialNumber": "FJC243912MQ", + "inventoryStatusDetail": "NA", + "dnsResolvedManagementAddress": "", + "lastManagedResyncReasons": "", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "collectionInterval": "NA", + "roleSource": "AUTO", + "lastUpdated": "2025-09-24 07:13:21", + "bootDateTime": null, + "apManagerInterfaceIp": "204.192.4.200", + "collectionStatus": "Managed", + "hostname": "AP1416.9D2A.1D10", + "locationName": null, + "managementIpAddress": "204.1.216.5", + "platformId": "C9130AXE-B", + "reachabilityFailureReason": "NA", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9130AXE Series Unified Access Points", + "interfaceCount": "0", + "snmpContact": "", + "snmpLocation": "Global/USA/SAN JOSE/SJ_BLD23/FLOOR1", + "associatedWlcIp": "204.192.4.200", + "apEthernetMacAddress": "14:16:9d:2a:1d:10", + "errorCode": "null", + "errorDescription": null, + "lastDeviceResyncStartTime": "", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": false, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 9022, + "vendor": "NA", + "waasDeviceMode": null, + "location": null, + "role": "ACCESS", + "instanceUuid": "a8b26839-dfc5-4493-ad29-8ba8c9adec9a", + "instanceTenantId": "68593aeecd0f400013b8604e", + "id": "a8b26839-dfc5-4493-ad29-8ba8c9adec9a" + }, + { + "description": null, + "memorySize": "NA", + "family": "Unified AP", + "type": "Cisco Catalyst 9130AXI Unified Access Point", + "upTime": "01:14:54.150", + "lastUpdateTime": 1758698001942, + "macAddress": "14:16:9d:2e:a5:60", + "softwareType": null, + "softwareVersion": "17.12.4.22", + "deviceSupportLevel": "Supported", + "serialNumber": "KWC24160JLL", + "inventoryStatusDetail": "NA", + "dnsResolvedManagementAddress": "", + "lastManagedResyncReasons": "", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "collectionInterval": "NA", + "roleSource": "AUTO", + "lastUpdated": "2025-09-24 07:13:21", + "bootDateTime": null, + "apManagerInterfaceIp": "204.192.4.200", + "collectionStatus": "Managed", + "hostname": "AP3C41.0EFE.21D8", + "locationName": null, + "managementIpAddress": "204.1.216.6", + "platformId": "C9130AXI-I", + "reachabilityFailureReason": "NA", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9130AXI Series Unified Access Points", + "interfaceCount": "0", + "snmpContact": "", + "snmpLocation": "Global/USA/SAN JOSE/SJ_BLD23/FLOOR2", + "associatedWlcIp": "204.192.4.200", + "apEthernetMacAddress": "3c:41:0e:fe:21:d8", + "errorCode": "null", + "errorDescription": null, + "lastDeviceResyncStartTime": "", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": false, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 9021, + "vendor": "NA", + "waasDeviceMode": null, + "location": null, + "role": "ACCESS", + "instanceUuid": "cc1f193b-35b5-4cae-b9d8-75bed7beb456", + "instanceTenantId": "68593aeecd0f400013b8604e", + "id": "cc1f193b-35b5-4cae-b9d8-75bed7beb456" + }, + { + "description": null, + "memorySize": "NA", + "family": "Unified AP", + "type": "Cisco Catalyst Wireless 9166I Unified Access Point", + "upTime": "01:15:05.150", + "lastUpdateTime": 1758698001942, + "macAddress": "e4:38:7e:42:ee:80", + "softwareType": null, + "softwareVersion": "17.12.4.22", + "deviceSupportLevel": "Supported", + "serialNumber": "FJC27101P0Z", + "inventoryStatusDetail": "NA", + "dnsResolvedManagementAddress": "", + "lastManagedResyncReasons": "", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "collectionInterval": "NA", + "roleSource": "AUTO", + "lastUpdated": "2025-09-24 07:13:21", + "bootDateTime": null, + "apManagerInterfaceIp": "204.192.4.200", + "collectionStatus": "Managed", + "hostname": "AP6849.9275.2910", + "locationName": null, + "managementIpAddress": "204.1.216.2", + "platformId": "CW9166I-B", + "reachabilityFailureReason": "NA", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst Wireless 9166 Series Unified Access Points", + "interfaceCount": "0", + "snmpContact": "", + "snmpLocation": "default location", + "associatedWlcIp": "204.192.4.200", + "apEthernetMacAddress": "68:49:92:75:29:10", + "errorCode": "null", + "errorDescription": null, + "lastDeviceResyncStartTime": "", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": false, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 9032, + "vendor": "NA", + "waasDeviceMode": null, + "location": null, + "role": "ACCESS", + "instanceUuid": "6a1753e3-b040-4ec7-823e-f63b7796b0c9", + "instanceTenantId": "68593aeecd0f400013b8604e", + "id": "6a1753e3-b040-4ec7-823e-f63b7796b0c9" + }, + { + "description": null, + "memorySize": "NA", + "family": "Unified AP", + "type": "Cisco Catalyst Wireless 9166I Unified Access Point", + "upTime": "01:15:04.150", + "lastUpdateTime": 1758698001942, + "macAddress": "e4:38:7e:42:f2:20", + "softwareType": null, + "softwareVersion": "17.12.4.22", + "deviceSupportLevel": "Supported", + "serialNumber": "FJC27101P1Q", + "inventoryStatusDetail": "NA", + "dnsResolvedManagementAddress": "", + "lastManagedResyncReasons": "", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "collectionInterval": "NA", + "roleSource": "AUTO", + "lastUpdated": "2025-09-24 07:13:21", + "bootDateTime": null, + "apManagerInterfaceIp": "204.192.4.200", + "collectionStatus": "Managed", + "hostname": "AP6849.9275.2AE0", + "locationName": null, + "managementIpAddress": "204.1.216.3", + "platformId": "CW9166I-B", + "reachabilityFailureReason": "NA", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst Wireless 9166 Series Unified Access Points", + "interfaceCount": "0", + "snmpContact": "", + "snmpLocation": "default location", + "associatedWlcIp": "204.192.4.200", + "apEthernetMacAddress": "68:49:92:75:2a:e0", + "errorCode": "null", + "errorDescription": null, + "lastDeviceResyncStartTime": "", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": false, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 9031, + "vendor": "NA", + "waasDeviceMode": null, + "location": null, + "role": "ACCESS", + "instanceUuid": "cf268aa2-6b4b-4358-be04-d8c4afd3960a", + "instanceTenantId": "68593aeecd0f400013b8604e", + "id": "cf268aa2-6b4b-4358-be04-d8c4afd3960a" + }, + { + "description": null, + "memorySize": "NA", + "family": "Unified AP", + "type": "Cisco Catalyst 9120AXE Unified Access Point", + "upTime": "01:14:41.810", + "lastUpdateTime": 1758697993684, + "macAddress": "68:7d:b4:06:b0:a0", + "softwareType": null, + "softwareVersion": "17.15.0.81", + "deviceSupportLevel": "Supported", + "serialNumber": "FJC24401SM6", + "inventoryStatusDetail": "NA", + "dnsResolvedManagementAddress": "", + "lastManagedResyncReasons": "", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "collectionInterval": "NA", + "roleSource": "AUTO", + "lastUpdated": "2025-09-24 07:13:13", + "bootDateTime": null, + "apManagerInterfaceIp": "204.192.6.200", + "collectionStatus": "Managed", + "hostname": "AP687D.B402.1614", + "locationName": null, + "managementIpAddress": "204.1.216.7", + "platformId": "C9120AXE-B", + "reachabilityFailureReason": "NA", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9120AXE Series Unified Access Points", + "interfaceCount": "0", + "snmpContact": "", + "snmpLocation": "default location", + "associatedWlcIp": "204.192.6.200", + "apEthernetMacAddress": "68:7d:b4:02:16:14", + "errorCode": "null", + "errorDescription": null, + "lastDeviceResyncStartTime": "", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": false, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 9016, + "vendor": "NA", + "waasDeviceMode": null, + "location": null, + "role": "ACCESS", + "instanceUuid": "6763ac28-f34c-41f1-bc05-8733332c4c1f", + "instanceTenantId": "68593aeecd0f400013b8604e", + "id": "6763ac28-f34c-41f1-bc05-8733332c4c1f" + }, + { + "description": null, + "memorySize": "NA", + "family": "Unified AP", + "type": "Cisco Catalyst 9120AXE Unified Access Point", + "upTime": "90 days, 16:25:26.150", + "lastUpdateTime": 1758698001942, + "macAddress": "68:7d:b4:06:f4:c0", + "softwareType": null, + "softwareVersion": "17.12.4.22", + "deviceSupportLevel": "Supported", + "serialNumber": "FJC24401SM0", + "inventoryStatusDetail": "NA", + "dnsResolvedManagementAddress": "", + "lastManagedResyncReasons": "", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "collectionInterval": "NA", + "roleSource": "AUTO", + "lastUpdated": "2025-09-24 07:13:21", + "bootDateTime": null, + "apManagerInterfaceIp": "204.192.4.200", + "collectionStatus": "Managed", + "hostname": "AP687D.B402.1E98", + "locationName": null, + "managementIpAddress": "204.192.106.5", + "platformId": "C9120AXE-B", + "reachabilityFailureReason": "NA", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9120AXE Series Unified Access Points", + "interfaceCount": "0", + "snmpContact": "", + "snmpLocation": "default location", + "associatedWlcIp": "204.192.4.200", + "apEthernetMacAddress": "68:7d:b4:02:1e:98", + "errorCode": "null", + "errorDescription": null, + "lastDeviceResyncStartTime": "", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": false, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 7839653, + "vendor": "NA", + "waasDeviceMode": null, + "location": null, + "role": "ACCESS", + "instanceUuid": "59f3bbe9-befa-4068-938d-4baed4276a2a", + "instanceTenantId": "68593aeecd0f400013b8604e", + "id": "59f3bbe9-befa-4068-938d-4baed4276a2a" + }, + { + "description": null, + "memorySize": "NA", + "family": "Unified AP", + "type": "Cisco Catalyst 9120AXE Unified Access Point", + "upTime": "90 days, 16:25:12.150", + "lastUpdateTime": 1758698001942, + "macAddress": "a4:88:73:d0:53:60", + "softwareType": null, + "softwareVersion": "17.12.4.22", + "deviceSupportLevel": "Supported", + "serialNumber": "FJC24391K97", + "inventoryStatusDetail": "NA", + "dnsResolvedManagementAddress": "", + "lastManagedResyncReasons": "", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "collectionInterval": "NA", + "roleSource": "AUTO", + "lastUpdated": "2025-09-24 07:13:21", + "bootDateTime": null, + "apManagerInterfaceIp": "204.192.4.200", + "collectionStatus": "Managed", + "hostname": "Cisco_9120AXE_IP4-01", + "locationName": null, + "managementIpAddress": "204.192.106.7", + "platformId": "C9120AXE-B", + "reachabilityFailureReason": "NA", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9120AXE Series Unified Access Points", + "interfaceCount": "0", + "snmpContact": "", + "snmpLocation": "Global/USA/SAN JOSE/SJ_BLD23/FLOOR1", + "associatedWlcIp": "204.192.4.200", + "apEthernetMacAddress": "a4:88:73:ce:0a:6c", + "errorCode": "null", + "errorDescription": null, + "lastDeviceResyncStartTime": "", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": false, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 7839639, + "vendor": "NA", + "waasDeviceMode": null, + "location": null, + "role": "ACCESS", + "instanceUuid": "e239d9ae-d4fc-44a7-a5ae-9245e427b7ce", + "instanceTenantId": "68593aeecd0f400013b8604e", + "id": "e239d9ae-d4fc-44a7-a5ae-9245e427b7ce" + }, + { + "description": null, + "memorySize": "NA", + "family": "Unified AP", + "type": "Cisco Catalyst 9120AXE Unified Access Point", + "upTime": "90 days, 16:25:41.150", + "lastUpdateTime": 1758698001942, + "macAddress": "a4:88:73:d4:dd:80", + "softwareType": null, + "softwareVersion": "17.12.4.22", + "deviceSupportLevel": "Supported", + "serialNumber": "FJC24391KBC", + "inventoryStatusDetail": "NA", + "dnsResolvedManagementAddress": "", + "lastManagedResyncReasons": "", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "collectionInterval": "NA", + "roleSource": "AUTO", + "lastUpdated": "2025-09-24 07:13:21", + "bootDateTime": null, + "apManagerInterfaceIp": "204.192.4.200", + "collectionStatus": "Managed", + "hostname": "Cisco_9120AXE_IP4-02", + "locationName": null, + "managementIpAddress": "204.192.106.6", + "platformId": "C9120AXE-B", + "reachabilityFailureReason": "NA", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9120AXE Series Unified Access Points", + "interfaceCount": "0", + "snmpContact": "", + "snmpLocation": "Global/USA/SAN JOSE/SJ_BLD23/FLOOR1", + "associatedWlcIp": "204.192.4.200", + "apEthernetMacAddress": "a4:88:73:ce:9b:b0", + "errorCode": "null", + "errorDescription": null, + "lastDeviceResyncStartTime": "", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": false, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 7839668, + "vendor": "NA", + "waasDeviceMode": null, + "location": null, + "role": "ACCESS", + "instanceUuid": "69c0d57c-da4d-4033-94f0-f3fe5d78be87", + "instanceTenantId": "68593aeecd0f400013b8604e", + "id": "69c0d57c-da4d-4033-94f0-f3fe5d78be87" + }, + { + "description": "Cisco IOS Software [Cupertino], Catalyst L3 Switch Software (CAT9K_IOSXE), Version 17.9.6a, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Thu 03-Oct-24 06:39 by mcpre netconf enabled", + "memorySize": "NA", + "family": "Switches and Hubs", + "type": "Cisco Catalyst 9300 Switch", + "upTime": "96 days, 3:34:57.51", + "lastUpdateTime": 1758699616299, + "macAddress": "34:88:18:f0:a1:80", + "softwareType": "IOS-XE", + "softwareVersion": "17.9.6a", + "deviceSupportLevel": "Supported", + "serialNumber": "FJC272127LW", + "inventoryStatusDetail": "", + "dnsResolvedManagementAddress": "204.192.3.40", + "lastManagedResyncReasons": "Periodic", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Periodic", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "collectionInterval": "Global Default", + "roleSource": "MANUAL", + "lastUpdated": "2025-09-24 07:40:16", + "bootDateTime": "2025-06-20 04:06:16", + "apManagerInterfaceIp": "", + "collectionStatus": "Managed", + "hostname": "DC-FR-9300.cisco.local", + "locationName": null, + "managementIpAddress": "204.192.3.40", + "platformId": "C9300-48T", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9300 Series Switches", + "interfaceCount": "0", + "snmpContact": "", + "snmpLocation": "", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2025-09-24 07:38:55", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 8310152, + "vendor": "Cisco", + "waasDeviceMode": null, + "location": null, + "role": "DISTRIBUTION", + "instanceUuid": "ce7ee59f-a892-4e31-a71b-1fc9cd86303e", + "instanceTenantId": "68593aeecd0f400013b8604e", + "id": "ce7ee59f-a892-4e31-a71b-1fc9cd86303e" + }, + { + "description": "Cisco IOS Software [Dublin], Catalyst L3 Switch Software (CAT9K_IOSXE), Version 17.12.4, RELEASE SOFTWARE (fc3) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Tue 23-Jul-24 09:40 by mcpre netconf enabled", + "memorySize": "NA", + "family": "Switches and Hubs", + "type": "Cisco Catalyst 9300 Switch", + "upTime": "22 days, 21:07:10.99", + "lastUpdateTime": 1758698057411, + "macAddress": "90:88:55:90:26:00", + "softwareType": "IOS-XE", + "softwareVersion": "17.12.4", + "deviceSupportLevel": "Supported", + "serialNumber": "FJC27212582", + "inventoryStatusDetail": "", + "dnsResolvedManagementAddress": "204.1.2.5", + "lastManagedResyncReasons": "Periodic", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Periodic", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "collectionInterval": "Global Default", + "roleSource": "AUTO", + "lastUpdated": "2025-09-24 07:14:17", + "bootDateTime": "2025-09-01 10:07:17", + "apManagerInterfaceIp": "", + "collectionStatus": "Managed", + "hostname": "DC-T-9300.cisco.local", + "locationName": null, + "managementIpAddress": "204.1.2.5", + "platformId": "C9300-48T", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9300 Series Switches", + "interfaceCount": "0", + "snmpContact": "", + "snmpLocation": "", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2025-09-24 07:13:14", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 1981291, + "vendor": "Cisco", + "waasDeviceMode": null, + "location": null, + "role": "DISTRIBUTION", + "instanceUuid": "55310960-a992-4c43-beb1-524646e91509", + "instanceTenantId": "68593aeecd0f400013b8604e", + "id": "55310960-a992-4c43-beb1-524646e91509" + }, + { + "description": "Cisco IOS Software [IOSXE], Virtual XE Software (X86_64_LINUX_IOSD-UNIVERSALK9-M), Version 17.15.4prd3, RELEASE SOFTWARE (fc3) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2025 by Cisco Systems, Inc. Compiled Thu 19-Jun-25 18: netconf enabled", + "memorySize": "NA", + "family": "Routers", + "type": "Cisco Catalyst 8000V Edge Software", + "upTime": "1 day, 23:50:20.35", + "lastUpdateTime": 1758687960863, + "macAddress": "00:1e:14:3d:d3:00", + "softwareType": "IOS-XE", + "softwareVersion": "17.15.4prd3", + "deviceSupportLevel": "Supported", + "serialNumber": "9TRQFABSFR2", + "inventoryStatusDetail": "", + "dnsResolvedManagementAddress": "204.1.1.101", + "lastManagedResyncReasons": "Config Change Event", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Config Change Event", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "collectionInterval": "Global Default", + "roleSource": "AUTO", + "lastUpdated": "2025-09-24 04:26:00", + "bootDateTime": "2025-09-22 04:36:00", + "apManagerInterfaceIp": "", + "collectionStatus": "Managed", + "hostname": "IAC2-SJ-BN-1-8KV", + "locationName": null, + "managementIpAddress": "204.1.1.101", + "platformId": "C8000V", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cloud Edge", + "interfaceCount": "0", + "snmpContact": "", + "snmpLocation": "", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2025-09-24 04:25:58", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 186768, + "vendor": "Cisco", + "waasDeviceMode": null, + "location": null, + "role": "BORDER ROUTER", + "instanceUuid": "df3e5571-06b2-4391-90db-b0305bc680a7", + "instanceTenantId": "68593aeecd0f400013b8604e", + "id": "df3e5571-06b2-4391-90db-b0305bc680a7" + }, + { + "description": "Cisco IOS Software [Dublin], Catalyst L3 Switch Software (CAT9K_IOSXE), Version 17.12.1, RELEASE SOFTWARE (fc5) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2023 by Cisco Systems, Inc. Compiled Thu 27-Jul-23 22:38 by mcpre netconf enabled", + "memorySize": "NA", + "family": "Switches and Hubs", + "type": "Cisco Catalyst 9500 Switch", + "upTime": "64 days, 3:27:45.39", + "lastUpdateTime": 1758698821507, + "macAddress": "c4:7e:e0:0f:eb:80", + "softwareType": "IOS-XE", + "softwareVersion": "17.12.1", + "deviceSupportLevel": "Supported", + "serialNumber": "FJC27221TMG, FJC27221KAX", + "inventoryStatusDetail": "", + "dnsResolvedManagementAddress": "204.1.2.4", + "lastManagedResyncReasons": "Periodic", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Periodic", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "collectionInterval": "Global Default", + "roleSource": "MANUAL", + "lastUpdated": "2025-09-24 07:27:01", + "bootDateTime": "2025-07-22 04:00:01", + "apManagerInterfaceIp": "", + "collectionStatus": "Managed", + "hostname": "NY-BN-9500.cisco.local", + "locationName": null, + "managementIpAddress": "204.1.2.4", + "platformId": "C9500-16X, C9500-16X", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9500 Series Switches", + "interfaceCount": "0", + "snmpContact": "", + "snmpLocation": "", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2025-09-24 07:26:10", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 5545727, + "vendor": "Cisco", + "waasDeviceMode": null, + "location": null, + "role": "DISTRIBUTION", + "instanceUuid": "ff3e0e86-a361-42c2-b634-819f588b8b64", + "instanceTenantId": "68593aeecd0f400013b8604e", + "id": "ff3e0e86-a361-42c2-b634-819f588b8b64" + }, + { + "description": "Cisco IOS Software [IOSXE], Catalyst L3 Switch Software (CAT9K_IOSXE), Version 17.15.1prd18, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Thu 04-Jul-24 22:32 by mcpre netconf enabled", + "memorySize": "NA", + "family": "Switches and Hubs", + "type": "Cisco Catalyst 9300 Switch", + "upTime": "1 day, 21:26:17.71", + "lastUpdateTime": 1758697275362, + "macAddress": "24:6c:84:e2:77:80", + "softwareType": "IOS-XE", + "softwareVersion": "17.15.1prd18", + "deviceSupportLevel": "Supported", + "serialNumber": "FJC271923AK", + "inventoryStatusDetail": "", + "dnsResolvedManagementAddress": "204.1.2.2", + "lastManagedResyncReasons": "Application Requested", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Periodic", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "collectionInterval": "Global Default", + "roleSource": "MANUAL", + "lastUpdated": "2025-09-24 07:01:15", + "bootDateTime": "2025-09-22 09:35:15", + "apManagerInterfaceIp": "", + "collectionStatus": "Partial Collection Failure", + "hostname": "NY-EN-9300.cisco.local", + "locationName": null, + "managementIpAddress": "204.1.2.2", + "platformId": "C9300-48UXM", + "reachabilityFailureReason": "SNMP Connectivity Failed", + "reachabilityStatus": "Unreachable", + "series": "Cisco Catalyst 9300 Series Switches", + "interfaceCount": "0", + "snmpContact": "", + "snmpLocation": "", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": "DEV-UNREACHED", + "errorDescription": "NCIM12013: SNMP timeouts are occurring with this device. Either the SNMP credentials are not correctly provided to Catalyst Center or the device is responding slow and SNMP timeout is low. If it's a timeout issue, Catalyst Center will attempt to progressively adjust the timeout in subsequent collection cycles to get device to managed state. User can also run discovery again only for this device using the discovery feature after adjusting the timeout and SNMP credentials as required. Or user can update the timeout and SNMP credentials as required using update credentials.", + "lastDeviceResyncStartTime": "2025-09-24 07:00:15", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 168813, + "vendor": "Cisco", + "waasDeviceMode": null, + "location": null, + "role": "ACCESS", + "instanceUuid": "2874a326-1370-49e9-8f40-c1e7460e4526", + "instanceTenantId": "68593aeecd0f400013b8604e", + "id": "2874a326-1370-49e9-8f40-c1e7460e4526" + }, + { + "description": "Cisco IOS Software [IOSXE], C9800 Software (C9800_IOSXE-K9), Version 17.15.1prd18, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Thu 04-Jul-24 22:36 by mcpre netconf enabled", + "memorySize": "NA", + "family": "Wireless Controller", + "type": "Cisco Catalyst 9800-80 Wireless Controller", + "upTime": "22 days, 21:03:13.95", + "lastUpdateTime": 1758697993684, + "macAddress": "b0:c5:3c:0d:ba:0b", + "softwareType": "IOS-XE", + "softwareVersion": "17.15.1prd18", + "deviceSupportLevel": "Supported", + "serialNumber": "FXS2424Q4PA", + "inventoryStatusDetail": "", + "dnsResolvedManagementAddress": "204.192.6.200", + "lastManagedResyncReasons": "Periodic", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Periodic", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "collectionInterval": "Global Default", + "roleSource": "AUTO", + "lastUpdated": "2025-09-24 07:13:13", + "bootDateTime": "2025-09-01 10:10:13", + "apManagerInterfaceIp": "", + "collectionStatus": "Managed", + "hostname": "NY-EWLC-1.cisco.local", + "locationName": null, + "managementIpAddress": "204.192.6.200", + "platformId": "C9800-80-K9", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9800 Series Wireless Controllers", + "interfaceCount": "0", + "snmpContact": "", + "snmpLocation": "", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2025-09-24 07:12:44", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 1981115, + "vendor": "Cisco", + "waasDeviceMode": null, + "location": null, + "role": "ACCESS", + "instanceUuid": "6cc213bc-e16f-488b-b97f-aee08f1dedab", + "instanceTenantId": "68593aeecd0f400013b8604e", + "id": "6cc213bc-e16f-488b-b97f-aee08f1dedab" + }, + { + "description": "Cisco IOS Software [Dublin], C9800 Software (C9800_IOSXE-K9), Version 17.12.4, RELEASE SOFTWARE (fc3) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Tue 23-Jul-24 09:45 by mcpre netconf enabled", + "memorySize": "NA", + "family": "Wireless Controller", + "type": "Cisco Catalyst 9800-80 Wireless Controller", + "upTime": "6 days, 20:22:12.12", + "lastUpdateTime": 1758698016280, + "macAddress": "cc:7f:76:8f:1c:81", + "softwareType": "IOS-XE", + "softwareVersion": "17.12.4", + "deviceSupportLevel": "Supported", + "serialNumber": "FXS2416Q1A4", + "inventoryStatusDetail": "", + "dnsResolvedManagementAddress": "10.195.247.23", + "lastManagedResyncReasons": "Periodic", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Periodic", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "collectionInterval": "Global Default", + "roleSource": "AUTO", + "lastUpdated": "2025-09-24 07:13:36", + "bootDateTime": "2025-09-17 10:51:36", + "apManagerInterfaceIp": "", + "collectionStatus": "Managed", + "hostname": "NY-EWLC-2.cisco.local", + "locationName": null, + "managementIpAddress": "10.195.247.23", + "platformId": "C9800-80-K9", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9800 Series Wireless Controllers", + "interfaceCount": "0", + "snmpContact": "", + "snmpLocation": "", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2025-09-24 07:12:40", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 596232, + "vendor": "Cisco", + "waasDeviceMode": null, + "location": null, + "role": "ACCESS", + "instanceUuid": "d8ac0acd-6e8f-4b4c-8e1e-fb70f99497a6", + "instanceTenantId": "68593aeecd0f400013b8604e", + "id": "d8ac0acd-6e8f-4b4c-8e1e-fb70f99497a6" + }, + { + "description": "IOS-XE Cisco IOS Software [Dublin], ISR Software (X86_64_LINUX_IOSD-UNIVERSALK9-M), Version 17.12.4, RELEASE SOFTWARE (fc3) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Tue 23-Jul-24 15:35 by mcpr netconf enabled", + "memorySize": "NA", + "family": "Routers", + "type": "Cisco 4451-X Integrated Services Router", + "upTime": "91 days, 21:07:20.08", + "lastUpdateTime": 1758699040164, + "macAddress": "7c:31:0e:80:40:20", + "softwareType": "IOS-XE", + "softwareVersion": "17.12.4", + "deviceSupportLevel": "Supported", + "serialNumber": "FJC2402A0TX", + "inventoryStatusDetail": "", + "dnsResolvedManagementAddress": "204.1.2.6", + "lastManagedResyncReasons": "Periodic", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Periodic", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "collectionInterval": "Global Default", + "roleSource": "MANUAL", + "lastUpdated": "2025-09-24 07:30:40", + "bootDateTime": "2025-06-24 10:23:40", + "apManagerInterfaceIp": "", + "collectionStatus": "Managed", + "hostname": "SF-BN-1-ISR.cisco.local", + "locationName": null, + "managementIpAddress": "204.1.2.6", + "platformId": "ISR4451-X/K9", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco 4000 Series Integrated Services Routers", + "interfaceCount": "0", + "snmpContact": "", + "snmpLocation": "", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2025-09-24 07:30:16", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 7941908, + "vendor": "Cisco", + "waasDeviceMode": null, + "location": null, + "role": "ACCESS", + "instanceUuid": "015680bf-e720-4f61-ba4a-48fab5f0e39a", + "instanceTenantId": "68593aeecd0f400013b8604e", + "id": "015680bf-e720-4f61-ba4a-48fab5f0e39a" + }, + { + "description": "IOS-XE Cisco IOS Software [Bengaluru], ASR1000 Software (X86_64_LINUX_IOSD-UNIVERSALK9-M), Version 17.6.8a, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Mon 14-Oct-24 08:01 netconf enabled", + "memorySize": "NA", + "family": "Routers", + "type": "Cisco ASR 1001-X Router", + "upTime": "91 days, 21:03:21.56", + "lastUpdateTime": 1758699050779, + "macAddress": "ec:ce:13:16:f6:80", + "softwareType": "IOS-XE", + "softwareVersion": "17.6.8a", + "deviceSupportLevel": "Supported", + "serialNumber": "FXS2502Q2HC", + "inventoryStatusDetail": "", + "dnsResolvedManagementAddress": "204.1.2.7", + "lastManagedResyncReasons": "Periodic", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Periodic", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "collectionInterval": "Global Default", + "roleSource": "MANUAL", + "lastUpdated": "2025-09-24 07:30:50", + "bootDateTime": "2025-06-24 10:27:50", + "apManagerInterfaceIp": "", + "collectionStatus": "Managed", + "hostname": "SF-BN-2-ASR.cisco.local", + "locationName": null, + "managementIpAddress": "204.1.2.7", + "platformId": "ASR1001-X", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco ASR 1000 Series Aggregation Services Routers", + "interfaceCount": "0", + "snmpContact": "", + "snmpLocation": "", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2025-09-24 07:30:21", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 7941658, + "vendor": "Cisco", + "waasDeviceMode": null, + "location": null, + "role": "ACCESS", + "instanceUuid": "738fa455-9fb2-477f-8311-55cc5065b5c5", + "instanceTenantId": "68593aeecd0f400013b8604e", + "id": "738fa455-9fb2-477f-8311-55cc5065b5c5" + }, + { + "description": "IOS-XE Cisco IOS Software [Bengaluru], ASR1000 Software (X86_64_LINUX_IOSD-UNIVERSALK9-M), Version 17.6.8a, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Mon 14-Oct-24 08:01 netconf enabled", + "memorySize": "NA", + "family": "Routers", + "type": "Cisco ASR 1001-X Router", + "upTime": "91 days, 20:47:03.34", + "lastUpdateTime": 1758698001482, + "macAddress": "34:73:2d:24:13:00", + "softwareType": "IOS-XE", + "softwareVersion": "17.6.8a", + "deviceSupportLevel": "Supported", + "serialNumber": "FXS2501Q06Z", + "inventoryStatusDetail": "", + "dnsResolvedManagementAddress": "204.1.2.9", + "lastManagedResyncReasons": "Periodic", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Periodic", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "collectionInterval": "Global Default", + "roleSource": "AUTO", + "lastUpdated": "2025-09-24 07:13:21", + "bootDateTime": "2025-06-24 10:26:21", + "apManagerInterfaceIp": "", + "collectionStatus": "Managed", + "hostname": "SF-BN-2-ASR.cisco.local", + "locationName": null, + "managementIpAddress": "204.1.2.9", + "platformId": "ASR1001-X", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco ASR 1000 Series Aggregation Services Routers", + "interfaceCount": "0", + "snmpContact": "", + "snmpLocation": "", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2025-09-24 07:12:47", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 7941747, + "vendor": "Cisco", + "waasDeviceMode": null, + "location": null, + "role": "BORDER ROUTER", + "instanceUuid": "290019d0-2fc0-4ff8-bb92-31a134a270c4", + "instanceTenantId": "68593aeecd0f400013b8604e", + "id": "290019d0-2fc0-4ff8-bb92-31a134a270c4" + }, + { + "description": "Cisco IOS Software [Dublin], Catalyst L3 Switch Software (CAT9K_IOSXE), Version 17.12.4, RELEASE SOFTWARE (fc3) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Tue 23-Jul-24 09:40 by mcpre netconf enabled", + "memorySize": "NA", + "family": "Switches and Hubs", + "type": "Cisco Catalyst 9300 Switch", + "upTime": "84 days, 15:01:33.58", + "lastUpdateTime": 1758698077552, + "macAddress": "90:88:55:88:83:80", + "softwareType": "IOS-XE", + "softwareVersion": "17.12.4", + "deviceSupportLevel": "Supported", + "serialNumber": "FJC272121AG", + "inventoryStatusDetail": "", + "dnsResolvedManagementAddress": "204.1.2.3", + "lastManagedResyncReasons": "Periodic", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Periodic", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "collectionInterval": "Global Default", + "roleSource": "MANUAL", + "lastUpdated": "2025-09-24 07:14:37", + "bootDateTime": "2025-07-01 16:13:37", + "apManagerInterfaceIp": "", + "collectionStatus": "Managed", + "hostname": "SJ-BN-9300.cisco.local", + "locationName": null, + "managementIpAddress": "204.1.2.3", + "platformId": "C9300-48T", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9300 Series Switches", + "interfaceCount": "0", + "snmpContact": "", + "snmpLocation": "", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2025-09-24 07:13:25", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 7316111, + "vendor": "Cisco", + "waasDeviceMode": null, + "location": null, + "role": "DISTRIBUTION", + "instanceUuid": "c7d77703-517a-40a0-9ccf-3a1350edd391", + "instanceTenantId": "68593aeecd0f400013b8604e", + "id": "c7d77703-517a-40a0-9ccf-3a1350edd391" + }, + { + "description": "Cisco IOS Software [Dublin], Catalyst L3 Switch Software (CAT9K_IOSXE), Version 17.12.2, RELEASE SOFTWARE (fc2) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2023 by Cisco Systems, Inc. Compiled Tue 14-Nov-23 05:56 by mcpre netconf enabled", + "memorySize": "NA", + "family": "Switches and Hubs", + "type": "Cisco Catalyst 9300 Switch", + "upTime": "91 days, 20:46:39.81", + "lastUpdateTime": 1758698062720, + "macAddress": "8c:94:1f:b3:3f:80", + "softwareType": "IOS-XE", + "softwareVersion": "17.12.2", + "deviceSupportLevel": "Supported", + "serialNumber": "FOC2439LA89", + "inventoryStatusDetail": "", + "dnsResolvedManagementAddress": "204.1.2.70", + "lastManagedResyncReasons": "Periodic", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Periodic", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "collectionInterval": "Global Default", + "roleSource": "AUTO", + "lastUpdated": "2025-09-24 07:14:22", + "bootDateTime": "2025-06-24 10:28:22", + "apManagerInterfaceIp": "", + "collectionStatus": "Managed", + "hostname": "SJ-EN-10-9300.cisco.local", + "locationName": null, + "managementIpAddress": "204.1.2.70", + "platformId": "C9300-24UXB", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9300 Series Switches", + "interfaceCount": "0", + "snmpContact": "", + "snmpLocation": "", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2025-09-24 07:13:18", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 7941626, + "vendor": "Cisco", + "waasDeviceMode": null, + "location": null, + "role": "ACCESS", + "instanceUuid": "396a0000-2093-454b-8e33-d5761dfa1c92", + "instanceTenantId": "68593aeecd0f400013b8604e", + "id": "396a0000-2093-454b-8e33-d5761dfa1c92" + }, + { + "description": "Cisco IOS Software [IOSXE], Catalyst L3 Switch Software (CAT9K_IOSXE), Version 17.15.1prd18, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Thu 04-Jul-24 22:32 by mcpre netconf enabled", + "memorySize": "NA", + "family": "Switches and Hubs", + "type": "Cisco Catalyst 9300 Switch", + "upTime": "1:16:04.20", + "lastUpdateTime": 1758698036783, + "macAddress": "24:6c:84:d3:7f:80", + "softwareType": "IOS-XE", + "softwareVersion": "17.15.1prd18", + "deviceSupportLevel": "Supported", + "serialNumber": "FJC271924D9", + "inventoryStatusDetail": "", + "dnsResolvedManagementAddress": "204.1.2.1", + "lastManagedResyncReasons": "Periodic", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Periodic", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "collectionInterval": "Global Default", + "roleSource": "AUTO", + "lastUpdated": "2025-09-24 07:13:56", + "bootDateTime": "2025-09-24 05:57:56", + "apManagerInterfaceIp": "", + "collectionStatus": "Managed", + "hostname": "SJ-EN-9300.clean.com", + "locationName": null, + "managementIpAddress": "204.1.2.1", + "platformId": "C9300-48UXM", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9300 Series Switches", + "interfaceCount": "0", + "snmpContact": "", + "snmpLocation": "", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2025-09-24 07:12:50", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 9052, + "vendor": "Cisco", + "waasDeviceMode": null, + "location": null, + "role": "ACCESS", + "instanceUuid": "e0ebb237-e073-4ce3-94b6-45bc6329194a", + "instanceTenantId": "68593aeecd0f400013b8604e", + "id": "e0ebb237-e073-4ce3-94b6-45bc6329194a" + }, + { + "description": "Cisco IOS Software [Dublin], C9800 Software (C9800_IOSXE-K9), Version 17.12.4, RELEASE SOFTWARE (fc3) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Tue 23-Jul-24 09:45 by mcpre netconf enabled", + "memorySize": "NA", + "family": "Wireless Controller", + "type": "Cisco Catalyst 9800-40 Wireless Controller", + "upTime": "91 days, 20:44:09.95", + "lastUpdateTime": 1758698001942, + "macAddress": "64:8f:3e:83:fa:6b", + "softwareType": "IOS-XE", + "softwareVersion": "17.12.4", + "deviceSupportLevel": "Supported", + "serialNumber": "FOX2639PAYD", + "inventoryStatusDetail": "", + "dnsResolvedManagementAddress": "204.192.4.200", + "lastManagedResyncReasons": "Periodic", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Periodic", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "collectionInterval": "Global Default", + "roleSource": "AUTO", + "lastUpdated": "2025-09-24 07:13:21", + "bootDateTime": "2025-06-24 10:29:21", + "apManagerInterfaceIp": "", + "collectionStatus": "Managed", + "hostname": "SJ-EWLC-1.cisco.local", + "locationName": null, + "managementIpAddress": "204.192.4.200", + "platformId": "C9800-40-K9", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9800 Series Wireless Controllers", + "interfaceCount": "0", + "snmpContact": "", + "snmpLocation": "", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2025-09-24 07:12:42", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 7941567, + "vendor": "Cisco", + "waasDeviceMode": null, + "location": null, + "role": "ACCESS", + "instanceUuid": "83c38984-ab24-47af-8c9e-f36bae034dc3", + "instanceTenantId": "68593aeecd0f400013b8604e", + "id": "83c38984-ab24-47af-8c9e-f36bae034dc3" + }, + { + "description": "Cisco IOS Software [Dublin], Catalyst L3 Switch Software (CAT9K_IOSXE), Version 17.12.2, RELEASE SOFTWARE (fc2) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2023 by Cisco Systems, Inc. Compiled Tue 14-Nov-23 05:56 by mcpre netconf enabled", + "memorySize": "NA", + "family": "Switches and Hubs", + "type": "Cisco Catalyst 9300 Switch", + "upTime": "18 days, 21:51:09.65", + "lastUpdateTime": 1758699550776, + "macAddress": "f8:7b:20:77:f9:80", + "softwareType": "IOS-XE", + "softwareVersion": "17.12.2", + "deviceSupportLevel": "Supported", + "serialNumber": "FCW2137L0SB", + "inventoryStatusDetail": "", + "dnsResolvedManagementAddress": "204.1.2.8", + "lastManagedResyncReasons": "Periodic", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Periodic", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "collectionInterval": "Global Default", + "roleSource": "MANUAL", + "lastUpdated": "2025-09-24 07:39:10", + "bootDateTime": "2025-09-05 09:48:10", + "apManagerInterfaceIp": "", + "collectionStatus": "Managed", + "hostname": "switch.cisco.local.cisco.local", + "locationName": null, + "managementIpAddress": "204.1.2.8", + "platformId": "C9300-48UN", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9300 Series Switches", + "interfaceCount": "0", + "snmpContact": "", + "snmpLocation": "", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2025-09-24 07:37:53", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 1636838, + "vendor": "Cisco", + "waasDeviceMode": null, + "location": null, + "role": "ACCESS", + "instanceUuid": "f04bc86d-8f5c-4da6-aae3-6571169b1234", + "instanceTenantId": "68593aeecd0f400013b8604e", + "id": "f04bc86d-8f5c-4da6-aae3-6571169b1234" + }, + { + "description": null, + "memorySize": "NA", + "family": null, + "type": null, + "upTime": null, + "lastUpdateTime": 1758619956267, + "macAddress": null, + "softwareType": null, + "softwareVersion": null, + "deviceSupportLevel": "Unsupported", + "serialNumber": null, + "inventoryStatusDetail": "", + "dnsResolvedManagementAddress": "29.2.2.2", + "lastManagedResyncReasons": "", + "managementState": "Never Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Periodic", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "collectionInterval": "Global Default", + "roleSource": "AUTO", + "lastUpdated": "2025-09-23 09:32:36", + "bootDateTime": null, + "apManagerInterfaceIp": "", + "collectionStatus": "Could Not Synchronize", + "hostname": null, + "locationName": null, + "managementIpAddress": "29.2.2.2", + "platformId": null, + "reachabilityFailureReason": "SNMP Connectivity Failed", + "reachabilityStatus": "Unreachable", + "series": null, + "interfaceCount": "0", + "snmpContact": null, + "snmpLocation": null, + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": "DEV-UNREACHED", + "errorDescription": "NCIM12013: SNMP timeouts are occurring with this device. Either the SNMP credentials are not correctly provided to Catalyst Center or the device is responding slow and SNMP timeout is low. If it's a timeout issue, Catalyst Center will attempt to progressively adjust the timeout in subsequent collection cycles to get device to managed state. User can also run discovery again only for this device using the discovery feature after adjusting the timeout and SNMP credentials as required. Or user can update the timeout and SNMP credentials as required using update credentials.", + "lastDeviceResyncStartTime": "2025-09-23 09:25:57", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": false, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": -1, + "vendor": "NA", + "waasDeviceMode": null, + "location": null, + "role": "UNKNOWN", + "instanceUuid": "50606fe5-d4d5-41dc-9bef-b36b7013bd17", + "instanceTenantId": "68593aeecd0f400013b8604e", + "id": "50606fe5-d4d5-41dc-9bef-b36b7013bd17" + }, + { + "description": null, + "memorySize": "NA", + "family": null, + "type": null, + "upTime": null, + "lastUpdateTime": 1758701149211, + "macAddress": null, + "softwareType": null, + "softwareVersion": null, + "deviceSupportLevel": "Unsupported", + "serialNumber": null, + "inventoryStatusDetail": "", + "dnsResolvedManagementAddress": "29.1.1.1", + "lastManagedResyncReasons": "", + "managementState": "Never Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Periodic", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "collectionInterval": "Global Default", + "roleSource": "AUTO", + "lastUpdated": "2025-09-24 08:05:49", + "bootDateTime": null, + "apManagerInterfaceIp": "", + "collectionStatus": "Could Not Synchronize", + "hostname": null, + "locationName": null, + "managementIpAddress": "29.1.1.1", + "platformId": null, + "reachabilityFailureReason": "SNMP Connectivity Failed", + "reachabilityStatus": "Unreachable", + "series": null, + "interfaceCount": "0", + "snmpContact": null, + "snmpLocation": null, + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": "DEV-UNREACHED", + "errorDescription": "NCIM12013: SNMP timeouts are occurring with this device. Either the SNMP credentials are not correctly provided to Catalyst Center or the device is responding slow and SNMP timeout is low. If it's a timeout issue, Catalyst Center will attempt to progressively adjust the timeout in subsequent collection cycles to get device to managed state. User can also run discovery again only for this device using the discovery feature after adjusting the timeout and SNMP credentials as required. Or user can update the timeout and SNMP credentials as required using update credentials.", + "lastDeviceResyncStartTime": "2025-09-24 07:56:59", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": false, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": -1, + "vendor": "NA", + "waasDeviceMode": null, + "location": null, + "role": "UNKNOWN", + "instanceUuid": "7e570084-3b6b-488d-abc2-ec489ed16b60", + "instanceTenantId": "68593aeecd0f400013b8604e", + "id": "7e570084-3b6b-488d-abc2-ec489ed16b60" + }, + { + "description": null, + "memorySize": "NA", + "family": null, + "type": null, + "upTime": null, + "lastUpdateTime": 1758701120531, + "macAddress": null, + "softwareType": null, + "softwareVersion": null, + "deviceSupportLevel": "Unsupported", + "serialNumber": null, + "inventoryStatusDetail": "", + "dnsResolvedManagementAddress": "30.1.1.1", + "lastManagedResyncReasons": "", + "managementState": "Never Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Periodic", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "collectionInterval": "Global Default", + "roleSource": "AUTO", + "lastUpdated": "2025-09-24 08:05:20", + "bootDateTime": null, + "apManagerInterfaceIp": "", + "collectionStatus": "Could Not Synchronize", + "hostname": null, + "locationName": null, + "managementIpAddress": "30.1.1.1", + "platformId": null, + "reachabilityFailureReason": "SNMP Connectivity Failed", + "reachabilityStatus": "Unreachable", + "series": null, + "interfaceCount": "0", + "snmpContact": null, + "snmpLocation": null, + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": "DEV-UNREACHED", + "errorDescription": "NCIM12013: SNMP timeouts are occurring with this device. Either the SNMP credentials are not correctly provided to Catalyst Center or the device is responding slow and SNMP timeout is low. If it's a timeout issue, Catalyst Center will attempt to progressively adjust the timeout in subsequent collection cycles to get device to managed state. User can also run discovery again only for this device using the discovery feature after adjusting the timeout and SNMP credentials as required. Or user can update the timeout and SNMP credentials as required using update credentials.", + "lastDeviceResyncStartTime": "2025-09-24 07:56:31", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": false, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": -1, + "vendor": "NA", + "waasDeviceMode": null, + "location": null, + "role": "UNKNOWN", + "instanceUuid": "01cbcb2f-71ec-47de-ab4f-4d58b4f1826e", + "instanceTenantId": "68593aeecd0f400013b8604e", + "id": "01cbcb2f-71ec-47de-ab4f-4d58b4f1826e" + }, + { + "description": null, + "memorySize": "NA", + "family": null, + "type": null, + "upTime": null, + "lastUpdateTime": 1758701634109, + "macAddress": null, + "softwareType": null, + "softwareVersion": null, + "deviceSupportLevel": "Unsupported", + "serialNumber": null, + "inventoryStatusDetail": "", + "dnsResolvedManagementAddress": "38.5.4.3", + "lastManagedResyncReasons": "", + "managementState": "Never Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Periodic", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "collectionInterval": "Global Default", + "roleSource": "AUTO", + "lastUpdated": "2025-09-24 08:13:54", + "bootDateTime": null, + "apManagerInterfaceIp": "", + "collectionStatus": "Could Not Synchronize", + "hostname": null, + "locationName": null, + "managementIpAddress": "38.5.4.3", + "platformId": null, + "reachabilityFailureReason": "SNMP Connectivity Failed", + "reachabilityStatus": "Unreachable", + "series": null, + "interfaceCount": "0", + "snmpContact": null, + "snmpLocation": null, + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": "DEV-UNREACHED", + "errorDescription": "NCIM12013: SNMP timeouts are occurring with this device. Either the SNMP credentials are not correctly provided to Catalyst Center or the device is responding slow and SNMP timeout is low. If it's a timeout issue, Catalyst Center will attempt to progressively adjust the timeout in subsequent collection cycles to get device to managed state. User can also run discovery again only for this device using the discovery feature after adjusting the timeout and SNMP credentials as required. Or user can update the timeout and SNMP credentials as required using update credentials.", + "lastDeviceResyncStartTime": "2025-09-24 08:12:58", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": false, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": -1, + "vendor": "NA", + "waasDeviceMode": null, + "location": null, + "role": "UNKNOWN", + "instanceUuid": "2898fab9-8142-405c-b33f-14fc9aa5894e", + "instanceTenantId": "68593aeecd0f400013b8604e", + "id": "2898fab9-8142-405c-b33f-14fc9aa5894e" + }, + { + "description": null, + "memorySize": "NA", + "family": null, + "type": null, + "upTime": null, + "lastUpdateTime": 1758684439003, + "macAddress": null, + "softwareType": null, + "softwareVersion": null, + "deviceSupportLevel": "Unsupported", + "serialNumber": null, + "inventoryStatusDetail": "", + "dnsResolvedManagementAddress": "57.5.5.5", + "lastManagedResyncReasons": "", + "managementState": "Never Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Periodic", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "collectionInterval": "Global Default", + "roleSource": "AUTO", + "lastUpdated": "2025-09-24 03:27:19", + "bootDateTime": null, + "apManagerInterfaceIp": "", + "collectionStatus": "Could Not Synchronize", + "hostname": null, + "locationName": null, + "managementIpAddress": "57.5.5.5", + "platformId": null, + "reachabilityFailureReason": "SNMP Connectivity Failed", + "reachabilityStatus": "Unreachable", + "series": null, + "interfaceCount": "0", + "snmpContact": null, + "snmpLocation": null, + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": "DEV-UNREACHED", + "errorDescription": "NCIM12013: SNMP timeouts are occurring with this device. Either the SNMP credentials are not correctly provided to Catalyst Center or the device is responding slow and SNMP timeout is low. If it's a timeout issue, Catalyst Center will attempt to progressively adjust the timeout in subsequent collection cycles to get device to managed state. User can also run discovery again only for this device using the discovery feature after adjusting the timeout and SNMP credentials as required. Or user can update the timeout and SNMP credentials as required using update credentials.", + "lastDeviceResyncStartTime": "2025-09-24 03:27:05", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": false, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": -1, + "vendor": "NA", + "waasDeviceMode": null, + "location": null, + "role": "UNKNOWN", + "instanceUuid": "a8e355a1-5838-41f3-8d7b-478e50ab07a0", + "instanceTenantId": "68593aeecd0f400013b8604e", + "id": "a8e355a1-5838-41f3-8d7b-478e50ab07a0" + } + ], + "version": "1.0" +}, + "device_list_response2_sub_package_images_with_api_task_timeout": {"response": [], "version": "1.0"}, + "get_device_list2_sub_package_images_with_api_task_timeout": { + "response": [ + { + "description": "isFmc is true", + "memorySize": "NA", + "family": "Security and VPN", + "type": "Cisco Firepower Management Center", + "upTime": null, + "lastUpdateTime": 1758684741845, + "macAddress": null, + "softwareType": null, + "softwareVersion": null, + "deviceSupportLevel": "Supported", + "serialNumber": null, + "dnsResolvedManagementAddress": "5.5.5.5", + "lastManagedResyncReasons": "", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Periodic", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "collectionInterval": "06:00:00", + "roleSource": "AUTO", + "lastUpdated": "2025-09-24 03:32:21", + "bootDateTime": null, + "apManagerInterfaceIp": "", + "collectionStatus": "Partial Collection Failure", + "hostname": "5.5.5.5", + "locationName": null, + "managementIpAddress": "5.5.5.5", + "platformId": null, + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Firewall Management", + "interfaceCount": "0", + "snmpContact": "", + "snmpLocation": "", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": "UNKNOWN", + "errorDescription": "NCIM12024: All information from the device could not be collected successfully or the inventory collection for this device has not yet started. It may be a temporary problem that will resolve automatically. Resync the device, if that does not resolve the problem, please contact Cisco TAC.", + "lastDeviceResyncStartTime": "2025-09-24 03:25:58", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": false, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": -1, + "vendor": "NA", + "waasDeviceMode": null, + "location": null, + "role": "CORE", + "instanceUuid": "a7d476bf-3a70-49ff-b2a7-e10eca2d28ce", + "instanceTenantId": "68593aeecd0f400013b8604e", + "id": "a7d476bf-3a70-49ff-b2a7-e10eca2d28ce" + }, + { + "description": null, + "memorySize": "NA", + "family": "Unified AP", + "type": "Cisco Catalyst 9130AXE Unified Access Point", + "upTime": "01:14:54.150", + "lastUpdateTime": 1758698001942, + "macAddress": "04:5f:b9:c4:7e:60", + "softwareType": null, + "softwareVersion": "17.12.4.22", + "deviceSupportLevel": "Supported", + "serialNumber": "FJC243912MR", + "inventoryStatusDetail": "NA", + "dnsResolvedManagementAddress": "", + "lastManagedResyncReasons": "", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "collectionInterval": "NA", + "roleSource": "AUTO", + "lastUpdated": "2025-09-24 07:13:21", + "bootDateTime": null, + "apManagerInterfaceIp": "204.192.4.200", + "collectionStatus": "Managed", + "hostname": "AP1416.9D2A.1D0C", + "locationName": null, + "managementIpAddress": "204.1.216.4", + "platformId": "C9130AXE-B", + "reachabilityFailureReason": "NA", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9130AXE Series Unified Access Points", + "interfaceCount": "0", + "snmpContact": "", + "snmpLocation": "default location", + "associatedWlcIp": "204.192.4.200", + "apEthernetMacAddress": "14:16:9d:2a:1d:0c", + "errorCode": "null", + "errorDescription": null, + "lastDeviceResyncStartTime": "", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": false, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 9022, + "vendor": "NA", + "waasDeviceMode": null, + "location": null, + "role": "ACCESS", + "instanceUuid": "dd0c9055-d260-4182-9f60-8a634d83d9b5", + "instanceTenantId": "68593aeecd0f400013b8604e", + "id": "dd0c9055-d260-4182-9f60-8a634d83d9b5" + }, + { + "description": null, + "memorySize": "NA", + "family": "Unified AP", + "type": "Cisco Catalyst 9130AXE Unified Access Point", + "upTime": "01:14:55.150", + "lastUpdateTime": 1758698001942, + "macAddress": "04:5f:b9:c4:7e:80", + "softwareType": null, + "softwareVersion": "17.12.4.22", + "deviceSupportLevel": "Supported", + "serialNumber": "FJC243912MQ", + "inventoryStatusDetail": "NA", + "dnsResolvedManagementAddress": "", + "lastManagedResyncReasons": "", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "collectionInterval": "NA", + "roleSource": "AUTO", + "lastUpdated": "2025-09-24 07:13:21", + "bootDateTime": null, + "apManagerInterfaceIp": "204.192.4.200", + "collectionStatus": "Managed", + "hostname": "AP1416.9D2A.1D10", + "locationName": null, + "managementIpAddress": "204.1.216.5", + "platformId": "C9130AXE-B", + "reachabilityFailureReason": "NA", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9130AXE Series Unified Access Points", + "interfaceCount": "0", + "snmpContact": "", + "snmpLocation": "Global/USA/SAN JOSE/SJ_BLD23/FLOOR1", + "associatedWlcIp": "204.192.4.200", + "apEthernetMacAddress": "14:16:9d:2a:1d:10", + "errorCode": "null", + "errorDescription": null, + "lastDeviceResyncStartTime": "", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": false, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 9023, + "vendor": "NA", + "waasDeviceMode": null, + "location": null, + "role": "ACCESS", + "instanceUuid": "a8b26839-dfc5-4493-ad29-8ba8c9adec9a", + "instanceTenantId": "68593aeecd0f400013b8604e", + "id": "a8b26839-dfc5-4493-ad29-8ba8c9adec9a" + }, + { + "description": null, + "memorySize": "NA", + "family": "Unified AP", + "type": "Cisco Catalyst 9130AXI Unified Access Point", + "upTime": "01:14:54.150", + "lastUpdateTime": 1758698001942, + "macAddress": "14:16:9d:2e:a5:60", + "softwareType": null, + "softwareVersion": "17.12.4.22", + "deviceSupportLevel": "Supported", + "serialNumber": "KWC24160JLL", + "inventoryStatusDetail": "NA", + "dnsResolvedManagementAddress": "", + "lastManagedResyncReasons": "", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "collectionInterval": "NA", + "roleSource": "AUTO", + "lastUpdated": "2025-09-24 07:13:21", + "bootDateTime": null, + "apManagerInterfaceIp": "204.192.4.200", + "collectionStatus": "Managed", + "hostname": "AP3C41.0EFE.21D8", + "locationName": null, + "managementIpAddress": "204.1.216.6", + "platformId": "C9130AXI-I", + "reachabilityFailureReason": "NA", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9130AXI Series Unified Access Points", + "interfaceCount": "0", + "snmpContact": "", + "snmpLocation": "Global/USA/SAN JOSE/SJ_BLD23/FLOOR2", + "associatedWlcIp": "204.192.4.200", + "apEthernetMacAddress": "3c:41:0e:fe:21:d8", + "errorCode": "null", + "errorDescription": null, + "lastDeviceResyncStartTime": "", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": false, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 9022, + "vendor": "NA", + "waasDeviceMode": null, + "location": null, + "role": "ACCESS", + "instanceUuid": "cc1f193b-35b5-4cae-b9d8-75bed7beb456", + "instanceTenantId": "68593aeecd0f400013b8604e", + "id": "cc1f193b-35b5-4cae-b9d8-75bed7beb456" + }, + { + "description": null, + "memorySize": "NA", + "family": "Unified AP", + "type": "Cisco Catalyst Wireless 9166I Unified Access Point", + "upTime": "01:15:05.150", + "lastUpdateTime": 1758698001942, + "macAddress": "e4:38:7e:42:ee:80", + "softwareType": null, + "softwareVersion": "17.12.4.22", + "deviceSupportLevel": "Supported", + "serialNumber": "FJC27101P0Z", + "inventoryStatusDetail": "NA", + "dnsResolvedManagementAddress": "", + "lastManagedResyncReasons": "", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "collectionInterval": "NA", + "roleSource": "AUTO", + "lastUpdated": "2025-09-24 07:13:21", + "bootDateTime": null, + "apManagerInterfaceIp": "204.192.4.200", + "collectionStatus": "Managed", + "hostname": "AP6849.9275.2910", + "locationName": null, + "managementIpAddress": "204.1.216.2", + "platformId": "CW9166I-B", + "reachabilityFailureReason": "NA", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst Wireless 9166 Series Unified Access Points", + "interfaceCount": "0", + "snmpContact": "", + "snmpLocation": "default location", + "associatedWlcIp": "204.192.4.200", + "apEthernetMacAddress": "68:49:92:75:29:10", + "errorCode": "null", + "errorDescription": null, + "lastDeviceResyncStartTime": "", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": false, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 9033, + "vendor": "NA", + "waasDeviceMode": null, + "location": null, + "role": "ACCESS", + "instanceUuid": "6a1753e3-b040-4ec7-823e-f63b7796b0c9", + "instanceTenantId": "68593aeecd0f400013b8604e", + "id": "6a1753e3-b040-4ec7-823e-f63b7796b0c9" + }, + { + "description": null, + "memorySize": "NA", + "family": "Unified AP", + "type": "Cisco Catalyst Wireless 9166I Unified Access Point", + "upTime": "01:15:04.150", + "lastUpdateTime": 1758698001942, + "macAddress": "e4:38:7e:42:f2:20", + "softwareType": null, + "softwareVersion": "17.12.4.22", + "deviceSupportLevel": "Supported", + "serialNumber": "FJC27101P1Q", + "inventoryStatusDetail": "NA", + "dnsResolvedManagementAddress": "", + "lastManagedResyncReasons": "", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "collectionInterval": "NA", + "roleSource": "AUTO", + "lastUpdated": "2025-09-24 07:13:21", + "bootDateTime": null, + "apManagerInterfaceIp": "204.192.4.200", + "collectionStatus": "Managed", + "hostname": "AP6849.9275.2AE0", + "locationName": null, + "managementIpAddress": "204.1.216.3", + "platformId": "CW9166I-B", + "reachabilityFailureReason": "NA", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst Wireless 9166 Series Unified Access Points", + "interfaceCount": "0", + "snmpContact": "", + "snmpLocation": "default location", + "associatedWlcIp": "204.192.4.200", + "apEthernetMacAddress": "68:49:92:75:2a:e0", + "errorCode": "null", + "errorDescription": null, + "lastDeviceResyncStartTime": "", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": false, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 9032, + "vendor": "NA", + "waasDeviceMode": null, + "location": null, + "role": "ACCESS", + "instanceUuid": "cf268aa2-6b4b-4358-be04-d8c4afd3960a", + "instanceTenantId": "68593aeecd0f400013b8604e", + "id": "cf268aa2-6b4b-4358-be04-d8c4afd3960a" + }, + { + "description": null, + "memorySize": "NA", + "family": "Unified AP", + "type": "Cisco Catalyst 9120AXE Unified Access Point", + "upTime": "01:14:41.810", + "lastUpdateTime": 1758697993684, + "macAddress": "68:7d:b4:06:b0:a0", + "softwareType": null, + "softwareVersion": "17.15.0.81", + "deviceSupportLevel": "Supported", + "serialNumber": "FJC24401SM6", + "inventoryStatusDetail": "NA", + "dnsResolvedManagementAddress": "", + "lastManagedResyncReasons": "", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "collectionInterval": "NA", + "roleSource": "AUTO", + "lastUpdated": "2025-09-24 07:13:13", + "bootDateTime": null, + "apManagerInterfaceIp": "204.192.6.200", + "collectionStatus": "Managed", + "hostname": "AP687D.B402.1614", + "locationName": null, + "managementIpAddress": "204.1.216.7", + "platformId": "C9120AXE-B", + "reachabilityFailureReason": "NA", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9120AXE Series Unified Access Points", + "interfaceCount": "0", + "snmpContact": "", + "snmpLocation": "default location", + "associatedWlcIp": "204.192.6.200", + "apEthernetMacAddress": "68:7d:b4:02:16:14", + "errorCode": "null", + "errorDescription": null, + "lastDeviceResyncStartTime": "", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": false, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 9017, + "vendor": "NA", + "waasDeviceMode": null, + "location": null, + "role": "ACCESS", + "instanceUuid": "6763ac28-f34c-41f1-bc05-8733332c4c1f", + "instanceTenantId": "68593aeecd0f400013b8604e", + "id": "6763ac28-f34c-41f1-bc05-8733332c4c1f" + }, + { + "description": null, + "memorySize": "NA", + "family": "Unified AP", + "type": "Cisco Catalyst 9120AXE Unified Access Point", + "upTime": "90 days, 16:25:26.150", + "lastUpdateTime": 1758698001942, + "macAddress": "68:7d:b4:06:f4:c0", + "softwareType": null, + "softwareVersion": "17.12.4.22", + "deviceSupportLevel": "Supported", + "serialNumber": "FJC24401SM0", + "inventoryStatusDetail": "NA", + "dnsResolvedManagementAddress": "", + "lastManagedResyncReasons": "", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "collectionInterval": "NA", + "roleSource": "AUTO", + "lastUpdated": "2025-09-24 07:13:21", + "bootDateTime": null, + "apManagerInterfaceIp": "204.192.4.200", + "collectionStatus": "Managed", + "hostname": "AP687D.B402.1E98", + "locationName": null, + "managementIpAddress": "204.192.106.5", + "platformId": "C9120AXE-B", + "reachabilityFailureReason": "NA", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9120AXE Series Unified Access Points", + "interfaceCount": "0", + "snmpContact": "", + "snmpLocation": "default location", + "associatedWlcIp": "204.192.4.200", + "apEthernetMacAddress": "68:7d:b4:02:1e:98", + "errorCode": "null", + "errorDescription": null, + "lastDeviceResyncStartTime": "", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": false, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 7839654, + "vendor": "NA", + "waasDeviceMode": null, + "location": null, + "role": "ACCESS", + "instanceUuid": "59f3bbe9-befa-4068-938d-4baed4276a2a", + "instanceTenantId": "68593aeecd0f400013b8604e", + "id": "59f3bbe9-befa-4068-938d-4baed4276a2a" + }, + { + "description": null, + "memorySize": "NA", + "family": "Unified AP", + "type": "Cisco Catalyst 9120AXE Unified Access Point", + "upTime": "90 days, 16:25:12.150", + "lastUpdateTime": 1758698001942, + "macAddress": "a4:88:73:d0:53:60", + "softwareType": null, + "softwareVersion": "17.12.4.22", + "deviceSupportLevel": "Supported", + "serialNumber": "FJC24391K97", + "inventoryStatusDetail": "NA", + "dnsResolvedManagementAddress": "", + "lastManagedResyncReasons": "", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "collectionInterval": "NA", + "roleSource": "AUTO", + "lastUpdated": "2025-09-24 07:13:21", + "bootDateTime": null, + "apManagerInterfaceIp": "204.192.4.200", + "collectionStatus": "Managed", + "hostname": "Cisco_9120AXE_IP4-01", + "locationName": null, + "managementIpAddress": "204.192.106.7", + "platformId": "C9120AXE-B", + "reachabilityFailureReason": "NA", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9120AXE Series Unified Access Points", + "interfaceCount": "0", + "snmpContact": "", + "snmpLocation": "Global/USA/SAN JOSE/SJ_BLD23/FLOOR1", + "associatedWlcIp": "204.192.4.200", + "apEthernetMacAddress": "a4:88:73:ce:0a:6c", + "errorCode": "null", + "errorDescription": null, + "lastDeviceResyncStartTime": "", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": false, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 7839640, + "vendor": "NA", + "waasDeviceMode": null, + "location": null, + "role": "ACCESS", + "instanceUuid": "e239d9ae-d4fc-44a7-a5ae-9245e427b7ce", + "instanceTenantId": "68593aeecd0f400013b8604e", + "id": "e239d9ae-d4fc-44a7-a5ae-9245e427b7ce" + }, + { + "description": null, + "memorySize": "NA", + "family": "Unified AP", + "type": "Cisco Catalyst 9120AXE Unified Access Point", + "upTime": "90 days, 16:25:41.150", + "lastUpdateTime": 1758698001942, + "macAddress": "a4:88:73:d4:dd:80", + "softwareType": null, + "softwareVersion": "17.12.4.22", + "deviceSupportLevel": "Supported", + "serialNumber": "FJC24391KBC", + "inventoryStatusDetail": "NA", + "dnsResolvedManagementAddress": "", + "lastManagedResyncReasons": "", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "collectionInterval": "NA", + "roleSource": "AUTO", + "lastUpdated": "2025-09-24 07:13:21", + "bootDateTime": null, + "apManagerInterfaceIp": "204.192.4.200", + "collectionStatus": "Managed", + "hostname": "Cisco_9120AXE_IP4-02", + "locationName": null, + "managementIpAddress": "204.192.106.6", + "platformId": "C9120AXE-B", + "reachabilityFailureReason": "NA", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9120AXE Series Unified Access Points", + "interfaceCount": "0", + "snmpContact": "", + "snmpLocation": "Global/USA/SAN JOSE/SJ_BLD23/FLOOR1", + "associatedWlcIp": "204.192.4.200", + "apEthernetMacAddress": "a4:88:73:ce:9b:b0", + "errorCode": "null", + "errorDescription": null, + "lastDeviceResyncStartTime": "", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": false, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 7839669, + "vendor": "NA", + "waasDeviceMode": null, + "location": null, + "role": "ACCESS", + "instanceUuid": "69c0d57c-da4d-4033-94f0-f3fe5d78be87", + "instanceTenantId": "68593aeecd0f400013b8604e", + "id": "69c0d57c-da4d-4033-94f0-f3fe5d78be87" + }, + { + "description": "Cisco IOS Software [Cupertino], Catalyst L3 Switch Software (CAT9K_IOSXE), Version 17.9.6a, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Thu 03-Oct-24 06:39 by mcpre netconf enabled", + "memorySize": "NA", + "family": "Switches and Hubs", + "type": "Cisco Catalyst 9300 Switch", + "upTime": "96 days, 3:34:57.51", + "lastUpdateTime": 1758699616299, + "macAddress": "34:88:18:f0:a1:80", + "softwareType": "IOS-XE", + "softwareVersion": "17.9.6a", + "deviceSupportLevel": "Supported", + "serialNumber": "FJC272127LW", + "inventoryStatusDetail": "", + "dnsResolvedManagementAddress": "204.192.3.40", + "lastManagedResyncReasons": "Periodic", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Periodic", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "collectionInterval": "Global Default", + "roleSource": "MANUAL", + "lastUpdated": "2025-09-24 07:40:16", + "bootDateTime": "2025-06-20 04:06:16", + "apManagerInterfaceIp": "", + "collectionStatus": "Managed", + "hostname": "DC-FR-9300.cisco.local", + "locationName": null, + "managementIpAddress": "204.192.3.40", + "platformId": "C9300-48T", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9300 Series Switches", + "interfaceCount": "0", + "snmpContact": "", + "snmpLocation": "", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2025-09-24 07:38:55", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 8310153, + "vendor": "Cisco", + "waasDeviceMode": null, + "location": null, + "role": "DISTRIBUTION", + "instanceUuid": "ce7ee59f-a892-4e31-a71b-1fc9cd86303e", + "instanceTenantId": "68593aeecd0f400013b8604e", + "id": "ce7ee59f-a892-4e31-a71b-1fc9cd86303e" + }, + { + "description": "Cisco IOS Software [Dublin], Catalyst L3 Switch Software (CAT9K_IOSXE), Version 17.12.4, RELEASE SOFTWARE (fc3) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Tue 23-Jul-24 09:40 by mcpre netconf enabled", + "memorySize": "NA", + "family": "Switches and Hubs", + "type": "Cisco Catalyst 9300 Switch", + "upTime": "22 days, 21:07:10.99", + "lastUpdateTime": 1758698057411, + "macAddress": "90:88:55:90:26:00", + "softwareType": "IOS-XE", + "softwareVersion": "17.12.4", + "deviceSupportLevel": "Supported", + "serialNumber": "FJC27212582", + "inventoryStatusDetail": "", + "dnsResolvedManagementAddress": "204.1.2.5", + "lastManagedResyncReasons": "Periodic", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Periodic", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "collectionInterval": "Global Default", + "roleSource": "AUTO", + "lastUpdated": "2025-09-24 07:14:17", + "bootDateTime": "2025-09-01 10:07:17", + "apManagerInterfaceIp": "", + "collectionStatus": "Managed", + "hostname": "DC-T-9300.cisco.local", + "locationName": null, + "managementIpAddress": "204.1.2.5", + "platformId": "C9300-48T", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9300 Series Switches", + "interfaceCount": "0", + "snmpContact": "", + "snmpLocation": "", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2025-09-24 07:13:14", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 1981292, + "vendor": "Cisco", + "waasDeviceMode": null, + "location": null, + "role": "DISTRIBUTION", + "instanceUuid": "55310960-a992-4c43-beb1-524646e91509", + "instanceTenantId": "68593aeecd0f400013b8604e", + "id": "55310960-a992-4c43-beb1-524646e91509" + }, + { + "description": "Cisco IOS Software [IOSXE], Virtual XE Software (X86_64_LINUX_IOSD-UNIVERSALK9-M), Version 17.15.4prd3, RELEASE SOFTWARE (fc3) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2025 by Cisco Systems, Inc. Compiled Thu 19-Jun-25 18: netconf enabled", + "memorySize": "NA", + "family": "Routers", + "type": "Cisco Catalyst 8000V Edge Software", + "upTime": "1 day, 23:50:20.35", + "lastUpdateTime": 1758687960863, + "macAddress": "00:1e:14:3d:d3:00", + "softwareType": "IOS-XE", + "softwareVersion": "17.15.4prd3", + "deviceSupportLevel": "Supported", + "serialNumber": "9TRQFABSFR2", + "inventoryStatusDetail": "", + "dnsResolvedManagementAddress": "204.1.1.101", + "lastManagedResyncReasons": "Config Change Event", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Config Change Event", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "collectionInterval": "Global Default", + "roleSource": "AUTO", + "lastUpdated": "2025-09-24 04:26:00", + "bootDateTime": "2025-09-22 04:36:00", + "apManagerInterfaceIp": "", + "collectionStatus": "Managed", + "hostname": "IAC2-SJ-BN-1-8KV", + "locationName": null, + "managementIpAddress": "204.1.1.101", + "platformId": "C8000V", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cloud Edge", + "interfaceCount": "0", + "snmpContact": "", + "snmpLocation": "", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2025-09-24 04:25:58", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 186769, + "vendor": "Cisco", + "waasDeviceMode": null, + "location": null, + "role": "BORDER ROUTER", + "instanceUuid": "df3e5571-06b2-4391-90db-b0305bc680a7", + "instanceTenantId": "68593aeecd0f400013b8604e", + "id": "df3e5571-06b2-4391-90db-b0305bc680a7" + }, + { + "description": "Cisco IOS Software [Dublin], Catalyst L3 Switch Software (CAT9K_IOSXE), Version 17.12.1, RELEASE SOFTWARE (fc5) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2023 by Cisco Systems, Inc. Compiled Thu 27-Jul-23 22:38 by mcpre netconf enabled", + "memorySize": "NA", + "family": "Switches and Hubs", + "type": "Cisco Catalyst 9500 Switch", + "upTime": "64 days, 3:27:45.39", + "lastUpdateTime": 1758698821507, + "macAddress": "c4:7e:e0:0f:eb:80", + "softwareType": "IOS-XE", + "softwareVersion": "17.12.1", + "deviceSupportLevel": "Supported", + "serialNumber": "FJC27221TMG, FJC27221KAX", + "inventoryStatusDetail": "", + "dnsResolvedManagementAddress": "204.1.2.4", + "lastManagedResyncReasons": "Periodic", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Periodic", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "collectionInterval": "Global Default", + "roleSource": "MANUAL", + "lastUpdated": "2025-09-24 07:27:01", + "bootDateTime": "2025-07-22 04:00:01", + "apManagerInterfaceIp": "", + "collectionStatus": "Managed", + "hostname": "NY-BN-9500.cisco.local", + "locationName": null, + "managementIpAddress": "204.1.2.4", + "platformId": "C9500-16X, C9500-16X", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9500 Series Switches", + "interfaceCount": "0", + "snmpContact": "", + "snmpLocation": "", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2025-09-24 07:26:10", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 5545728, + "vendor": "Cisco", + "waasDeviceMode": null, + "location": null, + "role": "DISTRIBUTION", + "instanceUuid": "ff3e0e86-a361-42c2-b634-819f588b8b64", + "instanceTenantId": "68593aeecd0f400013b8604e", + "id": "ff3e0e86-a361-42c2-b634-819f588b8b64" + }, + { + "description": "Cisco IOS Software [IOSXE], Catalyst L3 Switch Software (CAT9K_IOSXE), Version 17.15.1prd18, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Thu 04-Jul-24 22:32 by mcpre netconf enabled", + "memorySize": "NA", + "family": "Switches and Hubs", + "type": "Cisco Catalyst 9300 Switch", + "upTime": "1 day, 21:26:17.71", + "lastUpdateTime": 1758697275362, + "macAddress": "24:6c:84:e2:77:80", + "softwareType": "IOS-XE", + "softwareVersion": "17.15.1prd18", + "deviceSupportLevel": "Supported", + "serialNumber": "FJC271923AK", + "inventoryStatusDetail": "", + "dnsResolvedManagementAddress": "204.1.2.2", + "lastManagedResyncReasons": "Application Requested", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Periodic", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "collectionInterval": "Global Default", + "roleSource": "MANUAL", + "lastUpdated": "2025-09-24 07:01:15", + "bootDateTime": "2025-09-22 09:35:15", + "apManagerInterfaceIp": "", + "collectionStatus": "Partial Collection Failure", + "hostname": "NY-EN-9300.cisco.local", + "locationName": null, + "managementIpAddress": "204.1.2.2", + "platformId": "C9300-48UXM", + "reachabilityFailureReason": "SNMP Connectivity Failed", + "reachabilityStatus": "Unreachable", + "series": "Cisco Catalyst 9300 Series Switches", + "interfaceCount": "0", + "snmpContact": "", + "snmpLocation": "", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": "DEV-UNREACHED", + "errorDescription": "NCIM12013: SNMP timeouts are occurring with this device. Either the SNMP credentials are not correctly provided to Catalyst Center or the device is responding slow and SNMP timeout is low. If it's a timeout issue, Catalyst Center will attempt to progressively adjust the timeout in subsequent collection cycles to get device to managed state. User can also run discovery again only for this device using the discovery feature after adjusting the timeout and SNMP credentials as required. Or user can update the timeout and SNMP credentials as required using update credentials.", + "lastDeviceResyncStartTime": "2025-09-24 07:00:15", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 168814, + "vendor": "Cisco", + "waasDeviceMode": null, + "location": null, + "role": "ACCESS", + "instanceUuid": "2874a326-1370-49e9-8f40-c1e7460e4526", + "instanceTenantId": "68593aeecd0f400013b8604e", + "id": "2874a326-1370-49e9-8f40-c1e7460e4526" + }, + { + "description": "Cisco IOS Software [IOSXE], C9800 Software (C9800_IOSXE-K9), Version 17.15.1prd18, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Thu 04-Jul-24 22:36 by mcpre netconf enabled", + "memorySize": "NA", + "family": "Wireless Controller", + "type": "Cisco Catalyst 9800-80 Wireless Controller", + "upTime": "22 days, 21:03:13.95", + "lastUpdateTime": 1758697993684, + "macAddress": "b0:c5:3c:0d:ba:0b", + "softwareType": "IOS-XE", + "softwareVersion": "17.15.1prd18", + "deviceSupportLevel": "Supported", + "serialNumber": "FXS2424Q4PA", + "inventoryStatusDetail": "", + "dnsResolvedManagementAddress": "204.192.6.200", + "lastManagedResyncReasons": "Periodic", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Periodic", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "collectionInterval": "Global Default", + "roleSource": "AUTO", + "lastUpdated": "2025-09-24 07:13:13", + "bootDateTime": "2025-09-01 10:10:13", + "apManagerInterfaceIp": "", + "collectionStatus": "Managed", + "hostname": "NY-EWLC-1.cisco.local", + "locationName": null, + "managementIpAddress": "204.192.6.200", + "platformId": "C9800-80-K9", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9800 Series Wireless Controllers", + "interfaceCount": "0", + "snmpContact": "", + "snmpLocation": "", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2025-09-24 07:12:44", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 1981116, + "vendor": "Cisco", + "waasDeviceMode": null, + "location": null, + "role": "ACCESS", + "instanceUuid": "6cc213bc-e16f-488b-b97f-aee08f1dedab", + "instanceTenantId": "68593aeecd0f400013b8604e", + "id": "6cc213bc-e16f-488b-b97f-aee08f1dedab" + }, + { + "description": "Cisco IOS Software [Dublin], C9800 Software (C9800_IOSXE-K9), Version 17.12.4, RELEASE SOFTWARE (fc3) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Tue 23-Jul-24 09:45 by mcpre netconf enabled", + "memorySize": "NA", + "family": "Wireless Controller", + "type": "Cisco Catalyst 9800-80 Wireless Controller", + "upTime": "6 days, 20:22:12.12", + "lastUpdateTime": 1758698016280, + "macAddress": "cc:7f:76:8f:1c:81", + "softwareType": "IOS-XE", + "softwareVersion": "17.12.4", + "deviceSupportLevel": "Supported", + "serialNumber": "FXS2416Q1A4", + "inventoryStatusDetail": "", + "dnsResolvedManagementAddress": "10.195.247.23", + "lastManagedResyncReasons": "Periodic", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Periodic", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "collectionInterval": "Global Default", + "roleSource": "AUTO", + "lastUpdated": "2025-09-24 07:13:36", + "bootDateTime": "2025-09-17 10:51:36", + "apManagerInterfaceIp": "", + "collectionStatus": "Managed", + "hostname": "NY-EWLC-2.cisco.local", + "locationName": null, + "managementIpAddress": "10.195.247.23", + "platformId": "C9800-80-K9", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9800 Series Wireless Controllers", + "interfaceCount": "0", + "snmpContact": "", + "snmpLocation": "", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2025-09-24 07:12:40", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 596233, + "vendor": "Cisco", + "waasDeviceMode": null, + "location": null, + "role": "ACCESS", + "instanceUuid": "d8ac0acd-6e8f-4b4c-8e1e-fb70f99497a6", + "instanceTenantId": "68593aeecd0f400013b8604e", + "id": "d8ac0acd-6e8f-4b4c-8e1e-fb70f99497a6" + }, + { + "description": "IOS-XE Cisco IOS Software [Dublin], ISR Software (X86_64_LINUX_IOSD-UNIVERSALK9-M), Version 17.12.4, RELEASE SOFTWARE (fc3) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Tue 23-Jul-24 15:35 by mcpr netconf enabled", + "memorySize": "NA", + "family": "Routers", + "type": "Cisco 4451-X Integrated Services Router", + "upTime": "91 days, 21:07:20.08", + "lastUpdateTime": 1758699040164, + "macAddress": "7c:31:0e:80:40:20", + "softwareType": "IOS-XE", + "softwareVersion": "17.12.4", + "deviceSupportLevel": "Supported", + "serialNumber": "FJC2402A0TX", + "inventoryStatusDetail": "", + "dnsResolvedManagementAddress": "204.1.2.6", + "lastManagedResyncReasons": "Periodic", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Periodic", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "collectionInterval": "Global Default", + "roleSource": "MANUAL", + "lastUpdated": "2025-09-24 07:30:40", + "bootDateTime": "2025-06-24 10:23:40", + "apManagerInterfaceIp": "", + "collectionStatus": "Managed", + "hostname": "SF-BN-1-ISR.cisco.local", + "locationName": null, + "managementIpAddress": "204.1.2.6", + "platformId": "ISR4451-X/K9", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco 4000 Series Integrated Services Routers", + "interfaceCount": "0", + "snmpContact": "", + "snmpLocation": "", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2025-09-24 07:30:16", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 7941910, + "vendor": "Cisco", + "waasDeviceMode": null, + "location": null, + "role": "ACCESS", + "instanceUuid": "015680bf-e720-4f61-ba4a-48fab5f0e39a", + "instanceTenantId": "68593aeecd0f400013b8604e", + "id": "015680bf-e720-4f61-ba4a-48fab5f0e39a" + }, + { + "description": "IOS-XE Cisco IOS Software [Bengaluru], ASR1000 Software (X86_64_LINUX_IOSD-UNIVERSALK9-M), Version 17.6.8a, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Mon 14-Oct-24 08:01 netconf enabled", + "memorySize": "NA", + "family": "Routers", + "type": "Cisco ASR 1001-X Router", + "upTime": "91 days, 21:03:21.56", + "lastUpdateTime": 1758699050779, + "macAddress": "ec:ce:13:16:f6:80", + "softwareType": "IOS-XE", + "softwareVersion": "17.6.8a", + "deviceSupportLevel": "Supported", + "serialNumber": "FXS2502Q2HC", + "inventoryStatusDetail": "", + "dnsResolvedManagementAddress": "204.1.2.7", + "lastManagedResyncReasons": "Periodic", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Periodic", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "collectionInterval": "Global Default", + "roleSource": "MANUAL", + "lastUpdated": "2025-09-24 07:30:50", + "bootDateTime": "2025-06-24 10:27:50", + "apManagerInterfaceIp": "", + "collectionStatus": "Managed", + "hostname": "SF-BN-2-ASR.cisco.local", + "locationName": null, + "managementIpAddress": "204.1.2.7", + "platformId": "ASR1001-X", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco ASR 1000 Series Aggregation Services Routers", + "interfaceCount": "0", + "snmpContact": "", + "snmpLocation": "", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2025-09-24 07:30:21", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 7941659, + "vendor": "Cisco", + "waasDeviceMode": null, + "location": null, + "role": "ACCESS", + "instanceUuid": "738fa455-9fb2-477f-8311-55cc5065b5c5", + "instanceTenantId": "68593aeecd0f400013b8604e", + "id": "738fa455-9fb2-477f-8311-55cc5065b5c5" + }, + { + "description": "IOS-XE Cisco IOS Software [Bengaluru], ASR1000 Software (X86_64_LINUX_IOSD-UNIVERSALK9-M), Version 17.6.8a, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Mon 14-Oct-24 08:01 netconf enabled", + "memorySize": "NA", + "family": "Routers", + "type": "Cisco ASR 1001-X Router", + "upTime": "91 days, 20:47:03.34", + "lastUpdateTime": 1758698001482, + "macAddress": "34:73:2d:24:13:00", + "softwareType": "IOS-XE", + "softwareVersion": "17.6.8a", + "deviceSupportLevel": "Supported", + "serialNumber": "FXS2501Q06Z", + "inventoryStatusDetail": "", + "dnsResolvedManagementAddress": "204.1.2.9", + "lastManagedResyncReasons": "Periodic", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Periodic", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "collectionInterval": "Global Default", + "roleSource": "AUTO", + "lastUpdated": "2025-09-24 07:13:21", + "bootDateTime": "2025-06-24 10:26:21", + "apManagerInterfaceIp": "", + "collectionStatus": "Managed", + "hostname": "SF-BN-2-ASR.cisco.local", + "locationName": null, + "managementIpAddress": "204.1.2.9", + "platformId": "ASR1001-X", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco ASR 1000 Series Aggregation Services Routers", + "interfaceCount": "0", + "snmpContact": "", + "snmpLocation": "", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2025-09-24 07:12:47", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 7941748, + "vendor": "Cisco", + "waasDeviceMode": null, + "location": null, + "role": "BORDER ROUTER", + "instanceUuid": "290019d0-2fc0-4ff8-bb92-31a134a270c4", + "instanceTenantId": "68593aeecd0f400013b8604e", + "id": "290019d0-2fc0-4ff8-bb92-31a134a270c4" + }, + { + "description": "Cisco IOS Software [Dublin], Catalyst L3 Switch Software (CAT9K_IOSXE), Version 17.12.4, RELEASE SOFTWARE (fc3) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Tue 23-Jul-24 09:40 by mcpre netconf enabled", + "memorySize": "NA", + "family": "Switches and Hubs", + "type": "Cisco Catalyst 9300 Switch", + "upTime": "84 days, 15:01:33.58", + "lastUpdateTime": 1758698077552, + "macAddress": "90:88:55:88:83:80", + "softwareType": "IOS-XE", + "softwareVersion": "17.12.4", + "deviceSupportLevel": "Supported", + "serialNumber": "FJC272121AG", + "inventoryStatusDetail": "", + "dnsResolvedManagementAddress": "204.1.2.3", + "lastManagedResyncReasons": "Periodic", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Periodic", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "collectionInterval": "Global Default", + "roleSource": "MANUAL", + "lastUpdated": "2025-09-24 07:14:37", + "bootDateTime": "2025-07-01 16:13:37", + "apManagerInterfaceIp": "", + "collectionStatus": "Managed", + "hostname": "SJ-BN-9300.cisco.local", + "locationName": null, + "managementIpAddress": "204.1.2.3", + "platformId": "C9300-48T", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9300 Series Switches", + "interfaceCount": "0", + "snmpContact": "", + "snmpLocation": "", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2025-09-24 07:13:25", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 7316112, + "vendor": "Cisco", + "waasDeviceMode": null, + "location": null, + "role": "DISTRIBUTION", + "instanceUuid": "c7d77703-517a-40a0-9ccf-3a1350edd391", + "instanceTenantId": "68593aeecd0f400013b8604e", + "id": "c7d77703-517a-40a0-9ccf-3a1350edd391" + }, + { + "description": "Cisco IOS Software [Dublin], Catalyst L3 Switch Software (CAT9K_IOSXE), Version 17.12.2, RELEASE SOFTWARE (fc2) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2023 by Cisco Systems, Inc. Compiled Tue 14-Nov-23 05:56 by mcpre netconf enabled", + "memorySize": "NA", + "family": "Switches and Hubs", + "type": "Cisco Catalyst 9300 Switch", + "upTime": "91 days, 20:46:39.81", + "lastUpdateTime": 1758698062720, + "macAddress": "8c:94:1f:b3:3f:80", + "softwareType": "IOS-XE", + "softwareVersion": "17.12.2", + "deviceSupportLevel": "Supported", + "serialNumber": "FOC2439LA89", + "inventoryStatusDetail": "", + "dnsResolvedManagementAddress": "204.1.2.70", + "lastManagedResyncReasons": "Periodic", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Periodic", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "collectionInterval": "Global Default", + "roleSource": "AUTO", + "lastUpdated": "2025-09-24 07:14:22", + "bootDateTime": "2025-06-24 10:28:22", + "apManagerInterfaceIp": "", + "collectionStatus": "Managed", + "hostname": "SJ-EN-10-9300.cisco.local", + "locationName": null, + "managementIpAddress": "204.1.2.70", + "platformId": "C9300-24UXB", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9300 Series Switches", + "interfaceCount": "0", + "snmpContact": "", + "snmpLocation": "", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2025-09-24 07:13:18", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 7941627, + "vendor": "Cisco", + "waasDeviceMode": null, + "location": null, + "role": "ACCESS", + "instanceUuid": "396a0000-2093-454b-8e33-d5761dfa1c92", + "instanceTenantId": "68593aeecd0f400013b8604e", + "id": "396a0000-2093-454b-8e33-d5761dfa1c92" + }, + { + "description": "Cisco IOS Software [IOSXE], Catalyst L3 Switch Software (CAT9K_IOSXE), Version 17.15.1prd18, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Thu 04-Jul-24 22:32 by mcpre netconf enabled", + "memorySize": "NA", + "family": "Switches and Hubs", + "type": "Cisco Catalyst 9300 Switch", + "upTime": "1:16:04.20", + "lastUpdateTime": 1758698036783, + "macAddress": "24:6c:84:d3:7f:80", + "softwareType": "IOS-XE", + "softwareVersion": "17.15.1prd18", + "deviceSupportLevel": "Supported", + "serialNumber": "FJC271924D9", + "inventoryStatusDetail": "", + "dnsResolvedManagementAddress": "204.1.2.1", + "lastManagedResyncReasons": "Periodic", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Periodic", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "collectionInterval": "Global Default", + "roleSource": "AUTO", + "lastUpdated": "2025-09-24 07:13:56", + "bootDateTime": "2025-09-24 05:57:56", + "apManagerInterfaceIp": "", + "collectionStatus": "Managed", + "hostname": "SJ-EN-9300.clean.com", + "locationName": null, + "managementIpAddress": "204.1.2.1", + "platformId": "C9300-48UXM", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9300 Series Switches", + "interfaceCount": "0", + "snmpContact": "", + "snmpLocation": "", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2025-09-24 07:12:50", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 9053, + "vendor": "Cisco", + "waasDeviceMode": null, + "location": null, + "role": "ACCESS", + "instanceUuid": "e0ebb237-e073-4ce3-94b6-45bc6329194a", + "instanceTenantId": "68593aeecd0f400013b8604e", + "id": "e0ebb237-e073-4ce3-94b6-45bc6329194a" + }, + { + "description": "Cisco IOS Software [Dublin], C9800 Software (C9800_IOSXE-K9), Version 17.12.4, RELEASE SOFTWARE (fc3) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Tue 23-Jul-24 09:45 by mcpre netconf enabled", + "memorySize": "NA", + "family": "Wireless Controller", + "type": "Cisco Catalyst 9800-40 Wireless Controller", + "upTime": "91 days, 20:44:09.95", + "lastUpdateTime": 1758698001942, + "macAddress": "64:8f:3e:83:fa:6b", + "softwareType": "IOS-XE", + "softwareVersion": "17.12.4", + "deviceSupportLevel": "Supported", + "serialNumber": "FOX2639PAYD", + "inventoryStatusDetail": "", + "dnsResolvedManagementAddress": "204.192.4.200", + "lastManagedResyncReasons": "Periodic", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Periodic", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "collectionInterval": "Global Default", + "roleSource": "AUTO", + "lastUpdated": "2025-09-24 07:13:21", + "bootDateTime": "2025-06-24 10:29:21", + "apManagerInterfaceIp": "", + "collectionStatus": "Managed", + "hostname": "SJ-EWLC-1.cisco.local", + "locationName": null, + "managementIpAddress": "204.192.4.200", + "platformId": "C9800-40-K9", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9800 Series Wireless Controllers", + "interfaceCount": "0", + "snmpContact": "", + "snmpLocation": "", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2025-09-24 07:12:42", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 7941568, + "vendor": "Cisco", + "waasDeviceMode": null, + "location": null, + "role": "ACCESS", + "instanceUuid": "83c38984-ab24-47af-8c9e-f36bae034dc3", + "instanceTenantId": "68593aeecd0f400013b8604e", + "id": "83c38984-ab24-47af-8c9e-f36bae034dc3" + }, + { + "description": "Cisco IOS Software [Dublin], Catalyst L3 Switch Software (CAT9K_IOSXE), Version 17.12.2, RELEASE SOFTWARE (fc2) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2023 by Cisco Systems, Inc. Compiled Tue 14-Nov-23 05:56 by mcpre netconf enabled", + "memorySize": "NA", + "family": "Switches and Hubs", + "type": "Cisco Catalyst 9300 Switch", + "upTime": "18 days, 21:51:09.65", + "lastUpdateTime": 1758699550776, + "macAddress": "f8:7b:20:77:f9:80", + "softwareType": "IOS-XE", + "softwareVersion": "17.12.2", + "deviceSupportLevel": "Supported", + "serialNumber": "FCW2137L0SB", + "inventoryStatusDetail": "", + "dnsResolvedManagementAddress": "204.1.2.8", + "lastManagedResyncReasons": "Periodic", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Periodic", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "collectionInterval": "Global Default", + "roleSource": "MANUAL", + "lastUpdated": "2025-09-24 07:39:10", + "bootDateTime": "2025-09-05 09:48:10", + "apManagerInterfaceIp": "", + "collectionStatus": "Managed", + "hostname": "switch.cisco.local.cisco.local", + "locationName": null, + "managementIpAddress": "204.1.2.8", + "platformId": "C9300-48UN", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9300 Series Switches", + "interfaceCount": "0", + "snmpContact": "", + "snmpLocation": "", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2025-09-24 07:37:53", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 1636839, + "vendor": "Cisco", + "waasDeviceMode": null, + "location": null, + "role": "ACCESS", + "instanceUuid": "f04bc86d-8f5c-4da6-aae3-6571169b1234", + "instanceTenantId": "68593aeecd0f400013b8604e", + "id": "f04bc86d-8f5c-4da6-aae3-6571169b1234" + }, + { + "description": null, + "memorySize": "NA", + "family": null, + "type": null, + "upTime": null, + "lastUpdateTime": 1758619956267, + "macAddress": null, + "softwareType": null, + "softwareVersion": null, + "deviceSupportLevel": "Unsupported", + "serialNumber": null, + "inventoryStatusDetail": "", + "dnsResolvedManagementAddress": "29.2.2.2", + "lastManagedResyncReasons": "", + "managementState": "Never Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Periodic", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "collectionInterval": "Global Default", + "roleSource": "AUTO", + "lastUpdated": "2025-09-23 09:32:36", + "bootDateTime": null, + "apManagerInterfaceIp": "", + "collectionStatus": "Could Not Synchronize", + "hostname": null, + "locationName": null, + "managementIpAddress": "29.2.2.2", + "platformId": null, + "reachabilityFailureReason": "SNMP Connectivity Failed", + "reachabilityStatus": "Unreachable", + "series": null, + "interfaceCount": "0", + "snmpContact": null, + "snmpLocation": null, + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": "DEV-UNREACHED", + "errorDescription": "NCIM12013: SNMP timeouts are occurring with this device. Either the SNMP credentials are not correctly provided to Catalyst Center or the device is responding slow and SNMP timeout is low. If it's a timeout issue, Catalyst Center will attempt to progressively adjust the timeout in subsequent collection cycles to get device to managed state. User can also run discovery again only for this device using the discovery feature after adjusting the timeout and SNMP credentials as required. Or user can update the timeout and SNMP credentials as required using update credentials.", + "lastDeviceResyncStartTime": "2025-09-23 09:25:57", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": false, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": -1, + "vendor": "NA", + "waasDeviceMode": null, + "location": null, + "role": "UNKNOWN", + "instanceUuid": "50606fe5-d4d5-41dc-9bef-b36b7013bd17", + "instanceTenantId": "68593aeecd0f400013b8604e", + "id": "50606fe5-d4d5-41dc-9bef-b36b7013bd17" + }, + { + "description": null, + "memorySize": "NA", + "family": null, + "type": null, + "upTime": null, + "lastUpdateTime": 1758701149211, + "macAddress": null, + "softwareType": null, + "softwareVersion": null, + "deviceSupportLevel": "Unsupported", + "serialNumber": null, + "inventoryStatusDetail": "", + "dnsResolvedManagementAddress": "29.1.1.1", + "lastManagedResyncReasons": "", + "managementState": "Never Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Periodic", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "collectionInterval": "Global Default", + "roleSource": "AUTO", + "lastUpdated": "2025-09-24 08:05:49", + "bootDateTime": null, + "apManagerInterfaceIp": "", + "collectionStatus": "Could Not Synchronize", + "hostname": null, + "locationName": null, + "managementIpAddress": "29.1.1.1", + "platformId": null, + "reachabilityFailureReason": "SNMP Connectivity Failed", + "reachabilityStatus": "Unreachable", + "series": null, + "interfaceCount": "0", + "snmpContact": null, + "snmpLocation": null, + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": "DEV-UNREACHED", + "errorDescription": "NCIM12013: SNMP timeouts are occurring with this device. Either the SNMP credentials are not correctly provided to Catalyst Center or the device is responding slow and SNMP timeout is low. If it's a timeout issue, Catalyst Center will attempt to progressively adjust the timeout in subsequent collection cycles to get device to managed state. User can also run discovery again only for this device using the discovery feature after adjusting the timeout and SNMP credentials as required. Or user can update the timeout and SNMP credentials as required using update credentials.", + "lastDeviceResyncStartTime": "2025-09-24 07:56:59", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": false, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": -1, + "vendor": "NA", + "waasDeviceMode": null, + "location": null, + "role": "UNKNOWN", + "instanceUuid": "7e570084-3b6b-488d-abc2-ec489ed16b60", + "instanceTenantId": "68593aeecd0f400013b8604e", + "id": "7e570084-3b6b-488d-abc2-ec489ed16b60" + }, + { + "description": null, + "memorySize": "NA", + "family": null, + "type": null, + "upTime": null, + "lastUpdateTime": 1758701120531, + "macAddress": null, + "softwareType": null, + "softwareVersion": null, + "deviceSupportLevel": "Unsupported", + "serialNumber": null, + "inventoryStatusDetail": "", + "dnsResolvedManagementAddress": "30.1.1.1", + "lastManagedResyncReasons": "", + "managementState": "Never Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Periodic", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "collectionInterval": "Global Default", + "roleSource": "AUTO", + "lastUpdated": "2025-09-24 08:05:20", + "bootDateTime": null, + "apManagerInterfaceIp": "", + "collectionStatus": "Could Not Synchronize", + "hostname": null, + "locationName": null, + "managementIpAddress": "30.1.1.1", + "platformId": null, + "reachabilityFailureReason": "SNMP Connectivity Failed", + "reachabilityStatus": "Unreachable", + "series": null, + "interfaceCount": "0", + "snmpContact": null, + "snmpLocation": null, + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": "DEV-UNREACHED", + "errorDescription": "NCIM12013: SNMP timeouts are occurring with this device. Either the SNMP credentials are not correctly provided to Catalyst Center or the device is responding slow and SNMP timeout is low. If it's a timeout issue, Catalyst Center will attempt to progressively adjust the timeout in subsequent collection cycles to get device to managed state. User can also run discovery again only for this device using the discovery feature after adjusting the timeout and SNMP credentials as required. Or user can update the timeout and SNMP credentials as required using update credentials.", + "lastDeviceResyncStartTime": "2025-09-24 07:56:31", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": false, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": -1, + "vendor": "NA", + "waasDeviceMode": null, + "location": null, + "role": "UNKNOWN", + "instanceUuid": "01cbcb2f-71ec-47de-ab4f-4d58b4f1826e", + "instanceTenantId": "68593aeecd0f400013b8604e", + "id": "01cbcb2f-71ec-47de-ab4f-4d58b4f1826e" + }, + { + "description": null, + "memorySize": "NA", + "family": null, + "type": null, + "upTime": null, + "lastUpdateTime": 1758701634109, + "macAddress": null, + "softwareType": null, + "softwareVersion": null, + "deviceSupportLevel": "Unsupported", + "serialNumber": null, + "inventoryStatusDetail": "", + "dnsResolvedManagementAddress": "38.5.4.3", + "lastManagedResyncReasons": "", + "managementState": "Never Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Periodic", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "collectionInterval": "Global Default", + "roleSource": "AUTO", + "lastUpdated": "2025-09-24 08:13:54", + "bootDateTime": null, + "apManagerInterfaceIp": "", + "collectionStatus": "Could Not Synchronize", + "hostname": null, + "locationName": null, + "managementIpAddress": "38.5.4.3", + "platformId": null, + "reachabilityFailureReason": "SNMP Connectivity Failed", + "reachabilityStatus": "Unreachable", + "series": null, + "interfaceCount": "0", + "snmpContact": null, + "snmpLocation": null, + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": "DEV-UNREACHED", + "errorDescription": "NCIM12013: SNMP timeouts are occurring with this device. Either the SNMP credentials are not correctly provided to Catalyst Center or the device is responding slow and SNMP timeout is low. If it's a timeout issue, Catalyst Center will attempt to progressively adjust the timeout in subsequent collection cycles to get device to managed state. User can also run discovery again only for this device using the discovery feature after adjusting the timeout and SNMP credentials as required. Or user can update the timeout and SNMP credentials as required using update credentials.", + "lastDeviceResyncStartTime": "2025-09-24 08:12:58", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": false, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": -1, + "vendor": "NA", + "waasDeviceMode": null, + "location": null, + "role": "UNKNOWN", + "instanceUuid": "2898fab9-8142-405c-b33f-14fc9aa5894e", + "instanceTenantId": "68593aeecd0f400013b8604e", + "id": "2898fab9-8142-405c-b33f-14fc9aa5894e" + }, + { + "description": null, + "memorySize": "NA", + "family": null, + "type": null, + "upTime": null, + "lastUpdateTime": 1758684439003, + "macAddress": null, + "softwareType": null, + "softwareVersion": null, + "deviceSupportLevel": "Unsupported", + "serialNumber": null, + "inventoryStatusDetail": "", + "dnsResolvedManagementAddress": "57.5.5.5", + "lastManagedResyncReasons": "", + "managementState": "Never Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Periodic", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "collectionInterval": "Global Default", + "roleSource": "AUTO", + "lastUpdated": "2025-09-24 03:27:19", + "bootDateTime": null, + "apManagerInterfaceIp": "", + "collectionStatus": "Could Not Synchronize", + "hostname": null, + "locationName": null, + "managementIpAddress": "57.5.5.5", + "platformId": null, + "reachabilityFailureReason": "SNMP Connectivity Failed", + "reachabilityStatus": "Unreachable", + "series": null, + "interfaceCount": "0", + "snmpContact": null, + "snmpLocation": null, + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": "DEV-UNREACHED", + "errorDescription": "NCIM12013: SNMP timeouts are occurring with this device. Either the SNMP credentials are not correctly provided to Catalyst Center or the device is responding slow and SNMP timeout is low. If it's a timeout issue, Catalyst Center will attempt to progressively adjust the timeout in subsequent collection cycles to get device to managed state. User can also run discovery again only for this device using the discovery feature after adjusting the timeout and SNMP credentials as required. Or user can update the timeout and SNMP credentials as required using update credentials.", + "lastDeviceResyncStartTime": "2025-09-24 03:27:05", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": false, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": -1, + "vendor": "NA", + "waasDeviceMode": null, + "location": null, + "role": "UNKNOWN", + "instanceUuid": "a8e355a1-5838-41f3-8d7b-478e50ab07a0", + "instanceTenantId": "68593aeecd0f400013b8604e", + "id": "a8e355a1-5838-41f3-8d7b-478e50ab07a0" + } + ], + "version": "1.0" +}, +"get_software_image_details1_sub_package_images_with_api_task_timeout": {"response": [{"imageUuid": "4c86a250-9ce3-4473-af5f-98ba2d12ec3c", "name": "cat9k_iosxe.17.12.01.SPA.bin", "family": "CAT9K", "version": "17.12.01.0.80", "displayVersion": "17.12.01", "md5Checksum": "977fe40c6a49f48210571ed453d57ecc", "shaCheckSum": "e1b5cd9e0b243af13eb48912310f56f6ad5cb154c1cc79b273b0018cb6fa102afa57b9208c8a6e85744dba9044612192899152339e157c659fae58f516231508", "createdTime": "2025-07-25 08:10:31.0", "imageType": "SYSTEM_SW", "fileSize": "1301722947 bytes", "imageName": "cat9k_iosxe.17.12.01.SPA.bin", "applicationType": "", "feature": "", "fileServiceId": "d6f46239-75d4-4419-95ac-6fb74710b0e0", "isTaggedGolden": true, "imageSource": "http://172.21.236.183/swim/V1712_1_CCO/cat9k_iosxe.17.12.01.SPA.bin", "extendedAttributes": {"Description": "Cisco IOS Software, IOS-XE Software", "BOOTROM": "UNKNOWN", "MINFLASHSIZE": "UNKNOWN", "MEDIA": "5", "FULL_VERSION": "17.12.01.0.80", "DEFAULT_BOOTROM": "UNKNOWN", "DEFAULT_RAM": "UNKNOWN", "GAIA_FEATURE": "UNKNOWN", "COMPRESSION_CODE": "-1", "DEFAULT_MINFLASHSIZE": "UNKNOWN", "RAM": "UNKNOWN"}, "vendor": "CISCO", "imageIntegrityStatus": "VERIFIED", "importSourceType": "REMOTEURL"}], "version": "1.0"}, + "get_software_image_details2_sub_package_images_with_api_task_timeout": {"response": [{"imageUuid": "957ef369-25b6-4a4c-a1d9-bcf662faa6b4", "name": "C9800-SW-iosxe-wlc.17.12.01.SPA.bin", "family": "CAT9K", "version": "17.12.01.0.80", "displayVersion": "17.12.01", "md5Checksum": "be5b7b70af1650c9e21047af44c2b946", "shaCheckSum": "f68d08822ec04eda7175ea3b07c96b48eadbcae04ca03b6bf0390e0a255f06d908e0014896e3e30518c205af96b651a2be28c203f45ced04d759b3ac9b7d5a24", "createdTime": "2025-07-25 08:11:14.0", "imageType": "SUBPKG_SW", "fileSize": "679368140 bytes", "imageName": "C9800-SW-iosxe-wlc.17.12.01.SPA.bin", "applicationType": "", "feature": "", "fileServiceId": "388a8113-1dc5-4f26-bb50-c57d225f8c45", "isTaggedGolden": false, "imageSource": "http://172.21.236.183/swim/V1712_1_CCO/C9800-SW-iosxe-wlc.17.12.01.SPA.bin", "extendedAttributes": {"Description": "Cisco IOS Software, IOS-XE Software", "SMU_LICENSE_LEVEL": "dna-advantage", "SMU_SUBPKG_TYPE": "C9800-Wireless", "DEFAULT_BOOTROM": "0", "SMU_MODE": "install", "DEFAULT_MINFLASHSIZE": "0", "SMU_CATEGORY": "bulk-subpkg", "SMU_TYPE": "reload", "SMU_PKG_LIST": "wlc", "SMU_DESCRIPTION": "Cisco IOS-XE Patch package", "SMU_ID": "1000", "SMU_CLASS": "recommended", "FULL_VERSION": "17.12.01.0.80", "DEFAULT_RAM": "0", "SMU_CRDU_ATTR": "unrevertable"}, "vendor": "CISCO", "imageIntegrityStatus": "VERIFIED", "importSourceType": "REMOTEURL"}], "version": "1.0"}, + "get_software_image_details3_sub_package_images_with_api_task_timeout": {"response": [{"imageUuid": "957ef369-25b6-4a4c-a1d9-bcf662faa6b4", "name": "C9800-SW-iosxe-wlc.17.12.01.SPA.bin", "family": "CAT9K", "version": "17.12.01.0.80", "displayVersion": "17.12.01", "md5Checksum": "be5b7b70af1650c9e21047af44c2b946", "shaCheckSum": "f68d08822ec04eda7175ea3b07c96b48eadbcae04ca03b6bf0390e0a255f06d908e0014896e3e30518c205af96b651a2be28c203f45ced04d759b3ac9b7d5a24", "createdTime": "2025-07-25 08:11:14.0", "imageType": "SUBPKG_SW", "fileSize": "679368140 bytes", "imageName": "C9800-SW-iosxe-wlc.17.12.01.SPA.bin", "applicationType": "", "feature": "", "fileServiceId": "388a8113-1dc5-4f26-bb50-c57d225f8c45", "isTaggedGolden": false, "imageSource": "http://172.21.236.183/swim/V1712_1_CCO/C9800-SW-iosxe-wlc.17.12.01.SPA.bin", "extendedAttributes": {"Description": "Cisco IOS Software, IOS-XE Software", "SMU_LICENSE_LEVEL": "dna-advantage", "SMU_SUBPKG_TYPE": "C9800-Wireless", "DEFAULT_BOOTROM": "0", "SMU_MODE": "install", "DEFAULT_MINFLASHSIZE": "0", "SMU_CATEGORY": "bulk-subpkg", "SMU_TYPE": "reload", "SMU_PKG_LIST": "wlc", "SMU_DESCRIPTION": "Cisco IOS-XE Patch package", "SMU_ID": "1000", "SMU_CLASS": "recommended", "FULL_VERSION": "17.12.01.0.80", "DEFAULT_RAM": "0", "SMU_CRDU_ATTR": "unrevertable"}, "vendor": "CISCO", "imageIntegrityStatus": "VERIFIED", "importSourceType": "REMOTEURL"}], "version": "1.0"}, + "get_device_list4_sub_package_images_with_api_task_timeout": {"response": [{"description": "Cisco IOS Software [IOSXE], Catalyst L3 Switch Software (CAT9K_IOSXE), Version 17.15.1prd18, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Thu 04-Jul-24 22:32 by mcpre netconf enabled", "memorySize": "NA", "family": "Switches and Hubs", "type": "Cisco Catalyst 9300 Switch", "upTime": "1:16:04.20", "lastUpdateTime": 1758698036783, "macAddress": "24:6c:84:d3:7f:80", "softwareType": "IOS-XE", "softwareVersion": "17.15.1prd18", "deviceSupportLevel": "Supported", "serialNumber": "FJC271924D9", "inventoryStatusDetail": "", "dnsResolvedManagementAddress": "204.1.2.1", "lastManagedResyncReasons": "Periodic", "managementState": "Managed", "pendingSyncRequestsCount": "0", "reasonsForDeviceResync": "Periodic", "reasonsForPendingSyncRequests": "", "syncRequestedByApp": "", "collectionInterval": "Global Default", "roleSource": "AUTO", "lastUpdated": "2025-09-24 07:13:56", "bootDateTime": "2025-09-24 05:57:56", "apManagerInterfaceIp": "", "collectionStatus": "Managed", "hostname": "SJ-EN-9300.clean.com", "locationName": null, "managementIpAddress": "204.1.2.1", "platformId": "C9300-48UXM", "reachabilityFailureReason": "", "reachabilityStatus": "Reachable", "series": "Cisco Catalyst 9300 Series Switches", "interfaceCount": "0", "snmpContact": "", "snmpLocation": "", "associatedWlcIp": "", "apEthernetMacAddress": null, "errorCode": null, "errorDescription": null, "lastDeviceResyncStartTime": "2025-09-24 07:12:50", "lineCardCount": "0", "lineCardId": "", "managedAtleastOnce": false, "tagCount": "0", "tunnelUdpPort": null, "uptimeSeconds": 9055, "vendor": "Cisco", "waasDeviceMode": null, "location": null, "role": "ACCESS", "instanceUuid": "e0ebb237-e073-4ce3-94b6-45bc6329194a", "instanceTenantId": "68593aeecd0f400013b8604e", "id": "e0ebb237-e073-4ce3-94b6-45bc6329194a"}], "version": "1.0"}, + "compliance_details_of_device1_sub_package_images_with_api_task_timeout": {"response": [{"deviceUuid": "e0ebb237-e073-4ce3-94b6-45bc6329194a", "complianceType": "IMAGE", "status": "NON_COMPLIANT", "state": "SUCCESS", "lastSyncTime": 1758702217474, "lastUpdateTime": 1758702218755, "remediationSupported": false, "sourceInfoList": [{"name": "SwimDeviceStatus", "sourceEnum": "IMAGE", "type": "IMAGE", "appName": "IMAGE", "count": 1, "ackStatus": "UNACKNOWLEDGED"}], "additionalDataURL": "/api/v2/device-image/device?id=e0ebb237-e073-4ce3-94b6-45bc6329194a", "ackStatus": "UNACKNOWLEDGED"}], "version": "1.0", "deviceUuid": "e0ebb237-e073-4ce3-94b6-45bc6329194a"}, + "get_device_list5_sub_package_images_with_api_task_timeout": {"response": [{"description": "Cisco IOS Software [IOSXE], Catalyst L3 Switch Software (CAT9K_IOSXE), Version 17.15.1prd18, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Thu 04-Jul-24 22:32 by mcpre netconf enabled", "memorySize": "NA", "family": "Switches and Hubs", "type": "Cisco Catalyst 9300 Switch", "upTime": "1:16:04.20", "lastUpdateTime": 1758698036783, "macAddress": "24:6c:84:d3:7f:80", "softwareType": "IOS-XE", "softwareVersion": "17.15.1prd18", "deviceSupportLevel": "Supported", "serialNumber": "FJC271924D9", "inventoryStatusDetail": "", "dnsResolvedManagementAddress": "204.1.2.1", "lastManagedResyncReasons": "Periodic", "managementState": "Managed", "pendingSyncRequestsCount": "0", "reasonsForDeviceResync": "Periodic", "reasonsForPendingSyncRequests": "", "syncRequestedByApp": "", "collectionInterval": "Global Default", "roleSource": "AUTO", "lastUpdated": "2025-09-24 07:13:56", "bootDateTime": "2025-09-24 05:57:56", "apManagerInterfaceIp": "", "collectionStatus": "Managed", "hostname": "SJ-EN-9300.clean.com", "locationName": null, "managementIpAddress": "204.1.2.1", "platformId": "C9300-48UXM", "reachabilityFailureReason": "", "reachabilityStatus": "Reachable", "series": "Cisco Catalyst 9300 Series Switches", "interfaceCount": "0", "snmpContact": "", "snmpLocation": "", "associatedWlcIp": "", "apEthernetMacAddress": null, "errorCode": null, "errorDescription": null, "lastDeviceResyncStartTime": "2025-09-24 07:12:50", "lineCardCount": "0", "lineCardId": "", "managedAtleastOnce": false, "tagCount": "0", "tunnelUdpPort": null, "uptimeSeconds": 9055, "vendor": "Cisco", "waasDeviceMode": null, "location": null, "role": "ACCESS", "instanceUuid": "e0ebb237-e073-4ce3-94b6-45bc6329194a", "instanceTenantId": "68593aeecd0f400013b8604e", "id": "e0ebb237-e073-4ce3-94b6-45bc6329194a"}], "version": "1.0"}, + "get_software_image_details4_sub_package_images_with_api_task_timeout": {"response": [{"imageUuid": "4c86a250-9ce3-4473-af5f-98ba2d12ec3c", "name": "cat9k_iosxe.17.12.01.SPA.bin", "family": "CAT9K", "version": "17.12.01.0.80", "displayVersion": "17.12.01", "md5Checksum": "977fe40c6a49f48210571ed453d57ecc", "shaCheckSum": "e1b5cd9e0b243af13eb48912310f56f6ad5cb154c1cc79b273b0018cb6fa102afa57b9208c8a6e85744dba9044612192899152339e157c659fae58f516231508", "createdTime": "2025-07-25 08:10:31.0", "imageType": "SYSTEM_SW", "fileSize": "1301722947 bytes", "imageName": "cat9k_iosxe.17.12.01.SPA.bin", "applicationType": "", "feature": "", "fileServiceId": "d6f46239-75d4-4419-95ac-6fb74710b0e0", "isTaggedGolden": true, "imageSource": "http://172.21.236.183/swim/V1712_1_CCO/cat9k_iosxe.17.12.01.SPA.bin", "extendedAttributes": {"Description": "Cisco IOS Software, IOS-XE Software", "BOOTROM": "UNKNOWN", "MINFLASHSIZE": "UNKNOWN", "MEDIA": "5", "FULL_VERSION": "17.12.01.0.80", "DEFAULT_BOOTROM": "UNKNOWN", "DEFAULT_RAM": "UNKNOWN", "GAIA_FEATURE": "UNKNOWN", "COMPRESSION_CODE": "-1", "DEFAULT_MINFLASHSIZE": "UNKNOWN", "RAM": "UNKNOWN"}, "vendor": "CISCO", "imageIntegrityStatus": "VERIFIED", "importSourceType": "REMOTEURL"}], "version": "1.0"}, + "get_software_image_details5_sub_package_images_with_api_task_timeout": {"response": [{"imageUuid": "4c86a250-9ce3-4473-af5f-98ba2d12ec3c", "name": "cat9k_iosxe.17.12.01.SPA.bin", "family": "CAT9K", "version": "17.12.01.0.80", "displayVersion": "17.12.01", "md5Checksum": "977fe40c6a49f48210571ed453d57ecc", "shaCheckSum": "e1b5cd9e0b243af13eb48912310f56f6ad5cb154c1cc79b273b0018cb6fa102afa57b9208c8a6e85744dba9044612192899152339e157c659fae58f516231508", "createdTime": "2025-07-25 08:10:31.0", "imageType": "SYSTEM_SW", "fileSize": "1301722947 bytes", "imageName": "cat9k_iosxe.17.12.01.SPA.bin", "applicationType": "", "feature": "", "fileServiceId": "d6f46239-75d4-4419-95ac-6fb74710b0e0", "isTaggedGolden": true, "imageSource": "http://172.21.236.183/swim/V1712_1_CCO/cat9k_iosxe.17.12.01.SPA.bin", "extendedAttributes": {"Description": "Cisco IOS Software, IOS-XE Software", "BOOTROM": "UNKNOWN", "MINFLASHSIZE": "UNKNOWN", "MEDIA": "5", "FULL_VERSION": "17.12.01.0.80", "DEFAULT_BOOTROM": "UNKNOWN", "DEFAULT_RAM": "UNKNOWN", "GAIA_FEATURE": "UNKNOWN", "COMPRESSION_CODE": "-1", "DEFAULT_MINFLASHSIZE": "UNKNOWN", "RAM": "UNKNOWN"}, "vendor": "CISCO", "imageIntegrityStatus": "VERIFIED", "importSourceType": "REMOTEURL"}], "version": "1.0"} + ,"bulk_update_images_on_network_devices_sub_package_images_with_api_task_timeout": {"response": {"taskId": "01997ad6-f6f4-75a7-8227-508d56a067ca", "url": "/dna/intent/api/v1/tasks/01997ad6-f6f4-75a7-8227-508d56a067ca"}, "version": "1.0"} + ,"Task_Details__sub_package_images_with_api_task_timeout": {"response": {"lastUpdate": 1758702532478, "status": "PENDING", "startTime": 1758702532340, "resultLocation": "/dna/intent/api/v1/tasks/01997ad6-f6f4-75a7-8227-508d56a067ca/detail", "id": "01997ad6-f6f4-75a7-8227-508d56a067ca"}, "version": "1.0"} + ,"Task_Status___sub_package_images_with_api_task_timeout": {"response": {"endTime": 1758703979104, "rootId": "01997ad6-f6f4-75a7-8227-508d56a067ca", "status": "SUCCESS", "startTime": 1758702532340, "resultLocation": "/dna/intent/api/v1/tasks/01997ad6-f6f4-75a7-8227-508d56a067ca/detail", "id": "01997ad6-f6f4-75a7-8227-508d56a067ca"}, "version": "1.0"} + } diff --git a/tests/unit/modules/dnac/test_swim_workflow_manager.py b/tests/unit/modules/dnac/test_swim_workflow_manager.py index 67024e917b..dfef2d674b 100644 --- a/tests/unit/modules/dnac/test_swim_workflow_manager.py +++ b/tests/unit/modules/dnac/test_swim_workflow_manager.py @@ -35,6 +35,7 @@ class TestswimWorkflowManager(TestDnacModule): playbook_import_image = test_data.get("playbook_import_image") playbook_multiple_image_distribution_1 = test_data.get("playbook_multiple_image_distribution_1") playbook_sub_package_images = test_data.get("playbook_sub_package_images") + playbook_sub_package_images_with_api_task_timeout = test_data.get("playbook_sub_package_images_with_api_task_timeout") def setUp(self): super(TestswimWorkflowManager, self).setUp() @@ -233,6 +234,31 @@ def load_fixtures(self, response=None, device=""): self.test_data.get("Task_Status__"), ] + elif "playbook_sub_package_images_with_api_task_timeout" in self._testMethodName: + self.run_dnac_exec.side_effect = [ + self.test_data.get("get_software_image_details10_images_with_api_task_timeout"), + self.test_data.get("get_sites2_images_with_api_task_timeout"), + self.test_data.get("get_sites3_images_with_api_task_timeout"), + self.test_data.get("get_sites1_images_with_api_task_timeout"), + self.test_data.get("get_sites1_images_with_api_task_timeout"), + self.test_data.get("get_sites1_images_with_api_task_timeout"), + self.test_data.get("get_site_assigned_network_devices1_images_with_api_task_timeout"), + self.test_data.get("get_site_assigned_network_devices2_images_with_api_task_timeout"), + self.test_data.get("get_device_list1_images_with_api_task_timeout"), + self.test_data.get("device_list_response1_images_with_api_task_timeout"), + self.test_data.get("device_list_response2_images_with_api_task_timeout"), + self.test_data.get("get_software_image_details1_images_with_api_task_timeout"), + self.test_data.get("get_software_image_details2_images_with_api_task_timeout"), + self.test_data.get("Task_Details__images_with_api_task_timeout"), + self.test_data.get("Task_Status___images_with_api_task_timeout"), + self.test_data.get("get_device_list2_images_with_api_task_timeout"), + self.test_data.get("compliance_details_of_device1_images_with_api_task_timeout"), + self.test_data.get("get_device_list5_images_with_api_task_timeout"), + self.test_data.get("bulk_update_images_on_network_devices_images_with_api_task_timeout"), + self.test_data.get("Task_Details__images_with_api_task_timeout"), + self.test_data.get("Task_Status___images_with_api_task_timeout"), + ] + def test_swim_workflow_manager_playbook_inheritted_tag_cannot_be_untagged(self): """ Test case for SWIM workflow manager inherited tag untagging. @@ -496,7 +522,7 @@ def test_swim_workflow_manager_playbook_image_activation(self): result = self.execute_module(changed=True, failed=False) self.assertEqual( result.get('msg'), - "All eligible images activated successfully on the devices 204.1.1.26." + "Successfully activated: cat9k_iosxe.17.12.02.SPA.bin to 204.1.1.26" ) def test_swim_workflow_manager_playbook_sub_package_images(self): @@ -510,7 +536,7 @@ def test_swim_workflow_manager_playbook_sub_package_images(self): set_module_args( dict( - dnac_version='2.3.7.9', + dnac_version='3.1.3.0', dnac_host="1.1.1.1", dnac_username="dummy", dnac_password="dummy", @@ -522,5 +548,31 @@ def test_swim_workflow_manager_playbook_sub_package_images(self): result = self.execute_module(changed=True, failed=False) self.assertEqual( result.get('msg'), - "All eligible images activated successfully on the devices 5.5.5.5." + "All eligible images activated successfully on the devices 204.1.2.1." + ) + + def test_swim_workflow_manager_playbook_sub_package_images_with_api_task_timeout(self): + """ + Test SWIM workflow manager's image activation process. + + This test verifies that the workflow correctly handles image activation, + ensuring that an already imported image can be activated successfully + and behaves as expected. + """ + + set_module_args( + dict( + dnac_version='3.1.3.0', + dnac_host="1.1.1.1", + dnac_username="dummy", + dnac_password="dummy", + dnac_log=True, + state="merged", + config=self.playbook_sub_package_images_with_api_task_timeout + ) + ) + result = self.execute_module(changed=True, failed=False) + self.assertEqual( + result.get('msg'), + "All eligible images activated successfully on the devices 204.1.2.1." ) From a2703a8b75e9aab5916984a044e0f29ae9654f62 Mon Sep 17 00:00:00 2001 From: SyedKhadeerAhmed Date: Tue, 7 Oct 2025 12:15:41 +0530 Subject: [PATCH 2/6] 6 bugs done --- plugins/modules/swim_workflow_manager.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/plugins/modules/swim_workflow_manager.py b/plugins/modules/swim_workflow_manager.py index 57a4f445d7..d10eec6cc3 100644 --- a/plugins/modules/swim_workflow_manager.py +++ b/plugins/modules/swim_workflow_manager.py @@ -3792,7 +3792,7 @@ def get_diff_activation(self): self.log(failed_msg, "ERROR") break - # NEW FLOW (for Catalyst Center >= 2.3.7.9) + # NEW FLOW (for Catalyst Center > 2.3.7.9) else: self.log("Using new SWIM API for image activation (after 2.3.7.9)", "INFO") @@ -3893,7 +3893,7 @@ def get_diff_activation(self): elg_device_list = [] device_ip_for_not_elg_list = [] - # OLD FLOW (for DNAC < 2.3.7.9) + # OLD FLOW (for DNAC <= 2.3.7.9) if self.compare_dnac_versions(self.get_ccc_version(), "2.3.7.9") <= 0: for device_uuid in device_uuid_list: device_ip = self.get_device_ip_from_id(device_uuid) From 999dabe9a14f005b62276ecbd61749557ef7a116 Mon Sep 17 00:00:00 2001 From: SyedKhadeerAhmed Date: Fri, 10 Oct 2025 15:46:20 +0530 Subject: [PATCH 3/6] param confirmation is pending, testing is pending --- plugins/modules/swim_workflow_manager.py | 303 +++++++++++++++--- .../output/bot/ansible-test-sanity-pep8.json | 10 + .../bot/ansible-test-sanity-pylint.json | 10 + .../ansible-test-sanity-validate-modules.json | 10 + 4 files changed, 282 insertions(+), 51 deletions(-) create mode 100644 tests/output/bot/ansible-test-sanity-pep8.json create mode 100644 tests/output/bot/ansible-test-sanity-pylint.json create mode 100644 tests/output/bot/ansible-test-sanity-validate-modules.json diff --git a/plugins/modules/swim_workflow_manager.py b/plugins/modules/swim_workflow_manager.py index d10eec6cc3..c33d7adceb 100644 --- a/plugins/modules/swim_workflow_manager.py +++ b/plugins/modules/swim_workflow_manager.py @@ -411,15 +411,36 @@ description: Specify the name of the device family such as Switches and Hubs, etc. type: str - api_task_timeout: + distribution_task_timeout: description: | - Timeout duration in seconds for image distribution API operations. Controls how long - the system waits for image distribution tasks to complete, including image transfer - to target devices, network propagation, and distribution validation. Default of 2400 - seconds (40 minutes) accounts for large image files, multiple target devices, and - network latency. Adjust based on distribution scope, network bandwidth, and image size. - type: int - default: 1800 + Timeout duration in seconds for image distribution API operations. + Controls how long the system waits for image distribution tasks to complete, + including image transfer to target devices, network propagation, and distribution validation. + + Operation phases covered by this timeout: + - Image preparation and validation on Catalyst Center + - Network transfer to target devices + - Installation verification on target devices + - Distribution status confirmation + + Default of 1800 seconds (30 minutes) accounts for: + - Large image files (up to several GB) + - Multiple target devices in site-based operations + - Network latency and bandwidth constraints + - Device processing and storage capabilities + + Recommended timeout values: + - Small networks (1-10 devices): 900-1800 seconds + - Medium networks (10-50 devices): 1800-3600 seconds + - Large networks (50+ devices): 3600-7200 seconds + + Note: This timeout is independent of the global 'dnac_api_task_timeout' parameter + and specifically applies to distribution operations only. + + default: 1800 + type: int + version_added: 3.1.3.0 + site_name: description: Used to get device details associated to this site. @@ -476,15 +497,39 @@ ACCESS, BORDER ROUTER, DISTRIBUTION, and CORE. type: str - api_task_timeout: + activation_task_timeout: description: | - Timeout duration in seconds for image activation API operations. Controls how long - the system waits for image upload, installation, and activation processes to complete - before timing out. Default of 2400 seconds (40 minutes) accommodates large image - transfers and device processing time. Adjust based on network speed, image size, - and device capabilities. - type: int - default: 1800 + Timeout duration in seconds for image activation API operations. + Controls how long the system waits for image activation processes to complete + before timing out, including device reboot and startup verification. + + Operation phases covered by this timeout: + - Image validation and preparation for activation + - Device upgrade mode processing (install/bundle/currentlyExists) + - Device reboot and startup sequence (if required) + - Post-activation connectivity and status verification + - Golden image validation (if applicable) + + Default of 1800 seconds (30 minutes) accommodates: + - Device boot time variations (switches: 5-15 min, routers: 10-20 min) + - Image installation and verification processes + - Network convergence and connectivity restoration + - Multiple devices in concurrent activation scenarios + + Recommended timeout values by device type: + - Access switches: 1200-1800 seconds (20-30 minutes) + - Distribution/Core switches: 1800-2700 seconds (30-45 minutes) + - Routers and complex devices: 2700-3600 seconds (45-60 minutes) + + Warning: Setting timeout too low may cause premature failure reporting + for successful but slow activation processes. + + Note: This timeout is independent of the global 'dnac_api_task_timeout' parameter + + type: int + default: 1800 + version_added: 3.1.3.0 + device_family_name: description: Specify the name of the device family such as Switches and Hubs, etc. @@ -910,7 +955,7 @@ config: - image_activation_details: site_name: Global/USA/San Francisco/BGL_18 - api_task_timeout: 2500 + activation_task_timeout: 2500 device_role: ALL device_family_name: Switches and Hubs device_series_name: Cisco Catalyst 9300 Series Switches @@ -1429,16 +1474,19 @@ def get_device_uuids( device_uuid_list = [] device_id_list, site_response_list = [], [] if not site_name: - if self.compare_dnac_versions(self.get_ccc_version(), "2.3.5.3") <= 0: + current_version = self.get_ccc_version() + if self.compare_dnac_versions(current_version, "2.3.5.3") <= 0: site_name = "Global/.*" self.log( - "Site name not specified; defaulting to 'Global/.*' to fetch all devices under this category", + "Catalyst Center version {0} (≤2.3.5.3) detected - using wildcard pattern 'Global/.*' " + "to fetch devices from Global site and all child sites via legacy API".format(current_version), "INFO", ) else: site_name = "Global" self.log( - "Site name not specified; defaulting to 'Global' to fetch all devices under this category", + "Catalyst Center version {0} (>2.3.5.3) detected - using 'Global' site name " + "to fetch devices via enhanced site hierarchy API".format(current_version), "INFO", ) @@ -1499,7 +1547,6 @@ def get_device_uuids( for item_dict in item["response"]: site_response_list.append(item_dict) else: - self.log(site_name, "DEBUG") if site_name: self.log( "Fetching devices for site '{0}'".format(site_name), "DEBUG" @@ -3074,7 +3121,7 @@ def get_diff_distribution(self): device_family = distribution_details.get("device_family_name") device_role = distribution_details.get("device_role", "ALL") device_series_name = distribution_details.get("device_series_name") - self.max_timeout = distribution_details.get("api_task_timeout", 1800) + self.max_timeout = distribution_details.get("distribution_task_timeout", 1800) self.log( "Fetching device UUIDs for site '{0}', family '{1}', role '{2}', and series '{3}'.".format( site_name, device_family, device_role, device_series_name @@ -3635,7 +3682,7 @@ def get_diff_activation(self): device_family = activation_details.get("device_family_name") device_role = activation_details.get("device_role", "ALL") device_series_name = activation_details.get("device_series_name") - self.max_timeout = activation_details.get("api_task_timeout", 1800) + self.max_timeout = activation_details.get("activation_task_timeout", 1800) self.log( "Fetching device UUIDs for site '{0}', family '{1}', role '{2}', and series '{3}'.".format( @@ -4046,7 +4093,7 @@ def get_diff_activation(self): params={"payload": activation_payload_list}, ) self.log("API response from 'bulk_update_images_on_network_devices': {0}".format(str(response)), "DEBUG") - self.check_swim_tasks_response_status(response, "bulk_update_images_on_network_devices") + self.check_swim_tasks_response_status(response, "bulk_update_images_on_network_devices", "activation_task_timeout") if response and self.status not in ["failed", "exited"]: self.msg = "All eligible images activated successfully on the devices {0}.".format(", ".join(device_ips)) @@ -4092,71 +4139,225 @@ def get_diff_activation(self): self.complete_successful_activation = True return self - def check_swim_tasks_response_status(self, response, api_name): + def check_swim_tasks_response_status(self, response, api_name, operation_details=None): """ - Get the task response status from taskId + Get the task response status from taskId for SWIM operations. Args: - self: The current object details. - response (dict): API response. - api_name (str): API name. + self (object): An instance of a class used for interacting with Cisco Catalyst Center. + response (dict): API response containing task information from SWIM operations. + api_name (str): Name of the API operation being monitored for logging context. + operation_details (dict, optional): Operation configuration for timeout determination. + Returns: - self (object): The current object with updated desired Fabric Transits information. + self (object): Updated instance with task execution results and status information. + Description: - Poll the function 'get_tasks_by_id' until it returns either 'SUCCESS' or 'FAILURE' - state or till it reaches the maximum timeout. - Log the task details and return self. + Monitors SWIM task execution by polling the 'get_tasks_by_id' function until the task + reaches SUCCESS or FAILURE state, or until the maximum timeout is exceeded. Uses + operation-specific timeouts when available, falling back to global or default values. + Handles error conditions, timeout scenarios, and provides detailed logging throughout + the monitoring process. """ - + self.log("Starting SWIM task status monitoring for API operation: {0}".format(api_name), "DEBUG") + self.log("Input response: {0}".format(response), "DEBUG") + self.log("Operation details for timeout calculation: {0}".format(operation_details), "DEBUG") if not response: - self.msg = "response is empty" + self.msg = "Empty response received from API '{0}' - cannot monitor task status".format(api_name) self.status = "exited" return self if not isinstance(response, dict): - self.msg = "response is not a dictionary" + self.msg = "Invalid response format from API '{0}' - expected dictionary, got {1}".format( + api_name, type(response).__name__ + ) self.status = "exited" return self task_info = response.get("response") + if not task_info: + self.msg = "Missing task information in response from API '{0}'".format(api_name) + self.log(self.msg, "ERROR") + self.status = "failed" + return self + if task_info.get("errorcode") is not None: - self.msg = response.get("response").get("detail") + error_detail = task_info.get("detail", "Unknown error occurred") + self.msg = "API '{0}' returned error: {1}".format(api_name, error_detail) + self.log(self.msg, "ERROR") self.status = "failed" return self task_id = task_info.get("taskId") + if not task_id: + self.msg = "Missing taskId in response from API '{0}'".format(api_name) + self.log(self.msg, "ERROR") + self.status = "failed" + return self + start_time = time.time() + # Determine appropriate timeout for this operation + if operation_details: + operation_type = api_name.lower().replace("trigger_software_image_", "").replace("_", "") + max_timeout = self.get_operation_timeout(operation_type, operation_details) + else: + max_timeout = getattr(self, 'max_timeout', self.params.get("dnac_api_task_timeout", 1800)) + + poll_interval = self.params.get("dnac_task_poll_interval", 2) + + self.log( + "Monitoring task '{0}' from API '{1}' with timeout {2}s and poll interval {3}s".format( + task_id, api_name, max_timeout, poll_interval + ), + "INFO" + ) + start_time = time.time() + task_status_history = [] while True: elapsed_time = time.time() - start_time - if elapsed_time >= self.max_timeout: - self.msg = "Max timeout of {0} sec has reached for the task id '{1}'. " \ - .format(self.max_timeout, task_id) + \ - "Exiting the loop due to unexpected API '{0}' status.".format(api_name) + + # Check for timeout + if elapsed_time >= max_timeout: + self.msg = ( + "Timeout of {0} seconds reached for task '{1}' from API '{2}'. " + "Task may still be running on Catalyst Center. " + "Consider increasing timeout or checking task status manually." + ).format(max_timeout, task_id, api_name) self.log(self.msg, "WARNING") self.status = "failed" break - task_details = self.get_tasks_by_id(task_id) - self.log('Getting tasks details from task ID {0}: {1}' - .format(task_id, task_details), "DEBUG") + # Get current task status + try: + task_details = self.get_tasks_by_id(task_id) + self.log( + "Retrieved task details for ID '{0}': {1}".format(task_id, task_details), + "DEBUG" + ) + except Exception as e: + self.msg = "Failed to retrieve task details for ID '{0}': {1}".format(task_id, str(e)) + self.log(self.msg, "ERROR") + self.status = "failed" + break + + if not task_details: + self.log( + "Empty task details received for ID '{0}', retrying...".format(task_id), + "WARNING" + ) + time.sleep(poll_interval) + continue + + task_status = task_details.get("status", "UNKNOWN") - task_status = task_details.get("status") + # Track status changes for debugging + if not task_status_history or task_status_history[-1] != task_status: + task_status_history.append(task_status) + self.log( + "Task '{0}' status changed to: {1} (elapsed: {2:.1f}s)".format( + task_id, task_status, elapsed_time + ), + "INFO" + ) + + # Handle terminal states if task_status == "FAILURE": - details = self.get_task_details_by_id(task_id) - self.msg = details.get("failureReason") + try: + failure_details = self.get_task_details_by_id(task_id) + failure_reason = failure_details.get("failureReason", "Unknown failure reason") + self.msg = "Task '{0}' from API '{1}' failed: {2}".format( + task_id, api_name, failure_reason + ) + self.log(self.msg, "ERROR") + except Exception as e: + self.msg = "Task '{0}' failed and unable to retrieve failure details: {1}".format( + task_id, str(e) + ) + self.log(self.msg, "ERROR") + self.status = "failed" break elif task_status == "SUCCESS": self.result["changed"] = True - self.log("The task with task ID '{0}' is executed successfully." - .format(task_id), "INFO") + self.msg = "Task '{0}' from API '{1}' completed successfully in {2:.1f} seconds".format( + task_id, api_name, elapsed_time + ) + self.log(self.msg, "INFO") + self.status = "success" break - self.log("Progress is {0} for task ID: {1}" - .format(task_status, task_id), "DEBUG") + # Handle unknown/unexpected status + elif task_status not in ["IN_PROGRESS", "PENDING", "RUNNING"]: + self.log( + "Unexpected task status '{0}' for task '{1}'. Continuing to monitor...".format( + task_status, task_id + ), + "WARNING" + ) + + # Log periodic progress updates + if int(elapsed_time) % 30 == 0 and elapsed_time > 0: # Every 30 seconds + progress_info = task_details.get("progress", "No progress information") + self.log( + "Task '{0}' progress update: {1} (status: {2}, elapsed: {3:.1f}s)".format( + task_id, progress_info, task_status, elapsed_time + ), + "DEBUG" + ) + + time.sleep(poll_interval) + + # Log final task monitoring summary + self.log( + "Task monitoring completed for '{0}'. Final status: {1}, Total time: {2:.1f}s, Status history: {3}".format( + task_id, self.status, time.time() - start_time, " -> ".join(task_status_history) + ), + "INFO" + ) return self + def get_operation_timeout(self, operation_type, operation_details): + """ + Get the appropriate timeout value for specific SWIM operations. + + Args: + operation_type (str): Type of operation ('distribution' or 'activation') + operation_details (dict): Operation configuration details + + Returns: + int: Timeout value in seconds + """ + self.log("Determining timeout for {0} operation".format(operation_type), "DEBUG") + + # Map operation types to their specific timeout parameter names + timeout_key_mapping = { + "distribution": "distribution_task_timeout", + "activation": "activation_task_timeout" + } + + # Get operation-specific timeout if provided + timeout_key = timeout_key_mapping.get(operation_type) + if timeout_key and timeout_key in operation_details: + operation_timeout = operation_details[timeout_key] + self.log( + "Using operation-specific {0}: {1} seconds for {2}".format( + timeout_key, operation_timeout, operation_type + ), + "INFO" + ) + return operation_timeout + + # Fallback to global timeout + global_timeout = self.params.get("dnac_api_task_timeout", 1800) + self.log( + "Using global dnac_api_task_timeout: {0} seconds for {1}".format( + global_timeout, operation_type + ), + "INFO" + ) + return global_timeout + def get_diff_merged(self, config): """ Get tagging details and then trigger distribution followed by activation if specified in the playbook. diff --git a/tests/output/bot/ansible-test-sanity-pep8.json b/tests/output/bot/ansible-test-sanity-pep8.json new file mode 100644 index 0000000000..310fcfec23 --- /dev/null +++ b/tests/output/bot/ansible-test-sanity-pep8.json @@ -0,0 +1,10 @@ +{ + "docs": "https://docs.ansible.com/ansible-core/2.15/dev_guide/testing/sanity/pep8.html", + "results": [ + { + "message": "The test `ansible-test sanity --test pep8` [[explain](https://docs.ansible.com/ansible-core/2.15/dev_guide/testing/sanity/pep8.html)] failed with 2 errors:", + "output": "plugins/modules/swim_workflow_manager.py:4340:19: W291: trailing whitespace\nplugins/modules/swim_workflow_manager.py:4354:5: E301: expected 1 blank line, found 0" + } + ], + "verified": false +} diff --git a/tests/output/bot/ansible-test-sanity-pylint.json b/tests/output/bot/ansible-test-sanity-pylint.json new file mode 100644 index 0000000000..2f61778ba9 --- /dev/null +++ b/tests/output/bot/ansible-test-sanity-pylint.json @@ -0,0 +1,10 @@ +{ + "docs": "https://docs.ansible.com/ansible-core/2.15/dev_guide/testing/sanity/pylint.html", + "results": [ + { + "message": "The test `ansible-test sanity --test pylint` [[explain](https://docs.ansible.com/ansible-core/2.15/dev_guide/testing/sanity/pylint.html)] failed with 1 error:", + "output": "plugins/modules/swim_workflow_manager.py:4340:18: trailing-whitespace: Trailing whitespace" + } + ], + "verified": false +} diff --git a/tests/output/bot/ansible-test-sanity-validate-modules.json b/tests/output/bot/ansible-test-sanity-validate-modules.json new file mode 100644 index 0000000000..b311077208 --- /dev/null +++ b/tests/output/bot/ansible-test-sanity-validate-modules.json @@ -0,0 +1,10 @@ +{ + "docs": "https://docs.ansible.com/ansible-core/2.15/dev_guide/testing/sanity/validate-modules.html", + "results": [ + { + "message": "The test `ansible-test sanity --test validate-modules` [[explain](https://docs.ansible.com/ansible-core/2.15/dev_guide/testing/sanity/validate-modules.html)] failed with 1 error:", + "output": "plugins/modules/swim_workflow_manager.py:0:0: option-invalid-version-added: DOCUMENTATION.options.config.suboptions.image_distribution_details.suboptions.distribution_task_timeout: version_added ('3.1.3.0') is not a valid collection version (see specification at https://semver.org/): invalid semantic version '3.1.3.0' for dictionary value @ data['options']['config']['suboptions']['image_distribution_details']['suboptions']['distribution_task_timeout']. Got {'description': \"Timeout duration in seconds for image distribution API operations.\\nControls how long the system waits for image distribution tasks to complete,\\nincluding image transfer to target devices, network propagation, and distribution validation.\\n\\nOperation phases covered by this timeout:\\n- Image preparation and validation on Catalyst Center\\n- Network transfer to target devices\\n- Installation verification on target devices\\n- Distribution status confirmation\\n\\nDefault of 1800 ..." + } + ], + "verified": false +} From 1afa78a2fdfbf9282a9944fdeec619616ac1d2a4 Mon Sep 17 00:00:00 2001 From: SyedKhadeerAhmed Date: Mon, 13 Oct 2025 15:16:11 +0530 Subject: [PATCH 4/6] review completed --- plugins/modules/swim_workflow_manager.py | 218 ++++------------------- 1 file changed, 33 insertions(+), 185 deletions(-) diff --git a/plugins/modules/swim_workflow_manager.py b/plugins/modules/swim_workflow_manager.py index c33d7adceb..98c240d762 100644 --- a/plugins/modules/swim_workflow_manager.py +++ b/plugins/modules/swim_workflow_manager.py @@ -411,7 +411,7 @@ description: Specify the name of the device family such as Switches and Hubs, etc. type: str - distribution_task_timeout: + Image_distribution_timeout: description: | Timeout duration in seconds for image distribution API operations. Controls how long the system waits for image distribution tasks to complete, @@ -497,7 +497,7 @@ ACCESS, BORDER ROUTER, DISTRIBUTION, and CORE. type: str - activation_task_timeout: + image_activation_timeout: description: | Timeout duration in seconds for image activation API operations. Controls how long the system waits for image activation processes to complete @@ -955,7 +955,7 @@ config: - image_activation_details: site_name: Global/USA/San Francisco/BGL_18 - activation_task_timeout: 2500 + image_activation_timeout: 2500 device_role: ALL device_family_name: Switches and Hubs device_series_name: Cisco Catalyst 9300 Series Switches @@ -3121,7 +3121,7 @@ def get_diff_distribution(self): device_family = distribution_details.get("device_family_name") device_role = distribution_details.get("device_role", "ALL") device_series_name = distribution_details.get("device_series_name") - self.max_timeout = distribution_details.get("distribution_task_timeout", 1800) + self.max_timeout = distribution_details.get("Image_distribution_timeout", 1800) self.log( "Fetching device UUIDs for site '{0}', family '{1}', role '{2}', and series '{3}'.".format( site_name, device_family, device_role, device_series_name @@ -3682,7 +3682,7 @@ def get_diff_activation(self): device_family = activation_details.get("device_family_name") device_role = activation_details.get("device_role", "ALL") device_series_name = activation_details.get("device_series_name") - self.max_timeout = activation_details.get("activation_task_timeout", 1800) + self.max_timeout = activation_details.get("image_activation_timeout", 1800) self.log( "Fetching device UUIDs for site '{0}', family '{1}', role '{2}', and series '{3}'.".format( @@ -4093,7 +4093,7 @@ def get_diff_activation(self): params={"payload": activation_payload_list}, ) self.log("API response from 'bulk_update_images_on_network_devices': {0}".format(str(response)), "DEBUG") - self.check_swim_tasks_response_status(response, "bulk_update_images_on_network_devices", "activation_task_timeout") + self.check_swim_tasks_response_status(response, "bulk_update_images_on_network_devices") if response and self.status not in ["failed", "exited"]: self.msg = "All eligible images activated successfully on the devices {0}.".format(", ".join(device_ips)) @@ -4139,225 +4139,73 @@ def get_diff_activation(self): self.complete_successful_activation = True return self - def check_swim_tasks_response_status(self, response, api_name, operation_details=None): + def check_swim_tasks_response_status(self, response, api_name): """ - Get the task response status from taskId for SWIM operations. + Get the task response status from taskId Args: - self (object): An instance of a class used for interacting with Cisco Catalyst Center. - response (dict): API response containing task information from SWIM operations. - api_name (str): Name of the API operation being monitored for logging context. - operation_details (dict, optional): Operation configuration for timeout determination. - + self: The current object details. + response (dict): API response. + api_name (str): API name. Returns: - self (object): Updated instance with task execution results and status information. - + self (object): The current object with updated desired Fabric Transits information. Description: - Monitors SWIM task execution by polling the 'get_tasks_by_id' function until the task - reaches SUCCESS or FAILURE state, or until the maximum timeout is exceeded. Uses - operation-specific timeouts when available, falling back to global or default values. - Handles error conditions, timeout scenarios, and provides detailed logging throughout - the monitoring process. + Poll the function 'get_tasks_by_id' until it returns either 'SUCCESS' or 'FAILURE' + state or till it reaches the maximum timeout. + Log the task details and return self. """ self.log("Starting SWIM task status monitoring for API operation: {0}".format(api_name), "DEBUG") self.log("Input response: {0}".format(response), "DEBUG") - self.log("Operation details for timeout calculation: {0}".format(operation_details), "DEBUG") + self.log("Max timeout for task monitoring is set to {0} seconds.".format(self.max_timeout), "DEBUG") if not response: - self.msg = "Empty response received from API '{0}' - cannot monitor task status".format(api_name) + self.msg = "response is empty" self.status = "exited" return self if not isinstance(response, dict): - self.msg = "Invalid response format from API '{0}' - expected dictionary, got {1}".format( - api_name, type(response).__name__ - ) + self.msg = "response is not a dictionary" self.status = "exited" return self task_info = response.get("response") - if not task_info: - self.msg = "Missing task information in response from API '{0}'".format(api_name) - self.log(self.msg, "ERROR") - self.status = "failed" - return self - if task_info.get("errorcode") is not None: - error_detail = task_info.get("detail", "Unknown error occurred") - self.msg = "API '{0}' returned error: {1}".format(api_name, error_detail) - self.log(self.msg, "ERROR") + self.msg = response.get("response").get("detail") self.status = "failed" return self task_id = task_info.get("taskId") - if not task_id: - self.msg = "Missing taskId in response from API '{0}'".format(api_name) - self.log(self.msg, "ERROR") - self.status = "failed" - return self - start_time = time.time() - # Determine appropriate timeout for this operation - if operation_details: - operation_type = api_name.lower().replace("trigger_software_image_", "").replace("_", "") - max_timeout = self.get_operation_timeout(operation_type, operation_details) - else: - max_timeout = getattr(self, 'max_timeout', self.params.get("dnac_api_task_timeout", 1800)) - - poll_interval = self.params.get("dnac_task_poll_interval", 2) - - self.log( - "Monitoring task '{0}' from API '{1}' with timeout {2}s and poll interval {3}s".format( - task_id, api_name, max_timeout, poll_interval - ), - "INFO" - ) - start_time = time.time() - task_status_history = [] while True: elapsed_time = time.time() - start_time - - # Check for timeout - if elapsed_time >= max_timeout: - self.msg = ( - "Timeout of {0} seconds reached for task '{1}' from API '{2}'. " - "Task may still be running on Catalyst Center. " - "Consider increasing timeout or checking task status manually." - ).format(max_timeout, task_id, api_name) + if elapsed_time >= self.max_timeout: + self.msg = "Max timeout of {0} sec has reached for the task id '{1}'. " \ + .format(self.max_timeout, task_id) + \ + "Exiting the loop due to unexpected API '{0}' status.".format(api_name) self.log(self.msg, "WARNING") self.status = "failed" break - # Get current task status - try: - task_details = self.get_tasks_by_id(task_id) - self.log( - "Retrieved task details for ID '{0}': {1}".format(task_id, task_details), - "DEBUG" - ) - except Exception as e: - self.msg = "Failed to retrieve task details for ID '{0}': {1}".format(task_id, str(e)) - self.log(self.msg, "ERROR") - self.status = "failed" - break - - if not task_details: - self.log( - "Empty task details received for ID '{0}', retrying...".format(task_id), - "WARNING" - ) - time.sleep(poll_interval) - continue - - task_status = task_details.get("status", "UNKNOWN") + task_details = self.get_tasks_by_id(task_id) + self.log('Getting tasks details from task ID {0}: {1}' + .format(task_id, task_details), "DEBUG") - # Track status changes for debugging - if not task_status_history or task_status_history[-1] != task_status: - task_status_history.append(task_status) - self.log( - "Task '{0}' status changed to: {1} (elapsed: {2:.1f}s)".format( - task_id, task_status, elapsed_time - ), - "INFO" - ) - - # Handle terminal states + task_status = task_details.get("status") if task_status == "FAILURE": - try: - failure_details = self.get_task_details_by_id(task_id) - failure_reason = failure_details.get("failureReason", "Unknown failure reason") - self.msg = "Task '{0}' from API '{1}' failed: {2}".format( - task_id, api_name, failure_reason - ) - self.log(self.msg, "ERROR") - except Exception as e: - self.msg = "Task '{0}' failed and unable to retrieve failure details: {1}".format( - task_id, str(e) - ) - self.log(self.msg, "ERROR") - + details = self.get_task_details_by_id(task_id) + self.msg = details.get("failureReason") self.status = "failed" break elif task_status == "SUCCESS": self.result["changed"] = True - self.msg = "Task '{0}' from API '{1}' completed successfully in {2:.1f} seconds".format( - task_id, api_name, elapsed_time - ) - self.log(self.msg, "INFO") - self.status = "success" + self.log("The task with task ID '{0}' is executed successfully." + .format(task_id), "INFO") break - # Handle unknown/unexpected status - elif task_status not in ["IN_PROGRESS", "PENDING", "RUNNING"]: - self.log( - "Unexpected task status '{0}' for task '{1}'. Continuing to monitor...".format( - task_status, task_id - ), - "WARNING" - ) - - # Log periodic progress updates - if int(elapsed_time) % 30 == 0 and elapsed_time > 0: # Every 30 seconds - progress_info = task_details.get("progress", "No progress information") - self.log( - "Task '{0}' progress update: {1} (status: {2}, elapsed: {3:.1f}s)".format( - task_id, progress_info, task_status, elapsed_time - ), - "DEBUG" - ) - - time.sleep(poll_interval) - - # Log final task monitoring summary - self.log( - "Task monitoring completed for '{0}'. Final status: {1}, Total time: {2:.1f}s, Status history: {3}".format( - task_id, self.status, time.time() - start_time, " -> ".join(task_status_history) - ), - "INFO" - ) + self.log("Progress is {0} for task ID: {1}" + .format(task_status, task_id), "DEBUG") return self - def get_operation_timeout(self, operation_type, operation_details): - """ - Get the appropriate timeout value for specific SWIM operations. - - Args: - operation_type (str): Type of operation ('distribution' or 'activation') - operation_details (dict): Operation configuration details - - Returns: - int: Timeout value in seconds - """ - self.log("Determining timeout for {0} operation".format(operation_type), "DEBUG") - - # Map operation types to their specific timeout parameter names - timeout_key_mapping = { - "distribution": "distribution_task_timeout", - "activation": "activation_task_timeout" - } - - # Get operation-specific timeout if provided - timeout_key = timeout_key_mapping.get(operation_type) - if timeout_key and timeout_key in operation_details: - operation_timeout = operation_details[timeout_key] - self.log( - "Using operation-specific {0}: {1} seconds for {2}".format( - timeout_key, operation_timeout, operation_type - ), - "INFO" - ) - return operation_timeout - - # Fallback to global timeout - global_timeout = self.params.get("dnac_api_task_timeout", 1800) - self.log( - "Using global dnac_api_task_timeout: {0} seconds for {1}".format( - global_timeout, operation_type - ), - "INFO" - ) - return global_timeout - def get_diff_merged(self, config): """ Get tagging details and then trigger distribution followed by activation if specified in the playbook. From 6d272d33eb3bf3c5d7dde886286e9d1b8db3be9f Mon Sep 17 00:00:00 2001 From: SyedKhadeerAhmed Date: Mon, 13 Oct 2025 16:38:50 +0530 Subject: [PATCH 5/6] addressed review comments --- plugins/modules/swim_workflow_manager.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/plugins/modules/swim_workflow_manager.py b/plugins/modules/swim_workflow_manager.py index 98c240d762..e4ac1f85a0 100644 --- a/plugins/modules/swim_workflow_manager.py +++ b/plugins/modules/swim_workflow_manager.py @@ -411,7 +411,7 @@ description: Specify the name of the device family such as Switches and Hubs, etc. type: str - Image_distribution_timeout: + image_distribution_timeout: description: | Timeout duration in seconds for image distribution API operations. Controls how long the system waits for image distribution tasks to complete, @@ -3121,7 +3121,7 @@ def get_diff_distribution(self): device_family = distribution_details.get("device_family_name") device_role = distribution_details.get("device_role", "ALL") device_series_name = distribution_details.get("device_series_name") - self.max_timeout = distribution_details.get("Image_distribution_timeout", 1800) + self.max_timeout = distribution_details.get("image_distribution_timeout", 1800) self.log( "Fetching device UUIDs for site '{0}', family '{1}', role '{2}', and series '{3}'.".format( site_name, device_family, device_role, device_series_name From c00693049132eafc93f7eb8ce4e69b8e85fa3938 Mon Sep 17 00:00:00 2001 From: SyedKhadeerAhmed Date: Mon, 13 Oct 2025 16:46:01 +0530 Subject: [PATCH 6/6] sanity fixed --- tests/output/bot/ansible-test-sanity-pep8.json | 10 ---------- tests/output/bot/ansible-test-sanity-pylint.json | 10 ---------- .../bot/ansible-test-sanity-validate-modules.json | 10 ---------- 3 files changed, 30 deletions(-) delete mode 100644 tests/output/bot/ansible-test-sanity-pep8.json delete mode 100644 tests/output/bot/ansible-test-sanity-pylint.json delete mode 100644 tests/output/bot/ansible-test-sanity-validate-modules.json diff --git a/tests/output/bot/ansible-test-sanity-pep8.json b/tests/output/bot/ansible-test-sanity-pep8.json deleted file mode 100644 index 310fcfec23..0000000000 --- a/tests/output/bot/ansible-test-sanity-pep8.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "docs": "https://docs.ansible.com/ansible-core/2.15/dev_guide/testing/sanity/pep8.html", - "results": [ - { - "message": "The test `ansible-test sanity --test pep8` [[explain](https://docs.ansible.com/ansible-core/2.15/dev_guide/testing/sanity/pep8.html)] failed with 2 errors:", - "output": "plugins/modules/swim_workflow_manager.py:4340:19: W291: trailing whitespace\nplugins/modules/swim_workflow_manager.py:4354:5: E301: expected 1 blank line, found 0" - } - ], - "verified": false -} diff --git a/tests/output/bot/ansible-test-sanity-pylint.json b/tests/output/bot/ansible-test-sanity-pylint.json deleted file mode 100644 index 2f61778ba9..0000000000 --- a/tests/output/bot/ansible-test-sanity-pylint.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "docs": "https://docs.ansible.com/ansible-core/2.15/dev_guide/testing/sanity/pylint.html", - "results": [ - { - "message": "The test `ansible-test sanity --test pylint` [[explain](https://docs.ansible.com/ansible-core/2.15/dev_guide/testing/sanity/pylint.html)] failed with 1 error:", - "output": "plugins/modules/swim_workflow_manager.py:4340:18: trailing-whitespace: Trailing whitespace" - } - ], - "verified": false -} diff --git a/tests/output/bot/ansible-test-sanity-validate-modules.json b/tests/output/bot/ansible-test-sanity-validate-modules.json deleted file mode 100644 index b311077208..0000000000 --- a/tests/output/bot/ansible-test-sanity-validate-modules.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "docs": "https://docs.ansible.com/ansible-core/2.15/dev_guide/testing/sanity/validate-modules.html", - "results": [ - { - "message": "The test `ansible-test sanity --test validate-modules` [[explain](https://docs.ansible.com/ansible-core/2.15/dev_guide/testing/sanity/validate-modules.html)] failed with 1 error:", - "output": "plugins/modules/swim_workflow_manager.py:0:0: option-invalid-version-added: DOCUMENTATION.options.config.suboptions.image_distribution_details.suboptions.distribution_task_timeout: version_added ('3.1.3.0') is not a valid collection version (see specification at https://semver.org/): invalid semantic version '3.1.3.0' for dictionary value @ data['options']['config']['suboptions']['image_distribution_details']['suboptions']['distribution_task_timeout']. Got {'description': \"Timeout duration in seconds for image distribution API operations.\\nControls how long the system waits for image distribution tasks to complete,\\nincluding image transfer to target devices, network propagation, and distribution validation.\\n\\nOperation phases covered by this timeout:\\n- Image preparation and validation on Catalyst Center\\n- Network transfer to target devices\\n- Installation verification on target devices\\n- Distribution status confirmation\\n\\nDefault of 1800 ..." - } - ], - "verified": false -}