diff --git a/.github/workflows/release-prep.yml b/.github/workflows/release-prep.yml deleted file mode 100644 index 9d02483231..0000000000 --- a/.github/workflows/release-prep.yml +++ /dev/null @@ -1,17 +0,0 @@ -# name: release-prep -# on: -# push: -# branches: -# - '**-rc' - -# jobs: -# trigger-circleci: -# runs-on: ubuntu-20.04 -# steps: -# - name: Trigger CircleCI -# id: trigger-circle-ci -# uses: CircleCI-Public/trigger-circleci-pipeline-action@v1.2.0 -# with: -# GHA_Meta: "run-release-prep" -# env: -# CCI_TOKEN: ${{ secrets.CCI_TOKEN }} \ No newline at end of file diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml deleted file mode 100644 index 936ca9d29a..0000000000 --- a/.github/workflows/release.yml +++ /dev/null @@ -1,16 +0,0 @@ -# name: release -# on: -# push: -# branches: -# - 'main' -# jobs: -# trigger-circleci: -# runs-on: ubuntu-20.04 -# steps: -# - name: Trigger CircleCI -# id: trigger-circle-ci -# uses: CircleCI-Public/trigger-circleci-pipeline-action@v1.2.0 -# with: -# GHA_Meta: "run-release" -# env: -# CCI_TOKEN: ${{ secrets.CCI_TOKEN }} \ No newline at end of file diff --git a/changelogs/changelog.yaml b/changelogs/changelog.yaml index 34d43b7b4c..97aa83de4a 100644 --- a/changelogs/changelog.yaml +++ b/changelogs/changelog.yaml @@ -1002,3 +1002,16 @@ releases: - fabric_sites_zones_workflow_manager.py: removed attribute 'site_type'. - swim_workflow_manager.py: added attribute 'cco_image_details'. - user_role_workflow_manager: added attribute 'password_update'. + 6.20.0: + release_date: "2024-09-30" + changes: + release_summary: Code changes in workflow manager modules. + minor_changes: + - Removing git release workflows. + - Removed sda_extranet_policies_workflow_manager.py module. + - Changes in network_compliance_workflow_manager module. + - Changes in user_role_workflow_manager module. + - Changes in inventory_workflow_manager module. + - network_settings_workflow_manager.py: added attributes 'wired_data_collection', 'wireless_telemetry', and 'netflow_collector'. + - provision_workflow_manager.py: added attribute 'force_provisioning'. + - accesspoint_workflow_manager.py: added attribute 'reboot_aps'. diff --git a/galaxy.yml b/galaxy.yml index 4aa62d9140..e530049182 100644 --- a/galaxy.yml +++ b/galaxy.yml @@ -1,7 +1,7 @@ --- namespace: cisco name: dnac -version: 6.19.0 +version: 6.20.0 readme: README.md authors: - Rafael Campos diff --git a/playbooks/provision_workflow_manager.yml b/playbooks/provision_workflow_manager.yml new file mode 100644 index 0000000000..5850fb5810 --- /dev/null +++ b/playbooks/provision_workflow_manager.yml @@ -0,0 +1,25 @@ +- name: Configure device credentials on Cisco Catalyst Center + hosts: localhost + connection: local + gather_facts: no + vars_files: + - "credentials.yml" + tasks: + - name: Provision a wired device to a site + cisco.dnac.provision_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: true + dnac_log_level: DEBUG + config_verify: true + dnac_api_task_timeout: 1000 + dnac_task_poll_interval: 1 + state: merged + config: + - site_name_hierarchy: Global/Chennai/LTTS/FLOOR1 + management_ip_address: 1.1.1.1 diff --git a/plugins/module_utils/dnac.py b/plugins/module_utils/dnac.py index abeddd6fae..f5d6e58dba 100644 --- a/plugins/module_utils/dnac.py +++ b/plugins/module_utils/dnac.py @@ -603,6 +603,41 @@ def get_device_ip_from_device_id(self, site_id): return mgmt_ip_to_instance_id_map + def get_sites_type(self, site_name): + """ + Get the type of a site in Cisco Catalyst Center. + Parameters: + self (object): An instance of a class used for interacting with Cisco Catalyst Center. + site_name (str): The name of the site for which to retrieve the type. + Returns: + site_type (str or None): The type of the specified site, or None if the site is not found. + Description: + This function queries Cisco Catalyst Center to retrieve the type of a specified site. It uses the + get_site API with the provided site name, extracts the site type from the response, and returns it. + If the specified site is not found, the function returns None, and an appropriate log message is generated. + """ + + try: + response = self.get_site(site_name) + if self.get_ccc_version_as_integer() <= self.get_ccc_version_as_int_from_str("2.3.5.3"): + site = response.get("response") + site_additional_info = site[0].get("additionalInfo") + + for item in site_additional_info: + if item["nameSpace"] == "Location": + site_type = item.get("attributes").get("type") + else: + self.log("Received API response from 'get_sites': {0}".format(str(response)), "DEBUG") + site = response.get("response") + site_type = site[0].get("type") + + except Exception as e: + self.msg = "Error while fetching the site '{0}' and the specified site was not found in Cisco Catalyst Center.".format(site_name) + self.log(self.msg, "ERROR") + self.module.fail_json(msg=self.msg, response=[self.msg]) + + return site_type + def get_device_ids_from_site(self, site_id): """ Retrieve device IDs associated with a specific site in Cisco Catalyst Center. @@ -749,6 +784,57 @@ def get_site(self, site_name): self.log("An error occurred in 'get_sites':{0}".format(e), "ERROR") return None + def assign_device_to_site(self, device_ids, site_name, site_id): + """ + Assign devices to the specified site. + + Parameters: + self (object): An instance of a class used for interacting with Cisco Catalyst Center. + device_ids (list): A list of device IDs to assign to the specified site. + site_name (str): The complete path of the site location. + site_id (str): The ID of the specified site location. + + Returns: + bool: True if the devices are successfully assigned to the site, otherwise False. + + Description: + Assigns the specified devices to the site. If the assignment is successful, returns True. + Otherwise, logs an error and returns False along with error details. + """ + assign_network_device_to_site = { + 'deviceIds': device_ids, + 'siteId': site_id, + } + self.log("Assigning devices to site before update: {0}, {1}". + format(site_name, str(assign_network_device_to_site)), "INFO") + try: + response = self.dnac._exec( + family="site_design", + function='assign_network_devices_to_a_site', + op_modifies=True, + params=assign_network_device_to_site + ) + self.log("Response from assigning devices to site: {0}, {1}, {2} .".format( + site_name, str(assign_network_device_to_site), str(response["response"])), "INFO") + + self.check_tasks_response_status(response, api_name='assign_device_to_site') + if self.result["changed"]: + return True + else: + self.msg = "Failed to receive a valid response from site assignment API: {0}, {1}".format(site_name, + str(assign_network_device_to_site)) + self.log(self.msg, "ERROR") + self.status = "failed" + self.module.fail_json(msg=self.msg) + + except Exception as e: + msg = "Failed to assign devices to site: {0}, {1}.".format(site_name, + str(assign_network_device_to_site)) + self.log(msg + str(e), "ERROR") + site_assgin_details = str(e) + self.status = "failed" + self.module.fail_json(msg=msg, response=site_assgin_details) + def generate_key(self): """ Generate a new encryption key using Fernet. diff --git a/plugins/modules/accesspoint_workflow_manager.py b/plugins/modules/accesspoint_workflow_manager.py index be438c6f85..8c953b2eea 100644 --- a/plugins/modules/accesspoint_workflow_manager.py +++ b/plugins/modules/accesspoint_workflow_manager.py @@ -516,6 +516,33 @@ (eg. "mac_address,eth_mac,ap_name,led_brightness_level,led_status,location,radioDTOs") type: str required: False + reboot_aps: + description: | + Reboot one or more access points (APs) identified by their MAC addresses, hostnames, or management IP addresses. + At least one of the following parameters is required: + - mac_addresses + - hostnames + - management_ip_addresses + type: dict + required: False + suboptions: + mac_addresses: + description: A list of MAC addresses used to identify the access points for rebooting. + type: list + elements: str + required: False + hostnames: + description: | + A list of hostnames used to identify the access points for rebooting. + type: list + elements: str + required: False + management_ip_addresses: + description: | + A list of management IP addresses used to identify the access points for rebooting. + type: list + elements: str + required: False requirements: - dnacentersdk >= 2.7.2 @@ -729,13 +756,12 @@ config_verify: True state: merged config: - - ap_type: "Unified AP" - mac_address: 90:e9:5e:03:f3:40 - rf_profile: "HIGH" - site: - floor: - name: "FLOOR1" - parent_name: "Global/USA/New York/BLDNYC" + - mac_address: 90:e9:5e:03:f3:40 + rf_profile: "HIGH" + site: + floor: + name: "FLOOR1" + parent_name: "Global/USA/New York/BLDNYC" register: output_list - name: Updating Access Point Update / Controller Name @@ -932,6 +958,46 @@ radio_band: "6 GHz" channel_width: "40 MHz" register: output_list + + - name: Reboot single or multiple access point + cisco.dnac.accesspoint_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: True + dnac_log_level: DEBUG + config_verify: True + state: merged + config: + - reboot_aps: + mac_addresses: + - "6c:d6:e3:75:5a:e0" + - "e4:38:7e:42:bc:00" + register: output_list + + - name: Reboot single or multiple access point by hostname + cisco.dnac.accesspoint_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: True + dnac_log_level: DEBUG + config_verify: True + state: merged + config: + - reboot_aps: + hostnames: + - "cisco_Test_9166_T3" + - "cisco_Test_9120_T1" + register: output_list """ RETURN = r""" @@ -955,24 +1021,50 @@ #Case-2: Provisioning and Re-Provisioning of Accesspoint response_2: description: > - A dictionary with activation details as returned by the Catalyst Center Python SDK + A dictionary with provision status returned by the Catalyst Center Python SDK + returned: always + type: dict + sample: | + { + "response": [ + { + "changed": true, + "response": { + "ap_provision_update_status": "AP provision for the site 'Global/Chennai/LTTS/FLOOR1' has been successfully verified." + } + }] + } + +#Case-3: Reboot single or multiple Accesspoint task +response_3: + description: > + A dictionary with reboot status of AP returned by the Catalyst Center Python SDK returned: always type: dict sample: | { "response": { - { - "bapiKey": "d897-19b8-47aa-a9c4", - "bapiName": "AP Provision", - "bapiExecutionId": "97d5edd5-d5db-40d8-9ab6-f15dc4a5cc30", - "startTime": "Wed Jul 03 18:37:24 UTC 2024", - "startTimeEpoch": 1720031844919, - "endTimeEpoch": 0, - "timeDuration": 0, - "status": "IN_PROGRESS", - "runtimeInstanceId": "DNACP_Runtime_3f8f258c-9f7a-4511-b361-592ee9e0c4d2" - } + "accesspoints_updates": { + "ap_reboot_status": "AP ['6c:d6:e3:69:49:b4', '68:49:92:75:0f:d0'] Rebooted Successfully", + "ap_reboot_task_details": { + "reboot_api_response": { + "apList": [ + { + "apName": "LTTS_Test_9120_T2", + "failureReason": null, + "rebootStatus": "Success" + }, + { + "apName": "LTTS_Test_9166_T3", + "failureReason": null, + "rebootStatus": "Success" + } + ], + "wlcIP": "204.192.6.200" } + } + } + } } """ @@ -1069,6 +1161,7 @@ def validate_input_yml(self): "6ghz_radio": {"required": False, "type": "dict"}, "xor_radio": {"required": False, "type": "dict"}, "tri_radio": {"required": False, "type": "dict"}, + "reboot_aps": {"required": False, "type": "dict"}, "ap_selected_fields": {"required": False, "type": "str"}, "ap_config_selected_fields": {"required": False, "type": "str"} } @@ -1110,8 +1203,7 @@ def validate_input_yml(self): return self self.validated_config = valid_param - self.msg = "Successfully validated playbook config params:{0}".format( - self.pprint(valid_param)) + self.msg = "Successfully validated playbook config params:{0}".format(self.pprint(valid_param)) self.log(self.msg, "INFO") self.status = "success" return self @@ -1176,6 +1268,7 @@ def get_have(self, input_config): have["ap_exists"] = ap_exists have["current_ap_config"] = current_ap_config have["ip_address"] = self.payload["access_point_details"]["management_ip_address"] + have["device_id"] = self.payload["access_point_details"]["id"] have["wlc_provision_status"] = self.payload.get("wlc_provision_status") have["associated_wlc_ip"] = self.payload["access_point_details"]["associated_wlc_ip"] have["hostname"] = self.payload["access_point_details"]["hostname"] @@ -1272,7 +1365,7 @@ def get_diff_merged(self, ap_config): resync_retry_count = self.payload.get("dnac_api_task_timeout") resync_retry_interval = self.payload.get("dnac_task_poll_interval") while resync_retry_count: - task_details_response = self.get_task_details( + task_details_response = self.get_tasks_by_id( task_response["response"]["taskId"]) self.log("Status of the task: {0} .".format(self.status), "INFO") @@ -1385,7 +1478,7 @@ def verify_diff_merged(self, config): self.log(other_keys, "INFO") for each_key in other_keys: if each_key not in (self.keymap["mac_address"], self.keymap["radio_configurations"], - self.keymap["is_assigned_site_as_location"], + self.keymap["is_assigned_site_as_location"], "macAddress", self.keymap["primary_controller_name"], self.keymap["secondary_controller_name"], self.keymap["tertiary_controller_name"], self.keymap["primary_ip_address"], self.keymap["secondary_ip_address"], self.keymap["tertiary_ip_address"], @@ -1522,7 +1615,8 @@ def validate_ap_config_parameters(self, ap_config): mac_address)) management_ip_address = ap_config.get("management_ip_address") - if management_ip_address and not self.is_valid_ipv4(management_ip_address): + if management_ip_address and (not self.is_valid_ipv4(management_ip_address) and + not self.is_valid_ipv6(management_ip_address)): errormsg.append("management_ip_address: Invalid Management IP Address '{0}'\ in playbook.".format(management_ip_address)) @@ -1530,6 +1624,27 @@ def validate_ap_config_parameters(self, ap_config): param_spec = dict(type="str", length_max=32) validate_str(ap_config["rf_profile"], param_spec, "rf_profile", errormsg) + reboot_aps = ap_config.get("reboot_aps") + if reboot_aps is not None: + ap_identity_type = list(reboot_aps.keys())[0] # Retrieve the type (mac, hostname, or IP) + if ap_identity_type and ap_identity_type in self.keymap and len(reboot_aps.get(ap_identity_type)) > 0: + for ap_identifier in reboot_aps[ap_identity_type]: + if ap_identity_type == "mac_addresses": + mac_regex = re.compile(r'^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$') + if not mac_regex.match(ap_identifier): + errormsg.append("mac_addresses: Invalid MAC Address '{0}' in playbook.".format( + str(ap_identifier))) + self.log("Invalid MAC address: {0}".format(ap_identifier), "ERROR") + elif ap_identity_type == "management_ip_addresses" and (not self.is_valid_ipv4(ap_identifier) and + not self.is_valid_ipv6(ap_identifier)): + errormsg.append("management_ip_addresses: Invalid Management IP Address '{0}' in playbook." + .format(str(ap_identifier))) + self.log("Invalid Management IP address: {0}".format(ap_identifier), "ERROR") + elif ap_identity_type == "hostnames": + param_spec = dict(type="str", length_max=32) + validate_str(ap_identifier, param_spec, "hostnames", errormsg) + self.log("Hostname validation for '{0}' completed.".format(ap_identifier), "DEBUG") + site = ap_config.get("site") if site: floor = site.get("floor") @@ -1611,9 +1726,9 @@ def validate_ap_config_parameters(self, ap_config): for radio_series in ["2.4ghz_radio", "5ghz_radio", "6ghz_radio", "xor_radio", "tri_radio"]: radio_config = ap_config.get(radio_series) if radio_config: - if self.have["current_ap_config"].get("ap_mode") not in ("Local/FlexConnect", "Local"): + if ap_config.get("ap_mode") not in ("Local/FlexConnect", "Local"): errormsg.append("Radio Params cannot be changed when AP mode is in {0}." - .format(self.have["current_ap_config"].get("ap_mode"))) + .format(ap_config.get("ap_mode"))) self.validate_radio_parameters(radio_config, radio_series, errormsg) if len(errormsg) > 0: @@ -1747,7 +1862,7 @@ def validate_radio_parameters(self, radio_config, radio_series, errormsg): .format(radio_role_assignment) ) else: - if self.have["current_ap_config"].get("ap_mode") not in ("Local/FlexConnect", "Local"): + if self.want.get("ap_mode") not in ("Local/FlexConnect", "Local"): errormsg.append( "radio_role_assignment: Invalid value '{0}'. Hence, AP mode is not Local. " "Kindly change the AP mode to Local then change the radio_role_assignment to Auto." @@ -1872,7 +1987,7 @@ def get_accesspoint_details(self, input_config): except Exception as e: self.msg = "The provided device '{0}' is either invalid or not present in the \ Cisco Catalyst Center.".format(str(input_param)) - self.log(msg + str(e), "WARNING") + self.log(self.msg + str(e), "WARNING") if not accesspoint_exists: self.msg = "The provided device '{0}' is either invalid or not present in the \ @@ -1929,7 +2044,8 @@ def get_current_config(self, input_config): "site_exists": site_exists, "current_site": current_site, "site_changes": self.get_site_device(current_site["site_id"], - current_configuration["mac_address"]) + current_configuration["mac_address"], + site_exists, current_site, current_configuration) }) provision_status, wlc_details = self.verify_ap_provision( current_configuration["associated_wlc_ip"]) @@ -2032,24 +2148,24 @@ def site_exists(self, input_config): site_name = parent_name + "/" + floor_name self.want["site_name"] = site_name try: - response = self.dnac._exec( - family="sites", - function="get_site", - op_modifies=True, - params={"name": site_name}, - ) + response = self.get_site(site_name) if response.get("response"): site = response["response"][0] self.log("Site response: {0}".format(self.pprint(site)), "INFO") - location = get_dict_result(site.get("additionalInfo"), "nameSpace", "Location") - type_info = location.get("attributes", {}).get("type") + + if self.dnac_version <= self.dnac_versions["2.3.5.3"]: + location = get_dict_result(site.get("additionalInfo"), 'nameSpace', "Location") + type_info = location.get("attributes", {}).get("type") + parent_name = site.get("siteNameHierarchy").split("/" + site.get("name"))[0] + else: + type_info = site.get("type") + parent_name = site.get("nameHierarchy").split("/" + site.get("name"))[0] if type_info == "floor": site_info = { "floor": { "name": site.get("name"), - "parentName": site.get("siteNameHierarchy").split( - "/" + site.get("name"))[0] + "parentName": parent_name } } @@ -2060,7 +2176,7 @@ def site_exists(self, input_config): "site_name": site_info["floor"]["parentName"] + "/" + site_info["floor"]["name"] } self.log("Current site details: {0}".format(str(current_site)), "INFO") - self.log("Site: {0} exists in Cisco Catalyst Center".format(site.get("name")), "INFO") + self.log("Site {0} exists in Cisco Catalyst Center".format(site.get("name")), "INFO") site_exists = True except Exception as e: msg = "The provided site name '{0}' is either invalid or not present in the \ @@ -2071,7 +2187,7 @@ def site_exists(self, input_config): return site_exists, current_site - def get_site_device(self, site_id, ap_mac_address): + def get_site_device(self, site_id, ap_mac_address, site_exist=None, current_site=None, current_config=None): """ Fetches device information associated with a specific site and checks if a given AP MAC address is present. @@ -2094,38 +2210,17 @@ def get_site_device(self, site_id, ap_mac_address): not found or if an error occurs during the API call, it returns False. """ try: - response = self.dnac._exec( - family="sites", - function="get_membership", - op_modifies=True, - params={"site_id": site_id} - ) - - if not response.get("device"): - self.log("No device found in the site: {sId},".format(sId=site_id), "INFO") - return False - - device_mac_info = [] - for device_info in response.get("device", []): - response_list = device_info.get("response", []) - for response_item in response_list: - mac_address = response_item.get("macAddress") - if mac_address: - device_mac_info.append(mac_address) - - if ap_mac_address in device_mac_info: - self.log( - "Device with MAC address: {macAddress} found in site: {sId}," - "Proceeding with ap_site updation." - .format(macAddress=ap_mac_address, sId=site_id), "INFO" - ) + device_list = self.get_device_ids_from_site(site_id) + if current_config.get("id") is not None and current_config.get("id") in device_list: + self.log("Device with MAC address: {0} found in site: {1} Proceeding with ap_site updation." + .format(ap_mac_address, site_id), "INFO") return True else: self.log("Given device not found on the site: {sId},".format(sId=site_id), "INFO") return False except Exception as e: - self.log("Failed to execute the get_membership function {}\ + self.log("Failed to execute the get_device_ids_from_site function '{}'\ Error: {}".format(site_id, str(e)), "ERROR") return False @@ -2174,84 +2269,197 @@ def verify_ap_provision(self, wlc_ip_address): return provision_status, provision_details - def provision_device(self): + def access_point_provision_old(self, rf_profile, hostname, type_name, site_name_hierarchy): """ - Provisions a device (AP) to a specific site. + Provisions a device (AP) to a specific site. support Cisco Catalyst Center version + less than 2.3.7.6 Parameters: self (object): An instance of a class used for interacting with Cisco Catalyst Center. + rf_profile (str): Radio profile name either custom or default like "HIGH", "LOW" + hostname (str): Accesspoint host name + type_name (str): Site type should be "floor" or "building" + site_name_hierarchy (str): Complete path of the the site location. Returns: - tuple: A tuple containing the provisioning status ("SUCCESS" or "failed") and - the provisioning details or error message. + resoponse (dict): A dict containing the execution id and url. Description: Provisions an Access Point (AP) to a specified site using the provided site name hierarchy, RF profile, hostname, and AP type. Logs details and handles """ - provision_status = "failed" - provision_details = None - site_name_hierarchy = self.have.get("site_name_hierarchy") - rf_profile = self.want.get("rf_profile") - host_name = self.have.get("hostname") - type_name = self.have.get("ap_type") - - if not all([site_name_hierarchy, rf_profile, host_name]): - error_msg = ("Cannot provision device: Missing parameters - site_name_hierarchy: {0}, rf_profile: {1}, host_name: {2}" - .format(site_name_hierarchy, rf_profile, host_name)) + if not site_name_hierarchy or not rf_profile or not hostname: + error_msg = ("Cannot provision device: Missing parameters - " + "site_name_hierarchy: {0}, rf_profile: {1}, host_name: {2}" + .format(site_name_hierarchy, rf_profile, hostname)) self.log(error_msg, "ERROR") self.module.fail_json(msg=error_msg) provision_params = [{ "rfProfile": rf_profile, - "deviceName": host_name, + "deviceName": hostname, "type": type_name, "siteNameHierarchy": site_name_hierarchy }] - self.log("Current device details: {0}".format(self.pprint(provision_params)), "INFO") + self.log('Before AP provision: {0}'.format(self.pprint(provision_params)), "INFO") - try: + response = self.dnac._exec( + family="wireless", + function='ap_provision', + op_modifies=True, + params={"payload": provision_params}, + ) + + self.log('Response from ap_provision: {0}'.format(str(response.get("response"))), "INFO") + if response and isinstance(response, dict): + return response + return None + + def access_point_provision_new(self, rf_profile, device_id, site_id): + """ + Provisions a device (AP) to a specific site. support Cisco Catalyst Center version + 2.3.7.6 and greater + + Parameters: + self (object): An instance of a class used for interacting with Cisco Catalyst Center. + rf_profile (str): Radio profile name either custom or default like "HIGH", "LOW" + device_id (str): Accesspoint id collected from device details + site_id (str): Site id of the site location + + Returns: + resoponse (dict): A dict containing the Task id and url. + + Description: + Provisions an Access Point (AP) to a specified site using the provided + device id, RF profile and site id Logs details and handles + """ + if not rf_profile or not device_id or not site_id: + error_msg = ("Cannot provision device: Missing parameters - " + "device_id: {0}, rf_profile: {1}, site_id: {2}" + .format(device_id, rf_profile, site_id)) + self.log(error_msg, "ERROR") + self.module.fail_json(msg=error_msg) + + provision_params = { + "rfProfileName": rf_profile, + "networkDevices": [{"deviceId": device_id}], + "siteId": site_id + } + + site_assign_status = self.assign_device_to_site([self.have.get("device_id")], + self.have.get("site_id"), + self.have.get("site_name_hierarchy")) + if site_assign_status: + self.log('Current device details: {0}'.format(self.pprint(provision_params)), "INFO") response = self.dnac._exec( family="wireless", - function="ap_provision", + function='ap_provision', op_modifies=True, params={"payload": provision_params}, ) + self.log('Response from ap_provision: {0}'.format(str(response.get("response"))), "INFO") - self.log("Response from ap_provision: {0}".format(self.pprint(response)), "INFO") - except Exception as e: - error_msg = "An error occurred during device provisioning: {0}".format(str(e)) - self.log(error_msg, "ERROR") - self.status = "failed" - - try: if response and isinstance(response, dict): - executionid = response.get("executionId") - resync_retry_count = int(self.payload.get("dnac_api_task_timeout", 100)) - resync_retry_interval = int(self.payload.get("dnac_task_poll_interval", 5)) + return response + return None - while resync_retry_count: - execution_details = self.get_execution_details(executionid) - if execution_details.get("status") == "SUCCESS": - self.result["changed"] = True - self.result["response"] = execution_details - provision_status = "SUCCESS" - provision_details = execution_details - break - elif execution_details.get("status") == "FAILURE": - self.module.fail_json(msg=execution_details.get("bapiError"), - response=str(execution_details)) - break + def provision_device(self): + """ + Provisions a device (AP) to a specific site. - time.sleep(resync_retry_interval) - resync_retry_count = resync_retry_count - 1 + Parameters: + self (object): An instance of a class used for interacting with Cisco Catalyst Center. + + Returns: + tuple: A tuple containing the provisioning status ("SUCCESS" or "failed") and + the provisioning details or error message. + + Description: + Provisions an Access Point (AP) to a specified site using the provided + site name hierarchy, RF profile, hostname, and AP type. Logs details + and handles + """ + provision_status = "failed" + provision_details = None + rf_profile = self.want.get("rf_profile") + site_name_hierarchy = self.have.get("site_name_hierarchy") + hostname = self.have.get("hostname") + type_name = self.have.get("ap_type") + device_id = self.have.get("device_id") + site_id = self.have.get("site_id") - self.log("Provisioned device with host: {0} to site: {1} successfully.".format( - host_name, site_name_hierarchy), "INFO") + try: + if self.dnac_version <= self.dnac_versions["2.3.5.3"]: + response = self.access_point_provision_old(rf_profile, hostname, + type_name, site_name_hierarchy) + if response and isinstance(response, dict): + executionid = response.get("executionId") + resync_retry_count = int(self.payload.get("dnac_api_task_timeout", 100)) + resync_retry_interval = int(self.payload.get("dnac_task_poll_interval", 5)) + + while resync_retry_count: + execution_details = self.get_execution_details(executionid) + if execution_details.get("status") == "SUCCESS": + self.result['changed'] = True + self.result['response'] = execution_details + provision_status = "SUCCESS" + provision_details = execution_details + break + if execution_details.get("bapiError"): + self.module.fail_json(msg=execution_details.get("bapiError"), + response=execution_details) + break + + time.sleep(resync_retry_interval) + resync_retry_count = resync_retry_count - 1 + else: + response = self.access_point_provision_new(rf_profile, device_id, site_id) + if response and isinstance(response, dict): + task_id = response.get("response", {}).get("taskId") + resync_retry_count = int(self.payload.get("dnac_api_task_timeout")) + resync_retry_interval = int(self.payload.get("dnac_task_poll_interval")) + + while resync_retry_count: + task_details_response = self.get_tasks_by_id(task_id) + self.log("Status of the task: {0} .".format(self.status), "INFO") + responses = {} + if task_details_response.get("endTime") is not None: + if task_details_response.get("status") == "SUCCESS": + self.log("Task Details: {0} .".format(self.pprint( + task_details_response)), "INFO") + self.msg = "AP {0} provisioned Successfully".format( + self.have["current_ap_config"].get("ap_name")) + self.log(self.msg, "INFO") + self.result['changed'] = True + self.result['response'] = self.msg + provision_status = "SUCCESS" + provision_details = task_details_response + break + else: + self.result['changed'] = True if self.result['changed'] is True else False + self.status = "failed" + self.msg = "Unable to get success response, hence not provisioned" + self.log(self.msg, "ERROR") + self.log("Task Details: {0} .".format(self.pprint( + task_details_response)), "ERROR") + responses["accesspoints_updates"] = { + "ap_provision_task_details": { + "error_code": task_details_response.get("errorCode"), + "failure_reason": task_details_response.get("failureReason"), + "is_error": task_details_response.get("isError") + }, + "ap_provision_status": self.msg} + self.module.fail_json(msg=self.msg, response=responses) + time.sleep(resync_retry_interval) + resync_retry_count = resync_retry_count - 1 + + self.log("Provisioned device with host '{0}' to site '{1}' successfully.".format( + hostname, site_name_hierarchy), "INFO") except Exception as e: - error_msg = "An error occurred during device provisioning: {0}".format(str(e)) + error_msg = 'An error occurred during device provisioning: {0}'.format(str(e)) self.log(error_msg, "ERROR") + self.msg = error_msg self.status = "failed" return provision_status, provision_details @@ -2743,30 +2951,6 @@ def data_frame(self, fields_to_include=None, records=list): self.log("Unable to filter fields: {0}".format(str(e)) , "ERROR") return None - def camel_to_snake_case(self, config): - """ - Convert camel case keys to snake case keys in the config. - - Parameters: - config (dict or list): Configuration data to be transformed. - - Returns: - dict or list: Updated config with snake_case keys. - """ - - if isinstance(config, dict): - new_config = {} - for key, value in config.items(): - new_key = re.sub(r'([a-z0-9])([A-Z])', r'\1_\2', key).lower() - new_value = self.camel_to_snake_case(value) - new_config[new_key] = new_value - elif isinstance(config, list): - return [self.camel_to_snake_case(item) for item in config] - else: - return config - - return new_config - def consolidate_output(self): """ Bulk access point changes collect each output update in the response. @@ -2799,6 +2983,114 @@ def consolidate_output(self): return self + def reboot_access_point(self, ap_list): + """ + Reboots access points, handling single or bulk APs. + + Parameters: + self (dict): A dictionary used to collect the execution results. + ap_list (dict): A list containing the list of Access point Mac Address. + + Returns: + dict: A dictionary containing the result of the access point reboot response. + """ + try: + self.log('Rebooting the list of APs: {0}'.format(self.pprint(ap_list)), "INFO") + response = self.dnac._exec( + family="wireless", + function='reboot_access_points', + op_modifies=True, + params={"apMacAddresses": ap_list}, + ) + self.log("Response from reboot_access_points: {0}".format(str(response.get("response"))), "INFO") + + if response and isinstance(response, dict): + task_id = response.get("response", {}).get("taskId") + resync_retry_count = int(self.payload.get("dnac_api_task_timeout")) + resync_retry_interval = int(self.payload.get("dnac_task_poll_interval")) + + while resync_retry_count: + task_details_response = self.get_tasks_by_id(task_id) + self.log("Status of the reboot task: {0} .".format(self.status), "INFO") + responses = {} + if task_details_response.get("endTime") is not None: + if task_details_response.get("status") == "SUCCESS": + self.log("Reboot Task Details: {0} .".format(self.pprint( + task_details_response)), "INFO") + self.msg = "APs {0} rebooted successfully".format(str(ap_list)) + reboot_status = self.access_point_reboot_status(task_id) + responses = { + "accesspoints_updates": { + "ap_reboot_task_details": {"reboot_api_response": reboot_status["apList"]}, + "ap_reboot_status": self.msg + } + } + self.result['changed'] = True + self.result['response'] = responses + self.log("Given APs '{0}' rebooted successfully with task: '{1}'." + .format(ap_list, self.pprint(task_details_response)), "INFO") + return self + + self.result['changed'] = False + self.status = "failed" + self.msg = "Unable to get success response, hence APs are not rebooted" + self.log(self.msg, "ERROR") + self.log("Reboot Task Details: {0} .".format(self.pprint( + task_details_response)), "ERROR") + reboot_status = self.access_point_reboot_status(task_id) + responses["accesspoints_updates"] = { + "ap_reboot_task_details": { + "status": task_details_response.get("status"), + "reboot_api_response": reboot_status["apList"] + }, + "ap_reboot_status": self.msg} + self.module.fail_json(msg=self.msg, response=responses) + time.sleep(resync_retry_interval) + resync_retry_count = resync_retry_count - 1 + else: + self.msg = "Failed to receive a valid response from AP reboot API." + self.log(self.msg, "ERROR") + self.status = "failed" + self.module.fail_json(msg=self.msg) + + except Exception as e: + error_msg = 'An error occurred during access point reboot: {0}'.format(str(e)) + self.log(error_msg, "ERROR") + self.msg = error_msg + self.status = "failed" + self.module.fail_json(msg=self.msg) + + def access_point_reboot_status(self, task_id): + """ + Get the reboot status of the accesspoint using by the task id. + + Parameters: + self (dict): A dictionary used to collect the execution results. + task_id (string): A sting containing the task id generated from reboot task. + + Returns: + dict: A dictionary containing the result of the access point reboot status. + """ + try: + response = self.dnac._exec( + family="wireless", + function='get_access_point_reboot_task_result', + op_modifies=True, + params={"parentTaskId": task_id}, + ) + self.log("Response from ap reboot status: {0}".format(self.pprint(response)), "INFO") + if response and isinstance(response[0], dict): + return response[0] + error_msg = "Invalid response format or missing data in AP reboot status." + self.log(error_msg, "ERROR") + self.module.fail_json(msg=error_msg) + except Exception as e: + error_msg = 'An error occurred during access point reboot status: {0}'.format(str(e)) + self.log(error_msg, "ERROR") + self.msg = error_msg + self.status = "failed" + self.module.fail_json(msg=error_msg) + def main(): """ main entry point for module execution @@ -2839,6 +3131,31 @@ def main(): ccc_network.validate_input_yml().check_return_status() config_verify = ccc_network.params.get("config_verify") + reboot_list = ccc_network.validated_config[0].get("reboot_aps") + if reboot_list is not None: + ccc_network.keymap = { + "mac_addresses": "mac_address", + "hostnames": "hostname", + "management_ip_addresses": "management_ip_address" + } + ccc_network.validate_ap_config_parameters(ccc_network.validated_config[0]).check_return_status() + ap_indentity = list(reboot_list.keys())[0] + if ap_indentity and ap_indentity in ccc_network.keymap and len(reboot_list.get(ap_indentity)) > 0: + eth_mac_list = [] + for each_ap in reboot_list[ap_indentity]: + ap_indentity_param = {ccc_network.keymap[ap_indentity]: each_ap} + ccc_network.log("Reboot AP: {0}".format(str(ap_indentity_param)), "INFO") + ap_exist, ap_details = ccc_network.get_accesspoint_details(ap_indentity_param) + eth_mac_list.append(ap_details.get("ap_ethernet_mac_address")) + if eth_mac_list: + ccc_network.log("Ethernet MAC addresses to reboot: {}".format(eth_mac_list), "INFO") + ccc_network.reboot_access_point(eth_mac_list) + module.exit_json(**ccc_network.result) + else: + ccc_network.log("No valid Ethernet MAC addresses found for reboot.", "WARNING") + else: + ccc_network.log("No reboot list found in validated configuration.", "WARNING") + for config in ccc_network.validated_config: ccc_network.reset_values() ccc_network.get_want(config).check_return_status() diff --git a/plugins/modules/inventory_workflow_manager.py b/plugins/modules/inventory_workflow_manager.py index 61fbef9f0f..cdce73037b 100644 --- a/plugins/modules/inventory_workflow_manager.py +++ b/plugins/modules/inventory_workflow_manager.py @@ -7,7 +7,7 @@ from __future__ import absolute_import, division, print_function __metaclass__ = type -__author__ = ("Madhan Sankaranarayanan, Abhishek Maheshwari") +__author__ = ("Madhan Sankaranarayanan, Abhishek Maheshwari, Syed Khadeer Ahmed, Ajith Andrew J") DOCUMENTATION = r""" --- @@ -23,6 +23,8 @@ - cisco.dnac.workflow_manager_params author: Abhishek Maheshwari (@abmahesh) Madhan Sankaranarayanan (@madhansansel) + Syed Khadeer Ahmed (@syed-khadeerahmed) + Ajith andrew j (ajithandrewj) options: config_verify: description: Set to True to verify the Cisco Catalyst Center config after applying the playbook config. @@ -694,7 +696,7 @@ config: - ip_address_list: ["1.1.1.1", "2.2.2.2"] add_user_defined_field: - name: "Test123" + - name: "Test123" """ @@ -740,6 +742,10 @@ class Inventory(DnacBase): def __init__(self, module): super().__init__(module) self.supported_states = ["merged", "deleted"] + self.device_already_provisioned, self.provisioned_device, self.device_list, self.devices_already_present = [], [], [], [] + self.deleted_devices, self.provisioned_device_deleted, self.no_device_to_delete = [], [], [] + self.response_list, self.role_updated_list, self.device_role_name = [], [], [] + self.udf_added, self.udf_deleted = [], [] def validate_input(self): """ @@ -863,7 +869,7 @@ def get_device_ips_from_config_priority(self): If none of the information is available, an empty list is returned. """ # Retrieve device IPs from the configuration - device_ips = self.config[0].get("ip_address_list") + device_ips = self.want.get("device_params").get("ipAddress") if device_ips: return device_ips @@ -924,12 +930,11 @@ def get_existing_devices_in_ccc(self): function='get_device_list', ) offset = offset + 1 + self.log("Received API response from 'get_device_list': {0}".format(str(response)), "DEBUG") response = response.get("response") if not response: self.log("There are no device details received from 'get_device_list' API.", "INFO") break - - self.log("Received API response from 'get_device_list': {0}".format(str(response)), "DEBUG") for ip in response: device_ip = ip["managementIpAddress"] existing_devices_in_ccc.add(device_ip) @@ -1297,6 +1302,7 @@ def get_ap_devices(self, device_ips): op_modifies=True, params={"managementIpAddress": device_ip} ) + self.log("Received API response from 'get_device_list': {0}".format(str(response)), "DEBUG") response = response.get('response', []) if response and response[0].get('family', '') == "Unified AP": @@ -1475,6 +1481,7 @@ def reboot_access_points(self): op_modifies=True, params={"managementIpAddress": device_ip} ) + self.log("Received API response from 'get_device_list': {0}".format(str(response)), "DEBUG") response = response.get('response') if not response: continue @@ -1503,7 +1510,7 @@ def reboot_access_points(self): op_modifies=True, params=reboot_params, ) - self.log(str(response)) + self.log("Received API response from 'reboot_access_points': {0}".format(str(response)), "DEBUG") if response and isinstance(response, dict): task_id = response.get('response').get('taskId') @@ -1547,8 +1554,11 @@ def handle_successful_provisioning(self, device_ip, execution_details, device_ty self.status = "success" self.result['changed'] = True - self.result['response'] = execution_details self.log("{0} Device {1} provisioned successfully!!".format(device_type, device_ip), "INFO") + self.provisioned_device.append(device_ip) + devices = self.provisioned_device + self.msg = "{0} Device(s) {1} provisioned successfully!!".format(device_type, devices) + self.result['response'] = self.msg def handle_failed_provisioning(self, device_ip, execution_details, device_type): """ @@ -1619,7 +1629,9 @@ def handle_all_provisioned(self, device_type): self.status = "success" self.result['changed'] = True - self.log("All {0} Devices provisioned successfully!!".format(device_type), "INFO") + self.msg = ("All {0} Devices provisioned successfully!!".format(device_type), "INFO") + self.log(self.msg, "INFO") + self.result['response'] = self.msg def handle_all_failed_provision(self, device_type): """ @@ -1659,135 +1671,296 @@ def handle_partially_provisioned(self, provision_count, device_type): def provisioned_wired_device(self): """ - Provision wired devices in Cisco Catalyst Center. + Main function to provision wired devices in Cisco Catalyst Center. Parameters: self (object): An instance of a class used for interacting with Cisco Catalyst Center. Returns: self (object): An instance of the class with updated result, status, and log. + bool: True if the provisioning is successful, False otherwise. + str: A message indicating the result of the provisioning process. Description: - This function provisions wired devices in Cisco Catalyst Center based on the configuration provided. - It retrieves the site name and IP addresses of the devices from the list of configuration, - attempts to provision each device with site, and monitors the provisioning process. + This method handles the provisioning of wired devices within the Cisco + Catalyst Center. It manages the necessary configurations and ensures + that the devices are set up correctly. Any errors encountered during + the provisioning process will be logged, and a corresponding message + will be returned to inform the user of the outcome. """ provision_wired_list = self.config[0]['provision_wired_device'] - total_devices_to_provisioned = len(provision_wired_list) + total_devices = len(provision_wired_list) device_ip_list = [] - provision_count, already_provision_count = 0, 0 + self.provision_count, self.already_provisioned_count = 0, 0 - for prov_dict in provision_wired_list: - managed_flag = False - device_ip = prov_dict['device_ip'] + for device_info in provision_wired_list: + device_ip = device_info['device_ip'] + site_name = device_info['site_name'] device_ip_list.append(device_ip) - site_name = prov_dict['site_name'] device_type = "Wired" - resync_retry_count = prov_dict.get("resync_retry_count", 200) - # This resync retry interval will be in seconds which will check device status at given interval - resync_retry_interval = prov_dict.get("resync_retry_interval", 2) + resync_retry_count = device_info.get("resync_retry_count", 200) + resync_retry_interval = device_info.get("resync_retry_interval", 2) - if not site_name or not device_ip: - self.status = "failed" - self.msg = "Site and Device IP are required for Provisioning of Wired Devices." - self.log(self.msg, "ERROR") - self.result['response'] = self.msg - return self + if self.get_ccc_version_as_integer() <= self.get_ccc_version_as_int_from_str("2.3.5.3"): + self.log("Processing with Catalyst version <= 2.3.5.3", "DEBUG") + device_status = self.get_provision_wired_device(device_ip) - provision_wired_params = { - 'deviceManagementIpAddress': device_ip, - 'siteNameHierarchy': site_name - } + if device_status == 2: # Already provisioned + self.log_device_already_provisioned(device_ip) + continue + elif device_status == 3: # Error in provisioning + self.status = "failed" + error_msg = "Cannot do Provisioning for device {0}.".format(device_ip) + self.log(error_msg, "ERROR") + continue - # Check the provisioning status of device - device_prov_status = self.get_provision_wired_device(device_ip) - if device_prov_status == 2: - self.status = "success" - already_provision_count += 1 - self.result['changed'] = False - self.msg = "Device '{0}' is already provisioned in the Cisco Catalyst Center".format(device_ip) - self.log(self.msg, "INFO") - continue - if device_prov_status == 3: - self.status = "failed" - error_msg = "Cannot do Provisioning for device {0}.".format(device_ip) - self.log(error_msg, "ERROR") + # Check if device reaches managed state + managed_flag = self.wait_for_device_managed_state(device_ip, resync_retry_count, resync_retry_interval) + if not managed_flag: + self.log("Device {0} is not transitioning to the managed state, so provisioning operation cannot be performed.".format(device_ip), "WARNING") continue - # Check till device comes into managed state - while resync_retry_count: - response = self.get_device_response(device_ip) - self.log("Device is in {0} state waiting for Managed State.".format(response['managementState']), "DEBUG") - - if ( - response.get('managementState') == "Managed" - and response.get('collectionStatus') == "Managed" - and response.get("hostname") - ): - msg = """Device '{0}' comes to managed state and ready for provisioning with the resync_retry_count - '{1}' left having resync interval of {2} seconds""".format(device_ip, resync_retry_count, resync_retry_interval) - self.log(msg, "INFO") - managed_flag = True - break - if response.get('collectionStatus') == "Partial Collection Failure" or response.get('collectionStatus') == "Could Not Synchronize": - device_status = response.get('collectionStatus') - msg = """Device '{0}' comes to '{1}' state and never goes for provisioning with the resync_retry_count - '{2}' left having resync interval of {3} seconds""".format(device_ip, device_status, resync_retry_count, resync_retry_interval) - self.log(msg, "INFO") - managed_flag = False - break + if self.get_ccc_version_as_integer() <= self.get_ccc_version_as_int_from_str("2.3.5.3"): + self.provision_wired_device_v1(device_ip, site_name, device_type) + else: + self.provision_wired_device_v2(device_ip, site_name) - time.sleep(resync_retry_interval) - resync_retry_count = resync_retry_count - 1 + # Handle final provisioning results + self.handle_final_provisioning_result(total_devices, self.provision_count, self.already_provisioned_count, device_ip_list, device_type) + return self - if not managed_flag: - self.log("""Device {0} is not transitioning to the managed state, so provisioning operation cannot - be performed.""".format(device_ip), "WARNING") - continue + def log_device_already_provisioned(self, device_ip): + """ + Logs a message indicating that the device is already provisioned. + Parameters: + device_ip (str): The IP address of the already provisioned device. + Returns: + None + Description: + This method logs an informational message stating that the device + with the specified IP address has already been provisioned. It + helps in tracking the provisioning status of devices in the Cisco + Catalyst Center. + """ + self.status = "success" + self.already_provisioned_count += 1 + self.result['changed'] = False + self.msg = "Device '{0}' is already provisioned in the Cisco Catalyst Center.".format(device_ip) + self.device_already_provisioned.append(device_ip) + self.log(self.msg, "INFO") - try: - response = self.dnac._exec( - family="sda", - function='provision_wired_device', - op_modifies=True, - params=provision_wired_params, - ) + def wait_for_device_managed_state(self, device_ip, retry_count, retry_interval): + """ + Waits for the device to reach a managed state. + Parameters: + device_ip (str): The IP address of the device to check. + retry_count (int): The number of times to retry checking the device state. + retry_interval (int): The interval in seconds between retries. + Returns: + bool: True if the device reaches a managed state, False otherwise. + Description: + This method polls the device at the specified IP address to determine + if it has reached a managed state. It retries the check a specified + number of times, waiting a set interval between each attempt. + If the device reaches a managed state within the allowed retries, + it returns True; otherwise, it returns False. + """ - if response.get("status") == "failed": - description = response.get("description") - error_msg = "Cannot do Provisioning for device {0} beacuse of {1}".format(device_ip, description) - self.log(error_msg, "ERROR") - continue + while retry_count > 0: + response = self.get_device_response(device_ip) + self.log("Device is in {0} state, waiting for Managed State.".format(response.get('managementState')), "DEBUG") - task_id = response.get("taskId") + if response.get('managementState') == "Managed" and response.get('collectionStatus') == "Managed": + msg = "Device '{0}' reached Managed state with {1} retries left.".format(device_ip, retry_count) + self.log(msg, "INFO") + return True - while True: - execution_details = self.get_task_details(task_id) - progress = execution_details.get("progress") + elif response.get('collectionStatus') in ["Partial Collection Failure", "Could Not Synchronize"]: + msg = "Device '{0}' reached '{1}' state. Retries left: {2}.".format(device_ip, response.get('collectionStatus'), retry_count) + self.log(msg, "INFO") + return False - if 'TASK_PROVISION' in progress: - self.handle_successful_provisioning(device_ip, execution_details, device_type) - provision_count += 1 - break - elif execution_details.get("isError"): - self.handle_failed_provisioning(device_ip, execution_details, device_type) - break + time.sleep(retry_interval) + retry_count -= 1 - except Exception as e: - # Not returning from here as there might be possiblity that for some devices it comes into exception - # but for others it gets provision successfully or If some devices are already provsioned - self.handle_provisioning_exception(device_ip, e, device_type) + self.log("Device '{0}' did not transition to the Managed state within the retry limit.".format(device_ip), "WARNING") + return False - # Check If all the devices are already provsioned, return from here only - if already_provision_count == total_devices_to_provisioned: + def provision_wired_device_v1(self, device_ip, site_name, device_type): + """ + Provisions a device for versions <= 2.3.5.6. + Parameters: + device_ip (str): The IP address of the device to provision. + site_name (str): The name of the site where the device will be provisioned. + device_type (str): The type of device being provisioned. + Returns: + bool: True if provisioning is successful, False otherwise. + Description: + This method provisions a device with the specified IP address, + site name, and device type for software versions 2.3.5.6 or earlier. + It handles the necessary configurations and returns a success status. + """ + + provision_params = {'deviceManagementIpAddress': device_ip, 'siteNameHierarchy': site_name} + try: + response = self.dnac._exec(family="sda", function='provision_wired_device', op_modifies=True, params=provision_params) + self.log("Received API response from 'provision_wired_device': {0}".format(response), "DEBUG") + + self.check_tasks_response_status(response, api_name='provision_device') + + if self.status not in ["failed", "exited"]: + self.log("Wired Device '{0}' provisioning completed successfully.".format(device_ip), "INFO") + self.provision_count += 1 + + except Exception as e: + self.handle_provisioning_exception(device_ip, e, device_type) + + def provision_wired_device_v2(self, device_ip, site_name): + """ + Provisions a device for versions > 2.3.5.6. + Parameters: + device_ip (str): The IP address of the device to provision. + site_name (str): The name of the site where the device will be provisioned. + Description: + This method provisions a device with the specified IP address + and site name for software versions greater than 2.3.5.6. + It performs the necessary configurations and returns a success status. + """ + try: + site_exist, site_id = self.get_site_id(site_name) + device_ids = self.get_device_ids([device_ip]) + device_id = device_ids[0] + + assign_params = {'deviceIds': [device_id], 'siteId': site_id} + provision_params = [{"siteId": site_id, "networkDeviceId": device_id}] + is_device_provisioned = self.is_device_provisioned(device_id) + is_device_assigned_to_site = self.is_device_assigned_to_site(device_id) + + if not is_device_assigned_to_site: + self.assign_device_to_site(device_ids, site_name, site_id) + + if not is_device_provisioned: + self.provision_device(provision_params, device_ip) + self.provisioned_device.append(device_ip) + else: + self.log_device_already_provisioned(device_ip) + + except Exception as e: + self.handle_provisioning_exception(device_ip, e, "Wired") + + def is_device_assigned_to_site(self, uuid): + """ + Checks if a device, specified by its UUID, is assigned to any site. + + Parameters: + - self: The instance of the class containing the 'config' attribute + to be validated. + - uuid (str): The UUID of the device to check for site assignment. + Returns: + - boolean: True if the device is assigned to a site, False otherwise. + + """ + + self.log("Checking site assignment for device with UUID: {0}".format(uuid), "INFO") + try: + site_response = self.dnac_apply['exec']( + family="devices", + function='get_device_detail', + params={"search_by": uuid , + "identifier": "uuid"}, + op_modifies=True + ) + self.log("Response collected from the API 'get_device_detail' {0}".format(site_response)) + site_response = site_response.get("response") + if site_response.get("location"): + return True + return False + except Exception as e: + msg = "Failed to find device with UUID {0} due to: {1}".format(uuid, e) + self.log(msg, "CRITICAL") + self.module.fail_json(msg=msg) + + def is_device_provisioned(self, device_id): + """ + Checks if a device is provisioned. + Parameters: + device_id (str): The ID of the device to check. + Returns: + bool: True if the device is provisioned, False otherwise. + Description: + This method checks the provisioning status of the device with the + specified device ID. It queries the Cisco Catalyst Center to determine + if the device is currently provisioned and returns the appropriate + status. + """ + + api_response = self.dnac._exec( + family="sda", + function='get_provisioned_devices', + params={ + "networkDeviceId": device_id + } + ) + provisioned_devices = api_response.get('response') + self.log("API response from 'get_provisioned_devices': {}".format(provisioned_devices), "DEBUG") + + if provisioned_devices: + return True + + return False + + def provision_device(self, provision_params, device_ip): + """ + Provisions a device for versions > 2.3.5.3. + Parameters: + site_name (str): The name of the site where the device will be provisioned. + provision_params (dict): A dictionary containing provisioning parameters. + Returns: + self (object): An instance of the class after the provision operation is performed. + Description: + This method provisions a device at the specified site using the + given provisioning parameters for software versions greater than 2.3.5.3. + It handles all necessary configurations and returns a success status. + """ + + try: + response = self.dnac._exec(family="sda", function='provision_devices', op_modifies=True, params={"payload": provision_params}) + self.log("Received API response from 'provision_devices': {0}".format(str(response)), "DEBUG") + self.check_tasks_response_status(response, api_name='provision_device') + + if self.status not in ["failed", "exited"]: + self.log("Wired Device '{0}' provisioning completed successfully.".format(device_ip), "INFO") + self.provision_count += 1 + + except Exception as e: + self.log("Exception occurred during provisioning: {0}".format(str(e)), "ERROR") + + return self + + def handle_final_provisioning_result(self, total_devices, provision_count, already_provisioned_count, device_ip_list, device_type): + """ + Handles the final results of the provisioning process. + Parameters: + total_devices (int): The total number of devices intended for provisioning. + provision_count (int): The number of devices successfully provisioned. + already_provisioned_count (int): The number of devices that were already provisioned. + device_ip_list (list): A list of IP addresses of the devices processed. + device_type (str): The type of device being provisioned. + + Description: + This method processes the final results of the provisioning task, + including logging the total number of devices, the count of successfully + provisioned devices, and those that were already provisioned. It helps + in summarizing the provisioning operation for reporting purposes. + """ + + if already_provisioned_count == total_devices: self.handle_all_already_provisioned(device_ip_list, device_type) - elif provision_count == total_devices_to_provisioned: + elif provision_count == total_devices: self.handle_all_provisioned(device_type) elif provision_count == 0: self.handle_all_failed_provision(device_type) else: self.handle_partially_provisioned(provision_count, device_type) - return self - def get_wireless_param(self, prov_dict): """ Get wireless provisioning parameters for a device. @@ -1817,7 +1990,7 @@ def get_wireless_param(self, prov_dict): ] for ap_loc in wireless_param[0]["managedAPLocations"]: - if self.get_site_type(site_name=ap_loc) != "floor": + if self.get_sites_type(site_name=ap_loc) != "floor": self.status = "failed" self.msg = "Managed AP Location must be a floor" self.log(self.msg, "ERROR") @@ -1841,7 +2014,7 @@ def get_wireless_param(self, prov_dict): function='get_network_device_by_ip', params={"ip_address": device_ip_address} ) - + self.log("Received API response from 'get_network_device_by_ip': {0}".format(str(response)), "DEBUG") response = response.get("response") wireless_param[0]["deviceName"] = response.get("hostname") self.wireless_param = wireless_param @@ -1855,48 +2028,6 @@ def get_wireless_param(self, prov_dict): return self - def get_site_type(self, site_name): - """ - Get the type of a site in Cisco Catalyst Center. - Parameters: - self (object): An instance of a class used for interacting with Cisco Catalyst Center. - site_name (str): The name of the site for which to retrieve the type. - Returns: - site_type (str or None): The type of the specified site, or None if the site is not found. - Description: - This function queries Cisco Catalyst Center to retrieve the type of a specified site. It uses the - get_site API with the provided site name, extracts the site type from the response, and returns it. - If the specified site is not found, the function returns None, and an appropriate log message is generated. - """ - - try: - site_type = None - response = self.dnac_apply['exec']( - family="sites", - function='get_site', - params={"name": site_name}, - ) - - if not response: - self.msg = "Site '{0}' not found".format(site_name) - self.log(self.msg, "INFO") - return site_type - - self.log("Received API response from 'get_site': {0}".format(str(response)), "DEBUG") - site = response.get("response") - site_additional_info = site[0].get("additionalInfo") - - for item in site_additional_info: - if item["nameSpace"] == "Location": - site_type = item.get("attributes").get("type") - - except Exception as e: - self.msg = "Error while fetching the site '{0}' and the specified site was not found in Cisco Catalyst Center.".format(site_name) - self.log(self.msg, "ERROR") - self.module.fail_json(msg=self.msg, response=[self.msg]) - - return site_type - def provisioned_wireless_devices(self): """ Provision Wireless devices in Cisco Catalyst Center. @@ -1931,7 +2062,7 @@ def provisioned_wireless_devices(self): # Check till device comes into managed state while resync_retry_count: response = self.get_device_response(device_ip) - self.log("Device is in {0} state waiting for Managed State.".format(response['managementState']), "DEBUG") + self.log("Device is in {0} state waiting for Managed State.".format(response.get('managementState')), "DEBUG") if ( response.get('managementState') == "Managed" @@ -1967,7 +2098,7 @@ def provisioned_wireless_devices(self): op_modifies=True, params=provisioning_params, ) - + self.log("Received API response from 'provision': {0}".format(str(response)), "DEBUG") if response.get("status") == "failed": description = response.get("description") error_msg = "Cannot do Provisioning for Wireless device {0} beacuse of {1}".format(device_ip, description) @@ -2114,6 +2245,22 @@ def get_have(self, config): provision_wired_list = self.config[0].get('provision_wired_device') for prov_dict in provision_wired_list: + device_ip = prov_dict.get('device_ip') + site_name = prov_dict.get('site_name') + + missing_params = [] + if not site_name: + missing_params.append("site_name") + if not device_ip: + missing_params.append("device_ip") + + if missing_params: + self.status = "failed" + self.msg = "Missing parameters: '{0}'. Site and Device IP are required for Provisioning of Wired Devices.".format(", ".join(missing_params)) + self.log(self.msg, "ERROR") + self.result['response'] = self.msg + return self + device_ip_address = prov_dict['device_ip'] if device_ip_address not in want_device: devices_in_playbook.append(device_ip_address) @@ -2220,8 +2367,8 @@ def get_device_ids(self, device_ips): params={"managementIpAddress": device_ip} ) + self.log("Received API response from 'get_device_list': {0}".format(str(response)), "DEBUG") if response: - self.log("Received API response from 'get_device_list': {0}".format(str(response)), "DEBUG") response = response.get("response") if not response: continue @@ -2334,8 +2481,11 @@ def get_device_ips_from_mac_address(self, mac_address_list): if device_ip: device_ips.append(device_ip) except Exception as e: - error_message = "Exception occurred while fetching device from Cisco Catalyst Center - {0}".format(str(e)) - self.log(error_message, "ERROR") + self.status = "failed" + self.msg = "Exception occurred while fetching device from Cisco Catalyst Center - {0}".format(str(e)) + self.result['response'] = self.msg + self.log(self.msg, "ERROR") + self.check_return_status() return device_ips @@ -2371,15 +2521,16 @@ def get_interface_from_id_and_name(self, device_id, interface_name): if response: self.status = "success" interface_id = response["id"] - self.log("""Successfully fetched interface ID ({0}) by using device id {1} and interface name {2}.""" + self.log("Successfully fetched interface ID ({0}) by using device id {1} and interface name {2}." .format(interface_id, device_id, interface_name), "INFO") return response except Exception as e: self.status = "failed" self.msg = "Failed to retrieve interface ID for interface({0}) from Cisco Catalyst Center: {1}".format(interface_name, str(e)) + self.result['response'] = self.msg self.log(self.msg, "ERROR") - return self + self.check_return_status() def get_interface_from_ip(self, device_ip): """ @@ -2435,6 +2586,7 @@ def get_device_response(self, device_ip): op_modifies=True, params={"managementIpAddress": device_ip} ) + self.log("Received API response from 'get_device_list': {0}".format(str(response)), "DEBUG") response = response.get('response')[0] except Exception as e: @@ -2588,17 +2740,34 @@ def get_provision_wired_device(self, device_ip): try: flag = 3 - response = self.dnac._exec( - family="sda", - function='get_provisioned_wired_device', - op_modifies=True, - params={"device_management_ip_address": device_ip} - ) - - if response.get("status") == "success" and "retrieved successfully" in response.get("description"): - flag = 2 - self.log("Wired device '{0}' already provisioned in the Cisco Catalyst Center.".format(device_ip), "INFO") - + if self.get_ccc_version_as_integer() <= self.get_ccc_version_as_int_from_str("2.3.5.3"): + response = self.dnac._exec( + family="sda", + function='get_provisioned_wired_device', + op_modifies=True, + params={"device_management_ip_address": device_ip} + ) + self.log("Received API response from 'get_provisioned_wired_devices': {0}".format(str(response)), "DEBUG") + if response.get("status") == "success" and "retrieved successfully" in response.get("description"): + flag = 2 + self.log("Wired device '{0}' already provisioned in the Cisco Catalyst Center.".format(device_ip), "INFO") + else: + device_ids = self.get_device_ids([device_ip]) + device_id = device_ids[0] + if not device_ids: + self.log("No device ID found for IP {0}".format(device_ip), "ERROR") + self.log("Device ID for IP {0}: {1}".format(device_ip, device_id), "DEBUG") + response = self.dnac._exec( + family="sda", + function='get_provisioned_devices', + op_modifies=True, + params={"networkDeviceId": device_id} + ) + self.log("Received API response from 'get_provision_devices': {0}".format(str(response)), "DEBUG") + response = response.get("response") + if response: + flag = 2 + self.log("Wired device '{0}' already provisioned in the Cisco Catalyst Center.".format(device_ip), "INFO") except Exception as e: if "not provisioned to any site" in str(e): flag = 1 @@ -2697,7 +2866,6 @@ def update_interface_detail_of_device(self, device_to_update): # Call the Get interface details by device IP API and fetch the interface Id is_update_occurred = False - response_list = [] for device_ip in device_to_update: interface_params = self.config[0].get('update_interface_details') interface_names_list = interface_params.get('interface_name') @@ -2727,8 +2895,7 @@ def update_interface_detail_of_device(self, device_to_update): if response.get('role').upper() != "ACCESS": self.msg = "The action to clear the MAC Address table is only supported for devices with the ACCESS role." self.log(self.msg, "WARNING") - response_list.append(self.msg) - self.result['changed'] = False + else: deploy_mode = interface_params.get('deployment_mode', 'Deploy') self.clear_mac_address(interface_id, deploy_mode, interface_name).check_return_status() @@ -2760,7 +2927,7 @@ def update_interface_detail_of_device(self, device_to_update): self.msg = """Interface details for the given interface '{0}' are already updated in the Cisco Catalyst Center for the device '{1}'.""".format(interface_name, device_ip) self.log(self.msg, "INFO") - response_list.append(self.msg) + self.response_list.append(self.msg) continue update_interface_params = { @@ -2794,7 +2961,7 @@ def update_interface_detail_of_device(self, device_to_update): self.status = "success" is_update_occurred = True self.msg = "Successfully updated the Interface Details for device '{0}'.".format(device_ip) - response_list.append(self.msg) + self.response_list.append(self.msg) self.log(self.msg, "INFO") break elif execution_details.get("isError"): @@ -2815,10 +2982,9 @@ def update_interface_detail_of_device(self, device_to_update): self.result['changed'] = False self.msg = "Port actions are only supported on user facing/access ports as it's not allowed or No Updation required" self.log(self.msg, "INFO") - response_list.append(self.msg) + self.response_list.append(self.msg) self.result['changed'] = is_update_occurred - self.result['response'] = response_list return self @@ -2923,6 +3089,7 @@ def is_device_exist_in_ccc(self, device_ip): op_modifies=True, params={"managementIpAddress": device_ip} ) + self.log("Received API response from 'get_device_list': {0}".format(str(response)), "DEBUG") response = response.get('response') if not response: self.log("Device with given IP '{0}' is not present in Cisco Catalyst Center".format(device_ip), "INFO") @@ -3011,11 +3178,22 @@ def get_diff_merged(self, config): config['http_port'] = self.config[0].get("http_port", "443") if self.config[0].get('provision_wired_device'): + provision_wired_list = self.config[0]['provision_wired_device'] + device_not_available = [] for prov_dict in provision_wired_list: device_ip = prov_dict['device_ip'] + site_name = prov_dict['site_name'] + site_exist , site_id = self.get_site_id(site_name) + if not site_exist: + self.status = "failed" + self.msg = ("Unable to Provision Wired Device(s) because the site(s) listed: '{0}' are not present in the" + "Cisco Catalyst Center.").format(str(site_name)) + self.result['response'] = self.msg + self.log(self.msg, "ERROR") + return self if device_ip not in self.have.get("device_in_ccc"): device_not_available.append(device_ip) if device_not_available: @@ -3073,6 +3251,18 @@ def get_diff_merged(self, config): self.log(self.msg, "ERROR") return self + if device_reboot: + device_to_update = self.get_device_ips_from_config_priority() + device_exist = self.is_device_exist_for_update(device_to_update) + + if not device_exist: + self.msg = ("Unable to reboot device because the device(s) listed: {0} are not present in the" + " Cisco Catalyst Center.").format(str(device_to_update)) + self.status = "failed" + self.result['response'] = self.msg + self.log(self.msg, "ERROR") + return self + if not config['ip_address_list']: self.msg = "Devices '{0}' already present in Cisco Catalyst Center".format(self.have['devices_in_playbook']) self.log(self.msg, "INFO") @@ -3144,6 +3334,7 @@ def get_diff_merged(self, config): self.result['response'] = execution_details if len(devices_to_add) > 0: + self.device_list.append(devices_to_add) self.result['changed'] = True self.msg = "Device(s) '{0}' added to Cisco Catalyst Center".format(str(devices_to_add)) self.log(self.msg, "INFO") @@ -3174,8 +3365,8 @@ def get_diff_merged(self, config): if self.config[0].get('role'): devices_to_update_role = self.get_device_ips_from_config_priority() device_role = self.config[0].get('role') + self.device_role_name.append(device_role) role_update_count = 0 - role_updated_list = [] for device_ip in devices_to_update_role: device_id = self.get_device_ids([device_ip]) @@ -3186,6 +3377,7 @@ def get_diff_merged(self, config): op_modifies=True, params={"managementIpAddress": device_ip} ) + self.log("Received API response from 'get_device_list': {0}".format(str(response)), "DEBUG") response = response.get('response')[0] if response.get('role') == device_role: @@ -3221,7 +3413,7 @@ def get_diff_merged(self, config): if 'successfully' in progress or 'succesfully' in progress: self.status = "success" self.log("Device '{0}' role updated successfully to '{1}'".format(device_ip, device_role), "INFO") - role_updated_list.append(device_ip) + self.role_updated_list.append(device_ip) break elif execution_details.get("isError"): self.status = "failed" @@ -3246,11 +3438,12 @@ def get_diff_merged(self, config): self.log(self.msg, "INFO") self.result['response'] = self.msg - if role_updated_list: + if self.role_updated_list: self.status = "success" self.result['changed'] = True - self.msg = "Device(s) '{0}' role updated successfully to '{1}'".format(str(role_updated_list), device_role) - self.result['response'] = self.msg + self.msg = "Device(s) '{0}' role updated successfully to '{1}'".format(self.role_updated_list, device_role) + self.result['msg'] = self.msg + self.result["response"] = self.msg self.log(self.msg, "INFO") if credential_update: @@ -3439,15 +3632,17 @@ def get_diff_merged(self, config): self.result['response'] = self.msg self.log(self.msg, "INFO") - # Update list of interface details on specific or list of devices. if self.config[0].get('update_interface_details'): device_to_update = self.get_device_ips_from_config_priority() self.update_interface_detail_of_device(device_to_update).check_return_status() # If User defined field(UDF) not present then create it and add multiple udf to specific or list of devices + self.log("self.config") + self.log(self.config[0]) if self.config[0].get('add_user_defined_field'): udf_field_list = self.config[0].get('add_user_defined_field') - + self.log("udf_field_list") + self.log(udf_field_list) for udf in udf_field_list: field_name = udf.get('name') @@ -3460,7 +3655,7 @@ def get_diff_merged(self, config): # Check if the Global User defined field exist if not then create it with given field name udf_exist = self.is_udf_exist(field_name) - + self.log(udf_exist) if not udf_exist: # Create the Global UDF self.log("Global User Defined Field '{0}' does not present in Cisco Catalyst Center, we need to create it".format(field_name), "DEBUG") @@ -3484,6 +3679,7 @@ def get_diff_merged(self, config): self.result['changed'] = True self.msg = "Global User Defined Field(UDF) named '{0}' has been successfully added to the device.".format(field_name) + self.udf_added.append(field_name) self.log(self.msg, "INFO") # Once Wired device get added we will assign device to site and Provisioned it @@ -3509,160 +3705,222 @@ def get_diff_merged(self, config): def get_diff_deleted(self, config): """ - Delete devices in Cisco Catalyst Center based on device IP Address. + Main function to delete devices in Cisco Catalyst Center based on device IP address. Parameters: - self (object): An instance of a class used for interacting with Cisco Catalyst Center - config (dict): A dictionary containing the list of device IP addresses to be deleted. + config (dict): The configuration settings for the deletion process. Returns: - object: An instance of the class with updated results and status based on the deletion operation. + self (object): An instance of a class used for interacting with Cisco Catalyst Center. Description: - This function is responsible for removing devices from the Cisco Catalyst Center inventory and - also unprovsioned and removed wired provsion devices from the Inventory page and also delete - the Global User Defined Field that are associated to the devices. + This method compares the provided configuration against the current + devices in the Cisco Catalyst Center and deletes devices based on + their IP addresses. It returns a success status indicating whether + the deletion process was completed successfully. """ device_to_delete = self.get_device_ips_from_config_priority() self.result['msg'] = [] + # Handle Global User Defined Fields (UDF) Deletion if self.config[0].get('add_user_defined_field'): - udf_field_list = self.config[0].get('add_user_defined_field') - for udf in udf_field_list: - field_name = udf.get('name') - udf_id = self.get_udf_id(field_name) - - if udf_id is None: - self.status = "success" - self.msg = "Global UDF '{0}' is not present in Cisco Catalyst Center".format(field_name) - self.log(self.msg, "INFO") - self.result['changed'] = False - self.result['msg'] = self.msg - return self - - try: - response = self.dnac._exec( - family="devices", - function='delete_user_defined_field', - op_modifies=True, - params={"id": udf_id}, - ) - if response and isinstance(response, dict): - self.log("Received API response from 'delete_user_defined_field': {0}".format(str(response)), "DEBUG") - task_id = response.get('response').get('taskId') - - while True: - execution_details = self.get_task_details(task_id) - - if 'success' in execution_details.get("progress"): - self.status = "success" - self.msg = "Global UDF '{0}' deleted successfully from Cisco Catalyst Center".format(field_name) - self.log(self.msg, "INFO") - self.result['changed'] = True - self.result['response'] = execution_details - break - elif execution_details.get("isError"): - self.status = "failed" - failure_reason = execution_details.get("failureReason") - if failure_reason: - self.msg = "Failed to delete Global User Defined Field(UDF) due to: {0}".format(failure_reason) - else: - self.msg = "Global UDF deletion get failed." - self.log(self.msg, "ERROR") - self.result['response'] = self.msg - break - - except Exception as e: - error_message = "Error while deleting Global UDF from Cisco Catalyst Center: {0}".format(str(e)) - self.log(error_message, "ERROR") - raise Exception(error_message) - - return self + return self.delete_user_defined_fields() + # Loop over devices to delete them for device_ip in device_to_delete: if device_ip not in self.have.get("device_in_ccc"): self.status = "success" self.result['changed'] = False self.msg = "Device '{0}' is not present in Cisco Catalyst Center so can't perform delete operation".format(device_ip) + self.no_device_to_delete.append(device_ip) self.result['msg'].append(self.msg) self.result['response'] = self.msg self.log(self.msg, "INFO") continue + device_ids = self.get_device_ids([device_ip]) + device_id = device_ids[0] + is_device_provisioned = self.is_device_provisioned(device_id) + if not is_device_provisioned: + self.handle_device_deletion(device_ip) + continue - try: - provision_params = { - "device_management_ip_address": device_ip - } - prov_respone = self.dnac._exec( - family="sda", - function='get_provisioned_wired_device', - op_modifies=True, - params=provision_params, - ) - self.log("Received API response from 'get_provisioned_wired_device': {0}".format(str(prov_respone)), "DEBUG") + if self.get_ccc_version_as_integer() <= self.get_ccc_version_as_int_from_str("2.3.5.3"): + self.delete_provisioned_device_v1(device_ip) + else: + self.delete_provisioned_device_v2(device_ip) - if prov_respone.get("status") == "success": - response = self.dnac._exec( - family="sda", - function='delete_provisioned_wired_device', - op_modifies=True, - params=provision_params, - ) - self.log("Received API response from 'delete_provisioned_wired_device': {0}".format(str(response)), "DEBUG") - executionid = response.get("executionId") + return self - while True: - execution_details = self.get_execution_details(executionid) - if execution_details.get("status") == "SUCCESS": - self.result['changed'] = True - self.msg = "Delete provisioned Wired Device '{0}' successfully from Cisco Catalyst Center".format(device_ip) - self.log(self.msg, "INFO") - self.result['response'] = self.msg - self.result['msg'].append(self.msg) - break - elif execution_details.get("bapiError"): - self.msg = execution_details.get("bapiError") - self.result['msg'].append(self.msg) - self.log(self.msg, "ERROR") - break - except Exception as e: - device_id = self.get_device_ids([device_ip]) - delete_params = { - "id": device_id[0], - "clean_config": self.config[0].get("clean_config", False) - } + def delete_user_defined_fields(self): + """ + Deletes User Defined Fields (UDF) in Cisco Catalyst Center. + Returns: + self (object): An instance of the class after the deleting UFD operation is performed. + Description: + This method removes user-defined fields from the Cisco Catalyst Center. + It ensures that any custom fields that are no longer needed are + deleted to maintain a clean and organized configuration. + """ + + udf_field_list = self.config[0].get('add_user_defined_field') + for udf in udf_field_list: + field_name = udf.get('name') + udf_id = self.get_udf_id(field_name) + + if udf_id is None: + self.status = "success" + self.msg = "Global UDF '{0}' is not present in Cisco Catalyst Center".format(field_name) + self.log(self.msg, "INFO") + self.result['changed'] = False + self.result['msg'] = self.msg + continue + + try: + # Execute API call to delete UDF response = self.dnac._exec( family="devices", - function='delete_device_by_id', + function='delete_user_defined_field', op_modifies=True, - params=delete_params, + params={"id": udf_id}, ) + self.log("Received API response from 'delete_user_defined_field': {0}".format(str(response)), "DEBUG") + # Check for task ID in the response and monitor its progress if response and isinstance(response, dict): - task_id = response.get('response').get('taskId') + task_id = response.get('response', {}).get('taskId') while True: execution_details = self.get_task_details(task_id) + # If the task is successful, update status and log the result if 'success' in execution_details.get("progress"): self.status = "success" - self.msg = "Device '{0}' was successfully deleted from Cisco Catalyst Center".format(device_ip) + self.msg = "Global UDF '{0}' deleted successfully from Cisco Catalyst Center".format(field_name) + self.udf_deleted.append(field_name) self.log(self.msg, "INFO") self.result['changed'] = True self.result['response'] = execution_details break + # If there's an error, log and handle it elif execution_details.get("isError"): self.status = "failed" failure_reason = execution_details.get("failureReason") if failure_reason: - self.msg = "Device '{0}' deletion get failed due to: {1}".format(device_ip, failure_reason) + self.msg = "Failed to delete Global User Defined Field (UDF) '{0}' due to: {1}".format(field_name, failure_reason) else: - self.msg = "Device '{0}' deletion get failed.".format(device_ip) + self.msg = "Global UDF '{0}' deletion failed.".format(field_name) self.log(self.msg, "ERROR") self.result['response'] = self.msg break - self.result['msg'].append(self.msg) + + except Exception as e: + error_message = "Error while deleting Global UDF '{0}' from Cisco Catalyst Center: {1}".format(field_name, str(e)) + self.log(error_message, "ERROR") + raise Exception(error_message) return self + def delete_provisioned_device_v1(self, device_ip): + """ + Deletes provisioned devices for versions <= 2.3.5.3. + + Parameters: + device_ip (str): The IP address of the device to be deleted. + + Description: + This method deletes a provisioned device with the specified IP address + for software versions 2.3.5.3 or earlier. It performs the necessary + validations and API calls to ensure the device is removed from the + Cisco Catalyst Center. + """ + + provision_params = {"device_management_ip_address": device_ip} + prov_respone = self.dnac._exec( + family="sda", + function='get_provisioned_wired_device', + op_modifies=True, + params=provision_params, + ) + self.log("Received API response from 'get_provisioned_wired_device': {0}".format(str(prov_respone)), "DEBUG") + + if prov_respone.get("status") == "success": + response = self.dnac._exec( + family="sda", + function='delete_provisioned_wired_device', + op_modifies=True, + params=provision_params, + ) + self.log("Received API response from 'delete_provisioned_wired_device': {0}".format(str(response)), "DEBUG") + self.check_tasks_response_status(response, api_name='delete_provisioned_wired_device') + if self.status not in ["failed", "exited"]: + self.provisioned_device_deleted.append(device_ip) + + def delete_provisioned_device_v2(self, device_ip): + """ + Deletes provisioned devices for versions > 2.3.5.3. + + Parameters: + device_ip (str): The IP address of the device to be deleted. + + Description: + This method deletes a provisioned device with the specified IP address + for software versions greater than 2.3.5.3. It ensures that the device + is properly removed from the Cisco Catalyst Center, handling any + required validations and API interactions. + """ + + device_ids = self.get_device_ids([device_ip]) + device_id = device_ids[0] + prov_respone = self.dnac._exec( + family="sda", + function='get_provisioned_devices', + op_modifies=True, + params={"networkDeviceId": device_id} + ) + self.log("Received API response from 'get_provisioned_devices': {0}".format(str(prov_respone)), "DEBUG") + + if prov_respone.get("response"): + response = self.dnac._exec( + family="sda", + function='delete_provisioned_devices', + op_modifies=True, + params={'networkDeviceId': device_id}, + ) + self.log("Received API response from 'delete_provisioned_devices': {0}".format(str(response)), "DEBUG") + self.check_tasks_response_status(response, api_name='delete_provisioned_devices') + if self.status not in ["failed", "exited"]: + self.provisioned_device_deleted.append(device_ip) + + def handle_device_deletion(self, device_ip): + """ + Handles exceptions that occur during the deletion of a device. + + Parameters: + device_ip (str): The IP address of the device that is being deleted. + e (Exception): The exception that was raised during the deletion process. + Returns: + None + Description: + This method logs an error message related to the exception that occurred + during the deletion of the specified device. It captures relevant details + of the exception to aid in troubleshooting and ensures proper logging of + the error scenario. + """ + + device_id = self.get_device_ids([device_ip]) + delete_params = { + "id": device_id[0], + "clean_config": self.config[0].get("clean_config", False) + } + response = self.dnac._exec( + family="devices", + function='delete_device_by_id', + op_modifies=True, + params=delete_params, + ) + self.log("Received API response from 'deleted_device_by_id': {0}".format(str(response)), "DEBUG") + self.check_tasks_response_status(response, api_name='deleted_device_by_id') + if self.status not in ["failed", "exited"]: + self.deleted_devices.append(device_ip) + def verify_diff_merged(self, config): """ Verify the merged status(Addition/Updation) of Devices in Cisco Catalyst Center. @@ -3684,8 +3942,7 @@ def verify_diff_merged(self, config): - Verifies the creation of a global User Defined Field (UDF) and logs the status. - Verifies the provisioning of wired devices and logs the status. """ - - self.get_have(config) + self.log("verify starts here verify diff merged") self.log("Current State (have): {0}".format(str(self.have)), "INFO") self.log("Desired State (want): {0}".format(str(self.want)), "INFO") @@ -3836,6 +4093,97 @@ def verify_diff_deleted(self, config): return self + def update_inventory_profile_messages(self): + """ + Updates and logs messages based on the status of users and roles. + Args: + self (object): An instance of a class used for interacting with Cisco Catalyst Center. + Returns: + self (object): Returns the current instance of the class with updated `result` and `msg` attributes. + Description: + This method aggregates status messages related to the creation, update, or deletion of users and roles. + It checks various instance variables (`create_user`, `update_user`, `no_update_user`, `delete_user`, + `create_role`, `update_role`, `no_update_role`, `delete_role`) to determine the status and generates + corresponding messages. The method also updates the `result["response"]` attribute with the concatenated status messages. + """ + + self.result["changed"] = False + result_msg_list_not_changed = [] + result_msg_list_changed = [] + + if self.provisioned_device: + provisioned_device = "device(s) '{0}' provisioned successfully in Cisco Catalyst Center.".format("', '".join(self.provisioned_device)) + result_msg_list_changed.append(provisioned_device) + + if self.device_already_provisioned: + device_already_provisioned = "device(s) '{0}' already provisioned in Cisco Catalyst Center.".format("', '".join(self.device_already_provisioned)) + result_msg_list_not_changed.append(device_already_provisioned) + + if self.device_list: + flat_devices = [] + for sublist in self.device_list: + for ip in sublist: + flat_devices.append(ip) + device_lists_message = "device(s) '{0}' added successfully in Cisco Catalyst Center.".format("', '".join(flat_devices)) + result_msg_list_changed.append(device_lists_message) + + if self.devices_already_present: + self.log(self.devices_already_present) + flat_devices = [] + for sublist in self.devices_already_present: + for ip in sublist: + flat_devices.append(ip) + devices_already_present = "device(s) '{0}' already present in Cisco Catalyst Center.".format("', '".join(flat_devices)) + result_msg_list_not_changed.append(devices_already_present) + + if self.provisioned_device_deleted: + provisioned_device_deleted = ("provisioned device(s) '{0}' successfully deleted in Cisco Catalyst" + " Center.").format("', '".join(self.provisioned_device_deleted)) + result_msg_list_changed.append(provisioned_device_deleted) + + if self.deleted_devices: + deleted_devices = "device(s) '{0}' successfully deleted in Cisco Catalyst Center".format("', '".join(self.deleted_devices)) + result_msg_list_changed.append(deleted_devices) + + if self.no_device_to_delete: + deleted_devices = ("device(s) '{0}' is not present in Cisco Catalyst Center so can't perform delete" + " operation").format("', '".join(self.no_device_to_delete)) + result_msg_list_not_changed.append(deleted_devices) + + if self.response_list: + response_list_for_update = "{0}".format(", ".join(self.response_list)) + result_msg_list_changed.append(response_list_for_update) + + if self.role_updated_list: + role_updated_list = "Device(s) '{0}' role updated successfully to '{1}'".format(self.role_updated_list, self.device_role_name) + result_msg_list_changed.append(role_updated_list) + + if self.udf_added: + udf_added = "Global User Defined Field(UDF) named '{0}' has been successfully added to the device.".format("', '".join(self.udf_added)) + result_msg_list_changed.append(udf_added) + + if self.udf_deleted: + udf_deleted = "Global User Defined Field(UDF) named '{0}' has been successfully deleted to the device.".format("', '".join(self.udf_deleted)) + result_msg_list_changed.append(udf_deleted) + + if result_msg_list_not_changed and result_msg_list_changed: + self.result["changed"] = True + self.msg = "{0}, {1}".format(" ".join(result_msg_list_not_changed), " ".join(result_msg_list_changed)) + elif result_msg_list_not_changed: + self.msg = " ".join(result_msg_list_not_changed) + elif result_msg_list_changed: + self.result["changed"] = True + self.msg = " ".join(result_msg_list_changed) + else: + self.msg = "No changes were made. No inventory actions were performed in Cisco Catalyst Center." + + self.log(self.msg, "INFO") + + self.result['msg'] = self.msg + self.result["response"] = self.msg + + return self + def main(): """ main entry point for module execution @@ -3882,6 +4230,8 @@ def main(): if config_verify: ccc_device.verify_diff_state_apply[state](config).check_return_status() + ccc_device.update_inventory_profile_messages().check_return_status() + module.exit_json(**ccc_device.result) diff --git a/plugins/modules/network_compliance_workflow_manager.py b/plugins/modules/network_compliance_workflow_manager.py index 92457b4903..7f0fc66962 100644 --- a/plugins/modules/network_compliance_workflow_manager.py +++ b/plugins/modules/network_compliance_workflow_manager.py @@ -7,7 +7,7 @@ from __future__ import absolute_import, division, print_function __metaclass__ = type -__author__ = ("Rugvedi Kapse, Madhan Sankaranarayanan") +__author__ = ("Rugvedi Kapse, Madhan Sankaranarayanan, Sonali Deepthi Kesali") DOCUMENTATION = r""" --- @@ -22,6 +22,7 @@ - cisco.dnac.workflow_manager_params author: Rugvedi Kapse (@rukapse) Madhan Sankaranarayanan (@madhansansel) + Sonali Deepthi (@skesali) options: config_verify: description: Set to True to verify the Cisco Catalyst Center config after applying the playbook config. @@ -96,8 +97,16 @@ compliance.Compliance.run_compliance compliance.Compliance.commit_device_configuration task.Task.get_task_by_id + task.Task.get_task_details_by_id task.Task.get_task_tree + task.Task.get_tasks compliance.Compliance.compliance_details_of_device + devices.Devices.get_device_list + devices.Devices.get_device_by_id + site.Site.get_site + site.Site.get_membership + site_design.Site_design.get_sites + site_design.Site_design.get_site_assigned_network_devices - Paths used are post /dna/intent/api/v1/compliance/ @@ -105,6 +114,14 @@ get /dna/intent/api/v1/task/{taskId} get /dna/intent/api/v1/task/{taskId}/tree get /dna/intent/api/v1/compliance/${deviceUuid}/detail + get /dna/intent/api/v1/membership/${siteId} + get /dna/intent/api/v1/site + get /dna/intent/api/v1/networkDevices/assignedToSite + get /dna/intent/api/v1/sites + get /dna/intent/api/v1/tasks/${id}/detail + get /dna/intent/api/v1/tasks + get /dna/intent/api/v1/network-device/${id} + get /dna/intent/api/v1/network-device """ @@ -502,54 +519,6 @@ def validate_run_compliance_paramters(self, mgmt_ip_to_instance_id_map, run_comp return run_compliance_params - def site_exists(self, site_name): - """ - Checks the existence of a site in Cisco Catalyst Center. - Parameters: - site_name (str): The name of the site to be checked. - Returns: - tuple: A tuple containing two values: - - site_exists (bool): Indicates whether the site exists (True) or not (False). - - site_id (str or None): The ID of the site if it exists, or None if the site is not found. - Description: - This method queries Cisco Catalyst Center to determine if a site with the provided name exists. - If the site is found, it sets "site_exists" to True and retrieves the site"s ID. - If the site does not exist, "site_exists" is set to False, and "site_id" is None. - If an exception occurs during the site lookup, an error message is logged, and the module fails. - """ - site_exists = False - site_id = None - response = None - - # Attempt to retrieve site information from Catalyst Center - try: - response = self.dnac._exec( - family="sites", - function="get_site", - op_modifies=True, - params={"name": site_name}, - ) - self.log("Response received post 'get_site' API call: {0}".format(str(response)), "DEBUG") - - # Process the response if available - if response: - site = response.get("response") - site_id = site[0].get("id") - site_exists = True - else: - self.log("No response received from the 'get_site' API call.", "ERROR") - - except Exception as e: - # Log an error message and fail if an exception occurs - self.log("An error occurred while retrieving site details for Site '{0}' using 'get_site' API call: {1}".format(site_name, str(e)), "ERROR") - - if not site_exists: - msg = "An error occurred while retrieving site details for Site '{0}'. Please verify that the site exists.".format(site_name) - self.log(msg, "ERROR") - self.module.fail_json(msg=msg) - - return (site_exists, site_id) - def get_device_ids_from_ip(self, ip_address_list): """ Retrieves the device IDs based on the provided list of IP addresses from Cisco Catalyst Center. @@ -565,7 +534,6 @@ def get_device_ids_from_ip(self, ip_address_list): """ mgmt_ip_to_instance_id_map = {} - # Iterate through the provided list of IP addresses for device_ip in ip_address_list: try: # Query Cisco Catalyst Center for device information using the IP address @@ -603,75 +571,7 @@ def get_device_ids_from_ip(self, ip_address_list): if not mgmt_ip_to_instance_id_map: ip_address_list_str = ", ".join(ip_address_list) self.msg = "No reachable devices found among the provided IP addresses: {0}".format(ip_address_list_str) - self.update_result("ok", False, self.msg, "INFO") - self.module.exit_json(**self.result) - - return mgmt_ip_to_instance_id_map - - def get_device_ids_from_site(self, site_name, site_id): - """ - Retrieves the management IP addresses and their corresponding instance UUIDs of devices associated with a specific site in Cisco Catalyst Center. - - Parameters: - site_name (str): The name of the site whose devices" information is to be retrieved. - site_id (str): The unique identifier of the site. - - Returns: - dict: A dictionary mapping management IP addresses to their instance UUIDs. - - Description: - This method queries Cisco Catalyst Center to fetch the list of devices associated with the provided site. - It then extracts the management IP addresses and their instance UUIDs from the response. - Devices that are not reachable are logged as critical errors, and the function fails. - If no reachable devices are found for the specified site, it logs an error message and fails. - - """ - mgmt_ip_to_instance_id_map = {} - - site_params = { - "site_id": site_id, - } - - # Attempt to retrieve device information associated with the site - try: - response = self.dnac._exec( - family="sites", - function="get_membership", - op_modifies=True, - params=site_params, - ) - self.log("Response received post 'get_membership' API Call: {0} ".format(str(response)), "DEBUG") - - # Process the response if available - if response: - response = response["device"] - # Iterate over the devices in the site membership - for item in response: - if item["response"]: - for item_dict in item["response"]: - # Check if the device is reachable - if item_dict["reachabilityStatus"] == "Reachable": - if item_dict["family"] != "Unified AP": - mgmt_ip_to_instance_id_map[item_dict["managementIpAddress"]] = item_dict["instanceUuid"] - else: - msg = "Skipping device {0} in site {1} as its family is {2}".format( - item_dict["managementIpAddress"], site_name, item_dict["family"]) - self.log(msg, "INFO") - else: - msg = "Skipping device {0} in site {1} as its status is {2}".format( - item_dict["managementIpAddress"], site_name, item_dict["reachabilityStatus"]) - self.log(msg, "WARNING") - else: - # If unable to retrieve device information, log an error message - self.log("No response received from API call to get membership information for site. {0}".format(site_name), "ERROR") - - except Exception as e: - # Log an error message if any exception occurs during the process - self.log("Unable to fetch the device(s) associated to the site '{0}' due to {1}".format(site_name, str(e)), "ERROR") - - if not mgmt_ip_to_instance_id_map: - self.msg = "Reachable devices not found at Site: {0}".format(site_name) - self.update_result("ok", False, self.msg, "INFO") + self.set_operation_result("ok", False, self.msg, "INFO") self.module.exit_json(**self.result) return mgmt_ip_to_instance_id_map @@ -694,10 +594,10 @@ def get_device_id_list(self, ip_address_list, site_name): # Check if both site name and IP address list are provided if site_name: - (site_exists, site_id) = self.site_exists(site_name) + (site_exists, site_id) = self.get_site_id(site_name) if site_exists: # Retrieve device IDs associated with devices in the site - site_mgmt_ip_to_instance_id_map = self.get_device_ids_from_site(site_name, site_id) + site_mgmt_ip_to_instance_id_map = self.get_device_ip_from_device_id(site_id) mgmt_ip_to_instance_id_map.update(site_mgmt_ip_to_instance_id_map) if ip_address_list: @@ -840,7 +740,7 @@ def get_want(self, config): sync_required, self.msg, categorized_devices = self.is_sync_required(response, mgmt_ip_to_instance_id_map) self.log("Is Sync Requied: {0} -- Message: {1}".format(sync_required, self.msg), "DEBUG") if not sync_required: - self.update_result("ok", False, self.msg, "INFO") + self.set_operation_result("ok", False, self.msg, "INFO") self.module.exit_json(**self.result) # Get the device IDs of devices in the "OTHER" category and "COMPLIANT" category @@ -942,7 +842,7 @@ def get_compliance_report(self, run_compliance_params, mgmt_ip_to_instance_id_ma if not final_response: device_list_str = ", ".join(device_list) self.msg = "No Compliance Details found for the devices: {0}".format(device_list_str) - self.update_result("failed", False, self.msg, "ERROR") + self.set_operation_result("failed", False, self.msg, "ERROR") self.check_return_status() return final_response @@ -982,7 +882,7 @@ def get_compliance_details_of_device(self, compliance_details_of_device_params, # Handle any exceptions that occur during the API call self.msg = ("An error occurred while retrieving Compliance Details for device:{0} using 'compliance_details_of_device' API call" ". Error: {1}".format(device_ip, str(e))) - self.update_result("failed", False, self.msg, "ERROR") + self.set_operation_result("failed", False, self.msg, "ERROR") self.check_return_status() def run_compliance(self, run_compliance_params, batch_size): @@ -1001,7 +901,7 @@ def run_compliance(self, run_compliance_params, batch_size): device_uuids = run_compliance_params.get("deviceUuids") if not device_uuids: self.msg = "No device UUIDs were found for the execution of the compliance operation." - self.update_result("ok", False, self.msg, "INFO") + self.set_operation_result("ok", False, self.msg, "INFO") self.module.exit_json(**self.result) batches_dict = {} @@ -1082,140 +982,9 @@ def sync_device_config(self, sync_device_config_params): self.msg = ( "Error occurred while synchronizing device configuration for parameters - {0}. " "Error: {1}".format(sync_device_config_params, str(e))) - self.update_result("failed", False, self.msg, "ERROR") + self.set_operation_result("failed", False, self.msg, "ERROR") self.check_return_status() - def get_task_status(self, task_id, task_name): - """ - Retrieve the status of a task by its ID. - Parameters: - - task_id (str): The ID of the task whose status is to be retrieved. - - task_name (str): The name of the task. - Returns: - response (dict): The response containing the status of the task. - Note: - This method makes an API call to retrieve the task status and logs the status information. - If an error occurs during the API call, it will be caught and logged. - """ - # Make an API call to retrieve the task tree - try: - response = self.dnac_apply["exec"]( - family="task", - function="get_task_by_id", - params=dict(task_id=task_id), - op_modifies=True, - ) - self.log("Response received post 'get_task_by_id' API Call for the Task {0} with Task id {1} " - "is {2}".format(task_name, str(task_id), str(response)), "DEBUG") - - if response: - response = response["response"] - else: - self.log("No response received from the 'get_task_by_id' API call.", "CRITICAL") - return response - - # Log the error if an exception occurs during the API call - except Exception as e: - self.msg = "Error occurred while retrieving 'get_task_by_id' for Task {0} with Task id {1}. Error: {2}".format(task_name, task_id, str(e)) - self.update_result("failed", False, self.msg, "ERROR") - self.check_return_status() - - def get_task_tree(self, task_id, task_name): - """ - Retrieve the tree of a task by its ID. - Parameters: - - task_id (str): The ID of the task whose status is to be retrieved. - - task_name (str): The name of the task. - Returns: - response (dict): The response containing the status of the task. - Note: - This method makes an API call to retrieve the task status and logs the status information. - If an error occurs during the API call, it will be caught and logged. - """ - # Make an API call to retrieve the task status - try: - response = self.dnac_apply["exec"]( - family="task", - function="get_task_tree", - params=dict(task_id=task_id), - op_modifies=True, - ) - self.log("Response received post 'get_task_tree' API call for the Task {0} with Task id {1} " - "is {2}".format(task_name, str(task_id), str(response)), "DEBUG") - if response: - response = response["response"] - else: - self.log("No response received from the 'get_task_tree' API call.", "CRITICAL") - return response - - # Log the error if an exception occurs during the API call - except Exception as e: - self.msg = "Error occurred while retrieving 'get_task_tree' for Task {0} with task id {1}: {2}".format(task_name, task_id, str(e)) - self.update_result("failed", False, self.msg, "ERROR") - self.check_return_status() - - def update_result(self, status, changed, msg, log_level, data=None): - """ - Update the result of the operation with the provided status, message, and log level. - Parameters: - - status (str): The status of the operation ("success" or "failed"). - - changed (bool): Indicates whether the operation caused changes. - - msg (str): The message describing the result of the operation. - - log_level (str): The log level at which the message should be logged ("INFO", "ERROR", "CRITICAL", etc.). - - data (dict, optional): Additional data related to the operation result. - Returns: - self (object): An instance of the class. - Note: - - If the status is "failed", the "failed" key in the result dictionary will be set to True. - - If data is provided, it will be included in the result dictionary. - """ - # Update the result attributes with the provided values - self.status = status - self.result["status"] = status - self.result["msg"] = msg - self.result["changed"] = changed - - # Log the message at the specified log level - self.log(msg, log_level) - - # If the status is "failed", set the "failed" key to True - if status == "failed": - self.result["failed"] = True - - # If additional data is provided, include it in the result dictionary - if data: - self.result["data"] = data - - return self - - def exit_while_loop(self, start_time, task_id, task_name, response): - """ - Check if the elapsed time exceeds the specified timeout period and exit the while loop if it does. - Parameters: - - start_time (float): The time when the while loop started. - - task_id (str): ID of the task being monitored. - - task_name (str): Name of the task being monitored. - - response (dict): Response received from the task status check. - Returns: - bool: True if the elapsed time exceeds the timeout period, False otherwise. - """ - # If the elapsed time exceeds the timeout period - if time.time() - start_time > self.params.get("dnac_api_task_timeout"): - if response.get("data"): - # If there is data in the response, include it in the error message - self.msg = "Task {0} with task id {1} has not completed within the timeout period. Task Status: {2} ".format( - task_name, task_id, response.get("data")) - else: - # If there is no data in the response, generate a generic error message - self.msg = "Task {0} with task id {1} has not completed within the timeout period.".format( - task_name, task_id) - - # Update the result with failure status and log the error message - self.update_result("failed", False, self.msg, "ERROR") - return True - - return False - def handle_error(self, task_name, mgmt_ip_to_instance_id_map, failure_reason=None): """ Handle error encountered during task execution. @@ -1237,59 +1006,10 @@ def handle_error(self, task_name, mgmt_ip_to_instance_id_map, failure_reason=Non task_name, ip_address_list_str) # Update the result with failure status and log the error message - self.update_result("failed", False, self.msg, "ERROR") + self.set_operation_result("failed", False, self.msg, "ERROR") return self - def get_task_result(self, task_id, device_ids): - """ - This function retrieves the status of compliance check tasks in Cisco Catalyst Center. - Parameters: - - task_id (str): The ID of the compliance check task. - - device_ids (list): A list of device UUIDs involved in the compliance check task. - Returns: - dict: A dictionary containing the task ID as the key, and a dictionary with 'msg' and 'status' as the value. - Description: - This function continuously checks the status of a compliance check task until completion or timeout. - It handles various scenarios such as task completion, task failure, or errors during execution. - Upon successful completion, it logs the modified compliance response and updates the result accordingly. - If the task does not complete within the timeout period, it returns a timeout status. - If there is an error during task execution, it returns the error message and status. - If the task fails, it returns the failure message and status. - """ - task_name = "Run Compliance Check" - start_time = time.time() - - while True: - response = self.get_task_status(task_id, task_name) - - # Check if response returned - if not response: - msg = "Error retrieving Task status for {0} with Task Id: {1}".format(task_name, task_id) - return {task_id: {"msg": msg, "status": None}} - - # Check if the elapsed time exceeds the timeout - if time.time() - start_time > self.params.get("dnac_api_task_timeout"): - msg = "Task {0} with task id {1} has not completed within the timeout period.".format(task_name, task_id) - return {task_id: {"msg": msg, "status": "Timedout"}} - - # Handle error if task execution encounters an error - if response.get("isError"): - msg = "Task {0} with task id {1} has encountered an Error: {2}".format(task_name, task_id, response.get("failureReason")) - return {task_id: {"msg": msg, "status": "Error"}} - - # Check if task completed successfully - if not response.get("isError") and "success" in response.get("progress").lower(): - device_ids_str = ", ".join(device_ids) - msg = "{0} has completed successfully on device(s): {1}".format(task_name, device_ids_str) - return {task_id: {"msg": msg, "status": "Success"}} - - # Check if task failed - if "failed" in response.get("progress").lower(): - device_ids_str = ", ".join(device_ids) - msg = "Failed to {0} on the following device(s): {1}".format(task_name, device_ids_str) - return {task_id: {"msg": msg, "status": "Failed"}} - def get_batches_result(self, batches_dict): """ Retrieves the results of compliance check tasks for a list of device batches. @@ -1304,12 +1024,13 @@ def get_batches_result(self, batches_dict): and stores the result including task ID, batch parameters, task status, and message. """ batches_result = [] + success_msg = "Task is success" for idx, batch_info in batches_dict.items(): task_id = batch_info["task_id"] device_ids = batch_info["batch_params"]["deviceUuids"] # Get task status for the current batch - task_status = self.get_task_result(task_id, device_ids) + task_status = self.get_task_status_from_tasks_by_id(task_id, device_ids, success_msg) self.log("The task status of batch: {0} with task id: {1} is {2}".format(idx, task_id, task_status), "INFO") # Extract message and status from the task status result @@ -1431,10 +1152,10 @@ def get_compliance_task_status(self, batches_dict, mgmt_ip_to_instance_id_map): successful_devices_params["deviceUuids"] = successful_devices compliance_report = self.get_compliance_report(successful_devices_params, mgmt_ip_to_instance_id_map) self.log("Compliance Report: {0}".format(compliance_report), "INFO") - self.update_result("success", True, self.msg, "INFO", compliance_report) + self.set_operation_result("success", True, self.msg, "INFO", compliance_report) else: self.msg = "Failed to {0} on the following device(s): {1}".format(task_name, unsuccessful_ips_str) - self.update_result("failed", False, self.msg, "CRITICAL") + self.set_operation_result("failed", False, self.msg, "CRITICAL") return self @@ -1458,16 +1179,16 @@ def get_sync_config_task_status(self, task_id, mgmt_ip_to_instance_id_map): success_devices = [] failed_devices = [] - response = self.get_task_tree(task_id, task_name) + response = self.check_task_tree_response(task_id, task_name) # Check if response returned if not response: self.msg = "Error retrieving Task Tree for the task_name {0} task_id {1}".format(task_name, task_id) - self.update_result("failed", False, self.msg, "ERROR") + self.set_operation_result("failed", False, self.msg, "ERROR") break # Check if the elapsed time exceeds the timeout - if self.exit_while_loop(start_time, task_id, task_name, response): + if self.check_timeout_and_exit(start_time, task_id, task_name, response): break # Handle error if task execution encounters an error @@ -1499,16 +1220,16 @@ def get_sync_config_task_status(self, task_id, mgmt_ip_to_instance_id_map): total_devices = len(sync_device_config_params["deviceId"]) if len(success_devices) == total_devices: self.msg = "{0} has completed successfully on {1} device(s): {2}".format(task_name, len(success_devices), success_devices_str) - self.update_result("success", True, self.msg, "INFO") + self.set_operation_result("success", True, self.msg, "INFO") break elif failed_devices and len(failed_devices) + len(success_devices) == total_devices: self.msg = "{0} task has failed on {1} device(s): {2} and succeeded on {3} device(s): {4}".format( task_name, len(failed_devices), failed_devices_str, len(success_devices), success_devices_str) - self.update_result("failed", True, self.msg, "CRITICAL") + self.set_operation_result("failed", True, self.msg, "CRITICAL") break elif len(failed_devices) == total_devices: self.msg = "{0} task has failed on {1} device(s): {2}".format(task_name, len(failed_devices), failed_devices_str) - self.update_result("failed", False, self.msg, "CRITICAL") + self.set_operation_result("failed", False, self.msg, "CRITICAL") break return self @@ -1544,7 +1265,7 @@ def get_diff_merged(self): if not result_task_id: self.msg = "An error occurred while retrieving the task_id of the {0} operation.".format(action_func.__name__) - self.update_result("failed", False, self.msg, "CRITICAL") + self.set_operation_result("failed", False, self.msg, "CRITICAL") else: status_func(result_task_id, self.want.get("mgmt_ip_to_instance_id_map")).check_return_status() diff --git a/plugins/modules/network_settings_workflow_manager.py b/plugins/modules/network_settings_workflow_manager.py index 8667fee2db..e7fda97625 100644 --- a/plugins/modules/network_settings_workflow_manager.py +++ b/plugins/modules/network_settings_workflow_manager.py @@ -7,7 +7,7 @@ from __future__ import absolute_import, division, print_function __metaclass__ = type -__author__ = ['Muthu Rakesh, Madhan Sankaranarayanan'] +__author__ = ['Muthu Rakesh, Madhan Sankaranarayanan, Megha Kandari'] DOCUMENTATION = r""" --- @@ -24,6 +24,7 @@ - cisco.dnac.workflow_manager_params author: Muthu Rakesh (@MUTHU-RAKESH-27) Madhan Sankaranarayanan (@madhansansel) + Megha Kandari (@kandarimegha) options: config_verify: description: Set to True to verify the Cisco Catalyst Center after applying the playbook config. @@ -42,7 +43,7 @@ required: true suboptions: global_pool_details: - description: Manages IPv4 and IPv6 pools in the global level. + description: Manages IPv4 and IPv6 IP pools in the global level. type: dict suboptions: settings: @@ -101,8 +102,7 @@ reserve_pool_details: description: Reserved IP subpool details from the global pool. - type: list - elements: dict + type: dict suboptions: site_name: description: > @@ -347,15 +347,47 @@ description: Retain existing banner message. type: bool type: dict + wired_data_collection: + description: + - Enables or disables the collection of data from wired network devices for telemetry and monitoring purposes. + - Applicable from Cisco Catalyst Center version 2.3.7.6 onwards. + suboptions: + enable_wired_data_collection: + description: Enable or disable wired data collection. + type: bool + default: false + type: dict + wireless_telemetry: + description: + - Enables or disables the collection of telemetry data from wireless network devices for performance monitoring and analysis. + - Applicable from Cisco Catalyst Center version 2.3.7.6 onwards. + suboptions: + enable_wireless_telemetry: + description: Enable or disable wireless telemetry. + type: bool + default: false + type: dict netflow_collector: - description: Netflow collector details under a specific site. + description: NetFlow collector configuration for a specific site. suboptions: + collector_type: + description: + - Type of NetFlow collector. + - Supported values include 'Builtin' and 'Telemetry_broker_or_UDP_director'. + - Applicable from Cisco Catalyst Center version 2.3.7.6 onwards. + type: str + choices: [Builtin, Telemetry_broker_or_UDP_director] + default: Builtin ip_address: - description: IP Address for NetFlow collector (eg 3.3.3.1). + description: IP Address for NetFlow collector. For example, 3.3.3.1. type: str port: - description: Port for NetFlow Collector (eg; 443). + description: Port number used by the NetFlow collector. For example, 443. type: int + enable_on_wired_access_devices: + description: Enable or disable wired access device. Applicable from Cisco Catalyst Center version 2.3.7.6 onwards.. + type: bool + default: false type: dict snmp_server: description: Snmp Server details under a specific site. @@ -402,7 +434,6 @@ put /dna/intent/api/v2/network/{siteId}, """ - EXAMPLES = r""" - name: Create global pool cisco.dnac.network_settings_workflow_manager: @@ -882,40 +913,6 @@ def get_obj_params(self, get_object): return obj_params - def get_site_id(self, site_name): - """ - Get the site id from the site name. - Use check_return_status() to check for failure - - Parameters: - site_name (str) - Site name - - Returns: - str or None - The Site Id if found, or None if not found or error - """ - - try: - response = self.dnac._exec( - family="sites", - function='get_site', - op_modifies=True, - params={"name": site_name}, - ) - self.log("Received API response from 'get_site': {0}".format(response), "DEBUG") - if not response: - self.log("Failed to retrieve the site ID for the site name: {0}" - .format(site_name), "ERROR") - return None - - _id = response.get("response")[0].get("id") - self.log("Site ID for site name '{0}': {1}".format(site_name, _id), "DEBUG") - except Exception as msg: - self.log("Exception occurred while retrieving site_id from the site_name: {0}" - .format(msg), "CRITICAL") - return None - - return _id - def get_global_pool_params(self, pool_info): """ Process Global Pool params from playbook data for Global Pool config in Cisco Catalyst Center @@ -1030,19 +1027,312 @@ def get_reserve_pool_params(self, pool_info): self.log("Formatted reserve pool details: {0}".format(reserve_pool), "DEBUG") return reserve_pool - def get_network_params(self, site_id): + def get_dhcp_settings_for_site(self, site_name, site_id): + """ + Retrieve the DHCP settings for a specified site from Cisco Catalyst Center. + + Parameters: + self - The current object details. + site_name (str): The name of the site to retrieve DHCP settings for. + site_id (str) - The ID of the site to retrieve DHCP settings for. + + Returns: + dhcp_details (dict) - DHCP settings details for the specified site. + """ + self.log("Attempting to retrieve DHCP settings for site '{0}' (ID: {1})".format(site_name, site_id), "INFO") + + try: + dhcp_response = self.dnac._exec( + family="network_settings", + function='retrieve_d_h_c_p_settings_for_a_site', + op_modifies=False, + params={"id": site_id} + ) + # Extract DHCP details + dhcp_details = dhcp_response.get("response", {}).get("dhcp") + + if not dhcp_response: + self.log("No DHCP settings found for site '{0}' (ID: {1})".format(site_name, site_id), "WARNING") + return None + + self.log("Successfully retrieved DNS settings for site '{0}' (ID: {1}): {2}".format(site_name, site_id, dhcp_response), "DEBUG") + except Exception as e: + self.msg = ( + "Exception occurred while getting DHCP settings for site '{0}' (ID: {1}): {2}".format(site_name, site_id, str(e)) + ) + self.log(self.msg, "CRITICAL") + self.status = "failed" + return self.check_return_status() + + return dhcp_details + + def get_dns_settings_for_site(self, site_name, site_id): + """ + Retrieve the DNS settings for a specified site from Cisco Catalyst Center. + + Parameters: + self - The current object details. + site_name (str): The name of the site to retrieve DNS settings for. + site_id (str): The ID of the site to retrieve DNS settings for. + + Returns: + dns_details (dict): DNS settings details for the specified site. + """ + self.log("Attempting to retrieve DNS settings for site '{0}' (ID: {1})".format(site_name, site_id), "INFO") + + try: + dns_response = self.dnac._exec( + family="network_settings", + function='retrieve_d_n_s_settings_for_a_site', + op_modifies=False, + params={"id": site_id} + ) + # Extract DNS details + dns_details = dns_response.get("response", {}).get("dns") + + if not dns_details: + self.log("No DNS settings found for site '{0}' (ID: {1})".format(site_name, site_id), "WARNING") + return None + + self.log("Successfully retrieved DNS settings for site '{0}' (ID: {1}): {2}".format(site_name, site_id, dns_details), "DEBUG") + except Exception as e: + self.msg = ( + "Exception occurred while getting DNS settings for site '{0}' (ID: {1}): {2}".format(site_name, site_id, str(e)) + ) + self.log(self.msg, "CRITICAL") + self.status = "failed" + return self.check_return_status() + + return dns_details + + def get_telemetry_settings_for_site(self, site_name, site_id): + """ + Retrieve the telemetry settings for a specified site from Cisco Catalyst Center. + + Parameters: + self - The current object details. + site_name (str): The name of the site to retrieve telemetry settings for. + site_id (str): The ID of the site to retrieve telemetry settings for. + + Returns: + telemetry_details (dict): Telemetry settings details for the specified site. + """ + self.log("Attempting to retrieve telemetry settings for site ID: {0}".format(site_id), "INFO") + + try: + telemetry_response = self.dnac._exec( + family="network_settings", + function='retrieve_telemetry_settings_for_a_site', + op_modifies=False, + params={"id": site_id} + ) + # Extract telemetry details + telemetry_details = telemetry_response.get("response", {}) + + if not telemetry_details: + self.log("No telemetry settings found for site '{0}' (ID: {1})".format(site_name, site_id), "WARNING") + return None + + self.log("Successfully retrieved telemetry settings for site '{0}' (ID: {1}): {2}".format(site_name, site_id, telemetry_details), "DEBUG") + except Exception as e: + self.msg = ( + "Exception occurred while getting telemetry settings for site '{0}' (ID: {1}): {2}".format(site_name, site_id, str(e)) + ) + self.log(self.msg, "CRITICAL") + self.status = "failed" + return self.check_return_status() + + return telemetry_details + + def get_ntp_settings_for_site(self, site_name, site_id): + """ + Retrieve the NTP server settings for a specified site from Cisco Catalyst Center. + + Parameters: + self - The current object details. + site_name (str): The name of the site to retrieve NTP server settings for. + site_id (str): The ID of the site to retrieve NTP server settings for. + + Returns: + ntpserver_details (dict): NTP server settings details for the specified site. + """ + self.log("Attempting to retrieve NTP server settings for site '{0}' (ID: {1})".format(site_name, site_id), "INFO") + + try: + ntpserver_response = self.dnac._exec( + family="network_settings", + function='retrieve_n_t_p_settings_for_a_site', + op_modifies=False, + params={"id": site_id} + ) + # Extract NTP server details + ntpserver_details = ntpserver_response.get("response", {}).get("ntp") + + if not ntpserver_details: + self.log("No NTP server settings found for site '{0}' (ID: {1})".format(site_name, site_id), "WARNING") + return None + + self.log("Successfully retrieved NTP server settings for site '{0}' (ID: {1}): {2}".format(site_name, site_id, ntpserver_details), "DEBUG") + except Exception as e: + self.msg = ( + "Exception occurred while getting NTP server settings for site '{0}' (ID: {1}): {2}".format(site_name, site_id, str(e)) + ) + self.log(self.msg, "CRITICAL") + self.status = "failed" + return self.check_return_status() + + return ntpserver_details + + def get_time_zone_settings_for_site(self, site_name, site_id): + """ + Retrieve the time zone settings for a specified site from Cisco Catalyst Center. + + Parameters: + self - The current object details. + site_name (str): The name of the site to retrieve time zone settings for. + site_id (str): The ID of the site to retrieve time zone settings for. + + Returns: + timezone_details (dict): Time zone settings details for the specified site. + """ + self.log("Attempting to retrieve time zone settings for site '{0}' (ID: {1})".format(site_name, site_id), "INFO") + + try: + timezone_response = self.dnac._exec( + family="network_settings", + function='retrieve_time_zone_settings_for_a_site', + op_modifies=False, + params={"id": site_id} + ) + # Extract time zone details + timezone_details = timezone_response.get("response", {}).get("timeZone") + + if not timezone_details: + self.log("No time zone settings found for site '{0}' (ID: {1})".format(site_name, site_id), "WARNING") + return None + + self.log("Successfully retrieved time zone settings for site '{0}' (ID: {1}): {2}".format(site_name, site_id, timezone_details), "DEBUG") + except Exception as e: + self.msg = ( + "Exception occurred while getting time zone settings for site '{0}' (ID: {1}): {2}".format(site_name, site_id, str(e)) + ) + self.log(self.msg, "CRITICAL") + self.status = "failed" + return self.check_return_status() + + return timezone_details + + def get_banner_settings_for_site(self, site_name, site_id): + """ + Retrieve the Message of the Day (banner) settings for a specified site from Cisco Catalyst Center. + + Parameters: + self - The current object details. + site_name (str): The name of the site to retrieve banner settings for. + site_id (str): The ID of the site to retrieve banner settings for. + + Returns: + messageoftheday_details (dict): Banner (Message of the Day) settings details for the specified site. + """ + self.log("Attempting to retrieve banner (Message of the Day) settings for site '{0}' (ID: {1})".format(site_name, site_id), "INFO") + + try: + banner_response = self.dnac._exec( + family="network_settings", + function='retrieve_banner_settings_for_a_site', + op_modifies=False, + params={"id": site_id} + ) + # Extract banner (Message of the Day) details + messageoftheday_details = banner_response.get("response", {}).get("banner") + + if not messageoftheday_details: + self.log("No banner (Message of the Day) settings found for site '{0}' (ID: {1})".format(site_name, site_id), "WARNING") + return None + + self.log("Successfully retrieved banner (Message of the Day) settings for site '{0}' (ID: {1}): {2}" + .format(site_name, site_id, messageoftheday_details), "DEBUG") + except Exception as e: + self.msg = ( + "Exception occurred while getting banner settings for site '{0}' (ID: {1}): {2}".format(site_name, site_id, str(e)) + ) + self.log(self.msg, "CRITICAL") + self.status = "failed" + return self.check_return_status() + + return messageoftheday_details + + def get_aaa_settings_for_site(self, site_name, site_id): + """ + Retrieve the AAA (Authentication, Authorization, and Accounting) settings for a specified site from Cisco Catalyst Center. + + Parameters: + self - The current object details. + site_name (str): The name of the site to retrieve AAA settings for. + site_id (str): The ID of the site to retrieve AAA settings for. + + Returns: + network_aaa (dict): AAA network settings details for the specified site. + client_and_endpoint_aaa (dict): AAA client and endpoint settings details for the specified site. + """ + self.log("Attempting to retrieve AAA settings for site '{0}' (ID: {1})".format(site_name, site_id), "INFO") + + try: + aaa_network_response = self.dnac._exec( + family="network_settings", + function='retrieve_a_a_a_settings_for_a_site', + op_modifies=False, + params={"id": site_id} + ) + # Extract AAA network and client/endpoint settings + network_aaa = aaa_network_response.get("response", {}).get("aaaNetwork") + client_and_endpoint_aaa = aaa_network_response.get("response", {}).get("aaaClient") + + if not network_aaa or not client_and_endpoint_aaa: + self.log("No AAA settings found for site '{0}' (ID: {1})".format(site_name, site_id), "WARNING") + return None, None + + self.log("Successfully retrieved AAA Network settings for site '{0}' (ID: {1}): {2}".format(site_name, site_id, network_aaa), "DEBUG") + self.log("Successfully retrieved AAA Client and Endpoint settings for site '{0}' (ID: {1}): {2}" + .format(site_name, site_id, client_and_endpoint_aaa), "DEBUG") + except Exception as e: + self.msg = ( + "Exception occurred while getting AAA settings for site '{0}' (ID: {1}): {2}".format(site_name, site_id, str(e)) + ) + self.log(self.msg, "CRITICAL") + self.status = "failed" + return self.check_return_status() + + return network_aaa, client_and_endpoint_aaa + + def get_network_params(self, site_name, site_id): """ - Process the Network parameters from the playbook - for Network configuration in Cisco Catalyst Center + Decides which network parameters function to call based on the Cisco Catalyst Center version. Parameters: + site_name (str) - The Site name for which network parameters are requested site_id (str) - The Site ID for which network parameters are requested Returns: - dict or None: Processed Network data in a format - suitable for Cisco Catalyst Center configuration, or None - if the response is not a dictionary or there was an error. + network_details: Processed Network data in a format suitable for configuration according to cisco catalyst center version. + """ + if self.get_ccc_version_as_integer() <= self.get_ccc_version_as_int_from_str("2.3.5.3"): + return self.get_network_params_v1(site_name, site_id) + + return self.get_network_params_v2(site_name, site_id) + + def get_network_params_v1(self, site_name, site_id): + """ + Process Network parameters for Cisco Catalyst Center version <= 2.3.5.3. + + Parameters: + site_name (str) - The Site name + site_id (str) - The Site ID + + Returns: + network_details: Processed Network data in a format suitable for configuration, or None on error. """ + self.log("Attempting to retrieve network configuration details for site '{0}' (ID: {1})".format(site_name, site_id), "INFO") try: response = self.dnac._exec( @@ -1060,7 +1350,7 @@ def get_network_params(self, site_id): self.status = "failed" return self - self.log("Received API response from 'get_network_v2': {0}".format(response), "DEBUG") + self.log("Received API response from 'get_network_v2' for site '{0}' (ID: {1}): {2}".format(site_name, site_id, response,), "DEBUG") if not isinstance(response, dict): self.log("Failed to retrieve the network details - " "Response is not a dictionary", "ERROR") @@ -1080,12 +1370,8 @@ def get_network_params(self, site_id): network_aaa2 = get_dict_result(all_network_details, "key", "aaa.network.server.2") network_aaa_pan = get_dict_result(all_network_details, "key", "aaa.server.pan.network") client_and_endpoint_aaa = get_dict_result(all_network_details, "key", "aaa.endpoint.server.1") - client_and_endpoint_aaa2 = get_dict_result(all_network_details, - "key", - "aaa.endpoint.server.2") - client_and_endpoint_aaa_pan = get_dict_result(all_network_details, - "key", - "aaa.server.pan.endpoint") + client_and_endpoint_aaa2 = get_dict_result(all_network_details, "key", "aaa.endpoint.server.2") + client_and_endpoint_aaa_pan = get_dict_result(all_network_details, "key", "aaa.server.pan.endpoint") # Prepare the network details for Cisco Catalyst Center configuration network_details = { @@ -1115,6 +1401,14 @@ def get_network_params(self, site_id): "secondaryIpAddress": dns_details.get("value")[0].get("secondaryIpAddress") } }) + else: + network_settings.update({ + "dnsServer": { + "domainName": "", + "primaryIpAddress": "", + "secondaryIpAddress": "" + } + }) if ntpserver_details and ntpserver_details.get("value") != []: network_settings.update({"ntpServer": ntpserver_details.get("value")}) @@ -1150,50 +1444,99 @@ def get_network_params(self, site_id): network_settings.get("messageOfTheday").update({ "retainExistingBanner": "false" }) + else: + network_settings.update({ + "messageOfTheday": { + "bannerMessage": "", + "retainExistingBanner": "" + } + }) if network_aaa and network_aaa_pan: - aaa_pan_value = network_aaa_pan.get("value")[0] - aaa_value = network_aaa.get("value")[0] + if network_aaa_pan.get("value"): + aaa_pan_value = network_aaa_pan.get("value")[0] + else: + aaa_pan_value = "None" + + if network_aaa.get("value"): + aaa_value = network_aaa.get("value")[0] + else: + aaa_value = {} + if aaa_pan_value == "None": network_settings.update({ "network_aaa": { - "network": aaa_value.get("ipAddress"), - "protocol": aaa_value.get("protocol"), - "ipAddress": network_aaa2.get("value")[0].get("ipAddress"), + "network": aaa_value.get("ipAddress", ""), + "protocol": aaa_value.get("protocol", ""), "servers": "AAA" } }) + # Handle the second AAA server network_aaa2 + if network_aaa2 and network_aaa2.get("value"): + network_settings["network_aaa"].update({"ipAddress": network_aaa2.get("value")[0].get("ipAddress", "")}) + else: + network_settings["network_aaa"].update({"ipAddress": ""}) else: network_settings.update({ "network_aaa": { "network": aaa_pan_value, - "protocol": aaa_value.get("protocol"), - "ipAddress": aaa_value.get("ipAddress"), + "protocol": aaa_value.get("protocol", ""), + "ipAddress": aaa_value.get("ipAddress", ""), "servers": "ISE" } }) + else: + network_settings.update({ + "network_aaa": { + "network": "", + "protocol": "", + "ipAddress": "", + "servers": "" + } + }) if client_and_endpoint_aaa and client_and_endpoint_aaa_pan: - aaa_pan_value = client_and_endpoint_aaa_pan.get("value")[0] - aaa_value = client_and_endpoint_aaa.get("value")[0] + if client_and_endpoint_aaa_pan.get("value"): + aaa_pan_value = client_and_endpoint_aaa_pan.get("value")[0] + else: + aaa_pan_value = "None" + + if client_and_endpoint_aaa.get("value"): + aaa_value = client_and_endpoint_aaa.get("value")[0] + else: + aaa_value = {} + if aaa_pan_value == "None": network_settings.update({ "clientAndEndpoint_aaa": { - "network": aaa_value.get("ipAddress"), - "protocol": aaa_value.get("protocol"), - "ipAddress": client_and_endpoint_aaa2.get("value")[0].get("ipAddress"), + "network": aaa_value.get("ipAddress", ""), + "protocol": aaa_value.get("protocol", ""), "servers": "AAA" } }) + # Handle the second client AAA server client_and_endpoint_aaa2 + if client_and_endpoint_aaa2 and client_and_endpoint_aaa2.get("value"): + network_settings["clientAndEndpoint_aaa"].update({"ipAddress": client_and_endpoint_aaa2.get("value")[0].get("ipAddress", "")}) + else: + network_settings["clientAndEndpoint_aaa"].update({"ipAddress": ""}) else: network_settings.update({ "clientAndEndpoint_aaa": { "network": aaa_pan_value, - "protocol": aaa_value.get("protocol"), - "ipAddress": aaa_value.get("ipAddress"), + "protocol": aaa_value.get("protocol", ""), + "ipAddress": aaa_value.get("ipAddress", ""), "servers": "ISE" } }) + else: + network_settings.update({ + "clientAndEndpoint_aaa": { + "network": "", + "protocol": "", + "ipAddress": "", + "servers": "" + } + }) network_settings_snmp = network_settings.get("snmpServer") if not network_settings_snmp.get("ipAddresses"): @@ -1206,6 +1549,144 @@ def get_network_params(self, site_id): self.log("Formatted playbook network details: {0}".format(network_details), "DEBUG") return network_details + def get_network_params_v2(self, site_name, site_id): + """ + Process Network parameters for Cisco Catalyst Center version >= 2.3.7.6. + + Parameters: + site_name (str) - The Site name + site_id (str) - The Site ID + + Returns: + network_details: Processed Network data in a format suitable for configuration, or None on error. + """ + + dhcp_details = self.get_dhcp_settings_for_site(site_name, site_id) + dns_details = self.get_dns_settings_for_site(site_name, site_id) + telemetry_details = self.get_telemetry_settings_for_site(site_name, site_id) + wired_data_collection = telemetry_details.get("wiredDataCollection") + wireless_telemetry = telemetry_details.get("wirelessTelemetry") + netflow_details = telemetry_details.get("applicationVisibility") + snmp_details = telemetry_details.get("snmpTraps") + syslog_details = telemetry_details.get("syslogs") + ntpserver_details = self.get_ntp_settings_for_site(site_name, site_id) + timezone_details = self.get_time_zone_settings_for_site(site_name, site_id) + messageoftheday_details = self.get_banner_settings_for_site(site_name, site_id) + network_aaa, client_and_endpoint_aaa = self.get_aaa_settings_for_site(site_name, site_id) + + # Prepare the network details for Cisco Catalyst Center configuration + if not network_aaa: + network_aaa = { + "serverType": "", + "primaryServerIp": "", + "secondaryServerIp": "", + "protocol": "" + } + if not client_and_endpoint_aaa: + client_and_endpoint_aaa = { + "serverType": "", + "primaryServerIp": "", + "secondaryServerIp": "", + "protocol": "" + } + + network_details = { + "settings": { + "network_aaa" : network_aaa, + "clientAndEndpoint_aaa": client_and_endpoint_aaa, + "wired_data_collection": wired_data_collection, + "wireless_telemetry": wireless_telemetry + } + } + network_settings = network_details.get("settings") + + if snmp_details: + network_settings.update({"snmpServer": snmp_details}) + else: + network_settings.update({"snmpServer": [""]}) + + if timezone_details is None: + network_settings.update({"timezone": {'identifier': 'GMT'}}) + else: + network_settings.update({"timezone": timezone_details}) + + if syslog_details: + network_settings.update({"syslogServer": syslog_details}) + else: + network_settings.update({"syslogServer": [""]}) + + if dhcp_details: + network_settings.update({"dhcpServer": dhcp_details}) + else: + network_settings.update({"dhcpServer": [""]}) + + if dns_details is not None: + domain_name = dns_details.get("domainName") + if 'dnsServer' not in network_settings: + network_settings['dnsServer'] = {} + if domain_name: + network_settings.get("dnsServer").update({"domainName": dns_details.get("domainName")}) + dns_servers = dns_details.get("dnsServers", []) + if len(dns_servers) > 0: + network_settings.get("dnsServer").update({ + "primaryIpAddress": dns_details.get("dnsServers")[0]}) + if len(dns_servers) > 1: + network_settings.get("dnsServer").update({ + "secondaryIpAddress": dns_details.get("dnsServers")[1]}) + else: + network_settings.update({ + "dnsServer": { + "domainName": "", + "primaryIpAddress": "", + "secondaryIpAddress": "" + } + }) + + if ntpserver_details is not None: + network_settings.update({"ntpServer": ntpserver_details}) + else: + network_settings.update({"ntpServer": [""]}) + + if netflow_details is not None: + ip_address = netflow_details.get("collector").get("address") + port = netflow_details.get("collector").get("port") + if port: + port = int(port) + + enable_on_wired_access_devices = netflow_details \ + .get("enableOnWiredAccessDevices") + collector_type = netflow_details.get("collector").get("collectorType") + + if collector_type == "TelemetryBrokerOrUDPDirector": + network_settings.update({ + "netflowcollector": { + "collector": { + "collectorType": collector_type, + "address": ip_address, + "port": port, + }, + "enableOnWiredAccessDevices": enable_on_wired_access_devices + }}) + else: + network_settings.update({ + "netflowcollector": { + "collector": { + "collectorType": collector_type, + }, + "enableOnWiredAccessDevices": enable_on_wired_access_devices + }}) + else: + netflow_details = {} + + if messageoftheday_details is not None: + network_settings.update({"messageOfTheday": messageoftheday_details}) + else: + network_settings.update({"messageOfTheday": ""}) + + self.log("Formatted playbook network details: {0}".format(network_details), "DEBUG") + + return network_details + def get_reserved_ip_subpool(self, site_id): """ Retrieve all the reserved IP subpool details from the Cisco Catalyst Center. @@ -1215,7 +1696,7 @@ def get_reserved_ip_subpool(self, site_id): self (object) - The current object details. Returns: - self (object) - The current object with updated desired Fabric Transits information. + self (object) - The current object with updated desired reserved subpool information. """ value = 1 @@ -1240,7 +1721,6 @@ def get_reserved_ip_subpool(self, site_id): self.log(str(msg), "ERROR") self.status = "failed" return self - if not isinstance(response, dict): self.msg = "Error in getting reserve pool - Response is not a dictionary" self.log(self.msg, "CRITICAL") @@ -1348,7 +1828,7 @@ def reserve_pool_exists(self, name, site_name): "id": None, "success": True } - site_id = self.get_site_id(site_name) + site_exist, site_id = self.get_site_id(site_name) self.log("Site ID for the site name {0}: {1}".format(site_name, site_id), "DEBUG") if not site_id: reserve_pool.update({"success": False}) @@ -1557,14 +2037,15 @@ def get_have_network(self, network_details): site_name = "Global" item.update({"site_name": site_name}) - site_id = self.get_site_id(site_name) + site_exist, site_id = self.get_site_id(site_name) if site_id is None: self.msg = "The site with the name '{0}' is not available in the Catalyst Center".format(site_name) self.status = "failed" return self + network["site_name"] = site_name network["site_id"] = site_id - network["net_details"] = self.get_network_params(site_id) + network["net_details"] = self.get_network_params(site_name, site_id) self.log("Network details from the Catalyst Center for site '{0}': {1}".format(site_name, network), "DEBUG") all_network_management_details.append(network) @@ -1904,279 +2385,606 @@ def get_want_network(self, network_management_details): } want_network_settings = want_network.get("settings") self.log("Current state (have): {0}".format(self.have), "DEBUG") - if item.get("dhcp_server") is not None: - want_network_settings.update({ - "dhcpServer": item.get("dhcp_server") - }) - else: - del want_network_settings["dhcpServer"] - if item.get("ntp_server") is not None: - want_network_settings.update({ - "ntpServer": item.get("ntp_server") - }) - else: - del want_network_settings["ntpServer"] - - have_timezone = self.have.get("network")[network_management_index].get("net_details").get("settings").get("timezone") - if item.get("timezone") is not None: - want_network_settings["timezone"] = \ - item.get("timezone") - elif have_timezone is not None: - want_network_settings["timezone"] = have_timezone - else: - want_network_settings["timezone"] = "GMT" - - dns_server = item.get("dns_server") - if dns_server is not None: - if dns_server.get("domain_name") is not None: - want_network_settings.get("dnsServer").update({ - "domainName": - dns_server.get("domain_name") + if self.get_ccc_version_as_integer() <= self.get_ccc_version_as_int_from_str("2.3.5.3"): + if item.get("dhcp_server") is not None: + want_network_settings.update({ + "dhcpServer": item.get("dhcp_server") }) + else: + del want_network_settings["dhcpServer"] - if dns_server.get("primary_ip_address") is not None: - want_network_settings.get("dnsServer").update({ - "primaryIpAddress": - dns_server.get("primary_ip_address") + if item.get("ntp_server") is not None: + want_network_settings.update({ + "ntpServer": item.get("ntp_server") }) + else: + del want_network_settings["ntpServer"] + + have_timezone = self.have.get("network")[network_management_index].get("net_details").get("settings").get("timezone") + if item.get("timezone") is not None: + want_network_settings["timezone"] = \ + item.get("timezone") + elif have_timezone is not None: + want_network_settings["timezone"] = have_timezone + else: + want_network_settings["timezone"] = "GMT" + + dns_server = item.get("dns_server") + if dns_server is not None: + if dns_server.get("domain_name") is not None: + want_network_settings.get("dnsServer").update({ + "domainName": + dns_server.get("domain_name") + }) - if dns_server.get("secondary_ip_address") is not None: - want_network_settings.get("dnsServer").update({ - "secondaryIpAddress": - dns_server.get("secondary_ip_address") - }) - else: - del want_network_settings["dnsServer"] + if dns_server.get("primary_ip_address") is not None: + want_network_settings.get("dnsServer").update({ + "primaryIpAddress": + dns_server.get("primary_ip_address") + }) - snmp_server = item.get("snmp_server") - if snmp_server is not None: - if snmp_server.get("configure_dnac_ip") is not None: - want_network_settings.get("snmpServer").update({ - "configureDnacIP": snmp_server.get("configure_dnac_ip") - }) - if snmp_server.get("ip_addresses") is not None: - want_network_settings.get("snmpServer").update({ - "ipAddresses": snmp_server.get("ip_addresses") - }) - else: - del want_network_settings["snmpServer"] + if dns_server.get("secondary_ip_address") is not None: + want_network_settings.get("dnsServer").update({ + "secondaryIpAddress": + dns_server.get("secondary_ip_address") + }) + else: + del want_network_settings["dnsServer"] - syslog_server = item.get("syslog_server") - if syslog_server is not None: - if syslog_server.get("configure_dnac_ip") is not None: - want_network_settings.get("syslogServer").update({ - "configureDnacIP": syslog_server.get("configure_dnac_ip") - }) - if syslog_server.get("ip_addresses") is not None: - want_network_settings.get("syslogServer").update({ - "ipAddresses": syslog_server.get("ip_addresses") - }) - else: - del want_network_settings["syslogServer"] - - netflow_collector = item.get("netflow_collector") - if netflow_collector is not None: - if netflow_collector.get("ip_address") is not None: - want_network_settings.get("netflowcollector").update({ - "ipAddress": - netflow_collector.get("ip_address") - }) - if netflow_collector.get("port") is not None: - want_network_settings.get("netflowcollector").update({ - "port": - netflow_collector.get("port") - }) - else: - del want_network_settings["netflowcollector"] - - message_of_the_day = item.get("message_of_the_day") - if message_of_the_day is not None: - if message_of_the_day.get("banner_message") is not None: - want_network_settings.get("messageOfTheday").update({ - "bannerMessage": - message_of_the_day.get("banner_message") - }) - retain_existing_banner = message_of_the_day.get("retain_existing_banner") - if retain_existing_banner is not None: - if retain_existing_banner is True: - want_network_settings.get("messageOfTheday").update({ - "retainExistingBanner": "true" + snmp_server = item.get("snmp_server") + if snmp_server is not None: + if snmp_server.get("configure_dnac_ip") is not None: + want_network_settings.get("snmpServer").update({ + "configureDnacIP": snmp_server.get("configure_dnac_ip") }) - else: + if snmp_server.get("ip_addresses") is not None: + want_network_settings.get("snmpServer").update({ + "ipAddresses": snmp_server.get("ip_addresses") + }) + else: + del want_network_settings["snmpServer"] + + syslog_server = item.get("syslog_server") + if syslog_server is not None: + if syslog_server.get("configure_dnac_ip") is not None: + want_network_settings.get("syslogServer").update({ + "configureDnacIP": syslog_server.get("configure_dnac_ip") + }) + if syslog_server.get("ip_addresses") is not None: + want_network_settings.get("syslogServer").update({ + "ipAddresses": syslog_server.get("ip_addresses") + }) + else: + del want_network_settings["syslogServer"] + + netflow_collector = item.get("netflow_collector") + if netflow_collector is not None: + if netflow_collector.get("ip_address") is not None: + want_network_settings.get("netflowcollector").update({ + "ipAddress": + netflow_collector.get("ip_address") + }) + if netflow_collector.get("port") is not None: + want_network_settings.get("netflowcollector").update({ + "port": + netflow_collector.get("port") + }) + else: + del want_network_settings["netflowcollector"] + + message_of_the_day = item.get("message_of_the_day") + if message_of_the_day is not None: + retain_existing_banner = message_of_the_day.get("retain_existing_banner") + if retain_existing_banner is not None: + if retain_existing_banner is True: + want_network_settings.get("messageOfTheday").update({ + "retainExistingBanner": "true" + }) + else: + want_network_settings.get("messageOfTheday").update({ + "retainExistingBanner": "false" + }) + if message_of_the_day.get("banner_message") is not None: want_network_settings.get("messageOfTheday").update({ - "retainExistingBanner": "false" + "bannerMessage": + message_of_the_day.get("banner_message") }) - else: - del want_network_settings["messageOfTheday"] - - server_types = ["AAA", "ISE"] - protocol_types = ["RADIUS", "TACACS"] - network_aaa = item.get("network_aaa") - if network_aaa: - server_type = network_aaa.get("server_type") - if server_type: - want_network_settings.get("network_aaa").update({ - "servers": server_type - }) else: - self.msg = "The 'server_type' is required under network_aaa." - self.status = "failed" - return self + del want_network_settings["messageOfTheday"] + + server_types = ["AAA", "ISE"] + protocol_types = ["RADIUS", "TACACS"] + network_aaa = item.get("network_aaa") + if network_aaa: + server_type = network_aaa.get("server_type") + if server_type: + want_network_settings.get("network_aaa").update({ + "servers": server_type + }) + else: + self.msg = "The 'server_type' is required under network_aaa." + self.status = "failed" + return self - if server_type not in server_types: - self.msg = "The 'server_type' in the network_aaa should be in {0}".format(server_types) - self.status = "failed" - return self + if server_type not in server_types: + self.msg = "The 'server_type' in the network_aaa should be in {0}".format(server_types) + self.status = "failed" + return self - primary_server_address = network_aaa.get("primary_server_address") - if not primary_server_address: - self.msg = "Missing required parameter 'primary_server_address' in network_aaa." - self.status = "failed" - return self + primary_server_address = network_aaa.get("primary_server_address") + if primary_server_address: + want_network_settings.get("network_aaa").update({ + "network": primary_server_address + }) + else: + self.msg = "Missing required parameter 'primary_server_address' in network_aaa." + self.status = "failed" + return self - if server_type == "ISE": - want_network_settings.get("network_aaa").update({ - "ipAddress": primary_server_address - }) - pan_address = network_aaa.get("pan_address") - if pan_address: + if server_type == "ISE": + pan_address = network_aaa.get("pan_address") + if pan_address: + want_network_settings.get("network_aaa").update({ + "ipAddress": pan_address + }) + else: + self.msg = "Missing required parameter 'pan_address' for ISE server in network_aaa." + self.status = "failed" + return self + else: + secondary_server_address = network_aaa.get("secondary_server_address") + if secondary_server_address: + want_network_settings.get("network_aaa").update({ + "ipAddress": secondary_server_address + }) + + protocol = network_aaa.get("protocol") + if protocol: want_network_settings.get("network_aaa").update({ - "network": pan_address + "protocol": protocol }) else: - self.msg = "Missing required parameter 'pan_address' for ISE server in network_aaa." + want_network_settings.get("network_aaa").update({ + "protocol": "RADIUS" + }) + + if protocol not in protocol_types: + self.msg = "The 'protocol' in the network_aaa should be in {0}".format(protocol_types) self.status = "failed" return self - else: - want_network_settings.get("network_aaa").update({ - "network": primary_server_address - }) - secondary_server_address = network_aaa.get("secondary_server_address") - if secondary_server_address: + shared_secret = network_aaa.get("shared_secret") + if shared_secret is not None: + if len(shared_secret) < 4: + self.msg = ( + "The 'shared_secret' length in 'network_aaa' should be greater than or equal to 4." + ) + self.status = "failed" + return self + want_network_settings.get("network_aaa").update({ - "ipAddress": secondary_server_address + "sharedSecret": shared_secret + }) + else: + del want_network_settings["network_aaa"] + + client_and_endpoint_aaa = item.get("client_and_endpoint_aaa") + if client_and_endpoint_aaa: + server_type = client_and_endpoint_aaa.get("server_type") + if server_type: + want_network_settings.get("clientAndEndpoint_aaa").update({ + "servers": server_type + }) + else: + self.msg = "The 'server_type' is required under client_and_endpoint_aaa." + self.status = "failed" + return self + + if server_type not in server_types: + self.msg = "The 'server_type' in the client_and_endpoint_aaa should be in {0}".format(server_types) + self.status = "failed" + return self + + primary_server_address = client_and_endpoint_aaa.get("primary_server_address") + if primary_server_address: + want_network_settings.get("clientAndEndpoint_aaa").update({ + "network": primary_server_address + }) + else: + self.msg = "Missing required parameter 'primary_server_address' in client_and_endpoint_aaa." + self.status = "failed" + return self + + if server_type == "ISE": + pan_address = client_and_endpoint_aaa.get("pan_address") + if pan_address: + want_network_settings.get("clientAndEndpoint_aaa").update({ + "ipAddress": pan_address + }) + else: + self.msg = "Missing required parameter 'pan_address' for ISE server in client_and_endpoint_aaa." + self.status = "failed" + return self + else: + secondary_server_address = client_and_endpoint_aaa.get("secondary_server_address") + if secondary_server_address: + want_network_settings.get("clientAndEndpoint_aaa").update({ + "ipAddress": secondary_server_address + }) + + protocol = client_and_endpoint_aaa.get("protocol") + if protocol: + want_network_settings.get("clientAndEndpoint_aaa").update({ + "protocol": protocol + }) + else: + want_network_settings.get("clientAndEndpoint_aaa").update({ + "protocol": "RADIUS" }) - protocol = network_aaa.get("protocol") - if protocol: - want_network_settings.get("network_aaa").update({ - "protocol": protocol + if protocol not in protocol_types: + self.msg = "The 'protocol' in the client_and_endpoint_aaa should be in {0}".format(protocol_types) + self.status = "failed" + return self + + shared_secret = client_and_endpoint_aaa.get("shared_secret") + if shared_secret is not None: + if len(shared_secret) < 4: + self.msg = ( + "The 'shared_secret' length in 'client_and_endpoint_aaa' should be greater than or equal to 4." + ) + self.status = "failed" + return self + + want_network_settings.get("clientAndEndpoint_aaa").update({ + "sharedSecret": shared_secret + }) + else: + del want_network_settings["clientAndEndpoint_aaa"] + + network_aaa = want_network_settings.get("network_aaa") + client_and_endpoint_aaa = want_network_settings.get("clientAndEndpoint_aaa") + if network_aaa and client_and_endpoint_aaa and \ + network_aaa.get("sharedSecret") and \ + client_and_endpoint_aaa.get("sharedSecret") and \ + network_aaa.get("sharedSecret") != client_and_endpoint_aaa.get("sharedSecret"): + self.msg = "The 'shared_secret' of 'network_aaa' and 'client_and_endpoint_aaa' should be same." + self.status = "failed" + return self + + all_network_management_details.append(want_network) + network_management_index += 1 + else: + if item.get("dhcp_server") is not None: + want_network_settings.update({ + "dhcpServer": {"servers": item.get("dhcp_server")} + }) + else: + del want_network_settings["dhcpServer"] + + if item.get("ntp_server") is not None: + want_network_settings.update({ + "ntpServer": {"servers": item.get("ntp_server")} }) else: - want_network_settings.get("network_aaa").update({ - "protocol": "RADIUS" + del want_network_settings["ntpServer"] + + if item.get("timezone") is not None: + want_network_settings.update({ + "timezone": {"identifier": item.get("timezone")} }) + else: + del want_network_settings["timezone"] + + dns_server = item.get("dns_server") + if dns_server is not None: + if dns_server.get("domain_name") is not None: + want_network_settings.get("dnsServer").update({ + "domainName": + dns_server.get("domain_name") + }) - if protocol not in protocol_types: - self.msg = "The 'protocol' in the network_aaa should be in {0}".format(protocol_types) - self.status = "failed" - return self + if dns_server.get("primary_ip_address") is not None: + want_network_settings.get("dnsServer").update({ + "primaryIpAddress": + dns_server.get("primary_ip_address") + }) + + if dns_server.get("secondary_ip_address") is not None: + want_network_settings.get("dnsServer").update({ + "secondaryIpAddress": + dns_server.get("secondary_ip_address") + }) + else: + del want_network_settings["dnsServer"] + + snmp_server = item.get("snmp_server") + if snmp_server is not None: + if snmp_server.get("configure_dnac_ip") is not None: + want_network_settings.get("snmpServer").update({ + "useBuiltinTrapServer": snmp_server.get("configure_dnac_ip") + }) + if snmp_server.get("ip_addresses") is not None: + want_network_settings.get("snmpServer").update({ + "externalTrapServers": snmp_server.get("ip_addresses") + }) + else: + del want_network_settings["snmpServer"] - shared_secret = network_aaa.get("shared_secret") - if shared_secret is not None: - if len(shared_secret) < 4: - self.msg = ( - "The 'shared_secret' length in 'network_aaa' should be greater than or equal to 4." - ) + syslog_server = item.get("syslog_server") + if syslog_server is not None: + if syslog_server.get("configure_dnac_ip") is not None: + want_network_settings.get("syslogServer").update({ + "useBuiltinSyslogServer": syslog_server.get("configure_dnac_ip") + }) + if syslog_server.get("ip_addresses") is not None: + want_network_settings.get("syslogServer").update({ + "externalSyslogServers": syslog_server.get("ip_addresses") + }) + else: + del want_network_settings["syslogServer"] + + netflow_collector = item.get("netflow_collector") + if netflow_collector is not None: + netflowcollector = want_network_settings.get("netflowcollector") + netflowcollector.update({"collector": {}}) + if netflow_collector.get("collector_type") is not None and netflow_collector.get("collectorType") != "Builtin": + want_network_settings.get("netflowcollector").get("collector").update({ + "collectorType": "TelemetryBrokerOrUDPDirector" + }) + else: + want_network_settings.get("netflowcollector").get("collector").update({ + "collectorType": "Builtin" + }) + if netflow_collector.get("collector_type") == "Telemetry_broker_or_UDP_director" \ + and (netflow_collector.get("ip_address") is None + or netflow_collector.get("port") is None): + self.msg = "The 'ip_address' and 'port' for 'Telemetry_broker_or_UDP_director' is mandatory." self.status = "failed" return self - want_network_settings.get("network_aaa").update({ - "sharedSecret": shared_secret - }) - else: - del want_network_settings["network_aaa"] - - client_and_endpoint_aaa = item.get("client_and_endpoint_aaa") - if client_and_endpoint_aaa: - server_type = client_and_endpoint_aaa.get("server_type") - if server_type: - want_network_settings.get("clientAndEndpoint_aaa").update({ - "servers": server_type + if netflow_collector.get("ip_address") is not None: + want_network_settings.get("netflowcollector").get("collector").update({ + "address": + netflow_collector.get("ip_address") + }) + if netflow_collector.get("port") is not None: + want_network_settings.get("netflowcollector").get("collector").update({ + "port": + netflow_collector.get("port") + }) + + if netflow_collector.get("enable_on_wired_access_devices") is True: + want_network_settings.get("netflowcollector").update({ + "enableOnWiredAccessDevices": True + }) + else: + want_network_settings.get("netflowcollector").update({ + "enableOnWiredAccessDevices": False + }) + + want_network_settings.update({ + "wired_data_collection": {}, + "wireless_telemetry": {} }) + + wired_data_collection = item.get("wired_data_collection") + if wired_data_collection is not None: + if wired_data_collection.get("enable_wired_data_collection") is not None and \ + wired_data_collection.get("enable_wired_data_collection") is True: + want_network_settings.get("wired_data_collection").update({ + "enableWiredDataCollection": True + }) + else: + want_network_settings.get("wired_data_collection").update({ + "enableWiredDataCollection": False + }) + else: + want_network_settings.get("wiredDataCollection").update({ + "enableWiredDataCollection": False + }) + + wireless_telemetry = item.get("wireless_telemetry") + if wireless_telemetry is not None: + if wired_data_collection.get("enable_wireless_telemetry") is not None and \ + wired_data_collection.get("enable_wireless_telemetry") is True: + want_network_settings.get("wireless_telemetry").update({ + "enableWirelessTelemetry": True + }) + else: + want_network_settings.get("wireless_telemetry").update({ + "enableWirelessTelemetry": False + }) + else: + want_network_settings.get("wireless_telemetry").update({ + "enableWirelessTelemetry": False + }) else: - self.msg = "The 'server_type' is required under client_and_endpoint_aaa." - self.status = "failed" - return self + del want_network_settings["netflowcollector"] - if server_type not in server_types: - self.msg = "The 'server_type' in the client_and_endpoint_aaa should be in {0}".format(server_types) - self.status = "failed" - return self + message_of_the_day = item.get("message_of_the_day") + if message_of_the_day is not None: + if message_of_the_day.get("banner_message") is not None: + want_network_settings.get("messageOfTheday").update({ + "message": + message_of_the_day.get("banner_message") + }) + retain_existing_banner = message_of_the_day.get("retain_existing_banner") + if retain_existing_banner is not None: + if retain_existing_banner is True: + want_network_settings.get("messageOfTheday").update({ + "type": "Custom" + }) + else: + want_network_settings.get("messageOfTheday").update({ + "type": "Builtin" + }) + else: + del want_network_settings["messageOfTheday"] + + server_types = ["AAA", "ISE"] + protocol_types = ["RADIUS", "TACACS"] + network_aaa = item.get("network_aaa") + if network_aaa: + server_type = network_aaa.get("server_type") + if server_type: + want_network_settings.get("network_aaa").update({ + "serverType": server_type + }) + else: + self.msg = "The 'serverType' is required under network_aaa." + self.status = "failed" + return self - primary_server_address = client_and_endpoint_aaa.get("primary_server_address") - if not primary_server_address: - self.msg = "Missing required parameter 'primary_server_address' in client_and_endpoint_aaa." - self.status = "failed" - return self + if server_type not in server_types: + self.msg = "The 'server_type' in the network_aaa should be in {0}".format(server_types) + self.status = "failed" + return self - if server_type == "ISE": - want_network_settings.get("clientAndEndpoint_aaa").update({ - "ipAddress": primary_server_address - }) - pan_address = client_and_endpoint_aaa.get("pan_address") - if pan_address: - want_network_settings.get("clientAndEndpoint_aaa").update({ - "network": pan_address + primary_server_address = network_aaa.get("primary_server_address") + if primary_server_address: + want_network_settings.get("network_aaa").update({ + "primaryServerIp": primary_server_address }) else: - self.msg = "Missing required parameter 'pan_address' for ISE server in client_and_endpoint_aaa." + self.msg = "Missing required parameter 'primary_server_address' in network_aaa." + self.status = "failed" + return self + + if server_type == "ISE": + pan_address = network_aaa.get("pan_address") + if pan_address: + want_network_settings.get("network_aaa").update({ + "pan": pan_address + }) + else: + self.msg = "Missing required parameter 'pan' for ISE server in network_aaa." + self.status = "failed" + return self + else: + secondary_server_address = network_aaa.get("secondary_server_address") + if secondary_server_address: + want_network_settings.get("network_aaa").update({ + "secondaryServerIp": secondary_server_address + }) + + protocol = network_aaa.get("protocol") + if protocol: + want_network_settings.get("network_aaa").update({ + "protocol": protocol + }) + else: + want_network_settings.get("network_aaa").update({ + "protocol": "RADIUS" + }) + + if protocol not in protocol_types: + self.msg = "The 'protocol' in the network_aaa should be in {0}".format(protocol_types) self.status = "failed" return self + + shared_secret = network_aaa.get("shared_secret") + if shared_secret is not None: + if len(shared_secret) < 4: + self.msg = ( + "The 'shared_secret' length in 'network_aaa' should be greater than or equal to 4." + ) + self.status = "failed" + return self + + want_network_settings.get("network_aaa").update({ + "sharedSecret": shared_secret + }) else: - want_network_settings.get("clientAndEndpoint_aaa").update({ - "network": primary_server_address - }) - secondary_server_address = client_and_endpoint_aaa.get("secondary_server_address") - if secondary_server_address: + del want_network_settings["network_aaa"] + + client_and_endpoint_aaa = item.get("client_and_endpoint_aaa") + if client_and_endpoint_aaa: + server_type = client_and_endpoint_aaa.get("server_type") + if server_type: want_network_settings.get("clientAndEndpoint_aaa").update({ - "ipAddress": secondary_server_address + "serverType": server_type }) + else: + self.msg = "The 'server_type' is required under client_and_endpoint_aaa." + self.status = "failed" + return self - protocol = client_and_endpoint_aaa.get("protocol") - if protocol: - want_network_settings.get("clientAndEndpoint_aaa").update({ - "protocol": protocol - }) - else: - want_network_settings.get("clientAndEndpoint_aaa").update({ - "protocol": "RADIUS" - }) + if server_type not in server_types: + self.msg = "The 'server_type' in the client_and_endpoint_aaa should be in {0}".format(server_types) + self.status = "failed" + return self - if protocol not in protocol_types: - self.msg = "The 'protocol' in the client_and_endpoint_aaa should be in {0}".format(protocol_types) - self.status = "failed" - return self + primary_server_address = client_and_endpoint_aaa.get("primary_server_address") + if primary_server_address: + want_network_settings.get("clientAndEndpoint_aaa").update({ + "primaryServerIp": primary_server_address + }) + else: + self.msg = "Missing required parameter 'primary_server_address' in client_and_endpoint_aaa." + self.status = "failed" + return self - shared_secret = client_and_endpoint_aaa.get("shared_secret") - if shared_secret is not None: - if len(shared_secret) < 4: - self.msg = ( - "The 'shared_secret' length in 'client_and_endpoint_aaa' should be greater than or equal to 4." - ) + if server_type == "ISE": + pan_address = client_and_endpoint_aaa.get("pan_address") + if pan_address: + want_network_settings.get("clientAndEndpoint_aaa").update({ + "pan": pan_address + }) + else: + self.msg = "Missing required parameter 'pan_address' for ISE server in client_and_endpoint_aaa." + self.status = "failed" + return self + else: + secondary_server_address = client_and_endpoint_aaa.get("secondary_server_address") + if secondary_server_address: + want_network_settings.get("clientAndEndpoint_aaa").update({ + "secondaryServerIp": secondary_server_address + }) + + protocol = client_and_endpoint_aaa.get("protocol") + if protocol: + want_network_settings.get("clientAndEndpoint_aaa").update({ + "protocol": protocol + }) + else: + want_network_settings.get("clientAndEndpoint_aaa").update({ + "protocol": "RADIUS" + }) + + if protocol not in protocol_types: + self.msg = "The 'protocol' in the client_and_endpoint_aaa should be in {0}".format(protocol_types) self.status = "failed" return self - want_network_settings.get("clientAndEndpoint_aaa").update({ - "sharedSecret": shared_secret - }) - else: - del want_network_settings["clientAndEndpoint_aaa"] - - network_aaa = want_network_settings.get("network_aaa") - client_and_endpoint_aaa = want_network_settings.get("clientAndEndpoint_aaa") - if network_aaa and client_and_endpoint_aaa and \ - network_aaa.get("sharedSecret") and \ - client_and_endpoint_aaa.get("sharedSecret") and \ - network_aaa.get("sharedSecret") != client_and_endpoint_aaa.get("sharedSecret"): - self.msg = "The 'shared_secret' of 'network_aaa' and 'client_and_endpoint_aaa' should be same." - self.status = "failed" - return self + shared_secret = client_and_endpoint_aaa.get("shared_secret") + if shared_secret is not None: + if len(shared_secret) < 4: + self.msg = ( + "The 'shared_secret' length in 'client_and_endpoint_aaa' should be greater than or equal to 4." + ) + self.status = "failed" + return self - all_network_management_details.append(want_network) - network_management_index += 1 + want_network_settings.get("clientAndEndpoint_aaa").update({ + "sharedSecret": shared_secret + }) + else: + del want_network_settings["clientAndEndpoint_aaa"] + + network_aaa = want_network_settings.get("network_aaa") + client_and_endpoint_aaa = want_network_settings.get("clientAndEndpoint_aaa") + if network_aaa and client_and_endpoint_aaa and \ + network_aaa.get("sharedSecret") and \ + client_and_endpoint_aaa.get("sharedSecret") and \ + network_aaa.get("sharedSecret") != client_and_endpoint_aaa.get("sharedSecret"): + self.msg = "The 'shared_secret' of 'network_aaa' and 'client_and_endpoint_aaa' should be same." + self.status = "failed" + return self + + all_network_management_details.append(want_network) + network_management_index += 1 self.log("Network playbook details: {0}".format(all_network_management_details), "DEBUG") self.want.update({"wantNetwork": all_network_management_details}) @@ -2354,7 +3162,7 @@ def update_reserve_pool(self, reserve_pool): .format(name, self.want.get("wantReserve")[reserve_pool_index].get("ipv4GlobalPool")), "DEBUG") site_name = item.get("site_name") reserve_params = self.want.get("wantReserve")[reserve_pool_index] - site_id = self.get_site_id(site_name) + site_exist, site_id = self.get_site_id(site_name) reserve_params.update({"site_id": site_id}) if not self.have.get("reservePool")[reserve_pool_index].get("exists"): self.log("Desired reserved pool '{0}' details (want): {1}" @@ -2428,6 +3236,260 @@ def update_reserve_pool(self, reserve_pool): self.log("Updated reserved IP subpool successfully", "INFO") return self + def update_dhcp_settings_for_site(self, site_name, site_id, dhcp_settings): + """ + Update the DHCP settings for a specified site in Cisco Catalyst Center. + + Parameters: + self - The current object details. + site_id (str) - The ID of the site to update the DHCP settings. + dhcp_settings (dict) - The DHCP settings to be applied. + + Returns: + Response (dict) - The response after updating the DHCP settings. + """ + self.log("Attempting to update DHCP settings for site '{0}' (ID: {1}): {2}".format(site_name, site_id, dhcp_settings), "INFO") + + try: + response = self.dnac._exec( + family="network_settings", + function="set_dhcp_settings_for_a_site", + op_modifies=True, + params={"id": site_id, "dhcp": dhcp_settings}, + ) + self.log("DHCP settings updated for for site '{0}' (ID: {1}): {2}".format(site_name, site_id, dhcp_settings), "DEBUG") + except Exception as e: + self.msg = ( + "Exception occurred while updating DHCP settings for site {0}: {1}".format(site_id, str(e)) + ) + self.log(self.msg, "CRITICAL") + self.status = "failed" + return self.check_return_status() + + return response + + def update_ntp_settings_for_site(self, site_name, site_id, ntp_settings): + """ + Update the NTP server settings for a specified site in Cisco Catalyst Center. + + Parameters: + self - The current object details. + site_name (str): The name of the site to update the NTP settings. + site_id (str): The ID of the site to update the NTP settings. + ntp_settings (dict): The NTP server settings to be applied. + + Returns: + Response (dict): The response after updating the NTP settings. + """ + self.log("Attempting to update NTP settings for site '{0}' (ID: {1}): {2}".format(site_name, site_id, ntp_settings), "INFO") + + try: + response = self.dnac._exec( + family="network_settings", + function="set_n_t_p_settings_for_a_site", + op_modifies=True, + params={"id": site_id, "ntp": ntp_settings}, + ) + self.log("NTP settings updated for site '{0}' (ID: {1}): {2}".format(site_name, site_id, ntp_settings), "DEBUG") + except Exception as e: + self.msg = ( + "Exception occurred while updating NTP settings for site '{0}' (ID: {1}): {2}".format(site_name, site_id, str(e)) + ) + self.log(self.msg, "CRITICAL") + self.status = "failed" + return self.check_return_status() + + return response + + def update_time_zone_settings_for_site(self, site_name, site_id, time_zone_settings): + """ + Update the time zone settings for a specified site in Cisco Catalyst Center. + + Parameters: + self - The current object details. + site_name (str): The name of the site to update the time zone settings. + site_id (str): The ID of the site to update the time zone settings. + time_zone_settings (dict): The time zone settings to be applied. + + Returns: + Response (dict): The response after updating the time zone settings. + """ + self.log("Attempting to update time zone settings for site '{0}' (ID: {1}): {2}".format(site_name, site_id, time_zone_settings), "INFO") + + try: + response = self.dnac._exec( + family="network_settings", + function="set_time_zone_for_a_site", + op_modifies=True, + params={"id": site_id, "timeZone": time_zone_settings} + ) + self.log("Time zone settings updated for site '{0}' (ID: {1}): {2}".format(site_name, site_id, time_zone_settings), "DEBUG") + except Exception as e: + self.msg = ( + "Exception occurred while updating time zone settings for site '{0}' (ID: {1}): {2}".format(site_name, site_id, str(e)) + ) + self.log(self.msg, "CRITICAL") + self.status = "failed" + return self.check_return_status() + + return response + + def update_dns_settings_for_site(self, site_name, site_id, dns_settings): + """ + Update the DNS settings for a specified site in Cisco Catalyst Center. + + Parameters: + self - The current object details. + site_name (str): The name of the site to update the DNS settings. + site_id (str): The ID of the site to update the DNS settings. + dns_settings (dict): The DNS settings to be applied. + + Returns: + Response (dict): The response after updating the DNS settings. + """ + self.log("Attempting to update DNS settings for site '{0}' (ID: {1}): {2}".format(site_name, site_id, dns_settings), "INFO") + + dns_params = {} + if dns_settings.get("domainName"): + dns_params["domainName"] = dns_settings.get("domainName") + + if "primaryIpAddress" in dns_settings or "secondaryIpAddress" in dns_settings: + dns_params["dnsServers"] = [] + primary_ip = dns_settings.get("primaryIpAddress") + secondary_ip = dns_settings.get("secondaryIpAddress") + + if primary_ip: + dns_params["dnsServers"].append(primary_ip) + if secondary_ip: + dns_params["dnsServers"].append(secondary_ip) + + try: + response = self.dnac._exec( + family="network_settings", + function="set_d_n_s_settings_for_a_site", + op_modifies=True, + params={"id": site_id, "dns": dns_params}, + ) + self.log("DNS settings updated for site '{0}' (ID: {1}): {2}".format(site_name, site_id, dns_settings), "DEBUG") + except Exception as e: + self.msg = ( + "Exception occurred while updating DNS settings for site '{0}' (ID: {1}): {2}".format(site_name, site_id, str(e)) + ) + self.log(self.msg, "CRITICAL") + self.status = "failed" + return self.check_return_status() + + return response + + def update_telemetry_settings_for_site(self, site_name, site_id, telemetry_settings): + """ + Update the telemetry settings for a specified site in Cisco Catalyst Center. + + Parameters: + self - The current object details. + site_name (str): The name of the site to update the telemetry settings. + site_id (str): The ID of the site to update the telemetry settings. + telemetry_settings (dict): The telemetry settings to be applied. + + Returns: + Response (dict): The response after updating the telemetry settings. + """ + self.log("Attempting to update telemetry settings for site '{0}' (ID: {1}): {2}".format(site_name, site_id, telemetry_settings), "INFO") + + try: + response = self.dnac._exec( + family="network_settings", + function='set_telemetry_settings_for_a_site', + op_modifies=True, + params={ + "id": site_id, + "wiredDataCollection": telemetry_settings.get("wired_data_collection"), + "wirelessTelemetry": telemetry_settings.get("wireless_telemetry"), + "snmpTraps": telemetry_settings.get("snmp_server"), + "syslogs": telemetry_settings.get("syslog_server"), + "applicationVisibility": telemetry_settings.get("netflowcollector") + } + ) + self.log("Telemetry settings updated for site '{0}' (ID: {1}): {2}".format(site_name, site_id, telemetry_settings), "DEBUG") + except Exception as e: + self.msg = ( + "Exception occurred while updating telemetry settings for site '{0}' (ID: {1}): {2}".format(site_name, site_id, str(e)) + ) + self.log(self.msg, "CRITICAL") + self.status = "failed" + return self.check_return_status() + + return response + + def update_banner_settings_for_site(self, site_name, site_id, banner_settings): + """ + Update the banner (Message of the Day) settings for a specified site in Cisco Catalyst Center. + + Parameters: + self - The current object details. + site_name (str): The name of the site to update the banner settings. + site_id (str): The ID of the site to update the banner settings. + banner_settings (dict): The banner settings to be applied. + + Returns: + Response (dict): The response after updating the banner settings. + """ + self.log("Attempting to update banner settings for site '{0}' (ID: {1}): {2}".format(site_name, site_id, banner_settings), "INFO") + + try: + response = self.dnac._exec( + family="network_settings", + function='set_banner_settings_for_a_site', + op_modifies=True, + params={"id": site_id, "banner": banner_settings}, + ) + self.log("Banner settings updated for site '{0}' (ID: {1}): {2}".format(site_name, site_id, banner_settings), "DEBUG") + except Exception as e: + self.msg = ( + "Exception occurred while updating banner settings for site '{0}' (ID: {1}): {2}".format(site_name, site_id, str(e)) + ) + self.log(self.msg, "CRITICAL") + self.status = "failed" + return self.check_return_status() + + return response + + def update_aaa_settings_for_site(self, site_name, site_id, network_aaa, clientAndEndpoint_aaa): + """ + Update the AAA (Authentication, Authorization, and Accounting) settings for a specified site in Cisco Catalyst Center. + + Parameters: + self - The current object details. + site_name (str): The name of the site to update the AAA settings. + site_id (str): The ID of the site to update the AAA settings. + network_aaa (dict): The AAA network settings to be applied. + clientAndEndpoint_aaa (dict): The AAA client and endpoint settings to be applied. + + Returns: + Response (dict): The response after updating the AAA settings. + """ + self.log("Attempting to update AAA settings for site '{0}' (ID: {1})".format(site_name, site_id), "INFO") + self.log({"id": site_id, "aaaNetwork": network_aaa, "aaaClient": clientAndEndpoint_aaa}, "DEBUG") + + try: + response = self.dnac._exec( + family="network_settings", + function='set_a_a_a_settings_for_a_site', + op_modifies=True, + params={"id": site_id, "aaaNetwork": network_aaa, "aaaClient": clientAndEndpoint_aaa}, + ) + self.log("AAA settings updated for site '{0}' (ID: {1}): Network AAA: {2}, Client and Endpoint AAA: {3}" + .format(site_name, site_id, network_aaa, clientAndEndpoint_aaa), "DEBUG") + except Exception as e: + self.msg = ( + "Exception occurred while updating AAA settings for site '{0}' (ID: {1}): {2}".format(site_name, site_id, str(e)) + ) + self.log(self.msg, "CRITICAL") + self.status = "failed" + return self.check_return_status() + + return response + def update_network(self, network_management): """ Update or create a network configuration in Cisco Catalyst @@ -2469,25 +3531,96 @@ def update_network(self, network_management): net_params = copy.deepcopy(self.want.get("wantNetwork")[network_management_index]) net_params.update({"site_id": self.have.get("network")[network_management_index].get("site_id")}) - try: - response = self.dnac._exec( - family="network_settings", - function='update_network_v2', - op_modifies=True, - params=net_params, - ) - except Exception as msg: - self.msg = ( - "Exception occurred while updating the network settings of '{site_name}': {msg}" - .format(site_name=site_name, msg=msg) - ) - self.log(str(msg), "ERROR") - self.status = "failed" - return self + self.log("Network parameters for 'update_network_v2': {0}".format(net_params), "DEBUG") + if self.get_ccc_version_as_integer() <= self.get_ccc_version_as_int_from_str("2.3.5.3"): + try: + response = self.dnac._exec( + family="network_settings", + function='update_network_v2', + op_modifies=True, + params=net_params, + ) + self.log("Received API response of 'update_network_v2': {0}".format(response), "DEBUG") + validation_string = "desired common settings operation successful" + self.check_task_response_status(response, validation_string, "update_network_v2").check_return_status() + except Exception as msg: + self.msg = ( + "Exception occurred while updating the network settings of '{site_name}': {msg}" + .format(site_name=site_name, msg=msg) + ) + self.log(str(msg), "ERROR") + self.status = "failed" + return self + else: + site_id = net_params.get("site_id") + site_name = self.have.get("network")[network_management_index].get("site_name") + + if net_params.get("settings").get("dhcpServer"): + dhcp_settings = net_params.get("settings").get("dhcpServer") + response = self.update_dhcp_settings_for_site(site_name, site_id, dhcp_settings) + self.log("Received API response of 'set_dhcp_settings_for_a_site': {0}".format(response), "DEBUG") + validation_string = "desired common settings operation successful" + self.check_task_response_status(response, validation_string, "set_dhcp_settings_for_a_site").check_return_status() + + if net_params.get("settings").get("ntpServer"): + ntp_settings = net_params.get("settings").get("ntpServer") + response = self.update_ntp_settings_for_site(site_name, site_id, ntp_settings) + self.log("Received API response of 'set_n_t_p_settings_for_a_site': {0}".format(response), "DEBUG") + validation_string = "desired common settings operation successful" + self.check_task_response_status(response, validation_string, "set_n_t_p_settings_for_a_site").check_return_status() + + if net_params.get("settings").get("timezone"): + time_zone_settings = net_params.get("settings").get("timezone") + response = self.update_time_zone_settings_for_site(site_name, site_id, time_zone_settings) + self.log("Received API response of 'set_time_zone_for_a_site': {0}".format(response), "DEBUG") + validation_string = "desired common settings operation successful" + self.check_task_response_status(response, validation_string, "set_time_zone_for_a_site").check_return_status() + + if net_params.get("settings").get("dnsServer"): + dns_settings = net_params.get("settings").get("dnsServer") + response = self.update_dns_settings_for_site(site_name, site_id, dns_settings) + self.log("Received API response of 'set_d_n_s_settings_for_a_site': {0}".format(response), "DEBUG") + validation_string = "desired common settings operation successful" + self.check_task_response_status(response, validation_string, "set_d_n_s_settings_for_a_site").check_return_status() + + if net_params.get("settings").get("messageOfTheday"): + banner_settings = net_params.get("settings").get("messageOfTheday") + response = self.update_banner_settings_for_site(site_name, site_id, banner_settings) + self.log("Received API response of 'set_banner_settings_for_a_site': {0}".format(response), "DEBUG") + validation_string = "desired common settings operation successful" + self.check_task_response_status(response, validation_string, "set_banner_settings_for_a_site").check_return_status() + + if all([ + net_params.get("settings", {}).get("snmpServer"), + net_params.get("settings", {}).get("syslogServer"), + net_params.get("settings", {}).get("netflowcollector"), + net_params.get("settings", {}).get("wired_data_collection"), + net_params.get("settings", {}).get("wireless_telemetry") + ]): + telemetry_settings = { + "snmp_server": net_params.get("settings").get("snmpServer"), + "syslog_server": net_params.get("settings").get("syslogServer"), + "netflowcollector": net_params.get("settings").get("netflowcollector"), + "wired_data_collection": net_params.get("settings").get("wired_data_collection"), + "wireless_telemetry": net_params.get("settings").get("wireless_telemetry") + } + response = self.update_telemetry_settings_for_site(site_name, site_id, telemetry_settings) + self.log("Received API response of 'set_telemetry_settings_for_a_site': {0}".format(response), "DEBUG") + validation_string = "desired common settings operation successful" + self.check_task_response_status(response, validation_string, "set_telemetry_settings_for_a_site").check_return_status() + + if net_params.get("settings").get("network_aaa") and net_params.get("settings").get("clientAndEndpoint_aaa"): + network_aaa = net_params.get("settings").get("network_aaa") + clientAndEndpoint_aaa = net_params.get("settings").get("clientAndEndpoint_aaa") + response = self.update_aaa_settings_for_site(site_name, site_id, network_aaa, clientAndEndpoint_aaa) + self.log("Received API response of 'set_a_a_a_settings_for_a_site': {0}".format(response), "DEBUG") + validation_string = "desired common settings operation successful" + self.check_task_response_status(response, validation_string, "set_a_a_a_settings_for_a_site").check_return_status() + elif net_params.get("settings").get("network_aaa") or net_params.get("settings").get("clientAndEndpoint_aaa"): + self.msg = "The 'network_aaa' and 'clientAndEndpoint_aaa' both fields are required for AAA server updation." + self.status = "failed" + return self - self.log("Received API response of 'update_network_v2': {0}".format(response), "DEBUG") - validation_string = "desired common settings operation successful" - self.check_task_response_status(response, validation_string, "update_network_v2").check_return_status() self.log("Network under the site '{0}' has been changed successfully".format(site_name), "INFO") result_network.get("msg") \ .update({site_name: "Network Updated successfully"}) @@ -2521,7 +3654,6 @@ def get_diff_merged(self, config): network_management = config.get("network_management_details") if network_management is not None: self.update_network(network_management).check_return_status() - return self def delete_reserve_pool(self, reserve_pool_details): diff --git a/plugins/modules/provision_workflow_manager.py b/plugins/modules/provision_workflow_manager.py index 398e473e12..50397ec3d4 100644 --- a/plugins/modules/provision_workflow_manager.py +++ b/plugins/modules/provision_workflow_manager.py @@ -6,7 +6,7 @@ from __future__ import absolute_import, division, print_function __metaclass__ = type -__author__ = ("Abinash Mishra, Madhan Sankaranarayanan") +__author__ = ("Abinash Mishra, Madhan Sankaranarayanan, Syed Khadeer Ahmed, Ajith Andrew J") DOCUMENTATION = r""" --- @@ -21,11 +21,13 @@ - cisco.dnac.workflow_manager_params author: Abinash Mishra (@abimishr) Madhan Sankaranarayanan (@madhansansel) + Syed Khadeer Ahmed(@syed-khadeerahmed) + Ajith Andrew J (@ajithandrewj) options: config_verify: - description: Set to True to verify the Cisco Catalyst Center config after applying the playbook config. + description: Set to true to verify the Cisco Catalyst Center config after applying the playbook config. type: bool - default: False + default: false state: description: The state of Cisco Catalyst Center after module completion. type: str @@ -45,14 +47,26 @@ provisioning: description: - Specifies whether the user intends to perform site assignment only or full provisioning for a wired device. - - Set to 'False' to carry out site assignment only. - - Set to 'True' to proceed with provisioning to a site. + - Set to 'false' to carry out site assignment only. + - Set to 'true' to proceed with provisioning to a site. type: bool required: false default: true + force_provisioning: + description: + - Determines whether to force reprovisioning of a device. + - A device cannot be re-provisioned to a different site. + - The 'provisioning' option should not be set to 'false' for 'force_provisioning' to take effect. + - Applicable only for wired devices. + - Set to 'true' to enforce reprovisioning, even if the device is already provisioned. + - Set to 'false' to skip provisioning for devices that are already provisioned. + type: bool + required: false + default: false site_name_hierarchy: - description: Name of site where the device needs to be added. + description: Name of the site where the device will be added. This parameter is required for provisioning the device and assigning it to a site. type: str + required: true managed_ap_locations: description: - Location of the sites allocated for the APs. @@ -120,7 +134,7 @@ dnac_port: "{{dnac_port}}" dnac_version: "{{dnac_version}}" dnac_debug: "{{dnac_debug}}" - dnac_log: True + dnac_log: true state: merged config: - site_name_hierarchy: Global/USA/San Francisco/BGL_18 @@ -142,11 +156,27 @@ dnac_port: "{{dnac_port}}" dnac_version: "{{dnac_version}}" dnac_debug: "{{dnac_debug}}" - dnac_log: True + dnac_log: true + state: merged + config: + - site_name_hierarchy: Global/USA/San Francisco/BGL_18 + management_ip_address: 204.192.3.40 + +- name: Re-Provision a wired device to a site forcefully + cisco.dnac.provision_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: true state: merged config: - site_name_hierarchy: Global/USA/San Francisco/BGL_18 management_ip_address: 204.192.3.40 + force_provisioning: true - name: Assign a wired device to a site cisco.dnac.provision_workflow_manager: @@ -157,12 +187,12 @@ dnac_port: "{{dnac_port}}" dnac_version: "{{dnac_version}}" dnac_debug: "{{dnac_debug}}" - dnac_log: True + dnac_log: true state: merged config: - site_name_hierarchy: Global/USA/San Francisco/BGL_18 management_ip_address: 204.192.3.40 - provisioning: False + provisioning: false - name: Provision a wireless device to a site cisco.dnac.provision_workflow_manager: @@ -173,9 +203,9 @@ dnac_port: "{{dnac_port}}" dnac_version: "{{dnac_version}}" dnac_debug: "{{dnac_debug}}" - dnac_log: True + dnac_log: true state: merged - config_verify: True + config_verify: true config: - site_name_hierarchy: Global/USA/RTP/BLD11 management_ip_address: 204.192.12.201 @@ -191,9 +221,9 @@ dnac_port: "{{dnac_port}}" dnac_version: "{{dnac_version}}" dnac_debug: "{{dnac_debug}}" - dnac_log: True + dnac_log: true state: deleted - config_verify: True + config_verify: true config: - management_ip_address: 204.1.2.2 @@ -287,10 +317,22 @@ def validate_input(self, state=None): 'elements': 'str'}, "dynamic_interfaces": {'type': 'list', 'required': False, 'elements': 'dict'}, - "provisioning": {'type': 'bool', 'required': False, "default": True} + "provisioning": {'type': 'bool', 'required': False, "default": True}, + "force_provisioning": {'type': 'bool', 'required': False, "default": False} } if state == "merged": provision_spec["site_name_hierarchy"] = {'type': 'str', 'required': True} + missing_params = [] + for config_item in self.config: + if "site_name_hierarchy" not in config_item or config_item["site_name_hierarchy"] is None: + missing_params.append("site_name_hierarchy") + if "management_ip_address" not in config_item or config_item["management_ip_address"] is None: + missing_params.append("management_ip_address") + + if missing_params: + self.msg = "Missing or invalid required parameter(s): {0}".format(', '.join(missing_params)) + self.status = "failed" + return self # Validate provision params valid_provision, invalid_params = validate_list_of_dicts( @@ -328,7 +370,7 @@ def get_dev_type(self): dev_response = self.dnac_apply['exec']( family="devices", function='get_network_device_by_ip', - params={"ip_address": self.validated_config[0]["management_ip_address"]}, + params={"ip_address": self.validated_config["management_ip_address"]}, op_modifies=True ) except Exception as e: @@ -365,7 +407,7 @@ def get_device_id(self): dev_response = self.dnac_apply['exec']( family="devices", function='get_network_device_by_ip', - params={"ip_address": self.validated_config[0]["management_ip_address"]}, + params={"ip_address": self.validated_config["management_ip_address"]}, op_modifies=True ) @@ -373,7 +415,7 @@ def get_device_id(self): dev_dict = dev_response.get("response") device_id = dev_dict.get("id") - self.log("Device ID of the device with IP address {0} is {1}".format(self.validated_config[0]["management_ip_address"], device_id), "INFO") + self.log("Device ID of the device with IP address {0} is {1}".format(self.validated_config["management_ip_address"], device_id), "INFO") return device_id def get_serial_number(self): @@ -394,7 +436,7 @@ def get_serial_number(self): response = self.dnac_apply['exec']( family="devices", function='get_network_device_by_ip', - params={"ip_address": self.validated_config[0]["management_ip_address"]}, + params={"ip_address": self.validated_config["management_ip_address"]}, op_modifies=True ) @@ -454,7 +496,11 @@ def get_task_status(self, task_id=None): self.module.fail_json(msg=msg) return False - if response.get('progress') in ["TASK_PROVISION", "TASK_MODIFY_PUT"] and response.get("isError") is False: + if ( + response.get('progress') in ["TASK_PROVISION", "TASK_MODIFY_PUT"] + and response.get("isError") is False + ) or "deleted successfully" in response.get('progress'): + result = True break @@ -588,48 +634,6 @@ def get_site_type(self, site_name_hierarchy=None): return site_type - def get_site_details(self, site_name_hierarchy=None): - """ - Fetches the id and existance of the site - - Parameters: - - self: The instance of the class containing the 'config' attribute - to be validated. - - site_name_hierarchy: Name of the site collected from the input. - Returns: - - site_id: A string indicating the id of the site. - - site_exits: A boolean value indicating the existance of the site. - Example: - Post creation of the validated input, this method gets the - id of the site. - """ - - site_exists = False - site_id = None - try: - response = self.dnac_apply['exec']( - family="sites", - function='get_site', - params={"name": site_name_hierarchy}, - op_modifies=True - ) - except Exception: - self.log("Exception occurred as \ - site '{0}' was not found".format(self.want.get("site_name")), "CRITICAL") - self.module.fail_json(msg="Site not found", response=[]) - - if response: - self.log("Received site details\ - for '{0}': {1}".format(site_name_hierarchy, str(response)), "DEBUG") - site = response.get("response") - site_additional_info = site[0].get("additionalInfo") - if len(site) == 1: - site_id = site[0].get("id") - site_exists = True - self.log("Site Name: {1}, Site ID: {0}".format(site_id, site_name_hierarchy), "INFO") - - return (site_exists, site_id) - def is_device_assigned_to_site(self, uuid): """ Checks if a device, specified by its UUID, is assigned to any site. @@ -677,8 +681,8 @@ def get_site_assign(self): Post creation of the validated input, this method tells whether devices are associated with a site. """ - site_name_hierarchy = self.validated_config[0].get("site_name_hierarchy") - site_exists, site_id = self.get_site_details(site_name_hierarchy=site_name_hierarchy) + site_name_hierarchy = self.validated_config.get("site_name_hierarchy") + site_exists, site_id = self.get_site_id(site_name_hierarchy) serial_number = self.get_serial_number() if site_exists: site_response = self.dnac_apply['exec']( @@ -717,25 +721,25 @@ def get_wired_params(self): parameters in other APIs. """ - site_name = self.validated_config[0].get("site_name_hierarchy") + site_name = self.validated_config.get("site_name_hierarchy") - (site_exits, site_id) = self.get_site_details(site_name_hierarchy=site_name) + (site_exits, site_id) = self.get_site_id(site_name) if site_exits is False: msg = "Site {0} doesn't exist".format(site_name) self.log(msg, "CRITICAL") self.module.fail_json(msg=msg) - if self.validated_config[0].get("provisioning") is True: + if self.validated_config.get("provisioning") is True: wired_params = { - "deviceManagementIpAddress": self.validated_config[0]["management_ip_address"], + "deviceManagementIpAddress": self.validated_config["management_ip_address"], "siteNameHierarchy": site_name } else: wired_params = { "device": [ { - "ip": self.validated_config[0]["management_ip_address"] + "ip": self.validated_config["management_ip_address"] } ], "site_id": site_id @@ -765,8 +769,8 @@ def get_wireless_params(self): wireless_params = [ { - "site": self.validated_config[0].get("site_name_hierarchy"), - "managedAPLocations": self.validated_config[0].get("managed_ap_locations"), + "site": self.validated_config.get("site_name_hierarchy"), + "managedAPLocations": self.validated_config.get("managed_ap_locations"), } ] @@ -776,14 +780,14 @@ def get_wireless_params(self): self.log(msg, "CRITICAL") self.module.fail_json(msg=msg, response=[]) - for ap_loc in self.validated_config[0].get("managed_ap_locations"): + for ap_loc in self.validated_config.get("managed_ap_locations"): if self.get_site_type(site_name_hierarchy=ap_loc) != "floor": self.log("Managed AP Location must be a floor", "CRITICAL") self.module.fail_json(msg="Managed AP Location must be a floor", response=[]) wireless_params[0]["dynamicInterfaces"] = [] - if self.validated_config[0].get("dynamic_interfaces"): - for interface in self.validated_config[0].get("dynamic_interfaces"): + if self.validated_config.get("dynamic_interfaces"): + for interface in self.validated_config.get("dynamic_interfaces"): interface_dict = { "interfaceIPAddress": interface.get("interface_ip_address"), "interfaceNetmaskInCIDR": interface.get("interface_netmask_in_c_i_d_r"), @@ -796,7 +800,7 @@ def get_wireless_params(self): response = self.dnac_apply['exec']( family="devices", function='get_network_device_by_ip', - params={"ip_address": self.validated_config[0]["management_ip_address"]}, + params={"ip_address": self.validated_config["management_ip_address"]}, op_modifies=True ) @@ -805,7 +809,7 @@ def get_wireless_params(self): self.log("Parameters collected for the provisioning of wireless device:{0}".format(wireless_params), "INFO") return wireless_params - def get_want(self): + def get_want(self, config): """ Get all provision related informantion from the playbook Args: @@ -822,6 +826,7 @@ def get_want(self): before calling the APIs """ + self.validated_config = config self.want = {} self.want["device_type"] = self.get_dev_type() if self.want["device_type"] == "wired": @@ -866,163 +871,294 @@ def perform_wireless_reprovision(self): execution_id = response.get("executionId") self.get_execution_status_wireless(execution_id=execution_id) self.result["changed"] = True - self.result['msg'] = "Wireless device with IP address {0} got re-provisioned successfully".format(self.validated_config[0]["management_ip_address"]) + self.result['msg'] = "Wireless device with IP address {0} got re-provisioned successfully".format(self.validated_config["management_ip_address"]) self.result['diff'] = self.validated_config self.result['response'] = execution_id self.log(self.result['msg'], "INFO") return self except Exception as e: self.log("Parameters are {0}".format(self.want)) - self.msg = "Error in wireless re-provisioning of {0} due to {1}".format(self.validated_config[0]["management_ip_address"], e) + self.msg = "Error in wireless re-provisioning of {0} due to {1}".format(self.validated_config["management_ip_address"], e) self.log(self.msg, "ERROR") self.status = "failed" return self def get_diff_merged(self): """ - Add to provision database + Process and merge device provisioning differences. + Args: self: An instance of a class used for interacting with Cisco Catalyst Center. + Returns: - object: An instance of the class with updated results and status - based on the processing of differences. + self: An instance of the class with updated results and status based on + the processing of device provisioning differences. + Description: - The function processes the differences and, depending on the - changes required, it may add, update,or resynchronize devices in - Cisco Catalyst Center. The updated results and status are stored in the - class instance for further use. + This function identifies differences in device provisioning parameters and + processes them accordingly. It handles wired and wireless devices by checking + their current provisioning status and determining the necessary actions—whether + to provision, reprovision, or assign devices to a site. The function logs the + outcomes of these operations and updates the instance with the results, status, + and relevant task IDs. If any errors occur during processing, they are logged, + and the status is updated to reflect the failure. """ device_type = self.want.get("device_type") + to_force_provisioning = self.validated_config.get("force_provisioning") + to_provisioning = self.validated_config.get("provisioning") + self.device_ip = self.validated_config["management_ip_address"] + self.site_name = self.validated_config["site_name_hierarchy"] + if device_type == "wired": - try: - status_response = self.dnac_apply['exec']( - family="sda", - function="get_provisioned_wired_device", - op_modifies=True, - params={ - "device_management_ip_address": self.validated_config[0]["management_ip_address"] - }, - ) - except Exception: - status_response = {} - self.log("Wired device's status Response collected from 'get_provisioned_wired_device' API is:{0}".format(str(status_response)), "DEBUG") - status = status_response.get("status") - self.log("The provisioned status of the wired device is {0}".format(status), "INFO") + self.provision_wired_device(to_provisioning, to_force_provisioning) + else: + self.provision_wireless_device() - if status == "success": - try: - response = self.dnac_apply['exec']( - family="sda", - function="re_provision_wired_device", - op_modifies=True, - params=self.want["prov_params"], - ) - self.log("Reprovisioning response collected from 're_provision_wired_device' API is: {0}".format(response), "DEBUG") - task_id = response.get("taskId") - self.get_task_status(task_id=task_id) - self.result["changed"] = True - self.result['msg'] = "Re-Provision done Successfully" - self.result['diff'] = self.validated_config - self.result['response'] = task_id - self.log(self.result['msg'], "INFO") - return self - - except Exception as e: - self.msg = "Error in re-provisioning due to {0}".format(str(e)) - self.log(self.msg, "ERROR") - self.status = "failed" - return self - else: - if self.validated_config[0].get("provisioning") is True: - try: - response = self.dnac_apply['exec']( - family="sda", - function="provision_wired_device", - op_modifies=True, - params=self.want["prov_params"], - ) - self.log("Provisioning response collected from 'provision_wired_device' API is: {0}".format(response), "DEBUG") - except Exception as e: - self.msg = "Error in provisioning due to {0}".format(str(e)) - self.log(self.msg, "ERROR") - self.status = "failed" - return self + return self - else: - uuid = self.get_device_id() - if self.is_device_assigned_to_site(uuid) is True: - self.result["changed"] = False - self.result['msg'] = "Device is already assigned to the desired site" - self.result['diff'] = self.want - self.result['response'] = self.want.get("prov_params").get("site_id") - self.log(self.result['msg'], "INFO") - return self - - try: - response = self.dnac_apply['exec']( - family="sites", - function="assign_devices_to_site", - op_modifies=True, - params={ - "site_id": self.want.get("prov_params").get("site_id"), - "payload": self.want.get("prov_params") - }, - ) - self.log("Assignment response collected from 'assign_devices_to_site' API is: {0}".format(response), "DEBUG") - execution_id = response.get("executionId") - assignment_info = self.get_execution_status_site(execution_id=execution_id) - self.result["changed"] = True - self.result['msg'] = "Site assignment done successfully" - self.result['diff'] = self.validated_config - self.result['response'] = execution_id - self.log(self.result['msg'], "INFO") - return self - except Exception as e: - self.msg = "Error in site assignment due to {0}".format(str(e)) - self.log(self.msg, "ERROR") - self.status = "failed" - return self - - elif device_type == "wireless": - try: - response = self.dnac_apply['exec']( - family="wireless", - function="provision", - op_modifies=True, - params={"payload": self.want.get("prov_params")} - ) - self.log("Wireless provisioning response collected from 'provision' API is: {0}".format(str(response)), "DEBUG") - execution_id = response.get("executionId") - self.get_execution_status_wireless(execution_id=execution_id) - self.result["changed"] = True - self.result['msg'] = "Wireless device with IP {0} got provisioned successfully".format(self.validated_config[0]["management_ip_address"]) - self.result['diff'] = self.validated_config - self.result['response'] = execution_id - self.log(self.result['msg'], "INFO") + def provision_wired_device(self, to_provisioning, to_force_provisioning): + """ + Handle wired device provisioning. + + Args: + self: An instance of a class used for interacting with Cisco Catalyst Center. + to_provisioning (bool): Indicates if the device should be provisioned. + to_force_provisioning (bool): Indicates if the device should be forcefully reprovisioned. + + Returns: + self: An instance of the class with updated results and status based on + the provisioning operation. + + Description: + This function manages the provisioning of a wired device in Cisco Catalyst Center. + It checks the current provisioning status of the device and, based on the flags + `to_provisioning` and `to_force_provisioning`, decides whether to provision, reprovision, + or skip the process. The function sends appropriate API requests, logs the outcomes, + and updates the instance with provisioning status, task details, and any changes made. + In case of errors, it logs them and sets the status to 'failed'. + """ + + try: + status_response = self.dnac_apply['exec']( + family="sda", + function="get_provisioned_wired_device", + op_modifies=True, + params={ + "device_management_ip_address": self.validated_config.get("management_ip_address") + }, + ) + if status_response: + self.log("Received API response from 'get_provisioned_wired_device': {0}".format(status_response), "DEBUG") + status = status_response.get("status") + + except Exception as e: + self.log("device '{0}' is not provisioned".format(self.validated_config.get("management_ip_address")), "DEBUG") + status = "failed" + + if status == "success": + if not to_force_provisioning: + self.result["changed"] = False + msg = "Device '{0}' is already provisioned.".format(self.validated_config.get("management_ip_address")) + self.result['msg'] = msg + self.result['response'] = msg + self.log(msg, "INFO") return self - except Exception as e: - self.log("Parameters are {0}".format(self.want)) - self.msg = "Error in wireless provisioning of {0} due to {1}".format(self.validated_config[0]["management_ip_address"], e) + + if not to_provisioning: + self.msg = ("Cannot assign a provisioned device to the site. " + "The device is already provisioned. " + "To re-provision the device, ensure that both 'provisioning' and 'force_provisioning' are set to 'true'. " + "Alternatively, unprovision the device and try again.") self.log(self.msg, "ERROR") self.status = "failed" return self - else: - self.result['msg'] = "Passed device is neither wired nor wireless" - self.log(self.result['msg'], "ERROR") - self.result['response'] = self.want.get("prov_params") + self.reprovision_wired_device() return self - task_id = response.get("taskId") - self.get_task_status(task_id=task_id) - self.result["changed"] = True - self.result['msg'] = "Provision done Successfully" - self.result['diff'] = self.validated_config - self.result['response'] = task_id - self.log(self.result['msg'], "INFO") + # Provision if status is not success + if not to_provisioning: + self.assign_device_to_site() + else: + self.initialize_wired_provisioning() + return self + def reprovision_wired_device(self): + """ + Reprovision a wired device. + + Args: + self: An instance of a class used for interacting with Cisco Catalyst Center. + + Returns: + self: An instance of the class with updated results and status after the + wired device has been reprovisioned. + + Description: + This function handles the reprovisioning of a wired device in Cisco Catalyst Center. + It sends an API request to the 're_provision_wired_device' endpoint using the device's + provisioning parameters. The function tracks the task status and updates the class instance + with the reprovisioning status, task ID, and other relevant details. If an error occurs during + the reprovisioning process, it logs the error and adjusts the status accordingly. + """ + + try: + response = self.dnac_apply['exec']( + family="sda", + function="re_provision_wired_device", + op_modifies=True, + params=self.want["prov_params"], + ) + self.log(self.want["prov_params"]) + task_id = response.get("taskId") + self.get_task_status(task_id=task_id) + self.result["changed"] = True + self.result['msg'] = "Re-Provision for device '{0}' done successfully".format(self.device_ip) + self.result['diff'] = self.validated_config + self.result['response'] = task_id + self.log(self.result['msg'], "INFO") + return self + except Exception as e: + self.msg = "Error in re-provisioning device '{0}' due to {1}".format(self.device_ip, str(e)) + self.log(self.msg, "ERROR") + self.result['response'] = self.msg + self.status = "failed" + self.check_return_status() + + def initialize_wired_provisioning(self): + """ + Provision a wired device. + + Args: + self: An instance of a class used for interacting with Cisco Catalyst Center. + + Returns: + self: An instance of the class with updated results and status after the wired + device has been provisioned. + + Description: + This function handles the provisioning of a wired device in Cisco Catalyst Center. + It sends an API request to the 'provision_wired_device' endpoint with the required + parameters. If provisioning is successful, the class instance is updated with the + provisioning status, task ID, and execution details. In case of any errors during + provisioning, it logs the error and updates the status accordingly. + """ + + try: + response = self.dnac_apply['exec']( + family="sda", + function="provision_wired_device", + op_modifies=True, + params=self.want["prov_params"], + ) + task_id = response.get("taskId") + self.get_task_status(task_id=task_id) + self.result["changed"] = True + self.result['msg'] = "Provisioning of the device '{0}' completed successfully.".format(self.device_ip) + self.result['response'] = task_id + self.log(self.result['msg'], "INFO") + return self + except Exception as e: + self.msg = "Error in provisioning device '{0}' due to {1}".format(self.device_ip, str(e)) + self.log(self.msg, "ERROR") + self.status = "failed" + self.result['response'] = self.msg + self.check_return_status() + + def assign_device_to_site(self): + """ + Assign a device to a site. + + Args: + self: An instance of a class used for interacting with Cisco Catalyst Center. + + Returns: + self: An instance of the class with updated results and status after the device + has been assigned to the specified site. + + Description: + This function assigns a device to a specific site in Cisco Catalyst Center. + It sends an API request to the 'assign_devices_to_site' endpoint with the required + site ID and device information. If the assignment is successful, it logs the + status and updates the class instance with the execution details. In case of failure, + it logs the error and updates the status accordingly. + """ + + uuid = self.get_device_id() + if self.is_device_assigned_to_site(uuid) is True: + self.result["changed"] = False + self.result['msg'] = "Device '{0}' is already assigned to the desired site".format(self.device_ip) + self.result['response'] = self.want.get("prov_params").get("site_id") + self.log(self.result['msg'], "INFO") + return self + try: + response = self.dnac_apply['exec']( + family="sites", + function="assign_devices_to_site", + op_modifies=True, + params={ + "site_id": self.want.get("prov_params").get("site_id"), + "payload": self.want.get("prov_params") + }, + ) + execution_id = response.get("executionId") + self.get_execution_status_site(execution_id=execution_id) + self.result["changed"] = True + self.msg = "Successfully assigned site {1} to device {0}.".format(self.device_ip, self.site_name) + self.result['msg'] = self.msg + self.result['response'] = execution_id + self.log(self.result['msg'], "INFO") + return self + except Exception as e: + self.msg = "Error in site assignment: {0}".format(str(e)) + self.log(self.msg, "ERROR") + self.status = "failed" + self.result['response'] = self.msg + self.check_return_status() + + def provision_wireless_device(self): + """ + Provision a wireless device. + + Args: + self: An instance of a class used for interacting with Cisco Catalyst Center. + want (dict): A dictionary containing the provisioning parameters for the wireless device. + + Returns: + self: An instance of the class with updated results and status based on + the provisioning operation. + + Description: + This function is responsible for provisioning a wireless device in Cisco Catalyst Center. + It sends a request using the 'provision' API and handles the execution status. + If an error occurs during the provisioning process, it logs the error and updates + the instance status accordingly. + """ + + try: + response = self.dnac_apply['exec']( + family="wireless", + function="provision", + op_modifies=True, + params={"payload": self.want.get("prov_params")} + ) + execution_id = response.get("executionId") + self.get_execution_status_wireless(execution_id=execution_id) + self.result["changed"] = True + self.result['msg'] = "Wireless device provisioned successfully" + self.result['diff'] = self.validated_config + self.result['response'] = execution_id + self.log(self.result['msg'], "INFO") + return self + except Exception as e: + self.msg = "Error in wireless provisioning: {0}".format(str(e)) + self.log(self.msg, "ERROR") + self.status = "failed" + self.result['response'] = self.msg + self.check_return_status() + def get_diff_deleted(self): """ Delete from provision database @@ -1049,7 +1185,7 @@ def get_diff_deleted(self): function="get_provisioned_wired_device", op_modifies=True, params={ - "device_management_ip_address": self.validated_config[0]["management_ip_address"] + "device_management_ip_address": self.validated_config["management_ip_address"] }, ) @@ -1070,7 +1206,7 @@ def get_diff_deleted(self): function="delete_provisioned_wired_device", op_modifies=True, params={ - "device_management_ip_address": self.validated_config[0]["management_ip_address"] + "device_management_ip_address": self.validated_config["management_ip_address"] }, ) self.log("Response collected from the 'delete_provisioned_wired_device' API is : {0}".format(str(response)), "DEBUG") @@ -1103,8 +1239,8 @@ def verify_diff_merged(self): # Code to validate Cisco Catalyst Center config for merged state device_type = self.want.get("device_type") - provisioning = self.validated_config[0].get("provisioning") - site_name_hierarchy = self.validated_config[0].get("site_name_hierarchy") + provisioning = self.validated_config.get("provisioning") + site_name_hierarchy = self.validated_config.get("site_name_hierarchy") uuid = self.get_device_id() if provisioning is False: if self.is_device_assigned_to_site(uuid) is True: @@ -1120,7 +1256,7 @@ def verify_diff_merged(self): function="get_provisioned_wired_device", op_modifies=True, params={ - "device_management_ip_address": self.validated_config[0]["management_ip_address"] + "device_management_ip_address": self.validated_config["management_ip_address"] }, ) except Exception: @@ -1166,7 +1302,7 @@ def verify_diff_deleted(self): function="get_provisioned_wired_device", op_modifies=True, params={ - "device_management_ip_address": self.validated_config[0]["management_ip_address"] + "device_management_ip_address": self.validated_config["management_ip_address"] }, ) except Exception: @@ -1227,7 +1363,7 @@ def main(): for config in ccc_provision.validated_config: ccc_provision.reset_values() - ccc_provision.get_want().check_return_status() + ccc_provision.get_want(config).check_return_status() ccc_provision.get_diff_state_apply[state]().check_return_status() if config_verify: ccc_provision.verify_diff_state_apply[state]().check_return_status() diff --git a/plugins/modules/sda_extranet_policies_workflow_manager.py b/plugins/modules/sda_extranet_policies_workflow_manager.py deleted file mode 100644 index 179cff5c08..0000000000 --- a/plugins/modules/sda_extranet_policies_workflow_manager.py +++ /dev/null @@ -1,1363 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- -# Copyright (c) 2024, Cisco Systems -# GNU General Public License v3.0+ (see LICENSE or https://www.gnu.org/licenses/gpl-3.0.txt) - -"""Ansible module to perform Network Compliance Operations on devices in Cisco Catalyst Center.""" -from __future__ import absolute_import, division, print_function - -__metaclass__ = type -__author__ = ("Rugvedi Kapse, Madhan Sankaranarayanan") - -DOCUMENTATION = r""" ---- -module: sda_extranet_policies_workflow_manager -short_description: SDA Extranet Policies Module provides functionality for managing SDA Extranet Policy in Cisco Catalyst Center. -description: - - Manage extranet policy operations such as add/update/delete. - - API to create a new extranet policy. - - API to update an existing or edit an existing extranet policy. - - API for deletion of an existing extranet policy using the policy name. -version_added: "6.17.0" -extends_documentation_fragment: - - cisco.dnac.workflow_manager_params -author: Rugvedi Kapse (@rukapse) - Madhan Sankaranarayanan (@madhansansel) -options: - config_verify: - description: Set to True to verify the Cisco Catalyst Center config after applying the playbook config. - type: bool - default: False - state: - description: State of Cisco Catalyst Center after module completion. - type: str - choices: [ merged, deleted ] - default: merged - config: - description: List of Extranet Policy Details for Creating, Updating, or Deleting Operations. - type: list - elements: dict - required: True - suboptions: - extranet_policy_name: - description: Name of the SDA Extranet Policy. - This parameter allows you to specify the desired name when creating a new extranet policy. - The same name can be used to update or delete the policy. - Note - This parameter is required when creating, updating or deleting extranet policy. - type: str - provider_virtual_network: - description: Specifies the Provider Virtual Network containing shared services resources that subscribers need to access. - If a virtual network is already defined as a Provider, it cannot be assigned as a provider again. - Ensure the default route is present in the Global Routing Table if INFRA_VN is defined as the Provider. - For Subscriber Virtual Networks with multiple Providers having overlapping routes, traffic will be - load-balanced across those Provider Virtual Networks. - This parameter is required when creating or updating extranet policy. - type: str - subscriber_virtual_networks: - description: Specifies a list of Subscriber Virtual Networks that require access to the Provider Virtual Network - containing shared services resources. - A Virtual Network previously defined as a Provider cannot be selected as a subscriber. - This parameter is required when creating or updating extranet policy. - type: list - elements: str - fabric_sites: - description: Specifies the Fabric Site(s) where this Extranet Policy will be applied. - The Provider Virtual Network must be added to a Fabric Site before applying the policy. - Fabric Site(s) connected to the same SD-Access Transit must have consistent Extranet Policies. - Selecting a Fabric Site connected to an SD-Access Transit will automatically select all other Sites connected to that Transit. - type: list - elements: str - - -requirements: -- dnacentersdk == 2.7.0 -- python >= 3.9 -notes: - - SDK Methods used are - sites.Sites.get_site - sda.SDA.get_fabric_sites - sda.SDA.get_extranet_policies - sda.SDA.add_extranet_policy - sda.SDA.update_extranet_policy - sda.SDA.delete_extranet_policy_by_id - task.Task.get_task_by_id - - - Paths used are - get /dna/intent/api/v1/site - get /dna/intent/api/v1/sda/fabricSites - get /dna/intent/api/v1/sda/extranetPolicies - post /dna/intent/api/v1/sda/extranetPolicies - put /dna/intent/api/v1/sda/extranetPolicies - delete dna/intent/api/v1/sda/extranetPolicies/${id} - get /dna/intent/api/v1/task/{taskId} - -""" - -EXAMPLES = r""" -- name: Create Extranet Policy - cisco.dnac.sda_extranet_policies_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 - state: merged - config: - - extranet_policy_name: "test_extranet_policy_1" - provider_virtual_network: "VN_1" - subscriber_virtual_networks: ["VN_2", "VN_3"] - -- name: Create Extranet Policy with Fabric Site(s) specified - cisco.dnac.sda_extranet_policies_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 - state: merged - config: - - extranet_policy_name: "test_extranet_policy_1" - provider_virtual_network: "VN_1" - subscriber_virtual_networks: ["VN_2", "VN_3"] - fabric_sites: ["Global/Test_Extranet_Polcies/USA", "Global/Test_Extranet_Polcies/India"] - -- name: Update existing Extranet Policy - cisco.dnac.sda_extranet_policies_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 - state: merged - config: - - extranet_policy_name: "test_extranet_policy_1" - provider_virtual_network: "VN_1" - subscriber_virtual_networks: ["VN_2", "VN_4"] - -- name: Update existing Extranet Policy with Fabric Site(s) specified - cisco.dnac.sda_extranet_policies_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 - state: merged - config: - - extranet_policy_name: "test_extranet_policy_1" - fabric_sites: ["Global/Test_Extranet_Polcies/USA", "Global/Test_Extranet_Polcies/India"] - provider_virtual_network: "VN_1" - subscriber_virtual_networks: ["VN_2", "VN_4"] - -- name: Delete Extranet Policy - cisco.dnac.sda_extranet_policies_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 - state: deleted - config: - - extranet_policy_name: "test_extranet_policy_1" -""" - -RETURN = r""" -#Case_1: Response when task is successful -sample_response_2: - description: A dictionary with the response returned by the Cisco Catalyst Center Python SDK - returned: always - type: dict - sample: > - { - "status": "string", - "changed": bool, - "msg": "string" - "response": { - "taskId": "string", - "url": "string" - }, - "version": "string" - } - -#Case_3: Response when Error Occurs -sample_response_3: - description: A dictionary with the response returned by the Cisco Catalyst Center Python SDK - returned: always - type: dict - sample: > - { - "changed": bool, - "msg": "string" - } -""" - -import time -from ansible.module_utils.basic import AnsibleModule -from ansible_collections.cisco.dnac.plugins.module_utils.dnac import ( - DnacBase, - validate_list_of_dicts -) - - -class SDAExtranetPolicies(DnacBase): - """ - A class for managing Extranet Policies within the Cisco DNA Center using the SDA API. - """ - def __init__(self, module): - """ - Initialize an instance of the class. - Parameters: - - module: The module associated with the class instance. - Returns: - The method does not return a value. - """ - super().__init__(module) - - def validate_input(self): - """ - Validates the input configuration parameters for the playbook. - Returns: - object: An instance of the class with updated attributes: - - self.msg: A message describing the validation result. - - self.status: The status of the validation (either "success" or "failed"). - - self.validated_config: If successful, a validated version of the "config" parameter. - - Description: - This method validates the fields provided in the playbook against a predefined specification. - It checks if the required fields are present and if their data types match the expected types. - If any parameter is found to be invalid, it logs an error message and sets the validation status to "failed". - If the validation is successful, it logs a success message and returns an instance of the class - with the validated configuration. - """ - # Check if configuration is available - if not self.config: - self.status = "success" - self.msg = "Configuration is not available in the playbook for validation" - self.log(self.msg, "ERROR") - return self - - # Expected schema for configuration parameters - temp_spec = { - "extranet_policy_name": {"type": "str", "required": True}, - "fabric_sites": {"type": "list", "elements": "str", "required": False}, - "provider_virtual_network": {"type": "str", "required": False}, - "subscriber_virtual_networks": {"type": "list", "elements": "str", "required": False}, - } - - # Validate params - valid_temp, invalid_params = validate_list_of_dicts( - self.config, temp_spec - ) - - if invalid_params: - self.msg = "Invalid parameters in playbook: {0}".format(invalid_params) - self.update_result("failed", False, self.msg, "ERROR") - return self - - # Set the validated configuration and update the result with success status - self.validated_config = valid_temp - self.msg = "Successfully validated playbook configuration parameters using 'validated_input': {0}".format(str(valid_temp)) - self.update_result("success", False, self.msg, "INFO") - return self - - def update_result(self, status, changed, msg, log_level, data=None): - """ - Update the result of the operation with the provided status, message, and log level. - Parameters: - - status (str): The status of the operation ("success" or "failed"). - - changed (bool): Indicates whether the operation caused changes. - - msg (str): The message describing the result of the operation. - - log_level (str): The log level at which the message should be logged ("INFO", "ERROR", "CRITICAL", etc.). - - data (dict, optional): Additional data related to the operation result. - Returns: - self (object): An instance of the class. - Note: - - If the status is "failed", the "failed" key in the result dictionary will be set to True. - - If data is provided, it will be included in the result dictionary. - """ - # Update the result attributes with the provided values - self.status = status - self.result["status"] = status - self.result["msg"] = msg - self.result["changed"] = changed - - # Log the message at the specified log level - self.log(msg, log_level) - - # If the status is "failed", set the "failed" key to True - if status == "failed": - self.result["failed"] = True - - # If additional data is provided, include it in the result dictionary - if data: - self.result["data"] = data - - return self - - def exit_while_loop(self, start_time, task_id, task_name, response): - """ - Check if the elapsed time exceeds the specified timeout period and exit the while loop if it does. - Parameters: - - start_time (float): The time when the while loop started. - - task_id (str): ID of the task being monitored. - - task_name (str): Name of the task being monitored. - - response (dict): Response received from the task status check. - Returns: - bool: True if the elapsed time exceeds the timeout period, False otherwise. - """ - # If the elapsed time exceeds the timeout period - if time.time() - start_time > self.params.get("dnac_api_task_timeout"): - if response.get("data"): - # If there is data in the response, include it in the error message - self.msg = "Task {0} with task id {1} has not completed within the timeout period. Task Status: {2} ".format( - task_name, task_id, response.get("data")) - else: - # If there is no data in the response, generate a generic error message - self.msg = "Task {0} with task id {1} has not completed within the timeout period.".format( - task_name, task_id) - - # Update the result with failure status and log the error message - self.update_result("failed", False, self.msg, "ERROR") - return True - - return False - - def get_fabric_ids_list(self, site_details): - """ - Extracts a list of fabric IDs from the provided site details. - Parameters: - - site_details (dict): A dictionary containing site information. Each key-value pair - represents a site, where the value is another dictionary that - includes a 'fabric_id'. - Returns: - list: A list of fabric IDs extracted from the site details. - Description: - This method iterates over the values in the provided site_details dictionary, extracts - the 'fabric_id' from each value, and appends it to a list. The resulting list of fabric IDs - is then returned. - """ - # Initialize an empty list to store fabric IDs - fabric_ids_list = [] - - # Iterate over each site's information in the site details - for site_info in site_details.values(): - fabric_ids_list.append(site_info['fabric_id']) - return fabric_ids_list - - def validate_merged_parameters(self, config): - """ - Validate that the required parameters are present in the configuration for performing - Add or Update Extranet Policy operations. - Parameters: - - config (dict): A dictionary containing the configuration parameters to be validated. - Returns: - None: This function does not return a value. It logs messages and raises exceptions - if required parameters are missing. - Description: - This method checks the provided configuration for the presence of the required parameters: - 'provider_virtual_network' and 'subscriber_virtual_networks'. If any of these parameters - are missing, it logs an error message and raises an exception to halt execution. If all - required parameters are present, it logs a success message indicating successful validation. - """ - # Check for provider_virtual_network - provider_virtual_network = config.get("provider_virtual_network") - if provider_virtual_network is None: - msg = ("Missing required parameter: 'provider_virtual_network'. " - "(extranet_policy_name, provider_virtual_network, and subscriber_virtual_networks) - " - "are the required parameters for performing Add or Update Extranet Policy operations.") - self.log(msg, "ERROR") - self.module.fail_json(msg) - - # Check for subscriber_virtual_networks - subscriber_virtual_networks = config.get("subscriber_virtual_networks") - if subscriber_virtual_networks is None: - msg = ( - "Missing required parameter: 'subscriber_virtual_networks'. " - "(extranet_policy_name, provider_virtual_network, and subscriber_virtual_networks) - " - "are the required parameters for performing Add or Update Extranet Policy operations." - ) - self.log(msg, "ERROR") - self.module.fail_json(msg) - - self.log( - "Successfully validated that the required parameters — (extranet_policy_name, " - "provider_virtual_network, and subscriber_virtual_networks) are provided", - "INFO" - ) - - def get_add_extranet_policy_params(self, config, site_details=None): - """ - Generate parameters required for adding an Extranet Policy based on the provided configuration and site details. - Parameters: - - config (dict): A dictionary containing the configuration parameters. - - site_details (dict, optional): A dictionary containing site details. Default is None. - Returns: - dict: A dictionary containing the parameters for adding an Extranet Policy. - Description: - This method constructs a dictionary of parameters required for adding an Extranet Policy. - It includes the 'extranetPolicyName', 'providerVirtualNetworkName', and 'subscriberVirtualNetworkNames' - from the configuration. If 'fabric_sites' are provided in the configuration and site details are available, - it also includes the 'fabricIds' obtained from the site details. - """ - # Initialize the parameters dictionary with basic required parameters - add_extranet_policy_params = { - "extranetPolicyName": config.get("extranet_policy_name"), - "providerVirtualNetworkName": config.get("provider_virtual_network"), - "subscriberVirtualNetworkNames": config.get("subscriber_virtual_networks") - } - - # Check if 'fabric_sites' are provided and site details are available - if config.get("fabric_sites") and site_details: - add_extranet_policy_params["fabricIds"] = self.get_fabric_ids_list(site_details) - - return add_extranet_policy_params - - def get_update_extranet_policy_params(self, config, extranet_policy_id, site_details=None): - """ - Generate parameters required for updating an Extranet Policy based on the provided configuration, - policy ID, and site details. - Parameters: - config (dict): A dictionary containing the configuration parameters. - extranet_policy_id (str): The ID of the Extranet Policy to be updated. - site_details (dict, optional): A dictionary containing site details. Default is None. - Returns: - dict: A dictionary containing the parameters for updating an Extranet Policy. - Description: - This method constructs a dictionary of parameters required for updating an Extranet Policy. - It includes the 'id' of the policy, 'extranetPolicyName', 'providerVirtualNetworkName', and - 'subscriberVirtualNetworkNames' from the configuration. If 'fabric_sites' are provided in the - configuration and site details are available, it also includes the 'fabricIds' obtained from the - site details. - """ - # Initialize the parameters dictionary with basic required parameters - update_extranet_policy_params = { - "id": extranet_policy_id, - "extranetPolicyName": config.get("extranet_policy_name"), - "providerVirtualNetworkName": config.get("provider_virtual_network"), - "subscriberVirtualNetworkNames": config.get("subscriber_virtual_networks") - } - - # Check if 'fabric_sites' are provided and site details are available - if config.get("fabric_sites") and site_details: - update_extranet_policy_params["fabricIds"] = self.get_fabric_ids_list(site_details) - - return update_extranet_policy_params - - def get_delete_extranet_policy_params(self, extranet_policy_id): - """ - Generate parameters required for deleting an Extranet Policy based on the provided policy ID. - Parameters: - extranet_policy_id (str): The unique identifier of the Extranet Policy to be deleted. - Returns: - dict: A dictionary containing the parameters for deleting an Extranet Policy. - Description: - This method constructs a dictionary of parameters required for deleting an Extranet Policy. - It includes the 'id' of the policy, which is necessary for identifying the specific policy - to be deleted. - """ - # Create a dictionary with the extranet policy ID - delete_extranet_policy_params = { - "id": extranet_policy_id - } - - return delete_extranet_policy_params - - def validate_site_exists(self, site_name): - """ - Checks the existence of a site in Cisco Catalyst Center. - Parameters: - site_name (str): The name of the site to be checked. - Returns: - tuple: A tuple containing two values: - - site_exists (bool): Indicates whether the site exists (True) or not (False). - - site_id (str or None): The ID of the site if it exists, or None if the site is not found. - Description: - This method queries Cisco Catalyst Center to determine if a site with the provided name exists. - If the site is found, it sets "site_exists" to True and retrieves the site"s ID. - If the site does not exist, "site_exists" is set to False, and "site_id" is None. - If an exception occurs during the site lookup, an error message is logged, and the module fails. - """ - site_exists = False - site_id = None - response = None - - # Attempt to retrieve site information from Catalyst Center - try: - response = self.dnac._exec( - family="sites", - function="get_site", - op_modifies=True, - params={"name": site_name}, - ) - self.log("Response received post 'get_site' API call: {0}".format(str(response)), "DEBUG") - - # Process the response if available - if response["response"]: - site = response.get("response") - site_id = site[0].get("id") - site_exists = True - else: - self.log("No response received from the 'get_site' API call.", "WARNING") - - except Exception as e: - # Log an error message and fail if an exception occurs - self.log("An error occurred while retrieving site details for Site '{0}' using 'get_site' API call: {1}".format(site_name, str(e)), "ERROR") - - if not site_exists: - self.msg = "An error occurred while retrieving site details for Site '{0}'. Please verify that the site exists.".format(site_name) - self.update_result("failed", False, self.msg, "ERROR") - self.check_return_status() - - return (site_exists, site_id) - - def get_site_details(self, fabric_sites): - """ - Retrieve details for each site in the provided fabric sites list. - Parameters: - - fabric_sites (list): A list of site names to be validated and detailed. - Returns: - dict: A dictionary containing the details for each site, including existence and site ID. - Description: - This method takes a list of fabric sites and checks if each site exists using the validate_site_exists method. - It constructs a dictionary where each key is a site name and the value is another dictionary containing - 'site_exists' (a boolean indicating if the site exists) and 'site_id' (the unique identifier of the site). - """ - # Initialize an empty dictionary to store site details - site_details = {} - - # Iterate over each site in the provided fabric sites list - for site in fabric_sites: - # Validate if the site exists and retrieve its ID - (site_exists, site_id) = self.validate_site_exists(site) - site_details[site] = { - "site_exists": site_exists, - "site_id": site_id, - } - - return site_details - - def get_fabric_sites(self, site_name, site_id): - """ - Retrieve the fabric ID for a given site using the SDA 'get_fabric_sites' API call. - Parameters: - - site_name (str): The name of the site. - - site_id (str): The unique identifier of the site. - Returns: - str: The fabric ID if found, otherwise None. - Description: - This method calls the SDA 'get_fabric_sites' API to retrieve the fabric ID for a specified site. It logs the response, - processes the response to extract the fabric ID, and handles any exceptions that occur during the API call. - """ - try: - # Call the SDA 'get_fabric_sites' API with the provided site ID - response = self.dnac._exec( - family="sda", - function="get_fabric_sites", - op_modifies=True, - params={"siteId": site_id}, - ) - self.log("Response received post SDA - 'get_fabric_sites' API call: {0}".format(str(response)), "DEBUG") - - # Process the response if available - if response["response"]: - fabric_id = response.get("response")[0]["id"] - return fabric_id - else: - self.log("No response received from the SDA - 'get_fabric_sites' API call.", "WARNING") - return None - except Exception as e: - # Log an error message and fail if an exception occurs - self.msg = ( - "An error occurred while retrieving fabric Site 'Id' for Site '{0}' using SDA - " - "'get_fabric_sites' API call: {1}".format(site_name, str(e)) - ) - self.update_result("failed", False, self.msg, "ERROR") - self.check_return_status() - - def get_fabric_sites_ids(self, site_details): - """ - Retrieve and update fabric IDs for a list of sites. - Parameters: - - site_details (dict): A dictionary where each key is a site name and the value is another dictionary - containing site information, including "site_id". - Returns: - dict: The updated dictionary with fabric IDs added to each site's information. - Description: - This method iterates through the provided `site_details` dictionary, retrieves the fabric ID for each site - by calling the `get_fabric_sites` method, and logs the retrieved fabric IDs along with site details. - It updates the `site_details` dictionary to include the fabric ID for each site and logs the updated - information. - """ - for site_name, site_info in site_details.items(): - site_id = site_info["site_id"] - # Get the fabric ID using the site name and site ID - fabric_id = self.get_fabric_sites(site_name, site_id) - self.log("Fabric Id: {0} collected for the fabric_site: {1} with siteId: {2}".format(fabric_id, site_name, site_id)) - site_info["fabric_id"] = fabric_id - self.log("Updated 'site_details' with the fabric_ids of each site. {0}".format(site_details)) - return site_details - - def get_extranet_policies(self, extranet_policy_name): - """ - Retrieve extranet policies for a given policy name using the SDA 'get_extranet_policies' API call. - Parameters: - - extranet_policy_name (str): The name of the extranet policy to retrieve. - Returns: - dict or None: The response dictionary containing policy details if found, otherwise None. - Description: - This method calls the SDA 'get_extranet_policies' API to retrieve details for the specified extranet - policy name. It logs the response received from the API call and processes it. If the API call is successful - and returns data, the first item in the response is returned. If no data is received or an exception occurs, - appropriate warnings or error messages are logged. - """ - try: - # Execute the API call to get extranet policie - response = self.dnac._exec( - family="sda", - function="get_extranet_policies", - op_modifies=True, - params={"extranetPolicyName": extranet_policy_name}, - ) - self.log("Response received post SDA - 'get_extranet_policies' API call: {0}".format(str(response)), "DEBUG") - - # Process the response if available - if response.get("response"): - response = response.get("response")[0] - return response - else: - self.log("No response received from the SDA - 'get_extranet_policies' API call.", "WARNING") - return None - except Exception as e: - # Log an error message and fail if an exception occurs - self.msg = ( - "An error occurred while retrieving Extranet Policy Details: '{0}' using SDA - " - "'get_extranet_policies' API call: {1}".format(extranet_policy_name, str(e)) - ) - self.update_result("failed", False, self.msg, "ERROR") - self.check_return_status() - - def validate_extranet_policy_exists(self, config): - """ - Check if an extranet policy exists and retrieve its details. - Parameters: - - config (dict): A dictionary containing configuration details, including the key "extranet_policy_name". - Returns: - tuple: A tuple containing: - - bool: `True` if the extranet policy exists, otherwise `False`. - - str or None: The ID of the extranet policy if it exists, otherwise `None`. - - dict or None: The details of the extranet policy if it exists, otherwise `None`. - Description: - This method verifies the existence of an extranet policy based on the name provided in the `config` dictionary. - It calls the `get_extranet_policies` method to retrieve policy details. If the policy is found, it sets - `extranet_policy_exists` to `True` and extracts the policy ID and details. The method returns a tuple containing - the existence status, policy ID, and policy details. - """ - # Initialize variables to default values - extranet_policy_exists = False - extranet_policy_id = None - - extranet_policy_name = config.get("extranet_policy_name") - extranet_policy_details = self.get_extranet_policies(extranet_policy_name) - - # Check if the policy details were retrieved successfully - if extranet_policy_details: - extranet_policy_exists = True - extranet_policy_id = extranet_policy_details["id"] - - return (extranet_policy_exists, extranet_policy_id, extranet_policy_details) - - def compare_extranet_policies(self, extranet_policy_details, update_extranet_policy_params): - """ - Compare the details of two extranet policies to check if they are equivalent. - Parameters: - - extranet_policy_details (dict): A dictionary containing the current details of the extranet policy. - - update_extranet_policy_params (dict): A dictionary containing the updated policy parameters to compare against. - Returns: - bool: `True` if all values for the keys match between the two dictionaries, `False` otherwise. - Description: - This method compares the details of two extranet policies by iterating over each key in the `extranet_policy_details` - dictionary and checking if the corresponding values in the `update_extranet_policy_params` dictionary match. - Lists are compared regardless of order, while other values are compared directly. The method returns `True` if - all values are equivalent, and `False` if any values differ. - """ - # Iterate over each key in the extranet policy details and compare the details - for key in extranet_policy_details: - value1 = extranet_policy_details.get(key) - value2 = update_extranet_policy_params.get(key) - - if isinstance(value1, list) and isinstance(value2, list): - # Compare lists regardless of order - if sorted(value1) != sorted(value2): - return False - else: - # Compare values directly - if value1 != value2: - return False - - return True - - def get_task_status(self, task_id, task_name): - """ - Retrieve the status of a task by its ID. - Parameters: - - task_id (str): The ID of the task whose status is to be retrieved. - - task_name (str): The name of the task. - Returns: - response (dict): The response containing the status of the task. - Note: - This method makes an API call to retrieve the task status and logs the status information. - If an error occurs during the API call, it will be caught and logged. - """ - # Make an API call to retrieve the task status - try: - response = self.dnac_apply["exec"]( - family="task", - function="get_task_by_id", - params=dict(task_id=task_id), - op_modifies=True, - ) - self.log("Response received post 'get_task_by_id' API Call for the Task {0} with Task id {1} " - "is {2}".format(task_name, str(task_id), str(response)), "DEBUG") - - if response["response"]: - response = response["response"] - else: - self.log("No response received from the 'get_task_by_id' API call.", "CRITICAL") - return response - - # Log the error if an exception occurs during the API call - except Exception as e: - self.msg = "Error occurred while retrieving 'get_task_by_id' for Task {0} with Task id {1}. Error: {2}".format(task_name, task_id, str(e)) - self.update_result("failed", False, self.msg, "ERROR") - self.check_return_status() - - def add_extranet_policy(self, add_extranet_policy_params): - """ - Add a new extranet policy using the SDA 'add_extranet_policy' API call. - Parameters: - - add_extranet_policy_params (dict): A dictionary containing the parameters for the new extranet policy to be added. - Returns: - str or None: The task ID if the policy is added successfully, otherwise `None`. - Description: - This method sends a request to add a new extranet policy using the SDA 'add_extranet_policy' API. It logs the - response from the API call and processes it to extract the task ID. If the policy is added successfully, the - task ID is returned. If the API call does not return a response or an exception occurs, appropriate warnings or - error messages are logged. - """ - try: - # Execute the API call to add a new extranet policy - response = self.dnac._exec( - family="sda", - function="add_extranet_policy", - op_modifies=True, - params={"payload": [add_extranet_policy_params]}, - ) - self.log("Response received post SDA - 'add_extranet_policy' API call: {0}".format(str(response)), "DEBUG") - - # Process the response if available - if response["response"]: - self.result.update(dict(response=response["response"])) - self.log("Task Id for the 'add_extranet_policy' task is {0}".format(response["response"].get("taskId")), "INFO") - # Return the task ID - return response["response"].get("taskId") - else: - self.log("No response received from the SDA - 'add_extranet_policy' API call.", "WARNING") - return None - except Exception as e: - # Log an error message and fail if an exception occurs - self.msg = ( - "An error occurred while Adding Extranet Policy to the Cisco Catalyst Center. " - "add_extranet_policy_params: {0} Error: {1}".format(add_extranet_policy_params, str(e)) - ) - self.update_result("failed", False, self.msg, "ERROR") - self.check_return_status() - - def get_add_extranet_policy_status(self, task_id): - """ - Monitor the status of the 'Add Extranet Policy' task until completion or failure. - Parameters: - - task_id (str): The unique identifier of the task to monitor. - Returns: - self: The instance of the class, allowing for method chaining. - Description: - This method continuously polls the status of an ongoing task identified by `task_id`. It retrieves task status - using `get_task_status` and handles various outcomes, including errors, timeouts, and successful completion. - If the task encounters errors or fails, it logs appropriate error messages and updates the result. If the task - completes successfully, it logs a success message and updates the result accordingly. The method will break - out of the loop either on successful completion, encountering an error, or when a timeout condition is met. - """ - task_name = "Add Extranet Policy" - start_time = time.time() - - while True: - response = self.get_task_status(task_id, task_name) - - # Check if response returned - if not response: - self.msg = "Error retrieving Task status for the task_name {0} task_id {1}".format(task_name, task_id) - self.update_result("failed", False, self.msg, "ERROR") - break - - # Check if the elapsed time exceeds the timeout - if self.exit_while_loop(start_time, task_id, task_name, response): - break - - # Handle error if task execution encounters an error - if response.get("isError"): - if response.get("failureReason"): - failure_reason = response.get("failureReason") - self.msg = ( - "An error occurred while performing {0} task for add_extranet_policy_params: {1}. " - "The operation failed due to the following reason: {2}".format( - task_name, self.want.get("add_extranet_policy_params"), failure_reason - ) - ) - self.update_result("failed", False, self.msg, "ERROR") - break - else: - self.msg = ( - "An error occurred while performing {0} task for add_extranet_policy_params: {1}. " - .format(task_name, self.want.get("add_extranet_policy_params")) - ) - self.update_result("failed", False, self.msg, "ERROR") - break - - # Check if task completed successfully - if not response.get("isError") and response.get("progress") == "TASK_PROVISION": - if "processcfs_complete=true" in response.get("data").lower(): - extranet_policy_name = self.want.get("add_extranet_policy_params").get("extranetPolicyName") - self.msg = "Extranet Policy - '{0}' has been successfully added to the Cisco Catalyst Center.".format(extranet_policy_name) - self.update_result("success", True, self.msg, "INFO") - break - return self - - def update_extranet_policy(self, update_extranet_policy_params): - """ - Update an existing extranet policy using the SDA 'update_extranet_policy' API call. - Parameters: - - update_extranet_policy_params (dict): A dictionary containing the parameters for updating the extranet policy. - Returns: - str or None: The task ID if the update request is processed successfully, otherwise `None`. - Description: - This method sends a request to update an existing extranet policy using the SDA 'update_extranet_policy' API. - It logs the response from the API call and processes it to extract the task ID. If the API call is successful and - returns a response, the method updates the result with the response details and returns the task ID. If no response - is received or if an exception occurs, appropriate warnings or error messages are logged. - """ - try: - # Execute the API call to update the extranet policy with the provided parameters - response = self.dnac._exec( - family="sda", - function="update_extranet_policy", - op_modifies=True, - params={"payload": [update_extranet_policy_params]}, - ) - self.log("Response received post SDA - 'update_extranet_policy' API call: {0}".format(str(response)), "DEBUG") - - # Process the response if available - if response["response"]: - self.result.update(dict(response=response["response"])) - self.log("Task Id for the 'update_extranet_policy' task is {0}".format(response["response"].get("taskId")), "INFO") - # Return the task ID - return response["response"].get("taskId") - else: - self.log("No response received from the SDA - 'update_extranet_policy' API call.", "WARNING") - return None - except Exception as e: - # Log an error message and fail if an exception occurs - self.msg = ( - "An error occurred while Updating Extranet Policy. " - "update_extranet_policy_params: {0}. Error - {1} ".format(update_extranet_policy_params, str(e)) - ) - self.update_result("failed", False, self.msg, "ERROR") - self.check_return_status() - - def get_update_extranet_policy_status(self, task_id): - """ - Monitor the status of the 'Update Extranet Policy' task until completion or failure. - Parameters: - - task_id (str): The unique identifier of the task to monitor. - Returns: - self: The instance of the class, allowing for method chaining. - Description: - This method continuously polls the status of an ongoing update task identified by `task_id`. It retrieves the - task status using `get_task_status` and handles different outcomes such as errors, timeouts, and successful - completion. The method logs appropriate messages based on the status of the task and updates the result with - success or failure information. The method exits the loop upon encountering an error, exceeding the timeout, - or successful completion of the task. - """ - task_name = "Update Extranet Policy" - start_time = time.time() - - while True: - response = self.get_task_status(task_id, task_name) - - # Check if response returned - if not response: - self.msg = "Error retrieving Task status for the task_name {0} task_id {1}".format(task_name, task_id) - self.update_result("failed", False, self.msg, "ERROR") - break - - # Check if the elapsed time exceeds the timeout - if self.exit_while_loop(start_time, task_id, task_name, response): - break - - # Handle error if task execution encounters an error - if response.get("isError"): - if response.get("failureReason"): - failure_reason = response.get("failureReason") - self.msg = ( - "An error occurred while performing {0} task for update_extranet_policy_params: {1}. " - "The operation failed due to the following reason: {2}".format( - task_name, self.want.get("update_extranet_policy_params"), failure_reason - ) - ) - self.update_result("failed", False, self.msg, "ERROR") - break - else: - self.msg = ( - "An error occurred while performing {0} task for update_extranet_policy_params: {1}. " - .format(task_name, self.want.get("update_extranet_policy_params")) - ) - self.update_result("failed", False, self.msg, "ERROR") - break - - # Check if task completed successfully - if not response.get("isError") and response.get("progress") == "TASK_MODIFY_PUT": - if "processcfs_complete=true" in response.get("data").lower(): - extranet_policy_name = self.want.get("update_extranet_policy_params").get("extranetPolicyName") - self.msg = "Extranet Policy - '{0}' has been successfully updated!".format(extranet_policy_name) - self.update_result("success", True, self.msg, "INFO") - break - - return self - - def delete_extranet_policy(self, delete_extranet_policy_params): - """ - Delete an extranet policy using the SDA 'delete_extranet_policy_by_id' API call. - Parameters: - - delete_extranet_policy_params (dict): A dictionary containing the parameters for deleting the extranet policy, - including the policy ID or other identifying details. - Returns: - str or None: The task ID if the delete request is processed successfully, otherwise `None`. - Description: - This method sends a request to delete an extranet policy using the SDA 'delete_extranet_policy_by_id' API. - It logs the response from the API call and processes it to extract the task ID. If the API call is successful and - returns a response, the method updates the result with the response details and returns the task ID. If no response - is received or if an exception occurs, appropriate warnings or error messages are logged. - """ - try: - # Execute the API call to delete the extranet policy with the provided parameters - response = self.dnac._exec( - family="sda", - function="delete_extranet_policy_by_id", - op_modifies=True, - params=delete_extranet_policy_params, - ) - self.log("Response received post SDA - 'delete_extranet_policy_by_id' API call: {0}".format(str(response)), "DEBUG") - - # Process the response if available - if response["response"]: - self.result.update(dict(response=response["response"])) - self.log("Task Id for the 'delete_extranet_policy_by_id' task is {0}".format(response["response"].get("taskId")), "INFO") - # Return the task ID - return response["response"].get("taskId") - else: - self.log("No response received from the SDA - 'delete_extranet_policy_by_id' API call.", "WARNING") - return None - except Exception as e: - # Log an error message and fail if an exception occurs - self.msg = ( - "An error occurred while Deleting Extranet Policy. " - "delete_extranet_policy_params: {0}. Error - {1} ".format(delete_extranet_policy_params, str(e)) - ) - self.update_result("failed", False, self.msg, "ERROR") - self.check_return_status() - - def get_delete_extranet_policy_status(self, task_id): - """ - Monitor the status of the 'Delete Extranet Policy' task until completion or failure. - Parameters: - - task_id (str): The unique identifier of the task to monitor. - Returns: - self: The instance of the class, allowing for method chaining. - Description: - This method continuously polls the status of an ongoing delete task identified by `task_id`. It uses the - `get_task_status` method to check the task status and handles various outcomes, such as errors, timeouts, - and successful completion. The method logs appropriate messages based on the task's status and updates the - result with success or failure information. The monitoring loop exits upon encountering an error, exceeding - the timeout, or successfully completing the task. - """ - task_name = "Delete Extranet Policy" - start_time = time.time() - - while True: - response = self.get_task_status(task_id, task_name) - - # Check if response returned - if not response: - self.msg = "Error retrieving Task status for the task_name {0} task_id {1}".format(task_name, task_id) - self.update_result("failed", False, self.msg, "ERROR") - break - - # Check if the elapsed time exceeds the timeout - if self.exit_while_loop(start_time, task_id, task_name, response): - break - - # Handle error if task execution encounters an error - if response.get("isError"): - if response.get("failureReason"): - failure_reason = response.get("failureReason") - self.msg = ( - "An error occurred while performing {0} task for delete_extranet_policy_params: {1}. " - "The operation failed due to the following reason: {2}".format( - task_name, self.want.get("delete_extranet_policy_params"), failure_reason - ) - ) - self.update_result("failed", False, self.msg, "ERROR") - break - else: - self.msg = ( - "An error occurred while performing {0} task for " - "delete_extranet_policy_params: {1}. ".format( - task_name, self.want.get("delete_extranet_policy_params") - ) - ) - self.update_result("failed", False, self.msg, "ERROR") - break - - # Check if task completed successfully - if not response.get("isError") and response.get("progress") == "TASK_TERMINATE": - if "processcfs_complete=true" in response.get("data").lower(): - extranet_policy_name = self.want.get("extranet_policy_name") - self.msg = "Extranet Policy - '{0}' has been successfully deleted!".format(extranet_policy_name) - self.update_result("success", True, self.msg, "INFO") - break - - return self - - def get_have(self, config): - """ - Retrieve the current state of the extranet policy based on the provided configuration. - Parameters: - - config (dict): Configuration dictionary containing site details. - Returns: - self: The instance of the class, allowing for method chaining. - Description: - This method checks if the extranet policy specified in the `config` exists. It uses the - `validate_extranet_policy_exists` method to determine if the policy exists and to retrieve its details. - The method logs the current state of the extranet policy and updates the instance attribute `have` with - information about the existence, ID, and details of the extranet policy. It returns the instance for - method chaining. - """ - have = {} - - # check if given site exits, if exists store current site info - (extranet_policy_exists, extranet_policy_id, extranet_policy_details) = self.validate_extranet_policy_exists(config) - - self.log("Current Extranet Policy details (have): {0}".format(str(extranet_policy_details)), "DEBUG") - - have["extranet_policy_exists"] = extranet_policy_exists - have["extranet_policy_id"] = extranet_policy_id - have["current_extranet_policy"] = extranet_policy_details - - self.have = have - self.log("Current State (have): {0}".format(str(self.have)), "INFO") - - return self - - def get_want(self, config, state): - """ - Generate the desired state parameters for API calls based on the provided configuration and state. - Parameters: - - config (dict): Configuration dictionary containing site and policy details. - - state (str): Desired state, which can be 'merged' or 'delete'. - Returns: - self: The instance of the class, allowing for method chaining. - Description: - This method determines the parameters required for API calls based on the desired state and configuration. - It checks if the extranet policy exists and sets the appropriate parameters for creating, updating, or deleting - the policy. For the 'merged' state, it prepares parameters for updating the policy if it exists or creating - it if it does not. For the 'delete' state, it prepares parameters for deleting the policy if it exists. The - method logs the created parameters and updates the instance attribute `want` with these parameters. It returns - the instance for method chaining. - """ - # Initialize want - want = {} - site_details = {} - - self.log("Creating Parameters for API Calls with state: {0}".format(state)) - - # Identify if policy already exists or needs to be created - extranet_policy_name = config.get("extranet_policy_name") - extranet_policy_exists = self.have.get("extranet_policy_exists") - extranet_policy_id = self.have.get("extranet_policy_id") - extranet_policy_details = self.have.get("current_extranet_policy") - - if state == "merged": - self.validate_merged_parameters(config) - fabric_sites = config.get("fabric_sites") - if fabric_sites: - self.log("Attempting to get the 'SiteId' for the provided fabric sites: {0}".format(fabric_sites), "DEBUG") - site_details = self.get_site_details(fabric_sites) - self.log("Attempting to get the fabric 'Id' for the provided fabric sites: {0}".format(fabric_sites), "DEBUG") - site_details = self.get_fabric_sites_ids(site_details) - - if extranet_policy_exists: - self.log( - "Extranet Policy - '{0}' exists in the Cisco Catalyst Center, " - "therefore setting 'update_extranet_policy_params'.".format(extranet_policy_name), - "DEBUG" - ) - want = dict(update_extranet_policy_params=self.get_update_extranet_policy_params(config, extranet_policy_id, site_details)) - if self.compare_extranet_policies(extranet_policy_details, want["update_extranet_policy_params"]): - self.msg = ( - "Extranet Policy - '{0}' is already same as the update requested, " - "and hence an update operation is not required.".format(extranet_policy_name) - ) - self.update_result("ok", False, self.msg, "INFO") - self.check_return_status() - return self - else: - self.log( - "Extranet Policy - '{0}' does not exist in the Cisco Catalyst Center, " - "therefore setting 'add_extranet_policy_params'.".format(extranet_policy_name), - "DEBUG" - ) - want = dict(add_extranet_policy_params=self.get_add_extranet_policy_params(config, site_details)) - else: - if extranet_policy_exists: - self.log( - "State is delete and Extranet Policy - '{0}' exists in the Cisco Catalyst Center, " - "therefore setting 'delete_extranet_policy_params'.".format(extranet_policy_name), - "DEBUG" - ) - want = dict(extranet_policy_name=extranet_policy_name, - delete_extranet_policy_params=self.get_delete_extranet_policy_params(extranet_policy_id)) - else: - self.msg = ( - "Extranet Policy - '{0}' does not exist in the Cisco Catalyst Center and " - "hence delete operation not required.".format(extranet_policy_name) - ) - self.update_result("ok", False, self.msg, "INFO") - self.check_return_status() - return self - - self.want = want - self.log("Desired State (want): {0}".format(str(self.want)), "INFO") - return self - - def get_diff_merged(self): - """ - Executes actions based on the desired state parameters and checks their status. - Parameters: - - None - Returns: - self: The instance of the class, allowing for method chaining. - Description: - This method iterates through a map of action parameters to their corresponding functions for execution and status - checking. For each action parameter present in the desired state (`want`), the associated action function is called - to perform the action, and the corresponding status function is used to check the result. It ensures that all actions - specified in the desired state are executed and their statuses are verified. The method returns the instance for method - chaining. - """ - action_map = { - "add_extranet_policy_params": (self.add_extranet_policy, self.get_add_extranet_policy_status), - "update_extranet_policy_params": (self.update_extranet_policy, self.get_update_extranet_policy_status), - } - - for action_param, (action_func, status_func) in action_map.items(): - # Execute the action and check its status - if self.want.get(action_param): - result_task_id = action_func(self.want.get(action_param)) - status_func(result_task_id).check_return_status() - return self - - def get_diff_deleted(self): - """ - Executes deletion actions based on the desired state parameters and checks their status. - Parameters: - - None - Returns: - self: The instance of the class, allowing for method chaining. - Description: - This method iterates through a map of deletion action parameters to their corresponding functions for execution and - status checking. For each deletion action parameter present in the desired state (`want`), the associated action - function is called to perform the deletion, and the corresponding status function is used to check the result. - It ensures that all deletion actions specified in the desired state are executed and their statuses are verified. - The method returns the instance for method chaining. - """ - action_map = { - "delete_extranet_policy_params": (self.delete_extranet_policy, self.get_delete_extranet_policy_status) - - } - for action_param, (action_func, status_func) in action_map.items(): - # Execute the action and check its status - if self.want.get(action_param): - result_task_id = action_func(self.want.get(action_param)) - status_func(result_task_id).check_return_status() - return self - - def verify_diff_merged(self, config): - """ - Verifies the results of the merged state operations by comparing the state before and after the operations. - Parameters: - - config (dict): Configuration dictionary containing site and policy details. - Returns: - self: The instance of the class, allowing for method chaining. - Description: - This method performs verification of operations related to the 'merged' state. It first retrieves the state before - performing any operations and then compares it with the state after the operations. For add and update operations, - it logs the states before and after the operations and verifies the success based on the presence or absence of - the extranet policy and whether any changes were detected. It ensures that the operations have been performed as - expected and logs appropriate messages based on the results. - """ - pre_operation_state = self.have.copy() - desired_state = self.want - self.get_have(config) - post_operation_state = self.have.copy() - extranet_policy_name = config.get("extranet_policy_name") - - if desired_state.get("add_extranet_policy_params"): - self.log("State before performing ADD Extranet Policy operation: {0}".format(str(pre_operation_state)), "INFO") - self.log("Desired State: {}".format(str(desired_state)), "INFO") - self.log("State after performing ADD Extranet Policy operation: {0}".format(str(post_operation_state)), "INFO") - - if post_operation_state["extranet_policy_exists"]: - self.log("Verified the success of ADD Extranet Policy - '{0}' operation.".format(extranet_policy_name), "INFO") - else: - self.log( - "The ADD Extranet Policy - '{0}' operation may not have been successful " - "since the Extranet Policy does not exist in the Cisco Catalyst Center.".format(extranet_policy_name), - "WARNING" - ) - - if self.want.get("update_extranet_policy_params"): - self.log("State before performing UPDATE Extranet Policy operation: {0}".format(str(pre_operation_state)), "INFO") - self.log("Desired State: {}".format(str(desired_state)), "INFO") - self.log("State after performing UPDATE Extranet Policy operation - '{0}'".format(str(post_operation_state)), "INFO") - - if not self.compare_extranet_policies(pre_operation_state["current_extranet_policy"], post_operation_state["current_extranet_policy"]): - self.log("Verified the success of UPDATE Extranet Policy - '{0}' operation.".format(extranet_policy_name), "INFO") - else: - self.log( - "The UPDATE Extranet Policy - '{0}' operation may not have been performed or " - "may not have been successful because no change was detected in the Extranet Policy " - "in the Cisco Catalyst Center".format(extranet_policy_name), - "WARNING" - ) - return self - - def verify_diff_deleted(self, config): - """ - Verifies the results of the delete state operation by comparing the state before and after the delete operation. - Parameters: - - config (dict): Configuration dictionary containing site and policy details. - Returns: - self: The instance of the class, allowing for method chaining. - Description: - This method performs verification of the delete operation by comparing the state before and after the operation. - It introduces a delay to allow the deletion to process and then retrieves the state. It checks if the extranet policy - no longer exists and logs the result of the delete operation. It ensures that the delete operation was successful - by verifying the absence of the extranet policy and logs appropriate messages based on the outcome. - """ - pre_operation_state = self.have.copy() - desired_state = self.want - time.sleep(10) - self.get_have(config) - post_operation_state = self.have.copy() - extranet_policy_name = config.get("extranet_policy_name") - - self.log("State before performing DELETE Extranet Policy operation: {0}".format(str(pre_operation_state)), "INFO") - self.log("Desired State: {}".format(str(desired_state)), "INFO") - self.log("State after performing DELETE Extranet Policy operation: {0}".format(str(post_operation_state)), "INFO") - - if not post_operation_state["extranet_policy_exists"]: - self.log("Verified the success of DELETE Extranet Policy - '{0}' operation".format(extranet_policy_name), "INFO") - else: - self.log( - "The DELETE Extranet Policy - '{0}' operation may not have been successful since " - "the policy still exists in the Cisco Catalyst Center.".format(extranet_policy_name), - "WARNING" - ) - return self - - -def main(): - """ main entry point for module execution - """ - # Define the specification for the module"s arguments - element_spec = {"dnac_host": {"required": True, "type": "str"}, - "dnac_port": {"type": "str", "default": "443"}, - "dnac_username": {"type": "str", "default": "admin", "aliases": ["user"]}, - "dnac_password": {"type": "str", "no_log": True}, - "dnac_verify": {"type": "bool", "default": "True"}, - "dnac_version": {"type": "str", "default": "2.2.3.3"}, - "dnac_debug": {"type": "bool", "default": False}, - "dnac_log_level": {"type": "str", "default": "WARNING"}, - "dnac_log_file_path": {"type": "str", "default": "dnac.log"}, - "dnac_log_append": {"type": "bool", "default": True}, - "dnac_log": {"type": "bool", "default": False}, - "validate_response_schema": {"type": "bool", "default": True}, - "config_verify": {"type": "bool", "default": False}, - "dnac_api_task_timeout": {"type": "int", "default": 1200}, - "dnac_task_poll_interval": {"type": "int", "default": 2}, - "config": {"required": True, "type": "list", "elements": "dict"}, - 'state': {'default': 'merged', 'choices': ['merged', 'deleted']} - } - - # Initialize the Ansible module with the provided argument specifications - module = AnsibleModule(argument_spec=element_spec, - supports_check_mode=False) - - # Initialize the NetworkCompliance object with the module - ccc_sda_extranet_policies = SDAExtranetPolicies(module) - - # Get the state parameter from the provided parameters - state = ccc_sda_extranet_policies.params.get("state") - - # Check if the state is valid - if state not in ccc_sda_extranet_policies.supported_states: - ccc_sda_extranet_policies.status = "invalid" - ccc_sda_extranet_policies.msg = "State {0} is invalid".format(state) - ccc_sda_extranet_policies.check_return_status() - - # Validate the input parameters and check the return status - ccc_sda_extranet_policies.validate_input().check_return_status() - - # Get the config_verify parameter from the provided parameters - config_verify = ccc_sda_extranet_policies.params.get("config_verify") - - # Iterate over the validated configuration parameters - for config in ccc_sda_extranet_policies.validated_config: - ccc_sda_extranet_policies.reset_values() - ccc_sda_extranet_policies.get_have(config).check_return_status() - ccc_sda_extranet_policies.get_want(config, state).check_return_status() - ccc_sda_extranet_policies.get_diff_state_apply[state]().check_return_status() - if config_verify: - ccc_sda_extranet_policies.verify_diff_state_apply[state](config).check_return_status() - - module.exit_json(**ccc_sda_extranet_policies.result) - - -if __name__ == '__main__': - main() diff --git a/plugins/modules/user_role_workflow_manager.py b/plugins/modules/user_role_workflow_manager.py index 0a3fdc5730..f927a0ae20 100644 --- a/plugins/modules/user_role_workflow_manager.py +++ b/plugins/modules/user_role_workflow_manager.py @@ -432,7 +432,7 @@ default: "read" type: str remote_device_support: - description: Allow Cisco support team to remotely troubleshoot any network devices managed by Cisco DNA Center. + description: Allow Cisco support team to remotely troubleshoot any network devices managed by Cisco Catalyst Center. choices: ["deny", "read", "write"] default: "deny" type: str @@ -2996,12 +2996,18 @@ def get_diff_deleted(self, config): task_response = self.delete_user(user_id_to_delete) self.log("Task response {0}".format(str(task_response)), "INFO") - responses = {"users_operation": {"response": task_response}} - self.msg = responses - self.result["response"] = self.msg - self.result["changed"] = True - self.status = "success" - self.log(self.msg, "INFO") + if task_response and "error_message" not in task_response: + responses = {"users_operation": {"response": task_response}} + self.msg = responses + self.result["response"] = self.msg + self.result["changed"] = True + self.status = "success" + self.log(self.msg, "INFO") + return self + + self.msg = task_response + self.log(self.msg, "ERROR") + self.status = "failed" return self self.msg = ( @@ -3020,22 +3026,43 @@ def delete_user(self, user_params): - self (object): An instance of a class used for interacting with Cisco Catalyst Center. - user_params (dict): A dictionary containing user information. Returns: - - response (dict): The API response from the "delete_user" function. + - response (dict): The API response from the "delete_user" function, or an error message if the operation fails. Description: - This method sends a request to delete a user in Cisco Catalyst Center using the provided user parameters. - It logs the response and returns it. - The function uses the "user_and_roles" family and the "delete_user_api" function from the Cisco Catalyst Center API. """ - self.log("delete user with user_params: {0}".format(str(user_params)), "DEBUG") - response = self.dnac._exec( - family="user_and_roles", - function="delete_user_api", - op_modifies=True, - params=user_params, - ) - self.log("Received API response from delete_user: {0}".format(str(response)), "DEBUG") - self.deleted_user.append(self.have.get("username")) - return response + username = self.have.get("username") + self.log("Attempting to delete user with user_params: {0}".format(str(user_params)), "DEBUG") + try: + response = self.dnac._exec( + family="user_and_roles", + function="delete_user_api", + op_modifies=True, + params=user_params, + ) + + if response and isinstance(response, dict): + self.log("Received API response from delete_user '{0}': {1}".format(username, str(response)), "DEBUG") + self.deleted_user.append(username) + return response + + error_msg = response.get("error_message", "Unknown error occurred while deleting user '{0}'".format(username)) + self.log("User deletion failed. Error: {0}".format(error_msg), "ERROR") + return {"error_message": error_msg} + + except Exception as e: + if "[404]" in str(e): + error_message = "User '{0}' was not found in Cisco Catalyst Center".format(username) + elif "[412]" in str(e): + error_message = ( + "User '{0}' tried to delete themselves or does not have right permission to delete a user in Cisco Catalyst Center".format( + username) + ) + else: + error_message = "Exception occurred while deleting user {0}: {1}".format(username, str(e)) + + return {"error_message": error_message} def delete_role(self, role_params): """ @@ -3210,6 +3237,7 @@ def update_user_role_profile_messages(self): self.result["changed"] = False result_msg_list = [] + no_update_list = [] if self.want.get("password_update") is not True: update_action = "created" @@ -3226,7 +3254,7 @@ def update_user_role_profile_messages(self): if self.no_update_user: no_update_user_msg = "User(s) '{0}' need no update in Cisco Catalyst Center.".format("', '".join(self.no_update_user)) - result_msg_list.append(no_update_user_msg) + no_update_list.append(no_update_user_msg) if self.payload.get("state") == "deleted": if self.deleted_user: @@ -3243,15 +3271,20 @@ def update_user_role_profile_messages(self): if self.no_update_role: no_update_role_msg = "Role(s) '{0}' need no update in Cisco Catalyst Center.".format("', '".join(self.no_update_role)) - result_msg_list.append(no_update_role_msg) + no_update_list.append(no_update_role_msg) if self.deleted_role: delete_role_msg = "Role(s) '{0}' deleted successfully from the Cisco Catalyst Center.".format("', '".join(self.deleted_role)) result_msg_list.append(delete_role_msg) - if result_msg_list: + if result_msg_list and no_update_list: + self.result["changed"] = True + self.msg = "{0} {1}".format(" ".join(result_msg_list), " ".join(no_update_list)) + elif result_msg_list: self.result["changed"] = True self.msg = " ".join(result_msg_list) + elif no_update_list: + self.msg = " ".join(no_update_list) else: self.msg = "No changes were made. No user or role actions were performed in Cisco Catalyst Center." diff --git a/tests/integration/ccc_network_settings_management/defaults/main.yml b/tests/integration/ccc_network_settings_management/defaults/main.yml new file mode 100644 index 0000000000..55a93fc23d --- /dev/null +++ b/tests/integration/ccc_network_settings_management/defaults/main.yml @@ -0,0 +1,2 @@ +--- +testcase: "*" \ No newline at end of file diff --git a/tests/integration/ccc_network_settings_management/meta/main.yml b/tests/integration/ccc_network_settings_management/meta/main.yml new file mode 100644 index 0000000000..5514b6a40c --- /dev/null +++ b/tests/integration/ccc_network_settings_management/meta/main.yml @@ -0,0 +1 @@ +dependencies: [] \ No newline at end of file diff --git a/tests/integration/ccc_network_settings_management/tasks/main.yml b/tests/integration/ccc_network_settings_management/tasks/main.yml new file mode 100644 index 0000000000..09e0832ca2 --- /dev/null +++ b/tests/integration/ccc_network_settings_management/tasks/main.yml @@ -0,0 +1,34 @@ +--- +- name: collect ccc test cases + find: + paths: "{{ role_path }}/tests" + patterns: "{{ testcase }}.yml" + connection: local + register: ccc_cases + tags: sanity + +- debug: + msg: "CCC Cases: {{ ccc_cases }}" + +- set_fact: + test_cases: + files: "{{ ccc_cases.files }}" + tags: sanity + +- debug: + msg: "Test Cases: {{ test_cases }}" + +- name: set test_items + set_fact: + test_items: "{{ test_cases.files | map(attribute='path') | list }}" + tags: sanity + +- debug: + msg: "Test Items: {{ test_items }}" + +- name: run test cases (connection=httpapi) + include_tasks: "{{ test_case_to_run }}" + loop: "{{ test_items }}" + loop_control: + loop_var: test_case_to_run + tags: sanity \ No newline at end of file diff --git a/tests/integration/ccc_network_settings_management/tests/test_network_settings_management.yml b/tests/integration/ccc_network_settings_management/tests/test_network_settings_management.yml new file mode 100644 index 0000000000..24cfe8e043 --- /dev/null +++ b/tests/integration/ccc_network_settings_management/tests/test_network_settings_management.yml @@ -0,0 +1,227 @@ +--- +- debug: msg="Starting network settings management test" +- debug: msg="Role Path {{ role_path }}" + +- block: + - name: Load vars and declare dnac vars + include_vars: + file: "{{ role_path }}/vars/vars_network_settings_management.yml" + name: vars_map + vars: + dnac_login: &dnac_login + 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: true + dnac_log_level: DEBUG + config_verify: true + + # - debug: + # msg: "{{ vars_map.design_sites }}" + # - debug: + # msg: "{{ vars_map.update_sites }}" + # - debug: + # msg: "{{ vars_map.delete_sites }}" + +############################################# +# Clean Up # +############################################# + + - name: Clean up before test + cisco.dnac.site_workflow_manager: + <<: *dnac_login + state: deleted + config: + - "{{ item }}" + loop: "{{ vars_map.design_sites }}" + +############################################# +# CREATE SITES # +############################################# + + - name: Create sites + cisco.dnac.site_workflow_manager: + <<: *dnac_login + state: merged + config: + - "{{ item }}" + loop: "{{ vars_map.design_sites }}" + register: result_create_site + + # - name: Debug item + # debug: + # var: item + # loop: "{{ result_create_site.results }}" + # when: result_create_site is defined + + - name: Assert area creation success for each site + assert: + that: + - item.changed == true + - "'created successfully' in item.msg" + loop: "{{ result_create_site.results }}" + when: result_create_site is defined + +# ############################################# +# # CREATE Global POOL # +# ############################################# + + - name: create global pool + cisco.dnac.network_settings_workflow_manager: + <<: *dnac_login + state: merged + config: + - "{{ item }}" + loop: "{{ vars_map.create_global_pools }}" + register: result_create_global_pools + + # - name: Debug item + # debug: + # var: item + # loop: "{{ result_create_site.results }}" + # when: result_create_site is defined + + - name: Assert global pool creation success + assert: + that: + - item.changed == true + - "'Global Pool Created Successfully' in item.response[0].globalPool.msg.Global_Pool4" + loop: "{{ result_create_global_pools.results }}" + when: result_create_global_pools is defined + +# ################################################### +# # CREATE RESERVE POOL # +# ################################################### + - name: create reserve pool + cisco.dnac.network_settings_workflow_manager: + <<: *dnac_login + state: merged + config: + - "{{ item }}" + loop: "{{ vars_map.create_reserve_pools }}" + register: result_create_reserve_pools + + # - name: Debug item + # debug: + # var: item + # loop: "{{ result_create_site.results }}" + # when: result_create_site is defined + + - name: Assert reserve pool creation success + assert: + that: + - item.changed == true + - "'Ip Subpool Reservation Created Successfully' in item.response[1].reservePool.msg.IP_Pool_4" + loop: "{{ result_create_reserve_pools.results }}" + when: result_create_reserve_pools is defined + +# ##################################################### +# NETWORK FUNCTION # +# ##################################################### + - name: create/update network servers + cisco.dnac.network_settings_workflow_manager: + <<: *dnac_login + state: merged + config: + - "{{ item }}" + loop: "{{ vars_map.network_server }}" + register: result_network_server + + # - name: Debug item + # debug: + # var: item + # loop: "{{ result_network_server.results }}" + # when: result_network_server is defined + + - name: Assert network server creation success + assert: + that: + - item.changed == true + - "'Network Updated successfully' in item.response[2].network.msg['Global/USA-Test']" + loop: "{{ result_network_server.results }}" + when: result_network_server is defined + +############################################# +# DELETE RESERVE POOL # +############################################# + + - name: Delete Reserve pool + cisco.dnac.network_settings_workflow_manager: + <<: *dnac_login + state: deleted + config: + - "{{ item }}" + loop: "{{ vars_map.ip_pool1 }}" + register: result_delete_ip_pool + + # - name: Debug item + # debug: + # var: item + # loop: "{{ result_delete_reserve_pool.results }}" + # when: result_delete_reserve_pool is defined + + - name: Assert reserve pool deletion success for site + assert: + that: + - item.changed == true + - "'Ip subpool reservation released successfully' in item.response[1].reservePool.msg.IP_Pool_4" + loop: "{{ result_delete_ip_pool.results }}" + when: result_delete_ip_pool is defined + +############################################# +# DELETE GLOBAl POOL # +############################################# + + - name: Delete global pool + cisco.dnac.network_settings_workflow_manager: + <<: *dnac_login + state: deleted + config: + - "{{ item }}" + loop: "{{ vars_map.ip_pool2 }}" + register: result_delete_global_pool + + # - name: Debug item + # debug: + # var: item + # loop: "{{ result_update_site.results }}" + # when: result_update_site is defined + + - name: Assert global pool deletion success for each site + assert: + that: + - item.changed == true + - "'Global pool deleted successfully' in item.response[0].globalPool.msg.Global_Pool4" + loop: "{{ result_delete_global_pool.results }}" + when: result_delete_global_pool is defined + +############################################# +# DELETE SITES # +############################################# + + - name: Delete sites + cisco.dnac.site_workflow_manager: + <<: *dnac_login + state: deleted + config: + - "{{ item }}" + loop: "{{ vars_map.design_sites }}" + register: result_delete_site + + # - name: Debug item + # debug: + # var: item + # loop: "{{ result_delete_site.results }}" + # when: result_delete_site is defined + + - name: Assert deletion success for each site + assert: + that: + - item.changed == true + - "'deleted successfully' in item.response" + loop: "{{ result_delete_site.results }}" + when: result_delete_site is defined diff --git a/tests/integration/ccc_network_settings_management/vars/vars_network_settings_management.yml b/tests/integration/ccc_network_settings_management/vars/vars_network_settings_management.yml new file mode 100644 index 0000000000..177d000c40 --- /dev/null +++ b/tests/integration/ccc_network_settings_management/vars/vars_network_settings_management.yml @@ -0,0 +1,84 @@ +--- +design_sites: + - site: + area: + name: USA-Test + parent_name: Global + site_type: area + +create_global_pools: + - global_pool_details: + settings: + ip_pool: + - name: Global_Pool4 + pool_type: Generic + ip_address_space: IPv4 + cidr: 20.0.0.0/8 + +create_reserve_pools: + - reserve_pool_details: + - site_name: Global/USA-Test + name: IP_Pool_4 + pool_type: LAN + ipv4_global_pool: 20.0.0.0/8 + ipv4_global_pool_name: Global_Pool4 + ipv4_prefix: True + ipv4_prefix_length: 9 + ipv4_subnet: 20.128.0.0 + ipv4_gateway: 20.128.0.1 + ipv4_dns_servers: [] + +network_server: + - network_management_details: + - site_name: Global/USA-Test + settings: + network_aaa: + primary_server_address: 10.0.0.10 + secondary_server_address: 10.0.0.20 + protocol: RADIUS + server_type: AAA + client_and_endpoint_aaa: + primary_server_address: 10.0.0.10 + secondary_server_address: 10.0.0.20 + protocol: RADIUS + server_type: AAA + dhcp_server: + - 10.0.0.2 + dns_server: + domain_name: cisco.com + primary_ip_address: 10.0.0.2 + secondary_ip_address: 10.0.0.4 + ntp_server: + - 10.0.0.5 + timezone: Europe/Lisbon + message_of_the_day: + banner_message: hello + retain_existing_banner: True + wired_data_collection: + enable_wired_data_collection: false + wireless_telemetry: + enable_wireless_telemetry: false + netflow_collector: + collector_type: Telemetry_broker_or_UDP_director + ip_address: 10.0.0.2 + port: 443 + enable_on_wired_access_devices: false + snmp_server: + configure_dnac_ip: false + ip_addresses: + - 10.0.0.7 + syslog_server: + configure_dnac_ip: false + ip_addresses: + - 10.0.0.8 + +ip_pool1: + - reserve_pool_details: + - site_name: Global/USA-Test + name: IP_Pool_4 + +ip_pool2: + - global_pool_details: + settings: + ip_pool: + - name: Global_Pool4 diff --git a/tests/unit/modules/dnac/fixtures/accesspoint_workflow_manager.json b/tests/unit/modules/dnac/fixtures/accesspoint_workflow_manager.json index 897c73787a..9fa4498f88 100644 --- a/tests/unit/modules/dnac/fixtures/accesspoint_workflow_manager.json +++ b/tests/unit/modules/dnac/fixtures/accesspoint_workflow_manager.json @@ -1,270 +1,147 @@ { - "playbook_config_provision": [{ - "mac_address": "90:e9:5e:03:f3:40", - "rf_profile": "HIGH", - "site": { - "floor": { - "name": "FLOOR1", - "parent_name": "Global/USA/New York/BLDNYC" - } - } - }], - - "playbook_config_missing_update": [ - { - "mac_address": "90:e9:5e:03:f3:40", - "ap_selected_fields": "id,hostname,family,type,mac_address,management_ip_address,ap_ethernet_mac_address", - "ap_config_selected_fields": "mac_address,eth_mac,ap_name,led_brightness_level,led_status,location,radioDTOs", - "ap_name": "LTTS-test1", - "admin_status": "Disabled", - "led_status": "Disabled", - "led_brightness_level": 5, - "is_assigned_site_as_location": "Enabled", - "ap_mode": "Sniffer", - "location": "LTTS/Cisco/Chennai", - "failover_priority": "High", - "clean_air_si_2.4ghz": "Disabled", - "clean_air_si_5ghz": "Disabled", - "clean_air_si_6ghz": "Enabled", - "primary_controller_name": "SJ-EWLC-2", - "secondary_controller_name": "Inherit from site / Clear", - "primary_ip_address":{ - "address": "204.192.4.200" - }, - "tertiary_controller_name": "Inherit from site / Clear", - "2.4ghz_radio": { - "admin_status": "Enabled", - "antenna_name": "C-ANT9104-2.4GHz", - "radio_role_assignment": "Client-Serving", - "channel_number": 2, - "power_assignment_mode": "Global", - "channel_width": "40 MHz", - "powerlevel": 2 - }, - "5ghz_radio": { - "admin_status": "Enabled", - "antenna_name": "AIR-ANT2513P4M-N-5GHz", - "radio_role_assignment": "Client-Serving", - "power_assignment_mode": "Custom", - "antenna_cable_name": "nothing", - "channel_number": 44, - "powerlevel": 2, - "cable_loss": 13, - "antenna_gain": 19, - "radio_band": "5 Ghz", - "channel_width": "80 MHz" - }, - "6ghz_radio": { - "admin_status": "Enabled", - "antenna_name": "AIR-ANT2513P4M-N-5GHz", - "radio_role_assignment": "Client-Serving", - "channel_number": 1, - "power_assignment_mode": "Global", - "channel_width": "20 MHz" - } - } - ], - - "playbook_config_series_error": [ + "playbook_config_complete": [ { - "mac_address": "90:e9:5e:03:f3:40", + "mac_address": "34:5d:a8:3b:d8:e0", "ap_selected_fields": "id,hostname,family,type,mac_address,management_ip_address,ap_ethernet_mac_address", "ap_config_selected_fields": "mac_address,eth_mac,ap_name,led_brightness_level,led_status,location,radioDTOs", "rf_profile": "HIGH", - "family":"Unified AP", "site": { "floor": { "name": "FLOOR2", - "parent_name": "Global/USA/New York/BLDNYC" + "parent_name": "Global/Chennai/LTTS" } }, - "ap_name": "LTTS-test1", + "ap_name": "LTTS_Test_9124_T1", + "admin_status": "Enabled", "led_status": "Enabled", - "led_brightness_level": 5, + "led_brightness_level": 1, "ap_mode": "Local", - "location": "LTTS/Cisco/Chennai", + "location": "Global/Chennai/LTTS/FLOOR2", "is_assigned_site_as_location": "Enabled", "failover_priority": "Low", - "clean_air_si_2.4ghz": "Enabled", - "clean_air_si_5ghz": "Enabled", - "clean_air_si_6ghz": "Disabled", "primary_controller_name": "Inherit from site / Clear", - "secondary_controller_name": "NY-EWLC-20", - "tertiary_controller_name": "Inherit from site / Clear", - "2.4ghz_radio": { - "admin_status": "Enabled", - "antenna_name": "C-ANT9104-2.4GHz", - "radio_role_assignment": "Client-Serving", - "channel_number": 2, - "powerlevel": 2 + "primary_ip_address": { + "address": "204.192.6.200" }, - "5ghz_radio": { - "admin_status": "Enabled", - "antenna_name": "AIR-ANT2513P4M-N-5GHz", - "radio_role_assignment": "Client-Serving", - "channel_number": 44, - "powerlevel": 2, - "channel_width": "20 MHz" - } - } - ], - - "playbook_config": [ - { - "mac_address": "90:e9:5e:03:f3:40", - "ap_selected_fields": "id,hostname,family,type,mac_address,management_ip_address,ap_ethernet_mac_address", - "ap_config_selected_fields": "mac_address,eth_mac,ap_name,led_brightness_level,led_status,location,radioDTOs", - - "ap_name": "LTTS-test1", - "led_status": "Enabled", - "led_brightness_level": 5, - "location": "LTTS/Cisco/Chennai", - "is_assigned_site_as_location": "Enabled", - "failover_priority": "Low", + "secondary_controller_name": "Inherit from site / Clear", + "secondary_ip_address": null, + "tertiary_controller_name": "Inherit from site / Clear", + "tertiary_ip_address": null, "clean_air_si_2.4ghz": "Enabled", "clean_air_si_5ghz": "Enabled", - "clean_air_si_6ghz": "Disabled", - "primary_controller_name": "NY-EWLC-1", - "primary_ip_address": {"address": "204.192.6.200"}, - "secondary_controller_name": "NY-EWLC-20", - "secondary_ip_address": {"address": "fe80::202:b3ff:fe1e:8324"}, - "tertiary_controller_name": "SJ-EWLC-20", - "tertiary_ip_address": {"address": "fe80::202:b3ff:fe1e:8325"}, "2.4ghz_radio": { "admin_status": "Enabled", - "antenna_name": "C-ANT9104-2.4GHz", "radio_role_assignment": "Client-Serving", - "channel_number": 2, - "powerlevel": 2 + "powerlevel": 1, + "radio_band": "2.4 GHz", + "channel_width": "40 MHz" }, "5ghz_radio": { "admin_status": "Enabled", - "antenna_name": "AIR-ANT2513P4M-N-5GHz", "radio_role_assignment": "Client-Serving", "channel_number": 44, - "powerlevel": 2, - "channel_width": "20 MHz" + "powerlevel": 1, + "channel_width": "40 MHz", + "antenna_gain": 20, + "radio_band": "5 GHz", + "cable_loss": 2 } } ], - "playbook_config_missing_rf_profile": [ - { - "mac_address": "90:e9:5e:03:f3:40", - "site": { - "floor": { - "name": "FLOOR2" - } + "get_device_detail": { + "response": [{ + "ap_ethernet_mac_address": "34:b8:83:15:7c:6c", + "apManagerInterfaceIp": "204.192.12.201", + "associated_wlc_ip": "204.192.6.200", + "bootDateTime": null, + "collectionInterval": "NA", + "collectionStatus": "Managed", + "description": null, + "deviceSupportLevel": "Supported", + "dnsResolvedManagementAddress": "", + "errorCode": "null", + "errorDescription": null, + "family": "Unified AP", + "hostname": "LTTS_Test_9124_T2", + "id": "ab7b6cd0-cfe5-4344-9169-c5a9690fb55d", + "instanceTenantId": "65d815269502a747808a83c5", + "instanceUuid": "ab7b6cd0-cfe5-4344-9169-c5a9690fb55d", + "interfaceCount": "0", + "inventoryStatusDetail": "NA", + "lastDeviceResyncStartTime": "", + "lastManagedResyncReasons": "", + "lastUpdateTime": 1721755030695, + "lastUpdated": "2024-07-23 17:17:10", + "lineCardCount": "0", + "lineCardId": "", + "location": null, + "locationName": null, + "mac_address": "34:5d:a8:3b:d8:e0", + "managedAtleastOnce": false, + "managementIpAddress": "204.192.102.11", + "managementState": "Managed", + "memorySize": "NA", + "pendingSyncRequestsCount": "0", + "platformId": "AIR-AP3802I-B-K9", + "reachabilityFailureReason": "NA", + "reachabilityStatus": "Reachable", + "reasonsForDeviceResync": "", + "reasonsForPendingSyncRequests": "", + "role": "ACCESS", + "roleSource": "AUTO", + "serialNumber": "FCW2203N6H1", + "series": "Cisco 9163E Series Unified Access Points", + "snmpContact": "", + "snmpLocation": "default location", + "softwareType": null, + "softwareVersion": "17.13.0.107", + "syncRequestedByApp": "", + "tagCount": "0", + "tunnelUdpPort": null, + "type": "Cisco 9163E Unified Access Point", + "upTime": "04:38:47.750", + "uptimeSeconds": 18507, + "vendor": "NA", + "waasDeviceMode": null } - } - ], - - "provision_ap_response": { - "executionId": "53d24e89-194d-4ae6-b4f6-73055293dc4b", - "Execution_status_url": "/dna/platform/management/business-api/v1/execution-status/53d24e89-194d-4ae6-b4f6-73055293dc4b", - "Message": "The request has been accepted for execution" - }, - - "ap_update_response": { - "response": { - "taskId": "f0ac3a5d-95b1-42ea-801c-e04ff7a4fbcb", - "url": "/api/v1/task/f0ac3a5d-95b1-42ea-801c-e04ff7a4fbcb" - } - }, - - "provision_execution_response": { - "timestamp": "07-12-2024 14:58:24", - "log_level": "WARNING", - "component": "Accesspoint", - "method": "get_execution_details", - "line_number": 378, - "message": "Response for the current execution", - "status": "SUCCESS", - "details": { - "bapiKey": "d897-19b8-47aa-a9c4", - "bapiName": "AP Provision", - "bapiExecutionId": "53d24e89-194d-4ae6-b4f6-73055293dc4b", - "startTime": "Fri Jul 12 09:28:09 UTC 2024", - "startTimeEpoch": 1720776489130, - "endTimeEpoch": 0, - "timeDuration": 0, - "status": "SUCCESS", - "runtimeInstanceId": "DNACP_Runtime_6bfcd18a-b76d-49c0-ada6-71d02f6e1b17" - } - }, - - "ap_task_status": { - "response": { - "version": 1721150006005, - "progress": "TASK_INTENT", - "data": "workflow_id=23b97702-b484-490a-8337-f7aec36f9c46;cfs_id=31eeddf4-2116-4786-ae99-4cd44ca6a3a7;rollback_status=not_supported;rollback_taskid=0;failure_task=NA;processcfs_complete=true", - "startTime": 1721149991730, - "endTime": 1721150006005, - "serviceType": "NCSP", - "username": "admin", - "lastUpdate": 1721149992544, - "isError": false, - "instanceTenantId": "6486ce96ff1f0d0c8be622f4", - "id": "f0ac3a5d-95b1-42ea-801c-e04ff7a4fbcb" - } - }, - - "ap_task_error_status": { - "response": { - "version": 1721149801699, - "progress": "TASK_INTENT", - "data": "workflow_id=c3d0e8c5-6a83-4d72-8da7-8c4e7705578b;cfs_id=31eeddf4-2116-4786-ae99-4cd44ca6a3a7;rollback_status=not_supported;rollback_taskid=0;failure_task=Determination of network intent deployment status:38dca22a-62ab-4fa7-96e3-33a0d30587e5;processcfs_complete=true", - "startTime": 1721149785428, - "endTime": 1721149801699, - "errorCode": "NCNP20100", - "serviceType": "NCSP", - "username": "admin", - "lastUpdate": 1721149801680, - "isError": true, - "failureReason": "Unable to push to device 204.192.6.200 using protocol ssh2 the CLI do ap name LTTS-test2 name LTTS-test1", - "instanceTenantId": "6486ce96ff1f0d0c8be622f4", - "id": "f0ac3a5d-95b1-42ea-801c-e04ff7a4fbcb" - } + ] }, "get_accesspoint_config": { - "_creationOrderIndex": 0, - "_isBeingChanged": false, - "_orderedListOEAssocName": null, - "_orderedListOEIndex": 0, - "adminStatus": "Enabled", - "apHeight": 0.0, - "apMode": "Local", - "apName": "NY-AP1-9130AXE", - "authEntityClass": null, - "authEntityId": null, - "changeLogList": null, - "deployPending": "NONE", - "displayName": "0", - "ethMac": "34:5d:a8:0e:20:b4", - "failoverPriority": "Low", - "instanceCreatedOn": null, - "instanceId": 0, - "instanceOrigin": null, - "instanceTenantId": "6486ce96ff1f0d0c8be622f4", - "instanceUpdatedOn": null, - "instanceUuid": null, - "instanceVersion": 0, - "internalKey": { - "id": 0, - "longType": "com.cisco.enc.config.wireless.models.apconfigworkflow.APInventory", - "type": "APInventory", - "url": "../../APInventory/0" - }, - "lazyLoadedEntities": null, - "ledBrightnessLevel": 8, - "ledStatus": "Enabled", + "instance_uuid": null, + "instance_id": 0, + "auth_entity_id": null, + "auth_entity_class": null, + "instance_tenant_id": "66e48af26fe687300375675e", + "_ordered_list_oeindex": 0, + "_ordered_list_oeassoc_name": null, + "_creation_order_index": 0, + "_is_being_changed": false, + "deploy_pending": "NONE", + "instance_created_on": null, + "instance_updated_on": null, + "change_log_list": null, + "instance_origin": null, + "instance_version": 0, + "admin_status": "Enabled", + "ap_height": 0.0, + "ap_mode": "Local", + "ap_name": "LTTS_Test_9124_T2", + "eth_mac": "34:b8:83:15:7c:6c", + "failover_priority": "Low", + "led_brightness_level": 8, + "led_status": "Enabled", "location": "default location", - "macAddress": "90:e9:5e:03:f3:40", - "meshDTOs": [], - "primaryControllerName": null, - "primaryIpAddress": "0.0.0.0", - "radioDTOs": [ + "mac_address": "34:5d:a8:3b:d8:e0", + "primary_controller_name": "NY-IAC-EWLC", + "primary_ip_address": "0.0.0.0", + "secondary_controller_name": null, + "secondary_ip_address": "0.0.0.0", + "tertiary_controller_name": null, + "tertiary_ip_address": "0.0.0.0", + "mesh_dtos": [], + "radio_dtos": [ { "_creationOrderIndex": 0, "_isBeingChanged": false, @@ -286,7 +163,7 @@ "displayName": "0", "dualRadioMode": null, "ifType": 2, - "ifTypeValue": "5 GHz", + "ifTypeValue": "6 GHz", "instanceCreatedOn": null, "instanceId": 0, "instanceOrigin": null, @@ -301,19 +178,240 @@ "url": "../../RadioInventory/0" }, "lazyLoadedEntities": null, - "macAddress": "90:e9:5e:03:f3:40", + "macAddress": "34:5d:a8:3b:d8:e0", "powerAssignmentMode": "Global", "powerlevel": 1, "radioBand": null, "radioRoleAssignment": "Client-Serving", "slotId": 2 }, + { + "instance_uuid": null, + "instance_id": 0, + "auth_entity_id": null, + "auth_entity_class": null, + "instance_tenant_id": "66e48af26fe687300375675e", + "_ordered_list_oeindex": 0, + "_ordered_list_oeassoc_name": null, + "_creation_order_index": 0, + "_is_being_changed": false, + "deploy_pending": "NONE", + "instance_created_on": null, + "instance_updated_on": null, + "change_log_list": null, + "instance_origin": null, + "instance_version": 0, + "admin_status": "Enabled", + "antenna_angle": 0, + "antenna_elev_angle": 0, + "antenna_gain": 7, + "antenna_pattern_name": null, + "channel_assignment_mode": "Global", + "channel_number": 128, + "channel_width": "40 MHz", + "clean_air_si": "Enabled", + "dual_radio_mode": null, + "if_type": 2, + "if_type_value": "5 GHz", + "mac_address": "34:5d:a8:3b:d8:e0", + "power_assignment_mode": "Global", + "powerlevel": 3, + "radio_band": null, + "radio_role_assignment": null, + "slot_id": 1, + "internal_key": { + "type": "RadioInventory", + "id": 0, + "long_type": "com.cisco.enc.config.wireless.models.apconfigworkflow.RadioInventory", + "url": "../../RadioInventory/0" + }, + "display_name": "0", + "lazy_loaded_entities": null + }, + { + "instance_uuid": null, + "instance_id": 0, + "auth_entity_id": null, + "auth_entity_class": null, + "instance_tenant_id": "66e48af26fe687300375675e", + "_ordered_list_oeindex": 0, + "_ordered_list_oeassoc_name": null, + "_creation_order_index": 0, + "_is_being_changed": false, + "deploy_pending": "NONE", + "instance_created_on": null, + "instance_updated_on": null, + "change_log_list": null, + "instance_origin": null, + "instance_version": 0, + "admin_status": "Enabled", + "antenna_angle": 0, + "antenna_elev_angle": 0, + "antenna_gain": 7, + "antenna_pattern_name": null, + "channel_assignment_mode": "Global", + "channel_number": 11, + "channel_width": null, + "clean_air_si": "Enabled", + "dual_radio_mode": null, + "if_type": 1, + "if_type_value": "2.4 GHz", + "mac_address": "34:5d:a8:3b:d8:e0", + "power_assignment_mode": "Global", + "powerlevel": 5, + "radio_band": null, + "radio_role_assignment": null, + "slot_id": 0, + "internal_key": { + "type": "RadioInventory", + "id": 0, + "long_type": "com.cisco.enc.config.wireless.models.apconfigworkflow.RadioInventory", + "url": "../../RadioInventory/0" + }, + "display_name": "0", + "lazy_loaded_entities": null + } + ], + "internal_key": { + "type": "APInventory", + "id": 0, + "long_type": "com.cisco.enc.config.wireless.models.apconfigworkflow.APInventory", + "url": "../../APInventory/0" + }, + "display_name": "0", + "lazy_loaded_entities": null + }, + + "get_site_exist_response": { + "response": [ + { + "id": "c55c069f-a77f-4cc9-bb20-63df01e9a01a", + "parentId": "c3293908-c136-45b9-b74f-d5dfaabb26a9", + "name": "FLOOR2", + "nameHierarchy": "Global/Chennai/LTTS/FLOOR2", + "type": "floor", + "floorNumber": 2, + "rfModel": "Cubes And Walled Offices", + "width": 100.0, + "length": 100.0, + "height": 10.0, + "unitsOfMeasure": "feet" + } + ] + }, + + "verify_get_device_info":{ + "name": "NY-IAC-EWLC.cisco.local", + "roles": [ + "Wireless Controller" + ], + "deviceManagementIpAddress": "204.192.6.200", + "siteNameHierarchy": "Global/Chennai/LTTS/FLOOR2", + "status": "success", + "description": "Fabric device info successfully retrieved from sda fabric.", + "executionId": "e8de3203-8b4f-4478-a54c-70e302975e2e" + }, + + "assign_to_site_response": { + "response": { + "taskId": "01922f55-745b-72db-8c3c-48228e3a7748", + "url": "/api/v1/task/01922f55-745b-72db-8c3c-48228e3a7748" + } + }, + + "assign_to_site_task_response": { + "response": { + "endTime": 1727370982634, + "status": "SUCCESS", + "startTime": 1727370982491, + "version": 1727370982634, + "resultLocation": "/dna/intent/api/v1/tasks/01922f55-745b-72db-8c3c-48228e3a7748/detail", + "id": "01922f55-745b-72db-8c3c-48228e3a7748" + } + }, + + "provision_ap_response": { + "response": { + "taskId": "01922f55-7702-7512-b138-6ddbaee65a36", + "url": "/api/v1/task/01922f55-7702-7512-b138-6ddbaee65a36" + } + }, + + "provision_ap_task_response": { + "response": { + "endTime": 1727371016230, + "lastUpdate": 1727370985061, + "status": "SUCCESS", + "startTime": 1727370983170, + "version": 1727371016230, + "resultLocation": "/dna/intent/api/v1/tasks/01922f55-7702-7512-b138-6ddbaee65a36/detail", + "id": "01922f55-7702-7512-b138-6ddbaee65a36" + } + }, + + "ap_update_response": { + "response": { + "taskId": "01923406-fe60-7cca-9a42-e93d023ae62d", + "url": "/api/v1/task/01923406-fe60-7cca-9a42-e93d023ae62d" + } + }, + + "ap_task_status": { + "response": { + "version": 1721150006005, + "progress": "TASK_INTENT", + "data": "workflow_id=23b97702-b484-490a-8337-f7aec36f9c46;cfs_id=31eeddf4-2116-4786-ae99-4cd44ca6a3a7;rollback_status=not_supported;rollback_taskid=0;failure_task=NA;processcfs_complete=true", + "startTime": 1721149991730, + "endTime": 1721150006005, + "serviceType": "NCSP", + "username": "admin", + "lastUpdate": 1721149992544, + "isError": false, + "instanceTenantId": "6486ce96ff1f0d0c8be622f4", + "id": "01923406-fe60-7cca-9a42-e93d023ae62d" + } + }, + + "get_accesspoint_config_verify": { + "instance_uuid": null, + "instance_id": 0, + "auth_entity_id": null, + "auth_entity_class": null, + "instance_tenant_id": "66e48af26fe687300375675e", + "_ordered_list_oeindex": 0, + "_ordered_list_oeassoc_name": null, + "_creation_order_index": 0, + "_is_being_changed": false, + "deploy_pending": "NONE", + "instance_created_on": null, + "instance_updated_on": null, + "change_log_list": null, + "instance_origin": null, + "instance_version": 0, + "admin_status": "Enabled", + "ap_height": 0.0, + "ap_mode": "Local", + "ap_name": "LTTS_Test_9124_T1", + "eth_mac": "34:b8:83:15:7c:6c", + "failover_priority": "Low", + "led_brightness_level": 1, + "led_status": "Enabled", + "location": "Global/Chennai/LTTS/FLOOR2", + "mac_address": "34:5d:a8:3b:d8:e0", + "primary_controller_name": "NY-IAC-EWLC", + "primary_ip_address": "204.192.6.200", + "secondary_controller_name": null, + "secondary_ip_address": "0.0.0.0", + "tertiary_controller_name": null, + "tertiary_ip_address": "0.0.0.0", + "mesh_dtos": [], + "radio_dtos": [ { "_creationOrderIndex": 0, "_isBeingChanged": false, "_orderedListOEAssocName": null, "_orderedListOEIndex": 0, - "adminStatus": "Enabled", + "adminStatus": "Disabled", "antennaAngle": 0, "antennaElevAngle": 0, "antennaGain": 4, @@ -327,9 +425,9 @@ "cleanAirSI": "Enabled", "deployPending": "NONE", "displayName": "0", - "dualRadioMode": "Auto", + "dualRadioMode": null, "ifType": 2, - "ifTypeValue": "5 GHz", + "ifTypeValue": "6 GHz", "instanceCreatedOn": null, "instanceId": 0, "instanceOrigin": null, @@ -344,412 +442,131 @@ "url": "../../RadioInventory/0" }, "lazyLoadedEntities": null, - "macAddress": "90:e9:5e:03:f3:40", + "macAddress": "34:5d:a8:3b:d8:e0", "powerAssignmentMode": "Global", "powerlevel": 1, "radioBand": null, "radioRoleAssignment": "Client-Serving", - "slotId": 1 + "slotId": 2 }, { - "_creationOrderIndex": 0, - "_isBeingChanged": false, - "_orderedListOEAssocName": null, - "_orderedListOEIndex": 0, - "adminStatus": "Enabled", - "antennaAngle": 0, - "antennaElevAngle": 0, - "antennaGain": 4, - "antennaPatternName": null, - "authEntityClass": null, - "authEntityId": null, - "changeLogList": null, - "channelAssignmentMode": "Global", - "channelNumber": 1, - "channelWidth": null, - "cleanAirSI": "Enabled", - "deployPending": "NONE", - "displayName": "0", - "dualRadioMode": null, - "ifType": 1, - "ifTypeValue": "2.4 GHz", - "instanceCreatedOn": null, - "instanceId": 0, - "instanceOrigin": null, - "instanceTenantId": "6486ce96ff1f0d0c8be622f4", - "instanceUpdatedOn": null, - "instanceUuid": null, - "instanceVersion": 0, - "internalKey": { - "id": 0, - "longType": "com.cisco.enc.config.wireless.models.apconfigworkflow.RadioInventory", + "instance_uuid": null, + "instance_id": 0, + "auth_entity_id": null, + "auth_entity_class": null, + "instance_tenant_id": "66e48af26fe687300375675e", + "_ordered_list_oeindex": 0, + "_ordered_list_oeassoc_name": null, + "_creation_order_index": 0, + "_is_being_changed": false, + "deploy_pending": "NONE", + "instance_created_on": null, + "instance_updated_on": null, + "change_log_list": null, + "instance_origin": null, + "instance_version": 0, + "admin_status": "Enabled", + "antenna_angle": 0, + "antenna_elev_angle": 0, + "antenna_gain": 20, + "antenna_pattern_name": null, + "channel_assignment_mode": "Global", + "channel_number": 44, + "channel_width": "40 MHz", + "clean_air_si": "Enabled", + "dual_radio_mode": null, + "if_type": 2, + "if_type_value": "5 GHz", + "mac_address": "34:5d:a8:3b:d8:e0", + "power_assignment_mode": "Global", + "powerlevel": 1, + "radio_band": "5 GHz", + "radio_role_assignment": null, + "slot_id": 1, + "internal_key": { "type": "RadioInventory", + "id": 0, + "long_type": "com.cisco.enc.config.wireless.models.apconfigworkflow.RadioInventory", "url": "../../RadioInventory/0" }, - "lazyLoadedEntities": null, - "macAddress": "90:e9:5e:03:f3:40", - "powerAssignmentMode": "Global", + "display_name": "0", + "lazy_loaded_entities": null + }, + { + "instance_uuid": null, + "instance_id": 0, + "auth_entity_id": null, + "auth_entity_class": null, + "instance_tenant_id": "66e48af26fe687300375675e", + "_ordered_list_oeindex": 0, + "_ordered_list_oeassoc_name": null, + "_creation_order_index": 0, + "_is_being_changed": false, + "deploy_pending": "NONE", + "instance_created_on": null, + "instance_updated_on": null, + "change_log_list": null, + "instance_origin": null, + "instance_version": 0, + "admin_status": "Enabled", + "antenna_angle": 0, + "antenna_elev_angle": 0, + "antenna_gain": 7, + "antenna_pattern_name": null, + "channel_assignment_mode": "Global", + "channel_number": 11, + "channel_width": null, + "clean_air_si": "Enabled", + "dual_radio_mode": null, + "if_type": 1, + "if_type_value": "2.4 GHz", + "mac_address": "34:5d:a8:3b:d8:e0", + "power_assignment_mode": "Global", "powerlevel": 1, - "radioBand": null, - "radioRoleAssignment": "Client-Serving", - "slotId": 0 + "radio_band": "2.4 GHz", + "radio_role_assignment": null, + "slot_id": 0, + "internal_key": { + "type": "RadioInventory", + "id": 0, + "long_type": "com.cisco.enc.config.wireless.models.apconfigworkflow.RadioInventory", + "url": "../../RadioInventory/0" + }, + "display_name": "0", + "lazy_loaded_entities": null } ], - "secondaryControllerName": null, - "secondaryIpAddress": "0.0.0.0", - "tertiaryControllerName": null, - "tertiaryIpAddress": "0.0.0.0" + "internal_key": { + "type": "APInventory", + "id": 0, + "long_type": "com.cisco.enc.config.wireless.models.apconfigworkflow.APInventory", + "url": "../../APInventory/0" + }, + "display_name": "0", + "lazy_loaded_entities": null }, - "get_site_exist_response": { - "response": [ + "playbook_config_update_some_error_data": [ { - "parentId": "1e3868a6-666d-47a3-813c-6a2aa9bce46c", - "additionalInfo": [ - { - "nameSpace": "mapsSummary", - "attributes": { - "rfModel": "14144130", - "imageURL": "", - "isCadFile": "false", - "floorIndex": "1" - } - }, - { - "nameSpace": "Location", - "attributes": { - "addressInheritedFrom": "597dba2d-c09f-4bae-ae61-8b0d9c8cd268", - "type": "floor" - } - }, - { - "nameSpace": "mapGeometry", - "attributes": { - "offsetX": "0.0", - "offsetY": "0.0", - "width": "90.0", - "length": "100.0", - "height": "100.0" - } - } - ], - "name": "Floor 2", - "instanceTenantId": "5fa5559c4238fb00c6cc6801", - "id": "ea3848d7-5337-4e48-aec3-605beaee55b4", - "siteHierarchy": "c6622c8a-ae49-47db-bc7c-5984fa61ca28/597dba2d-c09f-4bae-ae61-8b0d9c8cd268/1e3868a6-666d-47a3-813c-6a2aa9bce46c/ea3848d7-5337-4e48-aec3-605beaee55b4", - "siteNameHierarchy": "Global/USA/New York/BLDNYC/FLOOR2", - "family": "Unified AP" - } - ] - }, - - "ap_verify_response": { - "response": [ - { - "changed": true, - "response": { - "ap_config_update_status": "The update for AP Config 'Cisco_Test_AP_TT2' has been successfully verified." - } + "mac_address": "34:5d:a8:3b:d8:e0", + "rf_profile": "HIGH", + "family":"Unified AP", + "site": { + "floor": { + "name": "FLOOR2FLOOR2FLOOR2FLOOR2FLOOR2FLOOR2FLOO", + "parent_name": "Global/USA/New York/BLDNYCGlobal/USA/New York/BLDNYCGlobal/USA/iikk" } - ] - }, - - "verify_get_device_info":{ - "name": "NY-EWLC-1.cisco.local", - "roles": [ - "Wireless Controller" - ], - "deviceManagementIpAddress": "204.192.6.200", - "siteNameHierarchy": "Global/USA/New York/BLDNYC/FLOOR1", - "status": "success", - "description": "Fabric device info successfully retrieved from sda fabric.", - "executionId": "ee984a1c-91f1-435c-9048-1bcdc90f3e04" - }, - - "get_device_detail_series_error": { - "response": [{ - "ap_ethernet_mac_address": "34:5d:a8:0e:20:b4", - "apManagerInterfaceIp": "204.192.12.201", - "associated_wlc_ip": "204.192.6.200", - "bootDateTime": null, - "collectionInterval": "NA", - "collectionStatus": "Managed", - "description": null, - "deviceSupportLevel": "Supported", - "dnsResolvedManagementAddress": "", - "errorCode": "null", - "errorDescription": null, - "family": "Unified AP", - "hostname": "NY-AP1-9130AXE", - "id": "ab7b6cd0-cfe5-4344-9169-c5a9690fb55d", - "instanceTenantId": "65d815269502a747808a83c5", - "instanceUuid": "ab7b6cd0-cfe5-4344-9169-c5a9690fb55d", - "interfaceCount": "0", - "inventoryStatusDetail": "NA", - "lastDeviceResyncStartTime": "", - "lastManagedResyncReasons": "", - "lastUpdateTime": 1721755030695, - "lastUpdated": "2024-07-23 17:17:10", - "lineCardCount": "0", - "lineCardId": "", - "location": null, - "locationName": null, - "mac_address": "90:e9:5e:03:f3:40", - "managedAtleastOnce": false, - "managementIpAddress": "204.192.102.11", - "managementState": "Managed", - "memorySize": "NA", - "pendingSyncRequestsCount": "0", - "platformId": "AIR-AP3802I-B-K9", - "reachabilityFailureReason": "NA", - "reachabilityStatus": "Reachable", - "reasonsForDeviceResync": "", - "reasonsForPendingSyncRequests": "", - "role": "ACCESS", - "roleSource": "AUTO", - "serialNumber": "FCW2203N6H1", - "series": "Cisco 9130 Series Unified Access Points", - "snmpContact": "", - "snmpLocation": "default location", - "softwareType": null, - "softwareVersion": "17.13.0.107", - "syncRequestedByApp": "", - "tagCount": "0", - "tunnelUdpPort": null, - "type": "Cisco 3800I Unified Access Point", - "upTime": "04:38:47.750", - "uptimeSeconds": 18507, - "vendor": "NA", - "waasDeviceMode": null - } - ] - }, - - "get_device_detail_all_data": { - "response": [{ - "ap_ethernet_mac_address": "34:5d:a8:0e:20:b4", - "apManagerInterfaceIp": "204.192.12.201", - "associated_wlc_ip": "204.192.6.200", - "bootDateTime": null, - "collectionInterval": "NA", - "collectionStatus": "Managed", - "description": null, - "deviceSupportLevel": "Supported", - "dnsResolvedManagementAddress": "", - "errorCode": "null", - "errorDescription": null, - "family": "Unified AP", - "hostname": "NFW-AP2-3802I", - "id": "ab7b6cd0-cfe5-4344-9169-c5a9690fb55d", - "instanceTenantId": "65d815269502a747808a83c5", - "instanceUuid": "ab7b6cd0-cfe5-4344-9169-c5a9690fb55d", - "interfaceCount": "0", - "inventoryStatusDetail": "NA", - "lastDeviceResyncStartTime": "", - "lastManagedResyncReasons": "", - "lastUpdateTime": 1721755030695, - "lastUpdated": "2024-07-23 17:17:10", - "lineCardCount": "0", - "lineCardId": "", - "location": null, - "locationName": null, - "mac_address": "90:e9:5e:03:f3:40", - "managedAtleastOnce": false, - "managementIpAddress": "204.192.102.11", - "managementState": "Managed", - "memorySize": "NA", - "pendingSyncRequestsCount": "0", - "platformId": "AIR-AP3802I-B-K9", - "reachabilityFailureReason": "NA", - "reachabilityStatus": "Reachable", - "reasonsForDeviceResync": "", - "reasonsForPendingSyncRequests": "", - "role": "ACCESS", - "roleSource": "AUTO", - "serialNumber": "FCW2203N6H1", - "series": "Cisco 9164I Series Unified Access Points", - "snmpContact": "", - "snmpLocation": "default location", - "softwareType": null, - "softwareVersion": "17.13.0.107", - "syncRequestedByApp": "", - "tagCount": "0", - "tunnelUdpPort": null, - "type": "Cisco 3800I Unified Access Point", - "upTime": "04:38:47.750", - "uptimeSeconds": 18507, - "vendor": "NA", - "waasDeviceMode": null - } - ] - }, - - "get_device_detail": { - "response": [{ - "ap_ethernet_mac_address": "34:5d:a8:0e:20:b4", - "apManagerInterfaceIp": "204.192.12.201", - "associated_wlc_ip": "204.192.6.200", - "bootDateTime": null, - "collectionInterval": "NA", - "collectionStatus": "Managed", - "description": null, - "deviceSupportLevel": "Supported", - "dnsResolvedManagementAddress": "", - "errorCode": "null", - "errorDescription": null, - "family": "Unified AP", - "hostname": "NFW-AP2-3802I", - "id": "ab7b6cd0-cfe5-4344-9169-c5a9690fb55d", - "instanceTenantId": "65d815269502a747808a83c5", - "instanceUuid": "ab7b6cd0-cfe5-4344-9169-c5a9690fb55d", - "interfaceCount": "0", - "inventoryStatusDetail": "NA", - "lastDeviceResyncStartTime": "", - "lastManagedResyncReasons": "", - "lastUpdateTime": 1721755030695, - "lastUpdated": "2024-07-23 17:17:10", - "lineCardCount": "0", - "lineCardId": "", - "location": null, - "locationName": null, - "mac_address": "90:e9:5e:03:f3:40", - "managedAtleastOnce": false, - "managementIpAddress": "204.192.102.11", - "managementState": "Managed", - "memorySize": "NA", - "pendingSyncRequestsCount": "0", - "platformId": "AIR-AP3802I-B-K9", - "reachabilityFailureReason": "NA", - "reachabilityStatus": "Reachable", - "reasonsForDeviceResync": "", - "reasonsForPendingSyncRequests": "", - "role": "ACCESS", - "roleSource": "AUTO", - "serialNumber": "FCW2203N6H1", - "series": "Cisco 3800I Series Unified Access Points", - "snmpContact": "", - "snmpLocation": "default location", - "softwareType": null, - "softwareVersion": "17.13.0.107", - "syncRequestedByApp": "", - "tagCount": "0", - "tunnelUdpPort": null, - "type": "Cisco 3800I Unified Access Point", - "upTime": "04:38:47.750", - "uptimeSeconds": 18507, - "vendor": "NA", - "waasDeviceMode": null - } - ] - }, - - "get_membership":{ - "site": { - "response": [], - "version": "1.0", - "message": "Site does not have childrens." - }, - "device": [ - { - "response": [ - { - "instanceUuid": "34f5a410-413d-4a6c-b195-8267fd599491", - "instanceTenantId": "6486ce96ff1f0d0c8be622f4", - "deployPending": "NONE", - "instanceVersion": 0, - "apEthernetMacAddress": "34:b8:83:15:7c:6c", - "apManagerInterfaceIp": "204.192.6.200", - "associatedWlcIp": "204.192.6.200", - "collectionInterval": "NA", - "collectionStatus": "Managed", - "deviceSupportLevel": "Supported", - "dnsResolvedManagementAddress": "", - "errorCode": "null", - "family": "Unified AP", - "hostname": "LTTS-Test2", - "interfaceCount": "0", - "inventoryStatusDetail": "NA", - "lastDeviceResyncStartTime": "", - "lastUpdateTime": 1719810005060, - "lastUpdated": "2024-07-01 05:00:05", - "lineCardCount": "0", - "lineCardId": "", - "macAddress": "90:e9:5e:03:f3:40", - "managedAtleastOnce": false, - "managementIpAddress": "204.1.216.3", - "managementState": "Managed", - "memorySize": "NA", - "paddedMgmtIpAddress": "204. 1.216. 3", - "pendingSyncRequestsCount": "0", - "platformId": "C9124AXI-B", - "reachabilityFailureReason": "NA", - "reachabilityStatus": "Reachable", - "reasonsForDeviceResync": "", - "reasonsForPendingSyncRequests": "", - "role": "ACCESS", - "roleSource": "AUTO", - "serialNumber": "FJC27101PRX", - "series": "Cisco Catalyst 9124AXI Series Unified Access Points", - "snmpContact": "", - "snmpLocation": "LTTS-Cisco", - "softwareVersion": "17.14.0.79", - "tagCount": "0", - "type": "Cisco Catalyst 9124AXI Unified Access Point", - "upTime": "33 days, 05:00:40.430", - "uptimeSeconds": 2874442, - "vendor": "NA" - } - ], - "version": "1.0", - "siteId": "17301034-7715-4363-952f-3d290ea6ca59" - } - ] - }, - - "get_membership_empty":[{ - "site": { - "response": [], - "version": "1.0", - "message": "Site does not have childrens." - }, - "device": [ - { - "response": [ - { - "instanceUuid": "34f5a410-413d-4a6c-b195-8267fd599491" - } - ], - "version": "1.0", - "siteId": "17301034-7715-4363-952f-3d290ea6ca69" - } - ] - }], - - "playbook_invalid_config_provision": [{ - "mac_address": "90:e9:5e:03:f3:40", - "site": { - "floor": { - "name": "FLOOR1", - "parent_name": "Global/USA/New York/BLDNYC" } } - }], + ], "playbook_config_update_some_missing_data": [ { - "mac_address": "90:e9:5e:03:f3:40", + "mac_address": "34:5d:a8:3b:d8:e0", "management_ip_address": "204.192.12.201dsd", "ap_selected_fields": "id,hostname,family,type,mac_address,management_ip_address,ap_ethernet_mac_address", "ap_config_selected_fields": "mac_address,eth_mac,ap_name,led_brightness_level,led_status,location,radioDTOs", - "rf_profile": "HIGH", - "family":"Unified AP", - "site": { - "floor": { - "name": "FLOOR2FLOOR2FLOOR2FLOOR2FLOOR2FLOOR2FLOO", - "parent_name": "Global/USA/New York/BLDNYCGlobal/USA/New York/BLDNYCGlobal/USA/iikk" - } - }, - "ap_name": "LTTS-test2", + "ap_name": "hostname,family,type,mac_address,management_ip_address,ap_ethernet_mac_address", "led_status": "Enableddd", "led_brightness_level": 7, "ap_mode": "Monitorw", @@ -786,35 +603,452 @@ } ], - "playbook_config_update_some_error_data": [ + "get_device_detail_error": { + "response": [{ + "ap_ethernet_mac_address": "34:b8:83:15:7c:6c", + "apManagerInterfaceIp": "204.192.12.201", + "associated_wlc_ip": "204.192.6.200", + "bootDateTime": null, + "collectionInterval": "NA", + "collectionStatus": "Managed", + "description": null, + "deviceSupportLevel": "Supported", + "dnsResolvedManagementAddress": "", + "errorCode": "null", + "errorDescription": null, + "family": "Unified AP", + "hostname": "LTTS_Test_9124_T2", + "id": "ab7b6cd0-cfe5-4344-9169-c5a9690fb55d", + "instanceTenantId": "65d815269502a747808a83c5", + "instanceUuid": "ab7b6cd0-cfe5-4344-9169-c5a9690fb55d", + "interfaceCount": "0", + "inventoryStatusDetail": "NA", + "lastDeviceResyncStartTime": "", + "lastManagedResyncReasons": "", + "lastUpdateTime": 1721755030695, + "lastUpdated": "2024-07-23 17:17:10", + "lineCardCount": "0", + "lineCardId": "", + "location": null, + "locationName": null, + "mac_address": "34:5d:a8:3b:d8:e0", + "managedAtleastOnce": false, + "managementIpAddress": "204.192.102.11", + "managementState": "Managed", + "memorySize": "NA", + "pendingSyncRequestsCount": "0", + "platformId": "AIR-AP3802I-B-K9", + "reachabilityFailureReason": "NA", + "reachabilityStatus": "Reachable", + "reasonsForDeviceResync": "", + "reasonsForPendingSyncRequests": "", + "role": "ACCESS", + "roleSource": "AUTO", + "serialNumber": "FCW2203N6H1", + "series": "Cisco 9164I Series Unified Access Points", + "snmpContact": "", + "snmpLocation": "default location", + "softwareType": null, + "softwareVersion": "17.13.0.107", + "syncRequestedByApp": "", + "tagCount": "0", + "tunnelUdpPort": null, + "type": "Cisco 9164I Unified Access Point", + "upTime": "04:38:47.750", + "uptimeSeconds": 18507, + "vendor": "NA", + "waasDeviceMode": null + } + ] + }, + + "reboot_accesspoint": [ { - "mac_address": "90:e9:5e:03:f3:40", - "management_ip_address": "204.192.12.201dsd", - "ap_selected_fields": "id,hostname,family,type,mac_address,management_ip_address,ap_ethernet_mac_address", - "ap_config_selected_fields": "mac_address,eth_mac,ap_name,led_brightness_level,led_status,location,radioDTOs", + "reboot_aps": { + "hostnames": [ + "LTTS_Test_9166_T3" + ]} + } + ], + + "get_device_detail_reboot": { + "response": [{ + "ap_ethernet_mac_address": "34:b8:83:15:7c:6c", + "apManagerInterfaceIp": "204.192.12.201", + "associated_wlc_ip": "204.192.6.200", + "bootDateTime": null, + "collectionInterval": "NA", + "collectionStatus": "Managed", + "description": null, + "deviceSupportLevel": "Supported", + "dnsResolvedManagementAddress": "", + "errorCode": "null", + "errorDescription": null, + "family": "Unified AP", + "hostname": "LTTS_Test_9166_T3", + "id": "ab7b6cd0-cfe5-4344-9169-c5a9690fb55d", + "instanceTenantId": "65d815269502a747808a83c5", + "instanceUuid": "ab7b6cd0-cfe5-4344-9169-c5a9690fb55d", + "interfaceCount": "0", + "inventoryStatusDetail": "NA", + "lastDeviceResyncStartTime": "", + "lastManagedResyncReasons": "", + "lastUpdateTime": 1721755030695, + "lastUpdated": "2024-07-23 17:17:10", + "lineCardCount": "0", + "lineCardId": "", + "location": null, + "locationName": null, + "mac_address": "34:5d:a8:3b:d8:e0", + "managedAtleastOnce": false, + "managementIpAddress": "204.192.102.11", + "managementState": "Managed", + "memorySize": "NA", + "pendingSyncRequestsCount": "0", + "platformId": "AIR-AP3802I-B-K9", + "reachabilityFailureReason": "NA", + "reachabilityStatus": "Reachable", + "reasonsForDeviceResync": "", + "reasonsForPendingSyncRequests": "", + "role": "ACCESS", + "roleSource": "AUTO", + "serialNumber": "FCW2203N6H1", + "series": "Cisco 9163E Series Unified Access Points", + "snmpContact": "", + "snmpLocation": "default location", + "softwareType": null, + "softwareVersion": "17.13.0.107", + "syncRequestedByApp": "", + "tagCount": "0", + "tunnelUdpPort": null, + "type": "Cisco 9163E Unified Access Point", + "upTime": "04:38:47.750", + "uptimeSeconds": 18507, + "vendor": "NA", + "waasDeviceMode": null + } + ] + }, + + "ap_reboot_response": { + "response": { + "taskId": "01923df1-99a2-798e-a6c8-ac876eca9736", + "url": "/api/v1/task/01923df1-99a2-798e-a6c8-ac876eca9736" + } + }, + + "ap_reboot_task_response": { + "response": { + "endTime": 1727616113659, + "status": "SUCCESS", + "startTime": 1727616096674, + "version": 1727616113659, + "resultLocation": "/dna/intent/api/v1/tasks/01923df1-99a2-798e-a6c8-ac876eca9736/detail", + "id": "01923df1-99a2-798e-a6c8-ac876eca9736" + } + }, + + "ap_reboot_status":[ + { + "wlcIP": "204.192.6.200", + "apList": [ + { + "apName": "LTTS_Test_9166_T3", + "rebootStatus": "Success", + "failureReason": null + } + ] + } + ], + + "playbook_config_provision_old_version": [ + { + "mac_address": "34:5d:a8:3b:d8:e0", "rf_profile": "HIGH", - "family":"Unified AP", "site": { "floor": { - "name": "FLOOR2FLOOR2FLOOR2FLOOR2FLOOR2FLOOR2FLOO", - "parent_name": "Global/USA/New York/BLDNYCGlobal/USA/New York/BLDNYCGlobal/USA/iikk" + "name": "FLOOR1", + "parent_name": "Global/Chennai/LTTS" } + } + } + ], + + "get_site_exist_response_old": { + "response": [ + { + "parentId": "1e3868a6-666d-47a3-813c-6a2aa9bce46c", + "additionalInfo": [ + { + "nameSpace": "mapsSummary", + "attributes": { + "rfModel": "14144130", + "imageURL": "", + "isCadFile": "false", + "floorIndex": "1" + } + }, + { + "nameSpace": "Location", + "attributes": { + "addressInheritedFrom": "597dba2d-c09f-4bae-ae61-8b0d9c8cd268", + "type": "floor" + } + }, + { + "nameSpace": "mapGeometry", + "attributes": { + "offsetX": "0.0", + "offsetY": "0.0", + "width": "90.0", + "length": "100.0", + "height": "100.0" + } + } + ], + "name": "Floor 2", + "instanceTenantId": "5fa5559c4238fb00c6cc6801", + "id": "ea3848d7-5337-4e48-aec3-605beaee55b4", + "siteHierarchy": "c6622c8a-ae49-47db-bc7c-5984fa61ca28/597dba2d-c09f-4bae-ae61-8b0d9c8cd268/1e3868a6-666d-47a3-813c-6a2aa9bce46c/ea3848d7-5337-4e48-aec3-605beaee55b4", + "siteNameHierarchy": "Global/USA/New York/BLDNYC/FLOOR2", + "family": "Unified AP" + } + ] + }, + + "get_membership_empty":[{ + "site": { + "response": [], + "version": "1.0", + "message": "Site does not have childrens." + }, + "device": [ + { + "response": [ + { + "instanceUuid": "34f5a410-413d-4a6c-b195-8267fd599491" + } + ], + "version": "1.0", + "siteId": "17301034-7715-4363-952f-3d290ea6ca69" + } + ] + }], + + "provision_ap_response_old": { + "executionId": "53d24e89-194d-4ae6-b4f6-73055293dc4b", + "Execution_status_url": "/dna/platform/management/business-api/v1/execution-status/53d24e89-194d-4ae6-b4f6-73055293dc4b", + "Message": "The request has been accepted for execution" + }, + + "provision_execution_response": { + "timestamp": "07-12-2024 14:58:24", + "log_level": "WARNING", + "component": "Accesspoint", + "method": "get_execution_details", + "line_number": 378, + "message": "Response for the current execution", + "status": "SUCCESS", + "details": { + "bapiKey": "d897-19b8-47aa-a9c4", + "bapiName": "AP Provision", + "bapiExecutionId": "53d24e89-194d-4ae6-b4f6-73055293dc4b", + "startTime": "Fri Jul 12 09:28:09 UTC 2024", + "startTimeEpoch": 1720776489130, + "endTimeEpoch": 0, + "timeDuration": 0, + "status": "SUCCESS", + "runtimeInstanceId": "DNACP_Runtime_6bfcd18a-b76d-49c0-ada6-71d02f6e1b17" + } + }, + + "playbook_config": [ + { + "mac_address": "34:5d:a8:3b:d8:e0", + "ap_selected_fields": "id,hostname,family,type,mac_address,management_ip_address,ap_ethernet_mac_address", + "ap_config_selected_fields": "mac_address,eth_mac,ap_name,led_brightness_level,led_status,location,radioDTOs", + "ap_mode": "Local", + "ap_name": "LTTS-test1", + "led_status": "Enabled", + "led_brightness_level": 5, + "location": "LTTS/Cisco/Chennai", + "is_assigned_site_as_location": "Enabled", + "failover_priority": "Low", + "clean_air_si_2.4ghz": "Enabled", + "clean_air_si_5ghz": "Enabled", + "clean_air_si_6ghz": "Disabled", + "primary_controller_name": "NY-EWLC-1", + "primary_ip_address": {"address": "204.192.6.200"}, + "secondary_controller_name": "NY-EWLC-20", + "secondary_ip_address": {"address": "fe80::202:b3ff:fe1e:8324"}, + "tertiary_controller_name": "SJ-EWLC-20", + "tertiary_ip_address": {"address": "fe80::202:b3ff:fe1e:8325"}, + "2.4ghz_radio": { + "admin_status": "Enabled", + "antenna_name": "C-ANT9104-2.4GHz", + "radio_role_assignment": "Client-Serving", + "channel_number": 2, + "powerlevel": 2 }, - "ap_name": "LTTS-test2", - "led_status": "Enableddd", - "led_brightness_level": 7, - "ap_mode": "Monitorw", - "location": 1, - "failover_priority": "Lossw", - "clean_air_si_2.4ghz": "Disableds", - "clean_air_si_5ghz": "Disableds", - "clean_air_si_6ghz": "Enableds", - "primary_ip_address": { - "address": "204.192.4.20dfasd0" }, - "secondary_ip_address": { - "address": "204.192.4.20dfasd0" }, - "tertiary_ip_address": { - "address": "204.192.4.20dfasd0" } + "5ghz_radio": { + "admin_status": "Enabled", + "antenna_name": "AIR-ANT2513P4M-N-5GHz", + "radio_role_assignment": "Client-Serving", + "channel_number": 44, + "powerlevel": 2, + "channel_width": "20 MHz" + } + } + ], + + "get_device_detail_all_data": { + "response": [{ + "ap_ethernet_mac_address": "34:5d:a8:0e:20:b4", + "apManagerInterfaceIp": "204.192.12.201", + "associated_wlc_ip": "204.192.6.200", + "bootDateTime": null, + "collectionInterval": "NA", + "collectionStatus": "Managed", + "description": null, + "deviceSupportLevel": "Supported", + "dnsResolvedManagementAddress": "", + "errorCode": "null", + "errorDescription": null, + "family": "Unified AP", + "hostname": "NFW-AP2-3802I", + "id": "ab7b6cd0-cfe5-4344-9169-c5a9690fb55d", + "instanceTenantId": "65d815269502a747808a83c5", + "instanceUuid": "ab7b6cd0-cfe5-4344-9169-c5a9690fb55d", + "interfaceCount": "0", + "inventoryStatusDetail": "NA", + "lastDeviceResyncStartTime": "", + "lastManagedResyncReasons": "", + "lastUpdateTime": 1721755030695, + "lastUpdated": "2024-07-23 17:17:10", + "lineCardCount": "0", + "lineCardId": "", + "location": null, + "locationName": null, + "mac_address": "34:5d:a8:3b:d8:e0", + "managedAtleastOnce": false, + "managementIpAddress": "204.192.102.11", + "managementState": "Managed", + "memorySize": "NA", + "pendingSyncRequestsCount": "0", + "platformId": "AIR-AP3802I-B-K9", + "reachabilityFailureReason": "NA", + "reachabilityStatus": "Reachable", + "reasonsForDeviceResync": "", + "reasonsForPendingSyncRequests": "", + "role": "ACCESS", + "roleSource": "AUTO", + "serialNumber": "FCW2203N6H1", + "series": "Cisco 9164I Series Unified Access Points", + "snmpContact": "", + "snmpLocation": "default location", + "softwareType": null, + "softwareVersion": "17.13.0.107", + "syncRequestedByApp": "", + "tagCount": "0", + "tunnelUdpPort": null, + "type": "Cisco 3800I Unified Access Point", + "upTime": "04:38:47.750", + "uptimeSeconds": 18507, + "vendor": "NA", + "waasDeviceMode": null + } + ] + }, + + "ap_task_error_status": { + "response": { + "version": 1721149801699, + "progress": "TASK_INTENT", + "data": "workflow_id=c3d0e8c5-6a83-4d72-8da7-8c4e7705578b;cfs_id=31eeddf4-2116-4786-ae99-4cd44ca6a3a7;rollback_status=not_supported;rollback_taskid=0;failure_task=Determination of network intent deployment status:38dca22a-62ab-4fa7-96e3-33a0d30587e5;processcfs_complete=true", + "startTime": 1721149785428, + "endTime": 1721149801699, + "errorCode": "NCNP20100", + "serviceType": "NCSP", + "username": "admin", + "lastUpdate": 1721149801680, + "isError": true, + "failureReason": "Unable to push to device 204.192.6.200 using protocol ssh2 the CLI do ap name LTTS-test2 name LTTS-test1", + "instanceTenantId": "6486ce96ff1f0d0c8be622f4", + "id": "f0ac3a5d-95b1-42ea-801c-e04ff7a4fbcb" + } + }, + + "playbook_config_provision": [{ + "mac_address": "34:5d:a8:3b:d8:e0", + "rf_profile": "HIGH", + "site": { + "floor": { + "name": "FLOOR1", + "parent_name": "Global/Chennai/LTTS" + } + } + }], + + "get_membership":{ + "site": { + "response": [], + "version": "1.0", + "message": "Site does not have childrens." + }, + "device": [ + { + "response": [ + { + "instanceUuid": "34f5a410-413d-4a6c-b195-8267fd599491", + "instanceTenantId": "6486ce96ff1f0d0c8be622f4", + "deployPending": "NONE", + "instanceVersion": 0, + "apEthernetMacAddress": "34:b8:83:15:7c:6c", + "apManagerInterfaceIp": "204.192.6.200", + "associatedWlcIp": "204.192.6.200", + "collectionInterval": "NA", + "collectionStatus": "Managed", + "deviceSupportLevel": "Supported", + "dnsResolvedManagementAddress": "", + "errorCode": "null", + "family": "Unified AP", + "hostname": "LTTS-Test2", + "interfaceCount": "0", + "inventoryStatusDetail": "NA", + "lastDeviceResyncStartTime": "", + "lastUpdateTime": 1719810005060, + "lastUpdated": "2024-07-01 05:00:05", + "lineCardCount": "0", + "lineCardId": "", + "macAddress": "34:5d:a8:3b:d8:e0", + "managedAtleastOnce": false, + "managementIpAddress": "204.1.216.3", + "managementState": "Managed", + "memorySize": "NA", + "paddedMgmtIpAddress": "204. 1.216. 3", + "pendingSyncRequestsCount": "0", + "platformId": "C9124AXI-B", + "reachabilityFailureReason": "NA", + "reachabilityStatus": "Reachable", + "reasonsForDeviceResync": "", + "reasonsForPendingSyncRequests": "", + "role": "ACCESS", + "roleSource": "AUTO", + "serialNumber": "FJC27101PRX", + "series": "Cisco Catalyst 9124AXI Series Unified Access Points", + "snmpContact": "", + "snmpLocation": "LTTS-Cisco", + "softwareVersion": "17.14.0.79", + "tagCount": "0", + "type": "Cisco Catalyst 9124AXI Unified Access Point", + "upTime": "33 days, 05:00:40.430", + "uptimeSeconds": 2874442, + "vendor": "NA" + } + ], + "version": "1.0", + "siteId": "17301034-7715-4363-952f-3d290ea6ca59" } - ] + ] + } } diff --git a/tests/unit/modules/dnac/fixtures/inventory_workflow_manager.json b/tests/unit/modules/dnac/fixtures/inventory_workflow_manager.json new file mode 100644 index 0000000000..54b8a2aecf --- /dev/null +++ b/tests/unit/modules/dnac/fixtures/inventory_workflow_manager.json @@ -0,0 +1,17812 @@ +{ + "playbook_add_device": [ + { + "cli_transport": "ssh", + "compute_device": false, + "enable_password": "Cisco#123", + "extended_discovery_info": null, + "http_password": null, + "http_port": null, + "http_secure": null, + "http_username": null, + "ip_address_list": [ + "60.1.1.1", + "50.1.1.1" + ], + "hostname_list": null, + "mac_address_list": null, + "netconf_port": "830", + "password": "Cisco#123", + "serial_number_list": null, + "snmp_auth_passphrase": null, + "snmp_auth_protocol": "SHA", + "snmp_mode": null, + "snmp_priv_passphrase": null, + "snmp_priv_protocol": null, + "snmp_ro_community": "test123", + "snmp_rw_community": "test123", + "snmp_retry": 3, + "snmp_timeout": 5, + "snmp_username": null, + "snmp_version": "v2", + "update_mgmt_ipaddresslist": null, + "username": "cisco", + "role": null, + "device_resync": null, + "reboot_device": null, + "credential_update": null, + "export_device_details_limit": 500, + "resync_device_count": 200, + "resync_max_timeout": 600, + "force_sync": null, + "clean_config": null, + "add_user_defined_field": null, + "update_interface_details": null, + "export_device_list": null, + "provision_wired_device": null + } + ], + "get_device_list_add_device": { + "response": [ + { + "memorySize": "NA", + "family": "Unified AP", + "description": null, + "lastUpdateTime": 1726864977243, + "macAddress": "34:5d:a8:3b:d8:e0", + "deviceSupportLevel": "Supported", + "softwareType": null, + "softwareVersion": "17.14.0.79", + "serialNumber": "FJC27101PRX", + "collectionInterval": "NA", + "dnsResolvedManagementAddress": "", + "lastManagedResyncReasons": "", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "NA", + "upTime": "2 days, 23:21:13.020", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": null, + "reachabilityFailureReason": "NA", + "reachabilityStatus": "Unreachable", + "series": "Cisco Catalyst 9124AXI Series Unified Access Points", + "snmpContact": "", + "snmpLocation": "default location", + "apManagerInterfaceIp": "204.192.6.200", + "collectionStatus": "Unassociated", + "hostname": "AP34B8.8315.7C6C", + "locationName": null, + "managementIpAddress": "204.1.216.18", + "platformId": "C9124AXI-B", + "lastUpdated": "2024-09-20 20:42:57", + "associatedWlcIp": "204.192.6.200", + "apEthernetMacAddress": "34:b8:83:15:7c:6c", + "errorCode": "Could Not Synchronize", + "errorDescription": null, + "lastDeviceResyncStartTime": "", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": false, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": -1, + "vendor": "NA", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9124AXI Unified Access Point", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "a33c73ee-17e8-460e-b58a-4477a7d62d85", + "id": "a33c73ee-17e8-460e-b58a-4477a7d62d85" + }, + { + "memorySize": "NA", + "family": "Switches and Hubs", + "description": "Cisco IOS Software [Dublin], Catalyst L3 Switch Software (CAT9K_IOSXE), Version 17.14.1, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Fri 05-Apr-24 00:08 by mcpre", + "lastUpdateTime": 1726902178910, + "macAddress": "d4:ad:bd:c1:67:00", + "deviceSupportLevel": "Supported", + "softwareType": "IOS-XE", + "softwareVersion": "17.14.1", + "serialNumber": "FJC2327U0S2", + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "204.192.3.40", + "lastManagedResyncReasons": "Device Added", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Device Added", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": "8 days, 7:01:21.07", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": "2024-09-13 00:01:58", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9300 Series Switches", + "snmpContact": "", + "snmpLocation": "", + "apManagerInterfaceIp": "", + "collectionStatus": "Managed", + "hostname": "DC-FR-9300", + "locationName": null, + "managementIpAddress": "204.192.3.40", + "platformId": "C9300-24U", + "lastUpdated": "2024-09-21 07:02:58", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2024-09-21 07:02:56", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 722096, + "vendor": "Cisco", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9300 Switch", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "1e8ffc57-8a44-459f-b880-6b49d6b63aa4", + "id": "1e8ffc57-8a44-459f-b880-6b49d6b63aa4" + }, + { + "memorySize": "NA", + "family": "Switches and Hubs", + "description": "Cisco IOS Software [Dublin], Catalyst L3 Switch Software (CAT9K_IOSXE), Version 17.14.1, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Fri 05-Apr-24 00:08 by mcpre", + "lastUpdateTime": 1726907545861, + "macAddress": "00:b6:70:32:b8:00", + "deviceSupportLevel": "Supported", + "softwareType": "IOS-XE", + "softwareVersion": "17.14.1", + "serialNumber": "FCW2225C020", + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "204.1.2.5", + "lastManagedResyncReasons": "Link Up/Down Event", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Link Up/Down Event", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": "2 days, 21:56:47.73", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": "2024-09-18 10:36:25", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9300 Series Switches", + "snmpContact": "", + "snmpLocation": "", + "apManagerInterfaceIp": "", + "collectionStatus": "Managed", + "hostname": "DC-T-9300.cisco.local", + "locationName": null, + "managementIpAddress": "204.1.2.5", + "platformId": "C9300-24P", + "lastUpdated": "2024-09-21 08:32:25", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2024-09-21 08:31:15", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 252029, + "vendor": "Cisco", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9300 Switch", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "820bd13a-f565-4778-a320-9ec9f23b4725", + "id": "820bd13a-f565-4778-a320-9ec9f23b4725" + }, + { + "memorySize": "NA", + "family": "Unified AP", + "description": null, + "lastUpdateTime": 1726864977243, + "macAddress": "90:e9:5e:03:f3:40", + "deviceSupportLevel": "Supported", + "softwareType": null, + "softwareVersion": "17.14.0.79", + "serialNumber": "FJC27181V9V", + "collectionInterval": "NA", + "dnsResolvedManagementAddress": "", + "lastManagedResyncReasons": "", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "NA", + "upTime": "2 days, 23:05:14.830", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": null, + "reachabilityFailureReason": "NA", + "reachabilityStatus": "Unreachable", + "series": "Cisco Catalyst 9130AXE Series Unified Access Points", + "snmpContact": "", + "snmpLocation": "LTTS/Cisco/Chennai", + "apManagerInterfaceIp": "204.192.6.200", + "collectionStatus": "Unassociated", + "hostname": "LTTS-test2", + "locationName": null, + "managementIpAddress": "204.1.216.15", + "platformId": "C9130AXE-B", + "lastUpdated": "2024-09-20 20:42:57", + "associatedWlcIp": "204.192.6.200", + "apEthernetMacAddress": "34:5d:a8:0e:20:b4", + "errorCode": "Could Not Synchronize", + "errorDescription": null, + "lastDeviceResyncStartTime": "", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": false, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": -1, + "vendor": "NA", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9130AXE Unified Access Point", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "01bfa675-0d3d-4677-8ad9-37fe7ebc47c1", + "id": "01bfa675-0d3d-4677-8ad9-37fe7ebc47c1" + }, + { + "memorySize": "NA", + "family": "Unified AP", + "description": null, + "lastUpdateTime": 1726864977243, + "macAddress": "6c:d6:e3:75:5a:e0", + "deviceSupportLevel": "Supported", + "softwareType": null, + "softwareVersion": "17.14.0.79", + "serialNumber": "FJC272014VQ", + "collectionInterval": "NA", + "dnsResolvedManagementAddress": "", + "lastManagedResyncReasons": "", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "NA", + "upTime": "2 days, 20:11:06.830", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": null, + "reachabilityFailureReason": "NA", + "reachabilityStatus": "Unreachable", + "series": "Cisco Catalyst 9120AXE Series Unified Access Points", + "snmpContact": "", + "snmpLocation": "default location", + "apManagerInterfaceIp": "204.192.6.200", + "collectionStatus": "Unassociated", + "hostname": "LTTS_Test_9120_T2", + "locationName": null, + "managementIpAddress": "204.1.216.17", + "platformId": "C9120AXE-B", + "lastUpdated": "2024-09-20 20:42:57", + "associatedWlcIp": "204.192.6.200", + "apEthernetMacAddress": "6c:d6:e3:69:49:b4", + "errorCode": "Could Not Synchronize", + "errorDescription": null, + "lastDeviceResyncStartTime": "", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": false, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": -1, + "vendor": "NA", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9120AXE Unified Access Point", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "4aa3b34b-7acb-4581-8875-b99e6fce9feb", + "id": "4aa3b34b-7acb-4581-8875-b99e6fce9feb" + }, + { + "memorySize": "NA", + "family": "Unified AP", + "description": null, + "lastUpdateTime": 1726864977243, + "macAddress": "e4:38:7e:42:bc:00", + "deviceSupportLevel": "Supported", + "softwareType": null, + "softwareVersion": "17.14.0.79", + "serialNumber": "FJC27101P0X", + "collectionInterval": "NA", + "dnsResolvedManagementAddress": "", + "lastManagedResyncReasons": "", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "NA", + "upTime": "2 days, 00:21:09.940", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": null, + "reachabilityFailureReason": "NA", + "reachabilityStatus": "Unreachable", + "series": "Cisco Catalyst Wireless 9166 Series Unified Access Points", + "snmpContact": "", + "snmpLocation": "default location", + "apManagerInterfaceIp": "204.192.6.200", + "collectionStatus": "Unassociated", + "hostname": "LTTS_Test_9166_T3", + "locationName": null, + "managementIpAddress": "204.1.216.55", + "platformId": "CW9166I-B", + "lastUpdated": "2024-09-20 20:42:57", + "associatedWlcIp": "204.192.6.200", + "apEthernetMacAddress": "68:49:92:75:0f:d0", + "errorCode": "Could Not Synchronize", + "errorDescription": null, + "lastDeviceResyncStartTime": "", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": false, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": -1, + "vendor": "NA", + "waasDeviceMode": null, + "type": "Cisco Catalyst Wireless 9166I Unified Access Point", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "6c205ea6-893f-4ccb-a57b-7816733a7055", + "id": "6c205ea6-893f-4ccb-a57b-7816733a7055" + }, + { + "memorySize": "NA", + "family": "Switches and Hubs", + "description": "Cisco IOS Software [Dublin], Catalyst L3 Switch Software (CAT9K_IOSXE), Version 17.14.1, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Fri 05-Apr-24 00:08 by mcpre", + "lastUpdateTime": 1726856046198, + "macAddress": "0c:75:bd:41:14:00", + "deviceSupportLevel": "Supported", + "softwareType": "IOS-XE", + "softwareVersion": "17.14.1", + "serialNumber": "FJB2334D06N", + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "204.1.2.4", + "lastManagedResyncReasons": "Periodic", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Periodic", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": "7 days, 18:03:26.44", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": "2024-09-13 00:11:06", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9300 Series Switches", + "snmpContact": "", + "snmpLocation": "", + "apManagerInterfaceIp": "", + "collectionStatus": "Managed", + "hostname": "NY-BN-9300.cisco.local", + "locationName": null, + "managementIpAddress": "204.1.2.4", + "platformId": "C9300-48UXM, C9300-48UXM", + "lastUpdated": "2024-09-20 18:14:06", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2024-09-20 18:13:27", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 721548, + "vendor": "Cisco", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9300 Switch", + "location": null, + "role": "DISTRIBUTION", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "f19cf2b0-a9bb-4569-b140-e1d0e86d5226", + "id": "f19cf2b0-a9bb-4569-b140-e1d0e86d5226" + }, + { + "memorySize": "NA", + "family": "Switches and Hubs", + "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", + "lastUpdateTime": 1726905546686, + "macAddress": "90:88:55:07:59:00", + "deviceSupportLevel": "Supported", + "softwareType": "IOS-XE", + "softwareVersion": "17.12.2", + "serialNumber": "FJC271924K0, FJC271924EQ", + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "204.1.2.2", + "lastManagedResyncReasons": "Link Up/Down Event", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Link Up/Down Event", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": "8 days, 7:44:16.24", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": "2024-09-13 00:15:06", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9300 Series Switches", + "snmpContact": "", + "snmpLocation": "", + "apManagerInterfaceIp": "", + "collectionStatus": "Managed", + "hostname": "NY-EN-9300.cisco.local", + "locationName": null, + "managementIpAddress": "204.1.2.2", + "platformId": "C9300-48UXM, C9300-48UXM", + "lastUpdated": "2024-09-21 07:59:06", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2024-09-21 07:56:32", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 721308, + "vendor": "Cisco", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9300 Switch", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "e5cc9398-afbf-40a2-a8b1-e9cf0635c28a", + "id": "e5cc9398-afbf-40a2-a8b1-e9cf0635c28a" + }, + { + "memorySize": "NA", + "family": "Wireless Controller", + "description": "Cisco IOS Software [Dublin], C9800 Software (C9800_IOSXE-K9), Version 17.14.1, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Fri 05-Apr-24 00:11 by mcpre netconf enabled", + "lastUpdateTime": 1726864977243, + "macAddress": "cc:b6:c8:e2:29:0b", + "deviceSupportLevel": "Supported", + "softwareType": "IOS-XE", + "softwareVersion": "17.14.1", + "serialNumber": "FOX2639PAY7", + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "204.192.6.200", + "lastManagedResyncReasons": "Periodic", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Periodic", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": "60 days, 20:28:01.76", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": "2024-07-22 00:14:57", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9800 Series Wireless Controllers", + "snmpContact": "", + "snmpLocation": "", + "apManagerInterfaceIp": "", + "collectionStatus": "Managed", + "hostname": "NY-IAC-EWLC.cisco.local", + "locationName": null, + "managementIpAddress": "204.192.6.200", + "platformId": "C9800-40-K9", + "lastUpdated": "2024-09-20 20:42:57", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2024-09-20 20:42:09", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 5300517, + "vendor": "Cisco", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9800-40 Wireless Controller", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "71197925-1982-46d4-b569-e4cbbe8f06e7", + "id": "71197925-1982-46d4-b569-e4cbbe8f06e7" + } + ], + "version": "1.0" + }, + "get_device_list_add_device_2": { + "response": [], + "version": "1.0" + }, + "add_device_add_device": { + "response": { + "taskId": "019213ba-1d28-7fda-90f3-2f0e6bb2ee86", + "url": "/api/v1/task/019213ba-1d28-7fda-90f3-2f0e6bb2ee86" + }, + "version": "1.0" + }, + "TaskDetails_add_device_start": { + "response": { + "version": 1726907817257, + "progress": "Inventory service adding devices", + "startTime": 1726907817257, + "serviceType": "Inventory service", + "isError": false, + "instanceTenantId": "66e48af26fe687300375675e", + "id": "019213ba-1d28-7fda-90f3-2f0e6bb2ee86" + }, + "version": "1.0" + }, + "TaskDetails_add_device_end": { + "response": { + "version": 1726907828194, + "progress": "{'url':'/task/019213ba-1d28-7fda-90f3-2f0e6bb2ee86/tree'}", + "startTime": 1726907817257, + "endTime": 1726907828194, + "serviceType": "Inventory service", + "isError": false, + "instanceTenantId": "66e48af26fe687300375675e", + "id": "019213ba-1d28-7fda-90f3-2f0e6bb2ee86" + }, + "version": "1.0" + }, + "get_device_list_add_device_3": { + "response": [ + { + "memorySize": "NA", + "family": "Unified AP", + "description": null, + "lastUpdateTime": 1726864977243, + "macAddress": "34:5d:a8:3b:d8:e0", + "deviceSupportLevel": "Supported", + "softwareType": null, + "softwareVersion": "17.14.0.79", + "serialNumber": "FJC27101PRX", + "collectionInterval": "NA", + "dnsResolvedManagementAddress": "", + "lastManagedResyncReasons": "", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "NA", + "upTime": "2 days, 23:21:13.020", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": null, + "reachabilityFailureReason": "NA", + "reachabilityStatus": "Unreachable", + "series": "Cisco Catalyst 9124AXI Series Unified Access Points", + "snmpContact": "", + "snmpLocation": "default location", + "apManagerInterfaceIp": "204.192.6.200", + "collectionStatus": "Unassociated", + "hostname": "AP34B8.8315.7C6C", + "locationName": null, + "managementIpAddress": "204.1.216.18", + "platformId": "C9124AXI-B", + "lastUpdated": "2024-09-20 20:42:57", + "associatedWlcIp": "204.192.6.200", + "apEthernetMacAddress": "34:b8:83:15:7c:6c", + "errorCode": "Could Not Synchronize", + "errorDescription": null, + "lastDeviceResyncStartTime": "", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": false, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": -1, + "vendor": "NA", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9124AXI Unified Access Point", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "a33c73ee-17e8-460e-b58a-4477a7d62d85", + "id": "a33c73ee-17e8-460e-b58a-4477a7d62d85" + }, + { + "memorySize": "NA", + "family": "Switches and Hubs", + "description": "Cisco IOS Software [Dublin], Catalyst L3 Switch Software (CAT9K_IOSXE), Version 17.14.1, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Fri 05-Apr-24 00:08 by mcpre", + "lastUpdateTime": 1726902178910, + "macAddress": "d4:ad:bd:c1:67:00", + "deviceSupportLevel": "Supported", + "softwareType": "IOS-XE", + "softwareVersion": "17.14.1", + "serialNumber": "FJC2327U0S2", + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "204.192.3.40", + "lastManagedResyncReasons": "Device Added", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Device Added", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": "8 days, 7:01:21.07", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": "2024-09-13 00:01:58", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9300 Series Switches", + "snmpContact": "", + "snmpLocation": "", + "apManagerInterfaceIp": "", + "collectionStatus": "Managed", + "hostname": "DC-FR-9300", + "locationName": null, + "managementIpAddress": "204.192.3.40", + "platformId": "C9300-24U", + "lastUpdated": "2024-09-21 07:02:58", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2024-09-21 07:02:56", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 722110, + "vendor": "Cisco", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9300 Switch", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "1e8ffc57-8a44-459f-b880-6b49d6b63aa4", + "id": "1e8ffc57-8a44-459f-b880-6b49d6b63aa4" + }, + { + "memorySize": "NA", + "family": "Switches and Hubs", + "description": "Cisco IOS Software [Dublin], Catalyst L3 Switch Software (CAT9K_IOSXE), Version 17.14.1, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Fri 05-Apr-24 00:08 by mcpre", + "lastUpdateTime": 1726907545861, + "macAddress": "00:b6:70:32:b8:00", + "deviceSupportLevel": "Supported", + "softwareType": "IOS-XE", + "softwareVersion": "17.14.1", + "serialNumber": "FCW2225C020", + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "204.1.2.5", + "lastManagedResyncReasons": "Link Up/Down Event", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Link Up/Down Event", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": "2 days, 21:56:47.73", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": "2024-09-18 10:36:25", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9300 Series Switches", + "snmpContact": "", + "snmpLocation": "", + "apManagerInterfaceIp": "", + "collectionStatus": "Managed", + "hostname": "DC-T-9300.cisco.local", + "locationName": null, + "managementIpAddress": "204.1.2.5", + "platformId": "C9300-24P", + "lastUpdated": "2024-09-21 08:32:25", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2024-09-21 08:31:15", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 252043, + "vendor": "Cisco", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9300 Switch", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "820bd13a-f565-4778-a320-9ec9f23b4725", + "id": "820bd13a-f565-4778-a320-9ec9f23b4725" + }, + { + "memorySize": "NA", + "family": "Unified AP", + "description": null, + "lastUpdateTime": 1726864977243, + "macAddress": "90:e9:5e:03:f3:40", + "deviceSupportLevel": "Supported", + "softwareType": null, + "softwareVersion": "17.14.0.79", + "serialNumber": "FJC27181V9V", + "collectionInterval": "NA", + "dnsResolvedManagementAddress": "", + "lastManagedResyncReasons": "", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "NA", + "upTime": "2 days, 23:05:14.830", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": null, + "reachabilityFailureReason": "NA", + "reachabilityStatus": "Unreachable", + "series": "Cisco Catalyst 9130AXE Series Unified Access Points", + "snmpContact": "", + "snmpLocation": "LTTS/Cisco/Chennai", + "apManagerInterfaceIp": "204.192.6.200", + "collectionStatus": "Unassociated", + "hostname": "LTTS-test2", + "locationName": null, + "managementIpAddress": "204.1.216.15", + "platformId": "C9130AXE-B", + "lastUpdated": "2024-09-20 20:42:57", + "associatedWlcIp": "204.192.6.200", + "apEthernetMacAddress": "34:5d:a8:0e:20:b4", + "errorCode": "Could Not Synchronize", + "errorDescription": null, + "lastDeviceResyncStartTime": "", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": false, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": -1, + "vendor": "NA", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9130AXE Unified Access Point", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "01bfa675-0d3d-4677-8ad9-37fe7ebc47c1", + "id": "01bfa675-0d3d-4677-8ad9-37fe7ebc47c1" + }, + { + "memorySize": "NA", + "family": "Unified AP", + "description": null, + "lastUpdateTime": 1726864977243, + "macAddress": "6c:d6:e3:75:5a:e0", + "deviceSupportLevel": "Supported", + "softwareType": null, + "softwareVersion": "17.14.0.79", + "serialNumber": "FJC272014VQ", + "collectionInterval": "NA", + "dnsResolvedManagementAddress": "", + "lastManagedResyncReasons": "", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "NA", + "upTime": "2 days, 20:11:06.830", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": null, + "reachabilityFailureReason": "NA", + "reachabilityStatus": "Unreachable", + "series": "Cisco Catalyst 9120AXE Series Unified Access Points", + "snmpContact": "", + "snmpLocation": "default location", + "apManagerInterfaceIp": "204.192.6.200", + "collectionStatus": "Unassociated", + "hostname": "LTTS_Test_9120_T2", + "locationName": null, + "managementIpAddress": "204.1.216.17", + "platformId": "C9120AXE-B", + "lastUpdated": "2024-09-20 20:42:57", + "associatedWlcIp": "204.192.6.200", + "apEthernetMacAddress": "6c:d6:e3:69:49:b4", + "errorCode": "Could Not Synchronize", + "errorDescription": null, + "lastDeviceResyncStartTime": "", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": false, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": -1, + "vendor": "NA", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9120AXE Unified Access Point", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "4aa3b34b-7acb-4581-8875-b99e6fce9feb", + "id": "4aa3b34b-7acb-4581-8875-b99e6fce9feb" + }, + { + "memorySize": "NA", + "family": "Unified AP", + "description": null, + "lastUpdateTime": 1726864977243, + "macAddress": "e4:38:7e:42:bc:00", + "deviceSupportLevel": "Supported", + "softwareType": null, + "softwareVersion": "17.14.0.79", + "serialNumber": "FJC27101P0X", + "collectionInterval": "NA", + "dnsResolvedManagementAddress": "", + "lastManagedResyncReasons": "", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "NA", + "upTime": "2 days, 00:21:09.940", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": null, + "reachabilityFailureReason": "NA", + "reachabilityStatus": "Unreachable", + "series": "Cisco Catalyst Wireless 9166 Series Unified Access Points", + "snmpContact": "", + "snmpLocation": "default location", + "apManagerInterfaceIp": "204.192.6.200", + "collectionStatus": "Unassociated", + "hostname": "LTTS_Test_9166_T3", + "locationName": null, + "managementIpAddress": "204.1.216.55", + "platformId": "CW9166I-B", + "lastUpdated": "2024-09-20 20:42:57", + "associatedWlcIp": "204.192.6.200", + "apEthernetMacAddress": "68:49:92:75:0f:d0", + "errorCode": "Could Not Synchronize", + "errorDescription": null, + "lastDeviceResyncStartTime": "", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": false, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": -1, + "vendor": "NA", + "waasDeviceMode": null, + "type": "Cisco Catalyst Wireless 9166I Unified Access Point", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "6c205ea6-893f-4ccb-a57b-7816733a7055", + "id": "6c205ea6-893f-4ccb-a57b-7816733a7055" + }, + { + "memorySize": "NA", + "family": "Switches and Hubs", + "description": "Cisco IOS Software [Dublin], Catalyst L3 Switch Software (CAT9K_IOSXE), Version 17.14.1, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Fri 05-Apr-24 00:08 by mcpre", + "lastUpdateTime": 1726856046198, + "macAddress": "0c:75:bd:41:14:00", + "deviceSupportLevel": "Supported", + "softwareType": "IOS-XE", + "softwareVersion": "17.14.1", + "serialNumber": "FJB2334D06N", + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "204.1.2.4", + "lastManagedResyncReasons": "Periodic", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Periodic", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": "7 days, 18:03:26.44", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": "2024-09-13 00:11:06", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9300 Series Switches", + "snmpContact": "", + "snmpLocation": "", + "apManagerInterfaceIp": "", + "collectionStatus": "Managed", + "hostname": "NY-BN-9300.cisco.local", + "locationName": null, + "managementIpAddress": "204.1.2.4", + "platformId": "C9300-48UXM, C9300-48UXM", + "lastUpdated": "2024-09-20 18:14:06", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2024-09-20 18:13:27", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 721563, + "vendor": "Cisco", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9300 Switch", + "location": null, + "role": "DISTRIBUTION", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "f19cf2b0-a9bb-4569-b140-e1d0e86d5226", + "id": "f19cf2b0-a9bb-4569-b140-e1d0e86d5226" + }, + { + "memorySize": "NA", + "family": "Switches and Hubs", + "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", + "lastUpdateTime": 1726905546686, + "macAddress": "90:88:55:07:59:00", + "deviceSupportLevel": "Supported", + "softwareType": "IOS-XE", + "softwareVersion": "17.12.2", + "serialNumber": "FJC271924K0, FJC271924EQ", + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "204.1.2.2", + "lastManagedResyncReasons": "Link Up/Down Event", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Link Up/Down Event", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": "8 days, 7:44:16.24", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": "2024-09-13 00:15:06", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9300 Series Switches", + "snmpContact": "", + "snmpLocation": "", + "apManagerInterfaceIp": "", + "collectionStatus": "Managed", + "hostname": "NY-EN-9300.cisco.local", + "locationName": null, + "managementIpAddress": "204.1.2.2", + "platformId": "C9300-48UXM, C9300-48UXM", + "lastUpdated": "2024-09-21 07:59:06", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2024-09-21 07:56:32", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 721322, + "vendor": "Cisco", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9300 Switch", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "e5cc9398-afbf-40a2-a8b1-e9cf0635c28a", + "id": "e5cc9398-afbf-40a2-a8b1-e9cf0635c28a" + }, + { + "memorySize": "NA", + "family": "Wireless Controller", + "description": "Cisco IOS Software [Dublin], C9800 Software (C9800_IOSXE-K9), Version 17.14.1, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Fri 05-Apr-24 00:11 by mcpre netconf enabled", + "lastUpdateTime": 1726864977243, + "macAddress": "cc:b6:c8:e2:29:0b", + "deviceSupportLevel": "Supported", + "softwareType": "IOS-XE", + "softwareVersion": "17.14.1", + "serialNumber": "FOX2639PAY7", + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "204.192.6.200", + "lastManagedResyncReasons": "Periodic", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Periodic", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": "60 days, 20:28:01.76", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": "2024-07-22 00:14:57", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9800 Series Wireless Controllers", + "snmpContact": "", + "snmpLocation": "", + "apManagerInterfaceIp": "", + "collectionStatus": "Managed", + "hostname": "NY-IAC-EWLC.cisco.local", + "locationName": null, + "managementIpAddress": "204.192.6.200", + "platformId": "C9800-40-K9", + "lastUpdated": "2024-09-20 20:42:57", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2024-09-20 20:42:09", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 5300532, + "vendor": "Cisco", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9800-40 Wireless Controller", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "71197925-1982-46d4-b569-e4cbbe8f06e7", + "id": "71197925-1982-46d4-b569-e4cbbe8f06e7" + }, + { + "memorySize": "NA", + "family": null, + "description": null, + "lastUpdateTime": null, + "macAddress": null, + "deviceSupportLevel": "Unsupported", + "softwareType": null, + "softwareVersion": null, + "serialNumber": null, + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": null, + "lastManagedResyncReasons": "", + "managementState": "Never Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Device Added", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": null, + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": null, + "reachabilityFailureReason": "", + "reachabilityStatus": "Unknown", + "series": null, + "snmpContact": null, + "snmpLocation": null, + "apManagerInterfaceIp": "", + "collectionStatus": "In Progress", + "hostname": null, + "locationName": null, + "managementIpAddress": "50.1.1.1", + "platformId": null, + "lastUpdated": null, + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2024-09-21 08:37:07", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": false, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": -1, + "vendor": "NA", + "waasDeviceMode": null, + "type": null, + "location": null, + "role": "UNKNOWN", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "f7c5779b-398b-4b60-8149-60319b120b6d", + "id": "f7c5779b-398b-4b60-8149-60319b120b6d" + }, + { + "memorySize": "NA", + "family": null, + "description": null, + "lastUpdateTime": null, + "macAddress": null, + "deviceSupportLevel": "Unsupported", + "softwareType": null, + "softwareVersion": null, + "serialNumber": null, + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": null, + "lastManagedResyncReasons": "", + "managementState": "Never Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Device Added", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": null, + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": null, + "reachabilityFailureReason": "", + "reachabilityStatus": "Unknown", + "series": null, + "snmpContact": null, + "snmpLocation": null, + "apManagerInterfaceIp": "", + "collectionStatus": "In Progress", + "hostname": null, + "locationName": null, + "managementIpAddress": "60.1.1.1", + "platformId": null, + "lastUpdated": null, + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2024-09-21 08:37:07", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": false, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": -1, + "vendor": "NA", + "waasDeviceMode": null, + "type": null, + "location": null, + "role": "UNKNOWN", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "05ab282d-9c65-46e3-976d-999852d79325", + "id": "05ab282d-9c65-46e3-976d-999852d79325" + } + ], + "version": "1.0" + }, + "get_device_list_add_device_5": { + "response": [], + "version": "1.0" + }, + "add_device_response": { + "message": "Device(s) '['60.1.1.1', '50.1.1.1']' added to Cisco Catalyst Center" + }, + "playbook_prov_device_2353": [ + { + "provision_wired_device": [ + { + "device_ip": "204.1.2.4", + "resync_retry_count": 200, + "resync_retry_interval": 2, + "site_name": "Global/Chennai/LTTS/FLOOR1" + } + ] + } + ], + "get_device_list1_prov_device_2353": { + "response": [ + { + "memorySize": "NA", + "family": "Unified AP", + "description": null, + "lastUpdateTime": 1727172267222, + "macAddress": "34:5d:a8:3b:d8:e0", + "deviceSupportLevel": "Supported", + "softwareType": null, + "softwareVersion": "17.14.0.79", + "serialNumber": "FJC27101PRX", + "collectionInterval": "NA", + "dnsResolvedManagementAddress": "", + "lastManagedResyncReasons": "", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "NA", + "upTime": "1 days, 06:23:47.340", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": null, + "reachabilityFailureReason": "NA", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9124AXI Series Unified Access Points", + "snmpContact": "", + "snmpLocation": "default location", + "apManagerInterfaceIp": "204.192.6.200", + "collectionStatus": "Managed", + "hostname": "AP34B8.8315.7C6C", + "locationName": null, + "managementIpAddress": "204.1.216.26", + "platformId": "C9124AXI-B", + "lastUpdated": "2024-09-24 10:04:27", + "associatedWlcIp": "204.192.6.200", + "apEthernetMacAddress": "34:b8:83:15:7c:6c", + "errorCode": "null", + "errorDescription": null, + "lastDeviceResyncStartTime": "", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": false, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 109465, + "vendor": "NA", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9124AXI Unified Access Point", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "a33c73ee-17e8-460e-b58a-4477a7d62d85", + "id": "a33c73ee-17e8-460e-b58a-4477a7d62d85" + }, + { + "memorySize": "NA", + "family": "Switches and Hubs", + "description": "Cisco IOS Software [Dublin], Catalyst L3 Switch Software (CAT9K_IOSXE), Version 17.14.1, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Fri 05-Apr-24 00:08 by mcpre", + "lastUpdateTime": 1727161593374, + "macAddress": "d4:ad:bd:c1:67:00", + "deviceSupportLevel": "Supported", + "softwareType": "IOS-XE", + "softwareVersion": "17.14.1", + "serialNumber": "FJC2327U0S2", + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "204.192.3.40", + "lastManagedResyncReasons": "Config Change Event", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Config Change Event", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": "11 days, 7:04:53.16", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": "2024-09-13 00:02:33", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9300 Series Switches", + "snmpContact": "", + "snmpLocation": "", + "apManagerInterfaceIp": "", + "collectionStatus": "Managed", + "hostname": "DC-FR-9300.cisco.local", + "locationName": null, + "managementIpAddress": "204.192.3.40", + "platformId": "C9300-24U", + "lastUpdated": "2024-09-24 07:06:33", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2024-09-24 07:06:31", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 986552, + "vendor": "Cisco", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9300 Switch", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "1e8ffc57-8a44-459f-b880-6b49d6b63aa4", + "id": "1e8ffc57-8a44-459f-b880-6b49d6b63aa4" + }, + { + "memorySize": "NA", + "family": "Switches and Hubs", + "description": "Cisco IOS Software [Dublin], Catalyst L3 Switch Software (CAT9K_IOSXE), Version 17.14.1, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Fri 05-Apr-24 00:08 by mcpre", + "lastUpdateTime": 1727159154585, + "macAddress": "00:b6:70:32:b8:00", + "deviceSupportLevel": "Supported", + "softwareType": "IOS-XE", + "softwareVersion": "17.14.1", + "serialNumber": "FCW2225C020", + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "204.1.2.5", + "lastManagedResyncReasons": "Link Up/Down Event", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Config Change Event", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": "5 days, 19:34:32.16", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": "2024-09-18 10:51:54", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9300 Series Switches", + "snmpContact": "", + "snmpLocation": "", + "apManagerInterfaceIp": "", + "collectionStatus": "Partial Collection Failure", + "hostname": "DC-T-9300.cisco.local", + "locationName": null, + "managementIpAddress": "204.1.2.5", + "platformId": "C9300-24P", + "lastUpdated": "2024-09-24 06:25:54", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": "SNMP-FAILED", + "errorDescription": "NCIM12001: Device was not successfully authenticated via SNMP credentials. However, device is ping reachable. Either the mandatory protocol credentials are not correctly provided to Catalyst Center or the device is responding slow and exceeding the set timeout value. User can also run discovery again only for this device with correct credentials using the discovery feature.", + "lastDeviceResyncStartTime": "2024-09-24 06:20:52", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 515591, + "vendor": "Cisco", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9300 Switch", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "820bd13a-f565-4778-a320-9ec9f23b4725", + "id": "820bd13a-f565-4778-a320-9ec9f23b4725" + }, + { + "memorySize": "NA", + "family": "Unified AP", + "description": null, + "lastUpdateTime": 1727172267222, + "macAddress": "90:e9:5e:03:f3:40", + "deviceSupportLevel": "Supported", + "softwareType": null, + "softwareVersion": "17.14.0.79", + "serialNumber": "FJC27181V9V", + "collectionInterval": "NA", + "dnsResolvedManagementAddress": "", + "lastManagedResyncReasons": "", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "NA", + "upTime": "2 days, 05:36:40.340", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": null, + "reachabilityFailureReason": "NA", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9130AXE Series Unified Access Points", + "snmpContact": "", + "snmpLocation": "LTTS/Cisco/Chennai", + "apManagerInterfaceIp": "204.192.6.200", + "collectionStatus": "Managed", + "hostname": "LTTS-test2", + "locationName": null, + "managementIpAddress": "204.1.216.27", + "platformId": "C9130AXE-B", + "lastUpdated": "2024-09-24 10:04:27", + "associatedWlcIp": "204.192.6.200", + "apEthernetMacAddress": "34:5d:a8:0e:20:b4", + "errorCode": "null", + "errorDescription": null, + "lastDeviceResyncStartTime": "", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": false, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 193038, + "vendor": "NA", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9130AXE Unified Access Point", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "01bfa675-0d3d-4677-8ad9-37fe7ebc47c1", + "id": "01bfa675-0d3d-4677-8ad9-37fe7ebc47c1" + }, + { + "memorySize": "NA", + "family": "Unified AP", + "description": null, + "lastUpdateTime": 1727172267222, + "macAddress": "6c:d6:e3:75:5a:e0", + "deviceSupportLevel": "Supported", + "softwareType": null, + "softwareVersion": "17.14.0.79", + "serialNumber": "FJC272014VQ", + "collectionInterval": "NA", + "dnsResolvedManagementAddress": "", + "lastManagedResyncReasons": "", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "NA", + "upTime": "1 days, 02:15:30.340", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": null, + "reachabilityFailureReason": "NA", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9120AXE Series Unified Access Points", + "snmpContact": "", + "snmpLocation": "default location", + "apManagerInterfaceIp": "204.192.6.200", + "collectionStatus": "Managed", + "hostname": "LTTS_Test_9120_T2", + "locationName": null, + "managementIpAddress": "204.1.216.44", + "platformId": "C9120AXE-B", + "lastUpdated": "2024-09-24 10:04:27", + "associatedWlcIp": "204.192.6.200", + "apEthernetMacAddress": "6c:d6:e3:69:49:b4", + "errorCode": "null", + "errorDescription": null, + "lastDeviceResyncStartTime": "", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": false, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 94568, + "vendor": "NA", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9120AXE Unified Access Point", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "4aa3b34b-7acb-4581-8875-b99e6fce9feb", + "id": "4aa3b34b-7acb-4581-8875-b99e6fce9feb" + }, + { + "memorySize": "NA", + "family": "Unified AP", + "description": null, + "lastUpdateTime": 1727172267222, + "macAddress": "e4:38:7e:42:bc:00", + "deviceSupportLevel": "Supported", + "softwareType": null, + "softwareVersion": "17.14.0.79", + "serialNumber": "FJC27101P0X", + "collectionInterval": "NA", + "dnsResolvedManagementAddress": "", + "lastManagedResyncReasons": "", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "NA", + "upTime": "6 days, 14:55:15.260", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": null, + "reachabilityFailureReason": "NA", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst Wireless 9166 Series Unified Access Points", + "snmpContact": "", + "snmpLocation": "default location", + "apManagerInterfaceIp": "204.192.6.200", + "collectionStatus": "Managed", + "hostname": "LTTS_Test_9166_T3", + "locationName": null, + "managementIpAddress": "204.1.216.21", + "platformId": "CW9166I-B", + "lastUpdated": "2024-09-24 10:04:27", + "associatedWlcIp": "204.192.6.200", + "apEthernetMacAddress": "68:49:92:75:0f:d0", + "errorCode": "null", + "errorDescription": null, + "lastDeviceResyncStartTime": "", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": false, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 572153, + "vendor": "NA", + "waasDeviceMode": null, + "type": "Cisco Catalyst Wireless 9166I Unified Access Point", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "6c205ea6-893f-4ccb-a57b-7816733a7055", + "id": "6c205ea6-893f-4ccb-a57b-7816733a7055" + }, + { + "memorySize": "NA", + "family": "Switches and Hubs", + "description": "Cisco IOS Software [Dublin], Catalyst L3 Switch Software (CAT9K_IOSXE), Version 17.14.1, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Fri 05-Apr-24 00:08 by mcpre", + "lastUpdateTime": 1727172292925, + "macAddress": "0c:75:bd:41:14:00", + "deviceSupportLevel": "Supported", + "softwareType": "IOS-XE", + "softwareVersion": "17.14.1", + "serialNumber": "FJB2334D06N", + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "204.1.2.4", + "lastManagedResyncReasons": "Device Added", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Device Added", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": "11 days, 9:54:02.46", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": "2024-09-13 00:10:52", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9300 Series Switches", + "snmpContact": "", + "snmpLocation": "", + "apManagerInterfaceIp": "", + "collectionStatus": "Managed", + "hostname": "NY-BN-9300", + "locationName": null, + "managementIpAddress": "204.1.2.4", + "platformId": "C9300-48UXM, C9300-48UXM", + "lastUpdated": "2024-09-24 10:04:52", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2024-09-24 10:04:48", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 986052, + "vendor": "Cisco", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9300 Switch", + "location": null, + "role": "DISTRIBUTION", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "f19cf2b0-a9bb-4569-b140-e1d0e86d5226", + "id": "f19cf2b0-a9bb-4569-b140-e1d0e86d5226" + }, + { + "memorySize": "NA", + "family": "Switches and Hubs", + "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", + "lastUpdateTime": 1727128869557, + "macAddress": "90:88:55:07:59:00", + "deviceSupportLevel": "Supported", + "softwareType": "IOS-XE", + "softwareVersion": "17.12.2", + "serialNumber": "FJC271924K0, FJC271924EQ", + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "204.1.2.2", + "lastManagedResyncReasons": "Periodic", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Periodic", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": "10 days, 21:45:09.78", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": "2024-09-13 00:16:09", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9300 Series Switches", + "snmpContact": "", + "snmpLocation": "", + "apManagerInterfaceIp": "", + "collectionStatus": "Managed", + "hostname": "NY-EN-9300.cisco.local", + "locationName": null, + "managementIpAddress": "204.1.2.2", + "platformId": "C9300-48UXM, C9300-48UXM", + "lastUpdated": "2024-09-23 22:01:09", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2024-09-23 21:57:17", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 985736, + "vendor": "Cisco", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9300 Switch", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "e5cc9398-afbf-40a2-a8b1-e9cf0635c28a", + "id": "e5cc9398-afbf-40a2-a8b1-e9cf0635c28a" + }, + { + "memorySize": "NA", + "family": "Wireless Controller", + "description": "Cisco IOS Software [Dublin], C9800 Software (C9800_IOSXE-K9), Version 17.14.1, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Fri 05-Apr-24 00:11 by mcpre netconf enabled", + "lastUpdateTime": 1727172267222, + "macAddress": "cc:b6:c8:e2:29:0b", + "deviceSupportLevel": "Supported", + "softwareType": "IOS-XE", + "softwareVersion": "17.14.1", + "serialNumber": "FOX2639PAY7", + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "204.192.6.200", + "lastManagedResyncReasons": "AP Event", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "AP Event", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": "64 days, 9:50:04.62", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": "2024-07-22 00:14:27", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9800 Series Wireless Controllers", + "snmpContact": "", + "snmpLocation": "", + "apManagerInterfaceIp": "", + "collectionStatus": "Managed", + "hostname": "NY-IAC-EWLC.cisco.local", + "locationName": null, + "managementIpAddress": "204.192.6.200", + "platformId": "C9800-40-K9", + "lastUpdated": "2024-09-24 10:04:27", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2024-09-24 10:04:23", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 5565038, + "vendor": "Cisco", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9800-40 Wireless Controller", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "71197925-1982-46d4-b569-e4cbbe8f06e7", + "id": "71197925-1982-46d4-b569-e4cbbe8f06e7" + } + ], + "version": "1.0" + }, + "get_device_list2_prov_device_2353": { + "response": [], + "version": "1.0" + }, + "get_site1_prov_device_2353": { + "response": [ + { + "parentId": "c3293908-c136-45b9-b74f-d5dfaabb26a9", + "additionalInfo": [ + { + "nameSpace": "mapsSummary", + "attributes": { + "rfModel": "106106", + "floorIndex": "1" + } + }, + { + "nameSpace": "mapGeometry", + "attributes": { + "offsetX": "0.0", + "offsetY": "0.0", + "length": "100.0", + "width": "100.0", + "height": "10.0" + } + }, + { + "nameSpace": "Location", + "attributes": { + "address": "164692, Ценогора, Arkhangelsk, Russia", + "addressInheritedFrom": "c3293908-c136-45b9-b74f-d5dfaabb26a9", + "type": "floor" + } + } + ], + "name": "FLOOR1", + "instanceTenantId": "66e48af26fe687300375675e", + "id": "03072c33-bd11-4914-9c0e-3c53379b2813", + "siteHierarchy": "50f15f14-4c73-47a7-9dc3-cb10eb9508bd/b0292a67-36ff-49ad-9135-5e79b056019e/c3293908-c136-45b9-b74f-d5dfaabb26a9/03072c33-bd11-4914-9c0e-3c53379b2813", + "siteNameHierarchy": "Global/Chennai/LTTS/FLOOR1" + } + ] + }, + "get_device_list3_prov_device_2353": { + "response": [ + { + "memorySize": "NA", + "family": "Switches and Hubs", + "description": "Cisco IOS Software [Dublin], Catalyst L3 Switch Software (CAT9K_IOSXE), Version 17.14.1, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Fri 05-Apr-24 00:08 by mcpre", + "lastUpdateTime": 1727172292925, + "macAddress": "0c:75:bd:41:14:00", + "deviceSupportLevel": "Supported", + "softwareType": "IOS-XE", + "softwareVersion": "17.14.1", + "serialNumber": "FJB2334D06N", + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "204.1.2.4", + "lastManagedResyncReasons": "Device Added", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Device Added", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": "11 days, 9:54:02.46", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": "2024-09-13 00:10:52", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9300 Series Switches", + "snmpContact": "", + "snmpLocation": "", + "apManagerInterfaceIp": "", + "collectionStatus": "Managed", + "hostname": "NY-BN-9300", + "locationName": null, + "managementIpAddress": "204.1.2.4", + "platformId": "C9300-48UXM, C9300-48UXM", + "lastUpdated": "2024-09-24 10:04:52", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2024-09-24 10:04:48", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 986054, + "vendor": "Cisco", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9300 Switch", + "location": null, + "role": "DISTRIBUTION", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "f19cf2b0-a9bb-4569-b140-e1d0e86d5226", + "id": "f19cf2b0-a9bb-4569-b140-e1d0e86d5226" + } + ], + "version": "1.0" + }, + "provision_wired_device_prov_device_2353": { + "status": "pending", + "description": "API execution is in progress.", + "taskId": "0192237d-f153-707e-9144-c79b9914cfce", + "taskStatusUrl": "/dna/intent/api/v1/task/0192237d-f153-707e-9144-c79b9914cfce", + "executionStatusUrl": "/dna/intent/api/v1/dnacaap/management/execution-status/dfad5c33-7b17-4a8e-99f7-792dccc07136", + "executionId": "dfad5c33-7b17-4a8e-99f7-792dccc07136" + }, + "Task_Details_prov_device_2353": { + "response": { + "version": 1727172311827, + "progress": "TASK_PROVISION", + "startTime": 1727172309331, + "data": "workflow_id=be9038d1-9300-4fde-b672-d092a1c89dbc;cfs_id=19a843e8-76ee-4d25-ace1-b91d139f8ac1;rollback_status=not_supported;rollback_taskid=0;failure_task=NA;processcfs_complete=true", + "lastUpdate": 1727172311827, + "serviceType": "NCSP", + "isError": false, + "instanceTenantId": "66e48af26fe687300375675e", + "id": "0192237d-f153-707e-9144-c79b9914cfce" + }, + "version": "1.0" + }, + "get_device_list4_prov_device_2353": { + "response": [ + { + "memorySize": "NA", + "family": "Unified AP", + "description": null, + "lastUpdateTime": 1727172267222, + "macAddress": "34:5d:a8:3b:d8:e0", + "deviceSupportLevel": "Supported", + "softwareType": null, + "softwareVersion": "17.14.0.79", + "serialNumber": "FJC27101PRX", + "collectionInterval": "NA", + "dnsResolvedManagementAddress": "", + "lastManagedResyncReasons": "", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "NA", + "upTime": "1 days, 06:23:47.340", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": null, + "reachabilityFailureReason": "NA", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9124AXI Series Unified Access Points", + "snmpContact": "", + "snmpLocation": "default location", + "apManagerInterfaceIp": "204.192.6.200", + "collectionStatus": "Managed", + "hostname": "AP34B8.8315.7C6C", + "locationName": null, + "managementIpAddress": "204.1.216.26", + "platformId": "C9124AXI-B", + "lastUpdated": "2024-09-24 10:04:27", + "associatedWlcIp": "204.192.6.200", + "apEthernetMacAddress": "34:b8:83:15:7c:6c", + "errorCode": "null", + "errorDescription": null, + "lastDeviceResyncStartTime": "", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": false, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 109480, + "vendor": "NA", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9124AXI Unified Access Point", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "a33c73ee-17e8-460e-b58a-4477a7d62d85", + "id": "a33c73ee-17e8-460e-b58a-4477a7d62d85" + }, + { + "memorySize": "NA", + "family": "Switches and Hubs", + "description": "Cisco IOS Software [Dublin], Catalyst L3 Switch Software (CAT9K_IOSXE), Version 17.14.1, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Fri 05-Apr-24 00:08 by mcpre", + "lastUpdateTime": 1727161593374, + "macAddress": "d4:ad:bd:c1:67:00", + "deviceSupportLevel": "Supported", + "softwareType": "IOS-XE", + "softwareVersion": "17.14.1", + "serialNumber": "FJC2327U0S2", + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "204.192.3.40", + "lastManagedResyncReasons": "Config Change Event", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Config Change Event", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": "11 days, 7:04:53.16", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": "2024-09-13 00:02:33", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9300 Series Switches", + "snmpContact": "", + "snmpLocation": "", + "apManagerInterfaceIp": "", + "collectionStatus": "Managed", + "hostname": "DC-FR-9300.cisco.local", + "locationName": null, + "managementIpAddress": "204.192.3.40", + "platformId": "C9300-24U", + "lastUpdated": "2024-09-24 07:06:33", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2024-09-24 07:06:31", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 986567, + "vendor": "Cisco", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9300 Switch", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "1e8ffc57-8a44-459f-b880-6b49d6b63aa4", + "id": "1e8ffc57-8a44-459f-b880-6b49d6b63aa4" + }, + { + "memorySize": "NA", + "family": "Switches and Hubs", + "description": "Cisco IOS Software [Dublin], Catalyst L3 Switch Software (CAT9K_IOSXE), Version 17.14.1, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Fri 05-Apr-24 00:08 by mcpre", + "lastUpdateTime": 1727159154585, + "macAddress": "00:b6:70:32:b8:00", + "deviceSupportLevel": "Supported", + "softwareType": "IOS-XE", + "softwareVersion": "17.14.1", + "serialNumber": "FCW2225C020", + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "204.1.2.5", + "lastManagedResyncReasons": "Link Up/Down Event", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Config Change Event", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": "5 days, 19:34:32.16", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": "2024-09-18 10:51:54", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9300 Series Switches", + "snmpContact": "", + "snmpLocation": "", + "apManagerInterfaceIp": "", + "collectionStatus": "Partial Collection Failure", + "hostname": "DC-T-9300.cisco.local", + "locationName": null, + "managementIpAddress": "204.1.2.5", + "platformId": "C9300-24P", + "lastUpdated": "2024-09-24 06:25:54", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": "SNMP-FAILED", + "errorDescription": "NCIM12001: Device was not successfully authenticated via SNMP credentials. However, device is ping reachable. Either the mandatory protocol credentials are not correctly provided to Catalyst Center or the device is responding slow and exceeding the set timeout value. User can also run discovery again only for this device with correct credentials using the discovery feature.", + "lastDeviceResyncStartTime": "2024-09-24 06:20:52", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 515606, + "vendor": "Cisco", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9300 Switch", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "820bd13a-f565-4778-a320-9ec9f23b4725", + "id": "820bd13a-f565-4778-a320-9ec9f23b4725" + }, + { + "memorySize": "NA", + "family": "Unified AP", + "description": null, + "lastUpdateTime": 1727172267222, + "macAddress": "90:e9:5e:03:f3:40", + "deviceSupportLevel": "Supported", + "softwareType": null, + "softwareVersion": "17.14.0.79", + "serialNumber": "FJC27181V9V", + "collectionInterval": "NA", + "dnsResolvedManagementAddress": "", + "lastManagedResyncReasons": "", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "NA", + "upTime": "2 days, 05:36:40.340", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": null, + "reachabilityFailureReason": "NA", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9130AXE Series Unified Access Points", + "snmpContact": "", + "snmpLocation": "LTTS/Cisco/Chennai", + "apManagerInterfaceIp": "204.192.6.200", + "collectionStatus": "Managed", + "hostname": "LTTS-test2", + "locationName": null, + "managementIpAddress": "204.1.216.27", + "platformId": "C9130AXE-B", + "lastUpdated": "2024-09-24 10:04:27", + "associatedWlcIp": "204.192.6.200", + "apEthernetMacAddress": "34:5d:a8:0e:20:b4", + "errorCode": "null", + "errorDescription": null, + "lastDeviceResyncStartTime": "", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": false, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 193053, + "vendor": "NA", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9130AXE Unified Access Point", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "01bfa675-0d3d-4677-8ad9-37fe7ebc47c1", + "id": "01bfa675-0d3d-4677-8ad9-37fe7ebc47c1" + }, + { + "memorySize": "NA", + "family": "Unified AP", + "description": null, + "lastUpdateTime": 1727172267222, + "macAddress": "6c:d6:e3:75:5a:e0", + "deviceSupportLevel": "Supported", + "softwareType": null, + "softwareVersion": "17.14.0.79", + "serialNumber": "FJC272014VQ", + "collectionInterval": "NA", + "dnsResolvedManagementAddress": "", + "lastManagedResyncReasons": "", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "NA", + "upTime": "1 days, 02:15:30.340", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": null, + "reachabilityFailureReason": "NA", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9120AXE Series Unified Access Points", + "snmpContact": "", + "snmpLocation": "default location", + "apManagerInterfaceIp": "204.192.6.200", + "collectionStatus": "Managed", + "hostname": "LTTS_Test_9120_T2", + "locationName": null, + "managementIpAddress": "204.1.216.44", + "platformId": "C9120AXE-B", + "lastUpdated": "2024-09-24 10:04:27", + "associatedWlcIp": "204.192.6.200", + "apEthernetMacAddress": "6c:d6:e3:69:49:b4", + "errorCode": "null", + "errorDescription": null, + "lastDeviceResyncStartTime": "", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": false, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 94583, + "vendor": "NA", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9120AXE Unified Access Point", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "4aa3b34b-7acb-4581-8875-b99e6fce9feb", + "id": "4aa3b34b-7acb-4581-8875-b99e6fce9feb" + }, + { + "memorySize": "NA", + "family": "Unified AP", + "description": null, + "lastUpdateTime": 1727172267222, + "macAddress": "e4:38:7e:42:bc:00", + "deviceSupportLevel": "Supported", + "softwareType": null, + "softwareVersion": "17.14.0.79", + "serialNumber": "FJC27101P0X", + "collectionInterval": "NA", + "dnsResolvedManagementAddress": "", + "lastManagedResyncReasons": "", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "NA", + "upTime": "6 days, 14:55:15.260", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": null, + "reachabilityFailureReason": "NA", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst Wireless 9166 Series Unified Access Points", + "snmpContact": "", + "snmpLocation": "default location", + "apManagerInterfaceIp": "204.192.6.200", + "collectionStatus": "Managed", + "hostname": "LTTS_Test_9166_T3", + "locationName": null, + "managementIpAddress": "204.1.216.21", + "platformId": "CW9166I-B", + "lastUpdated": "2024-09-24 10:04:27", + "associatedWlcIp": "204.192.6.200", + "apEthernetMacAddress": "68:49:92:75:0f:d0", + "errorCode": "null", + "errorDescription": null, + "lastDeviceResyncStartTime": "", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": false, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 572168, + "vendor": "NA", + "waasDeviceMode": null, + "type": "Cisco Catalyst Wireless 9166I Unified Access Point", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "6c205ea6-893f-4ccb-a57b-7816733a7055", + "id": "6c205ea6-893f-4ccb-a57b-7816733a7055" + }, + { + "memorySize": "NA", + "family": "Switches and Hubs", + "description": "Cisco IOS Software [Dublin], Catalyst L3 Switch Software (CAT9K_IOSXE), Version 17.14.1, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Fri 05-Apr-24 00:08 by mcpre", + "lastUpdateTime": 1727172292925, + "macAddress": "0c:75:bd:41:14:00", + "deviceSupportLevel": "Supported", + "softwareType": "IOS-XE", + "softwareVersion": "17.14.1", + "serialNumber": "FJB2334D06N", + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "204.1.2.4", + "lastManagedResyncReasons": "Device Added", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Device Added", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": "11 days, 9:54:02.46", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": "2024-09-13 00:10:52", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9300 Series Switches", + "snmpContact": "", + "snmpLocation": "", + "apManagerInterfaceIp": "", + "collectionStatus": "Managed", + "hostname": "NY-BN-9300", + "locationName": null, + "managementIpAddress": "204.1.2.4", + "platformId": "C9300-48UXM, C9300-48UXM", + "lastUpdated": "2024-09-24 10:04:52", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2024-09-24 10:04:48", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 986068, + "vendor": "Cisco", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9300 Switch", + "location": null, + "role": "DISTRIBUTION", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "f19cf2b0-a9bb-4569-b140-e1d0e86d5226", + "id": "f19cf2b0-a9bb-4569-b140-e1d0e86d5226" + }, + { + "memorySize": "NA", + "family": "Switches and Hubs", + "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", + "lastUpdateTime": 1727128869557, + "macAddress": "90:88:55:07:59:00", + "deviceSupportLevel": "Supported", + "softwareType": "IOS-XE", + "softwareVersion": "17.12.2", + "serialNumber": "FJC271924K0, FJC271924EQ", + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "204.1.2.2", + "lastManagedResyncReasons": "Periodic", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Periodic", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": "10 days, 21:45:09.78", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": "2024-09-13 00:16:09", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9300 Series Switches", + "snmpContact": "", + "snmpLocation": "", + "apManagerInterfaceIp": "", + "collectionStatus": "Managed", + "hostname": "NY-EN-9300.cisco.local", + "locationName": null, + "managementIpAddress": "204.1.2.2", + "platformId": "C9300-48UXM, C9300-48UXM", + "lastUpdated": "2024-09-23 22:01:09", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2024-09-23 21:57:17", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 985751, + "vendor": "Cisco", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9300 Switch", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "e5cc9398-afbf-40a2-a8b1-e9cf0635c28a", + "id": "e5cc9398-afbf-40a2-a8b1-e9cf0635c28a" + }, + { + "memorySize": "NA", + "family": "Wireless Controller", + "description": "Cisco IOS Software [Dublin], C9800 Software (C9800_IOSXE-K9), Version 17.14.1, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Fri 05-Apr-24 00:11 by mcpre netconf enabled", + "lastUpdateTime": 1727172267222, + "macAddress": "cc:b6:c8:e2:29:0b", + "deviceSupportLevel": "Supported", + "softwareType": "IOS-XE", + "softwareVersion": "17.14.1", + "serialNumber": "FOX2639PAY7", + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "204.192.6.200", + "lastManagedResyncReasons": "AP Event", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "AP Event", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": "64 days, 9:50:04.62", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": "2024-07-22 00:14:27", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9800 Series Wireless Controllers", + "snmpContact": "", + "snmpLocation": "", + "apManagerInterfaceIp": "", + "collectionStatus": "Managed", + "hostname": "NY-IAC-EWLC.cisco.local", + "locationName": null, + "managementIpAddress": "204.192.6.200", + "platformId": "C9800-40-K9", + "lastUpdated": "2024-09-24 10:04:27", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2024-09-24 10:04:23", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 5565053, + "vendor": "Cisco", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9800-40 Wireless Controller", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "71197925-1982-46d4-b569-e4cbbe8f06e7", + "id": "71197925-1982-46d4-b569-e4cbbe8f06e7" + } + ], + "version": "1.0" + }, + "get_device_list5_prov_device_2353": { + "response": [], + "version": "1.0" + }, + "get_provisioned_wired_devices_prov_device_2353": { + "deviceManagementIpAddress": "204.1.2.4", + "siteNameHierarchy": "Global/Chennai/LTTS/FLOOR1", + "status": "SUCCESS", + "description": "Wired Provisioned device detail retrieved successfully." + }, + "prov_device_2353_response": { + "message": "device(s) '204.1.2.4' provisioned successfully in Cisco Catalyst Center. " + }, + "playbook_del_provisioned_device_2353": [ + { + "clean_config": false, + "ip_address_list": [ + "204.1.2.4" + ] + } + ], + "get_device_list1_del_prov_dev2353": { + "response": [ + { + "memorySize": "NA", + "family": "Unified AP", + "description": null, + "lastUpdateTime": 1727162449725, + "macAddress": "34:5d:a8:3b:d8:e0", + "deviceSupportLevel": "Supported", + "softwareType": null, + "softwareVersion": "17.14.0.79", + "serialNumber": "FJC27101PRX", + "collectionInterval": "NA", + "dnsResolvedManagementAddress": "", + "lastManagedResyncReasons": "", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "NA", + "upTime": "1 days, 03:24:23.580", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": null, + "reachabilityFailureReason": "NA", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9124AXI Series Unified Access Points", + "snmpContact": "", + "snmpLocation": "default location", + "apManagerInterfaceIp": "204.192.6.200", + "collectionStatus": "Managed", + "hostname": "AP34B8.8315.7C6C", + "locationName": null, + "managementIpAddress": "204.1.216.17", + "platformId": "C9124AXI-B", + "lastUpdated": "2024-09-24 07:20:49", + "associatedWlcIp": "204.192.6.200", + "apEthernetMacAddress": "34:b8:83:15:7c:6c", + "errorCode": "null", + "errorDescription": null, + "lastDeviceResyncStartTime": "", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": false, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 98799, + "vendor": "NA", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9124AXI Unified Access Point", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "a33c73ee-17e8-460e-b58a-4477a7d62d85", + "id": "a33c73ee-17e8-460e-b58a-4477a7d62d85" + }, + { + "memorySize": "NA", + "family": "Switches and Hubs", + "description": "Cisco IOS Software [Dublin], Catalyst L3 Switch Software (CAT9K_IOSXE), Version 17.14.1, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Fri 05-Apr-24 00:08 by mcpre", + "lastUpdateTime": 1727161593374, + "macAddress": "d4:ad:bd:c1:67:00", + "deviceSupportLevel": "Supported", + "softwareType": "IOS-XE", + "softwareVersion": "17.14.1", + "serialNumber": "FJC2327U0S2", + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "204.192.3.40", + "lastManagedResyncReasons": "Config Change Event", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Config Change Event", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": "11 days, 7:04:53.16", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": "2024-09-13 00:02:33", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9300 Series Switches", + "snmpContact": "", + "snmpLocation": "", + "apManagerInterfaceIp": "", + "collectionStatus": "Managed", + "hostname": "DC-FR-9300.cisco.local", + "locationName": null, + "managementIpAddress": "204.192.3.40", + "platformId": "C9300-24U", + "lastUpdated": "2024-09-24 07:06:33", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2024-09-24 07:06:31", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 976832, + "vendor": "Cisco", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9300 Switch", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "1e8ffc57-8a44-459f-b880-6b49d6b63aa4", + "id": "1e8ffc57-8a44-459f-b880-6b49d6b63aa4" + }, + { + "memorySize": "NA", + "family": "Switches and Hubs", + "description": "Cisco IOS Software [Dublin], Catalyst L3 Switch Software (CAT9K_IOSXE), Version 17.14.1, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Fri 05-Apr-24 00:08 by mcpre", + "lastUpdateTime": 1727159154585, + "macAddress": "00:b6:70:32:b8:00", + "deviceSupportLevel": "Supported", + "softwareType": "IOS-XE", + "softwareVersion": "17.14.1", + "serialNumber": "FCW2225C020", + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "204.1.2.5", + "lastManagedResyncReasons": "Link Up/Down Event", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Config Change Event", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": "5 days, 19:34:32.16", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": "2024-09-18 10:51:54", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9300 Series Switches", + "snmpContact": "", + "snmpLocation": "", + "apManagerInterfaceIp": "", + "collectionStatus": "Partial Collection Failure", + "hostname": "DC-T-9300.cisco.local", + "locationName": null, + "managementIpAddress": "204.1.2.5", + "platformId": "C9300-24P", + "lastUpdated": "2024-09-24 06:25:54", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": "SNMP-FAILED", + "errorDescription": "NCIM12001: Device was not successfully authenticated via SNMP credentials. However, device is ping reachable. Either the mandatory protocol credentials are not correctly provided to Catalyst Center or the device is responding slow and exceeding the set timeout value. User can also run discovery again only for this device with correct credentials using the discovery feature.", + "lastDeviceResyncStartTime": "2024-09-24 06:20:52", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 505871, + "vendor": "Cisco", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9300 Switch", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "820bd13a-f565-4778-a320-9ec9f23b4725", + "id": "820bd13a-f565-4778-a320-9ec9f23b4725" + }, + { + "memorySize": "NA", + "family": "Unified AP", + "description": null, + "lastUpdateTime": 1727162449725, + "macAddress": "90:e9:5e:03:f3:40", + "deviceSupportLevel": "Supported", + "softwareType": null, + "softwareVersion": "17.14.0.79", + "serialNumber": "FJC27181V9V", + "collectionInterval": "NA", + "dnsResolvedManagementAddress": "", + "lastManagedResyncReasons": "", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "NA", + "upTime": "2 days, 02:53:02.810", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": null, + "reachabilityFailureReason": "NA", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9130AXE Series Unified Access Points", + "snmpContact": "", + "snmpLocation": "LTTS/Cisco/Chennai", + "apManagerInterfaceIp": "204.192.6.200", + "collectionStatus": "Managed", + "hostname": "LTTS-test2", + "locationName": null, + "managementIpAddress": "204.1.216.20", + "platformId": "C9130AXE-B", + "lastUpdated": "2024-09-24 07:20:49", + "associatedWlcIp": "204.192.6.200", + "apEthernetMacAddress": "34:5d:a8:0e:20:b4", + "errorCode": "null", + "errorDescription": null, + "lastDeviceResyncStartTime": "", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": false, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 183318, + "vendor": "NA", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9130AXE Unified Access Point", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "01bfa675-0d3d-4677-8ad9-37fe7ebc47c1", + "id": "01bfa675-0d3d-4677-8ad9-37fe7ebc47c1" + }, + { + "memorySize": "NA", + "family": "Unified AP", + "description": null, + "lastUpdateTime": 1727162449725, + "macAddress": "6c:d6:e3:75:5a:e0", + "deviceSupportLevel": "Supported", + "softwareType": null, + "softwareVersion": "17.14.0.79", + "serialNumber": "FJC272014VQ", + "collectionInterval": "NA", + "dnsResolvedManagementAddress": "", + "lastManagedResyncReasons": "", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "NA", + "upTime": "23:31:52.810", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": null, + "reachabilityFailureReason": "NA", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9120AXE Series Unified Access Points", + "snmpContact": "", + "snmpLocation": "default location", + "apManagerInterfaceIp": "204.192.6.200", + "collectionStatus": "Managed", + "hostname": "LTTS_Test_9120_T2", + "locationName": null, + "managementIpAddress": "204.1.216.44", + "platformId": "C9120AXE-B", + "lastUpdated": "2024-09-24 07:20:49", + "associatedWlcIp": "204.192.6.200", + "apEthernetMacAddress": "6c:d6:e3:69:49:b4", + "errorCode": "null", + "errorDescription": null, + "lastDeviceResyncStartTime": "", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": false, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 84848, + "vendor": "NA", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9120AXE Unified Access Point", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "4aa3b34b-7acb-4581-8875-b99e6fce9feb", + "id": "4aa3b34b-7acb-4581-8875-b99e6fce9feb" + }, + { + "memorySize": "NA", + "family": "Unified AP", + "description": null, + "lastUpdateTime": 1727162449725, + "macAddress": "e4:38:7e:42:bc:00", + "deviceSupportLevel": "Supported", + "softwareType": null, + "softwareVersion": "17.14.0.79", + "serialNumber": "FJC27101P0X", + "collectionInterval": "NA", + "dnsResolvedManagementAddress": "", + "lastManagedResyncReasons": "", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "NA", + "upTime": "6 days, 12:14:15.810", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": null, + "reachabilityFailureReason": "NA", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst Wireless 9166 Series Unified Access Points", + "snmpContact": "", + "snmpLocation": "default location", + "apManagerInterfaceIp": "204.192.6.200", + "collectionStatus": "Managed", + "hostname": "LTTS_Test_9166_T3", + "locationName": null, + "managementIpAddress": "204.1.216.21", + "platformId": "CW9166I-B", + "lastUpdated": "2024-09-24 07:20:49", + "associatedWlcIp": "204.192.6.200", + "apEthernetMacAddress": "68:49:92:75:0f:d0", + "errorCode": "null", + "errorDescription": null, + "lastDeviceResyncStartTime": "", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": false, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 562591, + "vendor": "NA", + "waasDeviceMode": null, + "type": "Cisco Catalyst Wireless 9166I Unified Access Point", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "6c205ea6-893f-4ccb-a57b-7816733a7055", + "id": "6c205ea6-893f-4ccb-a57b-7816733a7055" + }, + { + "memorySize": "NA", + "family": "Switches and Hubs", + "description": "Cisco IOS Software [Dublin], Catalyst L3 Switch Software (CAT9K_IOSXE), Version 17.14.1, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Fri 05-Apr-24 00:08 by mcpre", + "lastUpdateTime": 1727160992893, + "macAddress": "0c:75:bd:41:14:00", + "deviceSupportLevel": "Supported", + "softwareType": "IOS-XE", + "softwareVersion": "17.14.1", + "serialNumber": "FJB2334D06N", + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "204.1.2.4", + "lastManagedResyncReasons": "Config Change Event", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Config Change Event", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": "11 days, 6:45:43.30", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": "2024-09-13 00:11:32", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9300 Series Switches", + "snmpContact": "", + "snmpLocation": "", + "apManagerInterfaceIp": "", + "collectionStatus": "Managed", + "hostname": "NY-BN-9300.cisco.local", + "locationName": null, + "managementIpAddress": "204.1.2.4", + "platformId": "C9300-48UXM, C9300-48UXM", + "lastUpdated": "2024-09-24 06:56:32", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2024-09-24 06:56:29", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 976292, + "vendor": "Cisco", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9300 Switch", + "location": null, + "role": "DISTRIBUTION", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "f19cf2b0-a9bb-4569-b140-e1d0e86d5226", + "id": "f19cf2b0-a9bb-4569-b140-e1d0e86d5226" + }, + { + "memorySize": "NA", + "family": "Switches and Hubs", + "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", + "lastUpdateTime": 1727128869557, + "macAddress": "90:88:55:07:59:00", + "deviceSupportLevel": "Supported", + "softwareType": "IOS-XE", + "softwareVersion": "17.12.2", + "serialNumber": "FJC271924K0, FJC271924EQ", + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "204.1.2.2", + "lastManagedResyncReasons": "Periodic", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Periodic", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": "10 days, 21:45:09.78", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": "2024-09-13 00:16:09", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9300 Series Switches", + "snmpContact": "", + "snmpLocation": "", + "apManagerInterfaceIp": "", + "collectionStatus": "Managed", + "hostname": "NY-EN-9300.cisco.local", + "locationName": null, + "managementIpAddress": "204.1.2.2", + "platformId": "C9300-48UXM, C9300-48UXM", + "lastUpdated": "2024-09-23 22:01:09", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2024-09-23 21:57:17", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 976016, + "vendor": "Cisco", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9300 Switch", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "e5cc9398-afbf-40a2-a8b1-e9cf0635c28a", + "id": "e5cc9398-afbf-40a2-a8b1-e9cf0635c28a" + }, + { + "memorySize": "NA", + "family": "Wireless Controller", + "description": "Cisco IOS Software [Dublin], C9800 Software (C9800_IOSXE-K9), Version 17.14.1, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Fri 05-Apr-24 00:11 by mcpre netconf enabled", + "lastUpdateTime": 1727162449725, + "macAddress": "cc:b6:c8:e2:29:0b", + "deviceSupportLevel": "Supported", + "softwareType": "IOS-XE", + "softwareVersion": "17.14.1", + "serialNumber": "FOX2639PAY7", + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "204.192.6.200", + "lastManagedResyncReasons": "AP Event", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "AP Event", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": "64 days, 7:06:27.19", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": "2024-07-22 00:14:49", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9800 Series Wireless Controllers", + "snmpContact": "", + "snmpLocation": "", + "apManagerInterfaceIp": "", + "collectionStatus": "Managed", + "hostname": "NY-IAC-EWLC.cisco.local", + "locationName": null, + "managementIpAddress": "204.192.6.200", + "platformId": "C9800-40-K9", + "lastUpdated": "2024-09-24 07:20:49", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2024-09-24 07:20:34", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 5555296, + "vendor": "Cisco", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9800-40 Wireless Controller", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "71197925-1982-46d4-b569-e4cbbe8f06e7", + "id": "71197925-1982-46d4-b569-e4cbbe8f06e7" + } + ], + "version": "1.0" + }, + "get_device_list2_del_prov_dev2353": { + "response": [], + "version": "1.0" + }, + "get_provisioned_wired_device_del_prov_dev2353": { + "deviceManagementIpAddress": "204.1.2.4", + "siteNameHierarchy": "Global/Chennai/LTTS/FLOOR1", + "STATUS": "success", + "description": "Wired Provisioned device detail retrieved successfully." + }, + "delete_provisioned_wired_device_del_prov_dev2353": { + "STATUS": "pending", + "description": "API execution is in progress.", + "taskId": "019222e9-bca9-729c-ad5e-87d46f85e3ac", + "taskStatusUrl": "/dna/intent/api/v1/task/019222e9-bca9-729c-ad5e-87d46f85e3ac", + "executionStatusUrl": "/dna/intent/api/v1/dnacaap/management/execution-status/9e7031a1-1f20-40b9-b0f9-a1badda2b739", + "executionId": "9e7031a1-1f20-40b9-b0f9-a1badda2b739" + }, + "get_execution_details_device_del_prov_dev2353": { + "bapiKey": "e495-b94e-463b-ae04", + "bapiName": "Delete provisioned Wired Device", + "bapiExecutionId": "9e7031a1-1f20-40b9-b0f9-a1badda2b739", + "startTime": "Tue Sep 24 07:23:06 UTC 2024", + "startTimeEpoch": 1727162586892, + "endTime": "Tue Sep 24 07:23:26 UTC 2024", + "endTimeEpoch": 1727162606685, + "timeDuration": 19793, + "status": "SUCCESS", + "runtimeInstanceId": "DNACP_Runtime_58bbc851-670e-4896-8aa7-2803f88ec793" + }, + "get_device_list3_del_prov_dev2353": { + "response": [ + { + "memorySize": "NA", + "family": "Unified AP", + "description": null, + "lastUpdateTime": 1727162449725, + "macAddress": "34:5d:a8:3b:d8:e0", + "deviceSupportLevel": "Supported", + "softwareType": null, + "softwareVersion": "17.14.0.79", + "serialNumber": "FJC27101PRX", + "collectionInterval": "NA", + "dnsResolvedManagementAddress": "", + "lastManagedResyncReasons": "", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "NA", + "upTime": "1 days, 03:24:23.580", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": null, + "reachabilityFailureReason": "NA", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9124AXI Series Unified Access Points", + "snmpContact": "", + "snmpLocation": "default location", + "apManagerInterfaceIp": "204.192.6.200", + "collectionStatus": "Managed", + "hostname": "AP34B8.8315.7C6C", + "locationName": null, + "managementIpAddress": "204.1.216.17", + "platformId": "C9124AXI-B", + "lastUpdated": "2024-09-24 07:20:49", + "associatedWlcIp": "204.192.6.200", + "apEthernetMacAddress": "34:b8:83:15:7c:6c", + "errorCode": "null", + "errorDescription": null, + "lastDeviceResyncStartTime": "", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": false, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 98821, + "vendor": "NA", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9124AXI Unified Access Point", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "a33c73ee-17e8-460e-b58a-4477a7d62d85", + "id": "a33c73ee-17e8-460e-b58a-4477a7d62d85" + }, + { + "memorySize": "NA", + "family": "Switches and Hubs", + "description": "Cisco IOS Software [Dublin], Catalyst L3 Switch Software (CAT9K_IOSXE), Version 17.14.1, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Fri 05-Apr-24 00:08 by mcpre", + "lastUpdateTime": 1727161593374, + "macAddress": "d4:ad:bd:c1:67:00", + "deviceSupportLevel": "Supported", + "softwareType": "IOS-XE", + "softwareVersion": "17.14.1", + "serialNumber": "FJC2327U0S2", + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "204.192.3.40", + "lastManagedResyncReasons": "Config Change Event", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Config Change Event", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": "11 days, 7:04:53.16", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": "2024-09-13 00:02:33", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9300 Series Switches", + "snmpContact": "", + "snmpLocation": "", + "apManagerInterfaceIp": "", + "collectionStatus": "Managed", + "hostname": "DC-FR-9300.cisco.local", + "locationName": null, + "managementIpAddress": "204.192.3.40", + "platformId": "C9300-24U", + "lastUpdated": "2024-09-24 07:06:33", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2024-09-24 07:06:31", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 976854, + "vendor": "Cisco", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9300 Switch", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "1e8ffc57-8a44-459f-b880-6b49d6b63aa4", + "id": "1e8ffc57-8a44-459f-b880-6b49d6b63aa4" + }, + { + "memorySize": "NA", + "family": "Switches and Hubs", + "description": "Cisco IOS Software [Dublin], Catalyst L3 Switch Software (CAT9K_IOSXE), Version 17.14.1, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Fri 05-Apr-24 00:08 by mcpre", + "lastUpdateTime": 1727159154585, + "macAddress": "00:b6:70:32:b8:00", + "deviceSupportLevel": "Supported", + "softwareType": "IOS-XE", + "softwareVersion": "17.14.1", + "serialNumber": "FCW2225C020", + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "204.1.2.5", + "lastManagedResyncReasons": "Link Up/Down Event", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Config Change Event", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": "5 days, 19:34:32.16", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": "2024-09-18 10:51:54", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9300 Series Switches", + "snmpContact": "", + "snmpLocation": "", + "apManagerInterfaceIp": "", + "collectionStatus": "Partial Collection Failure", + "hostname": "DC-T-9300.cisco.local", + "locationName": null, + "managementIpAddress": "204.1.2.5", + "platformId": "C9300-24P", + "lastUpdated": "2024-09-24 06:25:54", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": "SNMP-FAILED", + "errorDescription": "NCIM12001: Device was not successfully authenticated via SNMP credentials. However, device is ping reachable. Either the mandatory protocol credentials are not correctly provided to Catalyst Center or the device is responding slow and exceeding the set timeout value. User can also run discovery again only for this device with correct credentials using the discovery feature.", + "lastDeviceResyncStartTime": "2024-09-24 06:20:52", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 505893, + "vendor": "Cisco", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9300 Switch", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "820bd13a-f565-4778-a320-9ec9f23b4725", + "id": "820bd13a-f565-4778-a320-9ec9f23b4725" + }, + { + "memorySize": "NA", + "family": "Unified AP", + "description": null, + "lastUpdateTime": 1727162449725, + "macAddress": "90:e9:5e:03:f3:40", + "deviceSupportLevel": "Supported", + "softwareType": null, + "softwareVersion": "17.14.0.79", + "serialNumber": "FJC27181V9V", + "collectionInterval": "NA", + "dnsResolvedManagementAddress": "", + "lastManagedResyncReasons": "", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "NA", + "upTime": "2 days, 02:53:02.810", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": null, + "reachabilityFailureReason": "NA", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9130AXE Series Unified Access Points", + "snmpContact": "", + "snmpLocation": "LTTS/Cisco/Chennai", + "apManagerInterfaceIp": "204.192.6.200", + "collectionStatus": "Managed", + "hostname": "LTTS-test2", + "locationName": null, + "managementIpAddress": "204.1.216.20", + "platformId": "C9130AXE-B", + "lastUpdated": "2024-09-24 07:20:49", + "associatedWlcIp": "204.192.6.200", + "apEthernetMacAddress": "34:5d:a8:0e:20:b4", + "errorCode": "null", + "errorDescription": null, + "lastDeviceResyncStartTime": "", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": false, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 183340, + "vendor": "NA", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9130AXE Unified Access Point", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "01bfa675-0d3d-4677-8ad9-37fe7ebc47c1", + "id": "01bfa675-0d3d-4677-8ad9-37fe7ebc47c1" + }, + { + "memorySize": "NA", + "family": "Unified AP", + "description": null, + "lastUpdateTime": 1727162449725, + "macAddress": "6c:d6:e3:75:5a:e0", + "deviceSupportLevel": "Supported", + "softwareType": null, + "softwareVersion": "17.14.0.79", + "serialNumber": "FJC272014VQ", + "collectionInterval": "NA", + "dnsResolvedManagementAddress": "", + "lastManagedResyncReasons": "", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "NA", + "upTime": "23:31:52.810", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": null, + "reachabilityFailureReason": "NA", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9120AXE Series Unified Access Points", + "snmpContact": "", + "snmpLocation": "default location", + "apManagerInterfaceIp": "204.192.6.200", + "collectionStatus": "Managed", + "hostname": "LTTS_Test_9120_T2", + "locationName": null, + "managementIpAddress": "204.1.216.44", + "platformId": "C9120AXE-B", + "lastUpdated": "2024-09-24 07:20:49", + "associatedWlcIp": "204.192.6.200", + "apEthernetMacAddress": "6c:d6:e3:69:49:b4", + "errorCode": "null", + "errorDescription": null, + "lastDeviceResyncStartTime": "", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": false, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 84870, + "vendor": "NA", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9120AXE Unified Access Point", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "4aa3b34b-7acb-4581-8875-b99e6fce9feb", + "id": "4aa3b34b-7acb-4581-8875-b99e6fce9feb" + }, + { + "memorySize": "NA", + "family": "Unified AP", + "description": null, + "lastUpdateTime": 1727162449725, + "macAddress": "e4:38:7e:42:bc:00", + "deviceSupportLevel": "Supported", + "softwareType": null, + "softwareVersion": "17.14.0.79", + "serialNumber": "FJC27101P0X", + "collectionInterval": "NA", + "dnsResolvedManagementAddress": "", + "lastManagedResyncReasons": "", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "NA", + "upTime": "6 days, 12:14:15.810", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": null, + "reachabilityFailureReason": "NA", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst Wireless 9166 Series Unified Access Points", + "snmpContact": "", + "snmpLocation": "default location", + "apManagerInterfaceIp": "204.192.6.200", + "collectionStatus": "Managed", + "hostname": "LTTS_Test_9166_T3", + "locationName": null, + "managementIpAddress": "204.1.216.21", + "platformId": "CW9166I-B", + "lastUpdated": "2024-09-24 07:20:49", + "associatedWlcIp": "204.192.6.200", + "apEthernetMacAddress": "68:49:92:75:0f:d0", + "errorCode": "null", + "errorDescription": null, + "lastDeviceResyncStartTime": "", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": false, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 562613, + "vendor": "NA", + "waasDeviceMode": null, + "type": "Cisco Catalyst Wireless 9166I Unified Access Point", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "6c205ea6-893f-4ccb-a57b-7816733a7055", + "id": "6c205ea6-893f-4ccb-a57b-7816733a7055" + }, + { + "memorySize": "NA", + "family": "Switches and Hubs", + "description": "Cisco IOS Software [Dublin], Catalyst L3 Switch Software (CAT9K_IOSXE), Version 17.14.1, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Fri 05-Apr-24 00:08 by mcpre", + "lastUpdateTime": 1727160992893, + "macAddress": "0c:75:bd:41:14:00", + "deviceSupportLevel": "Supported", + "softwareType": "IOS-XE", + "softwareVersion": "17.14.1", + "serialNumber": "FJB2334D06N", + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "204.1.2.4", + "lastManagedResyncReasons": "Config Change Event", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Config Change Event", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "Deleting Device", + "upTime": "11 days, 6:45:43.30", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": "2024-09-13 00:11:32", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9300 Series Switches", + "snmpContact": "", + "snmpLocation": "", + "apManagerInterfaceIp": "", + "collectionStatus": "Deleting Device", + "hostname": "NY-BN-9300.cisco.local", + "locationName": null, + "managementIpAddress": "204.1.2.4", + "platformId": "C9300-48UXM, C9300-48UXM", + "lastUpdated": "2024-09-24 06:56:32", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2024-09-24 06:56:29", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 976315, + "vendor": "Cisco", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9300 Switch", + "location": null, + "role": "DISTRIBUTION", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "f19cf2b0-a9bb-4569-b140-e1d0e86d5226", + "id": "f19cf2b0-a9bb-4569-b140-e1d0e86d5226" + }, + { + "memorySize": "NA", + "family": "Switches and Hubs", + "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", + "lastUpdateTime": 1727128869557, + "macAddress": "90:88:55:07:59:00", + "deviceSupportLevel": "Supported", + "softwareType": "IOS-XE", + "softwareVersion": "17.12.2", + "serialNumber": "FJC271924K0, FJC271924EQ", + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "204.1.2.2", + "lastManagedResyncReasons": "Periodic", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Periodic", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": "10 days, 21:45:09.78", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": "2024-09-13 00:16:09", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9300 Series Switches", + "snmpContact": "", + "snmpLocation": "", + "apManagerInterfaceIp": "", + "collectionStatus": "Managed", + "hostname": "NY-EN-9300.cisco.local", + "locationName": null, + "managementIpAddress": "204.1.2.2", + "platformId": "C9300-48UXM, C9300-48UXM", + "lastUpdated": "2024-09-23 22:01:09", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2024-09-23 21:57:17", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 976038, + "vendor": "Cisco", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9300 Switch", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "e5cc9398-afbf-40a2-a8b1-e9cf0635c28a", + "id": "e5cc9398-afbf-40a2-a8b1-e9cf0635c28a" + }, + { + "memorySize": "NA", + "family": "Wireless Controller", + "description": "Cisco IOS Software [Dublin], C9800 Software (C9800_IOSXE-K9), Version 17.14.1, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Fri 05-Apr-24 00:11 by mcpre netconf enabled", + "lastUpdateTime": 1727162449725, + "macAddress": "cc:b6:c8:e2:29:0b", + "deviceSupportLevel": "Supported", + "softwareType": "IOS-XE", + "softwareVersion": "17.14.1", + "serialNumber": "FOX2639PAY7", + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "204.192.6.200", + "lastManagedResyncReasons": "AP Event", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "AP Event", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": "64 days, 7:06:27.19", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": "2024-07-22 00:14:49", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9800 Series Wireless Controllers", + "snmpContact": "", + "snmpLocation": "", + "apManagerInterfaceIp": "", + "collectionStatus": "Managed", + "hostname": "NY-IAC-EWLC.cisco.local", + "locationName": null, + "managementIpAddress": "204.192.6.200", + "platformId": "C9800-40-K9", + "lastUpdated": "2024-09-24 07:20:49", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2024-09-24 07:20:34", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 5555318, + "vendor": "Cisco", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9800-40 Wireless Controller", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "71197925-1982-46d4-b569-e4cbbe8f06e7", + "id": "71197925-1982-46d4-b569-e4cbbe8f06e7" + } + ], + "version": "1.0" + }, + "get_device_list4_del_prov_dev2353": { + "response": [], + "version": "1.0" + }, + "response_del_provisioned_device_2353": { + "message": "provisioned device(s) '204.1.2.4' successfully deleted in Cisco Catalyst Center. " + }, + "playbook_provision_device": [ + { + "provision_wired_device": [ + { + "device_ip": "204.1.2.4", + "resync_retry_count": 200, + "resync_retry_interval": 2, + "site_name": "Global/Chennai/LTTS/FLOOR1" + } + ] + } + ], + "get_device_list1_provision_device": { + "response": [ + { + "memorySize": "NA", + "family": "Unified AP", + "description": null, + "lastUpdateTime": 1727147891933, + "macAddress": "34:5d:a8:3b:d8:e0", + "deviceSupportLevel": "Supported", + "softwareType": null, + "softwareVersion": "17.14.0.79", + "serialNumber": "FJC27101PRX", + "collectionInterval": "NA", + "dnsResolvedManagementAddress": "", + "lastManagedResyncReasons": "", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "NA", + "upTime": "23:29:46.780", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": null, + "reachabilityFailureReason": "NA", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9124AXI Series Unified Access Points", + "snmpContact": "", + "snmpLocation": "default location", + "apManagerInterfaceIp": "204.192.6.200", + "collectionStatus": "Managed", + "hostname": "AP34B8.8315.7C6C", + "locationName": null, + "managementIpAddress": "204.1.216.14", + "platformId": "C9124AXI-B", + "lastUpdated": "2024-09-24 03:18:11", + "associatedWlcIp": "204.192.6.200", + "apEthernetMacAddress": "34:b8:83:15:7c:6c", + "errorCode": "null", + "errorDescription": null, + "lastDeviceResyncStartTime": "", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": false, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 84899, + "vendor": "NA", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9124AXI Unified Access Point", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "a33c73ee-17e8-460e-b58a-4477a7d62d85", + "id": "a33c73ee-17e8-460e-b58a-4477a7d62d85" + }, + { + "memorySize": "NA", + "family": "Switches and Hubs", + "description": "Cisco IOS Software [Dublin], Catalyst L3 Switch Software (CAT9K_IOSXE), Version 17.14.1, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Fri 05-Apr-24 00:08 by mcpre", + "lastUpdateTime": 1727114591511, + "macAddress": "d4:ad:bd:c1:67:00", + "deviceSupportLevel": "Supported", + "softwareType": "IOS-XE", + "softwareVersion": "17.14.1", + "serialNumber": "FJC2327U0S2", + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "204.192.3.40", + "lastManagedResyncReasons": "Periodic", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Periodic", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": "10 days, 18:01:39.57", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": "2024-09-13 00:02:11", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9300 Series Switches", + "snmpContact": "", + "snmpLocation": "", + "apManagerInterfaceIp": "", + "collectionStatus": "Managed", + "hostname": "DC-FR-9300", + "locationName": null, + "managementIpAddress": "204.192.3.40", + "platformId": "C9300-24U", + "lastUpdated": "2024-09-23 18:03:11", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2024-09-23 18:02:39", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 962473, + "vendor": "Cisco", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9300 Switch", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "1e8ffc57-8a44-459f-b880-6b49d6b63aa4", + "id": "1e8ffc57-8a44-459f-b880-6b49d6b63aa4" + }, + { + "memorySize": "NA", + "family": "Switches and Hubs", + "description": "Cisco IOS Software [Dublin], Catalyst L3 Switch Software (CAT9K_IOSXE), Version 17.14.1, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Fri 05-Apr-24 00:08 by mcpre", + "lastUpdateTime": 1727147930321, + "macAddress": "00:b6:70:32:b8:00", + "deviceSupportLevel": "Supported", + "softwareType": "IOS-XE", + "softwareVersion": "17.14.1", + "serialNumber": "FCW2225C020", + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "204.1.2.5", + "lastManagedResyncReasons": "Link Up/Down Event", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Link Up/Down Event", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": "5 days, 16:40:35.42", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": "2024-09-18 10:38:50", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9300 Series Switches", + "snmpContact": "", + "snmpLocation": "", + "apManagerInterfaceIp": "", + "collectionStatus": "Managed", + "hostname": "DC-T-9300.cisco.local", + "locationName": null, + "managementIpAddress": "204.1.2.5", + "platformId": "C9300-24P", + "lastUpdated": "2024-09-24 03:18:50", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2024-09-24 03:13:15", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 492274, + "vendor": "Cisco", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9300 Switch", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "820bd13a-f565-4778-a320-9ec9f23b4725", + "id": "820bd13a-f565-4778-a320-9ec9f23b4725" + }, + { + "memorySize": "NA", + "family": "Unified AP", + "description": null, + "lastUpdateTime": 1727147891933, + "macAddress": "90:e9:5e:03:f3:40", + "deviceSupportLevel": "Supported", + "softwareType": null, + "softwareVersion": "17.14.0.79", + "serialNumber": "FJC27181V9V", + "collectionInterval": "NA", + "dnsResolvedManagementAddress": "", + "lastManagedResyncReasons": "", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "NA", + "upTime": "1 days, 22:37:58.540", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": null, + "reachabilityFailureReason": "NA", + "reachabilityStatus": "Unreachable", + "series": "Cisco Catalyst 9130AXE Series Unified Access Points", + "snmpContact": "", + "snmpLocation": "LTTS/Cisco/Chennai", + "apManagerInterfaceIp": "204.192.6.200", + "collectionStatus": "Unassociated", + "hostname": "LTTS-test2", + "locationName": null, + "managementIpAddress": "204.1.216.13", + "platformId": "C9130AXE-B", + "lastUpdated": "2024-09-24 03:18:11", + "associatedWlcIp": "204.192.6.200", + "apEthernetMacAddress": "34:5d:a8:0e:20:b4", + "errorCode": "Could Not Synchronize", + "errorDescription": null, + "lastDeviceResyncStartTime": "", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": false, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": -1, + "vendor": "NA", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9130AXE Unified Access Point", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "01bfa675-0d3d-4677-8ad9-37fe7ebc47c1", + "id": "01bfa675-0d3d-4677-8ad9-37fe7ebc47c1" + }, + { + "memorySize": "NA", + "family": "Unified AP", + "description": null, + "lastUpdateTime": 1727147891933, + "macAddress": "6c:d6:e3:75:5a:e0", + "deviceSupportLevel": "Supported", + "softwareType": null, + "softwareVersion": "17.14.0.79", + "serialNumber": "FJC272014VQ", + "collectionInterval": "NA", + "dnsResolvedManagementAddress": "", + "lastManagedResyncReasons": "", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "NA", + "upTime": "19:16:48.540", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": null, + "reachabilityFailureReason": "NA", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9120AXE Series Unified Access Points", + "snmpContact": "", + "snmpLocation": "default location", + "apManagerInterfaceIp": "204.192.6.200", + "collectionStatus": "Managed", + "hostname": "LTTS_Test_9120_T2", + "locationName": null, + "managementIpAddress": "204.1.216.44", + "platformId": "C9120AXE-B", + "lastUpdated": "2024-09-24 03:18:11", + "associatedWlcIp": "204.192.6.200", + "apEthernetMacAddress": "6c:d6:e3:69:49:b4", + "errorCode": "null", + "errorDescription": null, + "lastDeviceResyncStartTime": "", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": false, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 69721, + "vendor": "NA", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9120AXE Unified Access Point", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "4aa3b34b-7acb-4581-8875-b99e6fce9feb", + "id": "4aa3b34b-7acb-4581-8875-b99e6fce9feb" + }, + { + "memorySize": "NA", + "family": "Unified AP", + "description": null, + "lastUpdateTime": 1727147891933, + "macAddress": "e4:38:7e:42:bc:00", + "deviceSupportLevel": "Supported", + "softwareType": null, + "softwareVersion": "17.14.0.79", + "serialNumber": "FJC27101P0X", + "collectionInterval": "NA", + "dnsResolvedManagementAddress": "", + "lastManagedResyncReasons": "", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "NA", + "upTime": "6 days, 07:59:12.540", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": null, + "reachabilityFailureReason": "NA", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst Wireless 9166 Series Unified Access Points", + "snmpContact": "", + "snmpLocation": "default location", + "apManagerInterfaceIp": "204.192.6.200", + "collectionStatus": "Managed", + "hostname": "LTTS_Test_9166_T3", + "locationName": null, + "managementIpAddress": "204.1.216.21", + "platformId": "CW9166I-B", + "lastUpdated": "2024-09-24 03:18:11", + "associatedWlcIp": "204.192.6.200", + "apEthernetMacAddress": "68:49:92:75:0f:d0", + "errorCode": "null", + "errorDescription": null, + "lastDeviceResyncStartTime": "", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": false, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 547465, + "vendor": "NA", + "waasDeviceMode": null, + "type": "Cisco Catalyst Wireless 9166I Unified Access Point", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "6c205ea6-893f-4ccb-a57b-7816733a7055", + "id": "6c205ea6-893f-4ccb-a57b-7816733a7055" + }, + { + "memorySize": "NA", + "family": "Switches and Hubs", + "description": "Cisco IOS Software [Dublin], Catalyst L3 Switch Software (CAT9K_IOSXE), Version 17.14.1, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Fri 05-Apr-24 00:08 by mcpre", + "lastUpdateTime": 1727141821130, + "macAddress": "0c:75:bd:41:14:00", + "deviceSupportLevel": "Supported", + "softwareType": "IOS-XE", + "softwareVersion": "17.14.1", + "serialNumber": "FJB2334D06N", + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "204.1.2.4", + "lastManagedResyncReasons": "Device Added", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Device Added", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": "11 days, 1:26:12.06", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": "2024-09-13 00:11:01", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9300 Series Switches", + "snmpContact": "", + "snmpLocation": "", + "apManagerInterfaceIp": "", + "collectionStatus": "Managed", + "hostname": "NY-BN-9300.cisco.local", + "locationName": null, + "managementIpAddress": "204.1.2.4", + "platformId": "C9300-48UXM, C9300-48UXM", + "lastUpdated": "2024-09-24 01:37:01", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2024-09-24 01:36:57", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 961944, + "vendor": "Cisco", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9300 Switch", + "location": null, + "role": "DISTRIBUTION", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "f19cf2b0-a9bb-4569-b140-e1d0e86d5226", + "id": "f19cf2b0-a9bb-4569-b140-e1d0e86d5226" + }, + { + "memorySize": "NA", + "family": "Switches and Hubs", + "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", + "lastUpdateTime": 1727128869557, + "macAddress": "90:88:55:07:59:00", + "deviceSupportLevel": "Supported", + "softwareType": "IOS-XE", + "softwareVersion": "17.12.2", + "serialNumber": "FJC271924K0, FJC271924EQ", + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "204.1.2.2", + "lastManagedResyncReasons": "Periodic", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Periodic", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": "10 days, 21:45:09.78", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": "2024-09-13 00:16:09", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9300 Series Switches", + "snmpContact": "", + "snmpLocation": "", + "apManagerInterfaceIp": "", + "collectionStatus": "Managed", + "hostname": "NY-EN-9300.cisco.local", + "locationName": null, + "managementIpAddress": "204.1.2.2", + "platformId": "C9300-48UXM, C9300-48UXM", + "lastUpdated": "2024-09-23 22:01:09", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2024-09-23 21:57:17", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 961635, + "vendor": "Cisco", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9300 Switch", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "e5cc9398-afbf-40a2-a8b1-e9cf0635c28a", + "id": "e5cc9398-afbf-40a2-a8b1-e9cf0635c28a" + }, + { + "memorySize": "NA", + "family": "Wireless Controller", + "description": "Cisco IOS Software [Dublin], C9800 Software (C9800_IOSXE-K9), Version 17.14.1, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Fri 05-Apr-24 00:11 by mcpre netconf enabled", + "lastUpdateTime": 1727147891933, + "macAddress": "cc:b6:c8:e2:29:0b", + "deviceSupportLevel": "Supported", + "softwareType": "IOS-XE", + "softwareVersion": "17.14.1", + "serialNumber": "FOX2639PAY7", + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "204.192.6.200", + "lastManagedResyncReasons": "AP Event", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "AP Event", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": "64 days, 2:56:04.20", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": "2024-07-22 00:22:11", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9800 Series Wireless Controllers", + "snmpContact": "", + "snmpLocation": "", + "apManagerInterfaceIp": "", + "collectionStatus": "Managed", + "hostname": "NY-IAC-EWLC.cisco.local", + "locationName": null, + "managementIpAddress": "204.192.6.200", + "platformId": "C9800-40-K9", + "lastUpdated": "2024-09-24 03:18:11", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2024-09-24 03:18:11", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 5540473, + "vendor": "Cisco", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9800-40 Wireless Controller", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "71197925-1982-46d4-b569-e4cbbe8f06e7", + "id": "71197925-1982-46d4-b569-e4cbbe8f06e7" + }, + { + "memorySize": "NA", + "family": null, + "description": null, + "lastUpdateTime": 1727087226014, + "macAddress": null, + "deviceSupportLevel": "Unsupported", + "softwareType": null, + "softwareVersion": null, + "serialNumber": null, + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "12.12.12.12", + "lastManagedResyncReasons": "", + "managementState": "Never Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Device Updated", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": null, + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": null, + "reachabilityFailureReason": "SNMP Connectivity Failed", + "reachabilityStatus": "Unreachable", + "series": null, + "snmpContact": null, + "snmpLocation": null, + "apManagerInterfaceIp": "", + "collectionStatus": "Could Not Synchronize", + "hostname": null, + "locationName": null, + "managementIpAddress": "12.12.12.12", + "platformId": null, + "lastUpdated": "2024-09-23 10:27:06", + "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 its 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": "2024-09-23 10:26:10", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": false, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": -1, + "vendor": "NA", + "waasDeviceMode": null, + "type": null, + "location": null, + "role": "UNKNOWN", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "1932bde2-2493-4553-9bbe-7b815e2c5202", + "id": "1932bde2-2493-4553-9bbe-7b815e2c5202" + }, + { + "memorySize": "NA", + "family": null, + "description": null, + "lastUpdateTime": 1727087004063, + "macAddress": null, + "deviceSupportLevel": "Unsupported", + "softwareType": null, + "softwareVersion": null, + "serialNumber": null, + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "2.2.2.2", + "lastManagedResyncReasons": "", + "managementState": "Never Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Device Added", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": null, + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": null, + "reachabilityFailureReason": "SNMP Connectivity Failed", + "reachabilityStatus": "Unreachable", + "series": null, + "snmpContact": null, + "snmpLocation": null, + "apManagerInterfaceIp": "", + "collectionStatus": "Could Not Synchronize", + "hostname": null, + "locationName": null, + "managementIpAddress": "2.2.2.2", + "platformId": null, + "lastUpdated": "2024-09-23 10:23:24", + "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 its 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": "2024-09-23 10:22:28", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": false, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": -1, + "vendor": "NA", + "waasDeviceMode": null, + "type": null, + "location": null, + "role": "UNKNOWN", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "d1489580-092d-4f27-9952-6d57d5b783be", + "id": "d1489580-092d-4f27-9952-6d57d5b783be" + }, + { + "memorySize": "NA", + "family": null, + "description": null, + "lastUpdateTime": 1727092534613, + "macAddress": null, + "deviceSupportLevel": "Unsupported", + "softwareType": null, + "softwareVersion": null, + "serialNumber": null, + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "80.2.2.2", + "lastManagedResyncReasons": "", + "managementState": "Never Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Device Added", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": null, + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": null, + "reachabilityFailureReason": "SNMP Connectivity Failed", + "reachabilityStatus": "Unreachable", + "series": null, + "snmpContact": null, + "snmpLocation": null, + "apManagerInterfaceIp": "", + "collectionStatus": "Could Not Synchronize", + "hostname": null, + "locationName": null, + "managementIpAddress": "80.2.2.2", + "platformId": null, + "lastUpdated": "2024-09-23 11:55:34", + "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 its 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": "2024-09-23 11:54:39", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": false, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": -1, + "vendor": "NA", + "waasDeviceMode": null, + "type": null, + "location": null, + "role": "UNKNOWN", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "4acd6f02-d10b-4f18-9938-f9244c19878d", + "id": "4acd6f02-d10b-4f18-9938-f9244c19878d" + } + ], + "version": "1.0" + }, + "get_device_list2_provision_device": { + "response": [], + "version": "1.0" + }, + "get_sites1_provision_device": { + "response": [ + { + "id": "03072c33-bd11-4914-9c0e-3c53379b2813", + "parentId": "c3293908-c136-45b9-b74f-d5dfaabb26a9", + "name": "FLOOR1", + "nameHierarchy": "Global/Chennai/LTTS/FLOOR1", + "type": "floor", + "floorNumber": 1, + "rfModel": "Cubes And Walled Offices", + "width": 100, + "length": 100, + "height": 10, + "unitsOfMeasure": "feet" + } + ], + "version": "1.0" + }, + "get_sites2_provision_device": { + "response": [ + { + "id": "03072c33-bd11-4914-9c0e-3c53379b2813", + "parentId": "c3293908-c136-45b9-b74f-d5dfaabb26a9", + "name": "FLOOR1", + "nameHierarchy": "Global/Chennai/LTTS/FLOOR1", + "type": "floor", + "floorNumber": 1, + "rfModel": "Cubes And Walled Offices", + "width": 100, + "length": 100, + "height": 10, + "unitsOfMeasure": "feet" + } + ], + "version": "1.0" + }, + "get_device_list3_provision_device": { + "response": [ + { + "memorySize": "NA", + "family": "Switches and Hubs", + "description": "Cisco IOS Software [Dublin], Catalyst L3 Switch Software (CAT9K_IOSXE), Version 17.14.1, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Fri 05-Apr-24 00:08 by mcpre", + "lastUpdateTime": 1727141821130, + "macAddress": "0c:75:bd:41:14:00", + "deviceSupportLevel": "Supported", + "softwareType": "IOS-XE", + "softwareVersion": "17.14.1", + "serialNumber": "FJB2334D06N", + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "204.1.2.4", + "lastManagedResyncReasons": "Device Added", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Device Added", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": "11 days, 1:26:12.06", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": "2024-09-13 00:11:01", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9300 Series Switches", + "snmpContact": "", + "snmpLocation": "", + "apManagerInterfaceIp": "", + "collectionStatus": "Managed", + "hostname": "NY-BN-9300.cisco.local", + "locationName": null, + "managementIpAddress": "204.1.2.4", + "platformId": "C9300-48UXM, C9300-48UXM", + "lastUpdated": "2024-09-24 01:37:01", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2024-09-24 01:36:57", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 961945, + "vendor": "Cisco", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9300 Switch", + "location": null, + "role": "DISTRIBUTION", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "f19cf2b0-a9bb-4569-b140-e1d0e86d5226", + "id": "f19cf2b0-a9bb-4569-b140-e1d0e86d5226" + } + ], + "version": "1.0" + }, + "get_sites3_provision_device": { + "response": [ + { + "id": "03072c33-bd11-4914-9c0e-3c53379b2813", + "parentId": "c3293908-c136-45b9-b74f-d5dfaabb26a9", + "name": "FLOOR1", + "nameHierarchy": "Global/Chennai/LTTS/FLOOR1", + "type": "floor", + "floorNumber": 1, + "rfModel": "Cubes And Walled Offices", + "width": 100, + "length": 100, + "height": 10, + "unitsOfMeasure": "feet" + } + ], + "version": "1.0" + }, + "get_sites4_provision_device": { + "response": [ + { + "id": "03072c33-bd11-4914-9c0e-3c53379b2813", + "parentId": "c3293908-c136-45b9-b74f-d5dfaabb26a9", + "name": "FLOOR1", + "nameHierarchy": "Global/Chennai/LTTS/FLOOR1", + "type": "floor", + "floorNumber": 1, + "rfModel": "Cubes And Walled Offices", + "width": 100, + "length": 100, + "height": 10, + "unitsOfMeasure": "feet" + } + ], + "version": "1.0" + }, + "get_device_list4_provision_device": { + "response": [ + { + "memorySize": "NA", + "family": "Switches and Hubs", + "description": "Cisco IOS Software [Dublin], Catalyst L3 Switch Software (CAT9K_IOSXE), Version 17.14.1, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Fri 05-Apr-24 00:08 by mcpre", + "lastUpdateTime": 1727141821130, + "macAddress": "0c:75:bd:41:14:00", + "deviceSupportLevel": "Supported", + "softwareType": "IOS-XE", + "softwareVersion": "17.14.1", + "serialNumber": "FJB2334D06N", + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "204.1.2.4", + "lastManagedResyncReasons": "Device Added", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Device Added", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": "11 days, 1:26:12.06", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": "2024-09-13 00:11:01", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9300 Series Switches", + "snmpContact": "", + "snmpLocation": "", + "apManagerInterfaceIp": "", + "collectionStatus": "Managed", + "hostname": "NY-BN-9300.cisco.local", + "locationName": null, + "managementIpAddress": "204.1.2.4", + "platformId": "C9300-48UXM, C9300-48UXM", + "lastUpdated": "2024-09-24 01:37:01", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2024-09-24 01:36:57", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 961945, + "vendor": "Cisco", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9300 Switch", + "location": null, + "role": "DISTRIBUTION", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "f19cf2b0-a9bb-4569-b140-e1d0e86d5226", + "id": "f19cf2b0-a9bb-4569-b140-e1d0e86d5226" + } + ], + "version": "1.0" + }, + "get_provisioned_devices1_provision_device": { + "response": [], + "version": "1.0" + }, + "assign_network_devices_to_a_site_provision_device": { + "response": { + "taskId": "0192220e-2b7a-77ed-93be-8cb2974f2304", + "url": "/api/v1/task/0192220e-2b7a-77ed-93be-8cb2974f2304" + }, + "version": "1.0" + }, + "Task_Details1_provision_device": { + "response": { + "version": 1727148207092, + "progress": "Group(s) provisioning was successful", + "startTime": 1727148206970, + "endTime": 1727148207092, + "operationIdList": [ + "cefd0b8f-2f47-4847-a1b2-abbfc755d372" + ], + "serviceType": "Grouping Service", + "isError": false, + "instanceTenantId": "66e48af26fe687300375675e", + "id": "0192220e-2b7a-77ed-93be-8cb2974f2304" + }, + "version": "1.0" + }, + "provision_devices": { + "response": { + "taskId": "0192220e-2e15-75dc-9dbf-7e597bcbbf46", + "url": "/dna/intent/api/v1/task/0192220e-2e15-75dc-9dbf-7e597bcbbf46" + }, + "version": "1.0" + }, + "Task_Details2_provision_device": { + "response": { + "version": 1727148207806, + "progress": "TASK_PROVISION", + "startTime": 1727148207637, + "data": "workflow_id=f9bb38b6-2f74-44cf-bd33-18b5e2b77453;cfs_id=0;rollback_status=not_supported;rollback_taskid=0;failure_task=NA;processcfs_complete=false", + "lastUpdate": 1727148207806, + "serviceType": "NCSP", + "isError": false, + "instanceTenantId": "66e48af26fe687300375675e", + "id": "0192220e-2e15-75dc-9dbf-7e597bcbbf46" + }, + "version": "1.0" + }, + "Task_Details3_provision_device": { + "response": { + "version": 1727148209161, + "progress": "TASK_PROVISION", + "startTime": 1727148207637, + "data": "workflow_id=f9bb38b6-2f74-44cf-bd33-18b5e2b77453;cfs_id=4352f3fd-9c0d-4700-9eeb-4d3ede3987e6;rollback_status=not_supported;rollback_taskid=0;failure_task=NA;processcfs_complete=true", + "lastUpdate": 1727148209161, + "serviceType": "NCSP", + "isError": false, + "instanceTenantId": "66e48af26fe687300375675e", + "id": "0192220e-2e15-75dc-9dbf-7e597bcbbf46" + }, + "version": "1.0" + }, + "get_device_list5_provision_device": { + "response": [ + { + "memorySize": "NA", + "family": "Unified AP", + "description": null, + "lastUpdateTime": 1727147891933, + "macAddress": "34:5d:a8:3b:d8:e0", + "deviceSupportLevel": "Supported", + "softwareType": null, + "softwareVersion": "17.14.0.79", + "serialNumber": "FJC27101PRX", + "collectionInterval": "NA", + "dnsResolvedManagementAddress": "", + "lastManagedResyncReasons": "", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "NA", + "upTime": "23:29:46.780", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": null, + "reachabilityFailureReason": "NA", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9124AXI Series Unified Access Points", + "snmpContact": "", + "snmpLocation": "default location", + "apManagerInterfaceIp": "204.192.6.200", + "collectionStatus": "Managed", + "hostname": "AP34B8.8315.7C6C", + "locationName": null, + "managementIpAddress": "204.1.216.14", + "platformId": "C9124AXI-B", + "lastUpdated": "2024-09-24 03:18:11", + "associatedWlcIp": "204.192.6.200", + "apEthernetMacAddress": "34:b8:83:15:7c:6c", + "errorCode": "null", + "errorDescription": null, + "lastDeviceResyncStartTime": "", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": false, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 84904, + "vendor": "NA", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9124AXI Unified Access Point", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "a33c73ee-17e8-460e-b58a-4477a7d62d85", + "id": "a33c73ee-17e8-460e-b58a-4477a7d62d85" + }, + { + "memorySize": "NA", + "family": "Switches and Hubs", + "description": "Cisco IOS Software [Dublin], Catalyst L3 Switch Software (CAT9K_IOSXE), Version 17.14.1, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Fri 05-Apr-24 00:08 by mcpre", + "lastUpdateTime": 1727114591511, + "macAddress": "d4:ad:bd:c1:67:00", + "deviceSupportLevel": "Supported", + "softwareType": "IOS-XE", + "softwareVersion": "17.14.1", + "serialNumber": "FJC2327U0S2", + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "204.192.3.40", + "lastManagedResyncReasons": "Periodic", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Periodic", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": "10 days, 18:01:39.57", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": "2024-09-13 00:02:11", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9300 Series Switches", + "snmpContact": "", + "snmpLocation": "", + "apManagerInterfaceIp": "", + "collectionStatus": "Managed", + "hostname": "DC-FR-9300", + "locationName": null, + "managementIpAddress": "204.192.3.40", + "platformId": "C9300-24U", + "lastUpdated": "2024-09-23 18:03:11", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2024-09-23 18:02:39", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 962478, + "vendor": "Cisco", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9300 Switch", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "1e8ffc57-8a44-459f-b880-6b49d6b63aa4", + "id": "1e8ffc57-8a44-459f-b880-6b49d6b63aa4" + }, + { + "memorySize": "NA", + "family": "Switches and Hubs", + "description": "Cisco IOS Software [Dublin], Catalyst L3 Switch Software (CAT9K_IOSXE), Version 17.14.1, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Fri 05-Apr-24 00:08 by mcpre", + "lastUpdateTime": 1727147930321, + "macAddress": "00:b6:70:32:b8:00", + "deviceSupportLevel": "Supported", + "softwareType": "IOS-XE", + "softwareVersion": "17.14.1", + "serialNumber": "FCW2225C020", + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "204.1.2.5", + "lastManagedResyncReasons": "Link Up/Down Event", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Link Up/Down Event", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": "5 days, 16:40:35.42", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": "2024-09-18 10:38:50", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9300 Series Switches", + "snmpContact": "", + "snmpLocation": "", + "apManagerInterfaceIp": "", + "collectionStatus": "Managed", + "hostname": "DC-T-9300.cisco.local", + "locationName": null, + "managementIpAddress": "204.1.2.5", + "platformId": "C9300-24P", + "lastUpdated": "2024-09-24 03:18:50", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2024-09-24 03:13:15", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 492279, + "vendor": "Cisco", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9300 Switch", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "820bd13a-f565-4778-a320-9ec9f23b4725", + "id": "820bd13a-f565-4778-a320-9ec9f23b4725" + }, + { + "memorySize": "NA", + "family": "Unified AP", + "description": null, + "lastUpdateTime": 1727147891933, + "macAddress": "90:e9:5e:03:f3:40", + "deviceSupportLevel": "Supported", + "softwareType": null, + "softwareVersion": "17.14.0.79", + "serialNumber": "FJC27181V9V", + "collectionInterval": "NA", + "dnsResolvedManagementAddress": "", + "lastManagedResyncReasons": "", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "NA", + "upTime": "1 days, 22:37:58.540", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": null, + "reachabilityFailureReason": "NA", + "reachabilityStatus": "Unreachable", + "series": "Cisco Catalyst 9130AXE Series Unified Access Points", + "snmpContact": "", + "snmpLocation": "LTTS/Cisco/Chennai", + "apManagerInterfaceIp": "204.192.6.200", + "collectionStatus": "Unassociated", + "hostname": "LTTS-test2", + "locationName": null, + "managementIpAddress": "204.1.216.13", + "platformId": "C9130AXE-B", + "lastUpdated": "2024-09-24 03:18:11", + "associatedWlcIp": "204.192.6.200", + "apEthernetMacAddress": "34:5d:a8:0e:20:b4", + "errorCode": "Could Not Synchronize", + "errorDescription": null, + "lastDeviceResyncStartTime": "", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": false, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": -1, + "vendor": "NA", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9130AXE Unified Access Point", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "01bfa675-0d3d-4677-8ad9-37fe7ebc47c1", + "id": "01bfa675-0d3d-4677-8ad9-37fe7ebc47c1" + }, + { + "memorySize": "NA", + "family": "Unified AP", + "description": null, + "lastUpdateTime": 1727147891933, + "macAddress": "6c:d6:e3:75:5a:e0", + "deviceSupportLevel": "Supported", + "softwareType": null, + "softwareVersion": "17.14.0.79", + "serialNumber": "FJC272014VQ", + "collectionInterval": "NA", + "dnsResolvedManagementAddress": "", + "lastManagedResyncReasons": "", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "NA", + "upTime": "19:16:48.540", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": null, + "reachabilityFailureReason": "NA", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9120AXE Series Unified Access Points", + "snmpContact": "", + "snmpLocation": "default location", + "apManagerInterfaceIp": "204.192.6.200", + "collectionStatus": "Managed", + "hostname": "LTTS_Test_9120_T2", + "locationName": null, + "managementIpAddress": "204.1.216.44", + "platformId": "C9120AXE-B", + "lastUpdated": "2024-09-24 03:18:11", + "associatedWlcIp": "204.192.6.200", + "apEthernetMacAddress": "6c:d6:e3:69:49:b4", + "errorCode": "null", + "errorDescription": null, + "lastDeviceResyncStartTime": "", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": false, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 69726, + "vendor": "NA", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9120AXE Unified Access Point", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "4aa3b34b-7acb-4581-8875-b99e6fce9feb", + "id": "4aa3b34b-7acb-4581-8875-b99e6fce9feb" + }, + { + "memorySize": "NA", + "family": "Unified AP", + "description": null, + "lastUpdateTime": 1727147891933, + "macAddress": "e4:38:7e:42:bc:00", + "deviceSupportLevel": "Supported", + "softwareType": null, + "softwareVersion": "17.14.0.79", + "serialNumber": "FJC27101P0X", + "collectionInterval": "NA", + "dnsResolvedManagementAddress": "", + "lastManagedResyncReasons": "", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "NA", + "upTime": "6 days, 07:59:12.540", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": null, + "reachabilityFailureReason": "NA", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst Wireless 9166 Series Unified Access Points", + "snmpContact": "", + "snmpLocation": "default location", + "apManagerInterfaceIp": "204.192.6.200", + "collectionStatus": "Managed", + "hostname": "LTTS_Test_9166_T3", + "locationName": null, + "managementIpAddress": "204.1.216.21", + "platformId": "CW9166I-B", + "lastUpdated": "2024-09-24 03:18:11", + "associatedWlcIp": "204.192.6.200", + "apEthernetMacAddress": "68:49:92:75:0f:d0", + "errorCode": "null", + "errorDescription": null, + "lastDeviceResyncStartTime": "", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": false, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 547470, + "vendor": "NA", + "waasDeviceMode": null, + "type": "Cisco Catalyst Wireless 9166I Unified Access Point", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "6c205ea6-893f-4ccb-a57b-7816733a7055", + "id": "6c205ea6-893f-4ccb-a57b-7816733a7055" + }, + { + "memorySize": "NA", + "family": "Switches and Hubs", + "description": "Cisco IOS Software [Dublin], Catalyst L3 Switch Software (CAT9K_IOSXE), Version 17.14.1, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Fri 05-Apr-24 00:08 by mcpre", + "lastUpdateTime": 1727141821130, + "macAddress": "0c:75:bd:41:14:00", + "deviceSupportLevel": "Supported", + "softwareType": "IOS-XE", + "softwareVersion": "17.14.1", + "serialNumber": "FJB2334D06N", + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "204.1.2.4", + "lastManagedResyncReasons": "Device Added", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Device Added", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": "11 days, 1:26:12.06", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": "2024-09-13 00:11:01", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9300 Series Switches", + "snmpContact": "", + "snmpLocation": "", + "apManagerInterfaceIp": "", + "collectionStatus": "Managed", + "hostname": "NY-BN-9300.cisco.local", + "locationName": null, + "managementIpAddress": "204.1.2.4", + "platformId": "C9300-48UXM, C9300-48UXM", + "lastUpdated": "2024-09-24 01:37:01", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2024-09-24 01:36:57", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 961948, + "vendor": "Cisco", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9300 Switch", + "location": null, + "role": "DISTRIBUTION", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "f19cf2b0-a9bb-4569-b140-e1d0e86d5226", + "id": "f19cf2b0-a9bb-4569-b140-e1d0e86d5226" + }, + { + "memorySize": "NA", + "family": "Switches and Hubs", + "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", + "lastUpdateTime": 1727128869557, + "macAddress": "90:88:55:07:59:00", + "deviceSupportLevel": "Supported", + "softwareType": "IOS-XE", + "softwareVersion": "17.12.2", + "serialNumber": "FJC271924K0, FJC271924EQ", + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "204.1.2.2", + "lastManagedResyncReasons": "Periodic", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Periodic", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": "10 days, 21:45:09.78", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": "2024-09-13 00:16:09", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9300 Series Switches", + "snmpContact": "", + "snmpLocation": "", + "apManagerInterfaceIp": "", + "collectionStatus": "Managed", + "hostname": "NY-EN-9300.cisco.local", + "locationName": null, + "managementIpAddress": "204.1.2.2", + "platformId": "C9300-48UXM, C9300-48UXM", + "lastUpdated": "2024-09-23 22:01:09", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2024-09-23 21:57:17", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 961640, + "vendor": "Cisco", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9300 Switch", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "e5cc9398-afbf-40a2-a8b1-e9cf0635c28a", + "id": "e5cc9398-afbf-40a2-a8b1-e9cf0635c28a" + }, + { + "memorySize": "NA", + "family": "Wireless Controller", + "description": "Cisco IOS Software [Dublin], C9800 Software (C9800_IOSXE-K9), Version 17.14.1, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Fri 05-Apr-24 00:11 by mcpre netconf enabled", + "lastUpdateTime": 1727147891933, + "macAddress": "cc:b6:c8:e2:29:0b", + "deviceSupportLevel": "Supported", + "softwareType": "IOS-XE", + "softwareVersion": "17.14.1", + "serialNumber": "FOX2639PAY7", + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "204.192.6.200", + "lastManagedResyncReasons": "AP Event", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "AP Event", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": "64 days, 2:56:04.20", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": "2024-07-22 00:22:11", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9800 Series Wireless Controllers", + "snmpContact": "", + "snmpLocation": "", + "apManagerInterfaceIp": "", + "collectionStatus": "Managed", + "hostname": "NY-IAC-EWLC.cisco.local", + "locationName": null, + "managementIpAddress": "204.192.6.200", + "platformId": "C9800-40-K9", + "lastUpdated": "2024-09-24 03:18:11", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2024-09-24 03:18:11", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 5540478, + "vendor": "Cisco", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9800-40 Wireless Controller", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "71197925-1982-46d4-b569-e4cbbe8f06e7", + "id": "71197925-1982-46d4-b569-e4cbbe8f06e7" + }, + { + "memorySize": "NA", + "family": null, + "description": null, + "lastUpdateTime": 1727087226014, + "macAddress": null, + "deviceSupportLevel": "Unsupported", + "softwareType": null, + "softwareVersion": null, + "serialNumber": null, + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "12.12.12.12", + "lastManagedResyncReasons": "", + "managementState": "Never Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Device Updated", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": null, + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": null, + "reachabilityFailureReason": "SNMP Connectivity Failed", + "reachabilityStatus": "Unreachable", + "series": null, + "snmpContact": null, + "snmpLocation": null, + "apManagerInterfaceIp": "", + "collectionStatus": "Could Not Synchronize", + "hostname": null, + "locationName": null, + "managementIpAddress": "12.12.12.12", + "platformId": null, + "lastUpdated": "2024-09-23 10:27:06", + "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 its 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": "2024-09-23 10:26:10", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": false, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": -1, + "vendor": "NA", + "waasDeviceMode": null, + "type": null, + "location": null, + "role": "UNKNOWN", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "1932bde2-2493-4553-9bbe-7b815e2c5202", + "id": "1932bde2-2493-4553-9bbe-7b815e2c5202" + }, + { + "memorySize": "NA", + "family": null, + "description": null, + "lastUpdateTime": 1727087004063, + "macAddress": null, + "deviceSupportLevel": "Unsupported", + "softwareType": null, + "softwareVersion": null, + "serialNumber": null, + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "2.2.2.2", + "lastManagedResyncReasons": "", + "managementState": "Never Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Device Added", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": null, + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": null, + "reachabilityFailureReason": "SNMP Connectivity Failed", + "reachabilityStatus": "Unreachable", + "series": null, + "snmpContact": null, + "snmpLocation": null, + "apManagerInterfaceIp": "", + "collectionStatus": "Could Not Synchronize", + "hostname": null, + "locationName": null, + "managementIpAddress": "2.2.2.2", + "platformId": null, + "lastUpdated": "2024-09-23 10:23:24", + "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 its 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": "2024-09-23 10:22:28", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": false, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": -1, + "vendor": "NA", + "waasDeviceMode": null, + "type": null, + "location": null, + "role": "UNKNOWN", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "d1489580-092d-4f27-9952-6d57d5b783be", + "id": "d1489580-092d-4f27-9952-6d57d5b783be" + }, + { + "memorySize": "NA", + "family": null, + "description": null, + "lastUpdateTime": 1727092534613, + "macAddress": null, + "deviceSupportLevel": "Unsupported", + "softwareType": null, + "softwareVersion": null, + "serialNumber": null, + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "80.2.2.2", + "lastManagedResyncReasons": "", + "managementState": "Never Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Device Added", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": null, + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": null, + "reachabilityFailureReason": "SNMP Connectivity Failed", + "reachabilityStatus": "Unreachable", + "series": null, + "snmpContact": null, + "snmpLocation": null, + "apManagerInterfaceIp": "", + "collectionStatus": "Could Not Synchronize", + "hostname": null, + "locationName": null, + "managementIpAddress": "80.2.2.2", + "platformId": null, + "lastUpdated": "2024-09-23 11:55:34", + "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 its 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": "2024-09-23 11:54:39", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": false, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": -1, + "vendor": "NA", + "waasDeviceMode": null, + "type": null, + "location": null, + "role": "UNKNOWN", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "4acd6f02-d10b-4f18-9938-f9244c19878d", + "id": "4acd6f02-d10b-4f18-9938-f9244c19878d" + } + ], + "version": "1.0" + }, + "get_device_list6_provision_device": { + "response": [], + "version": "1.0" + }, + "get_device_list7_provision_device": { + "response": [ + { + "memorySize": "NA", + "family": "Switches and Hubs", + "description": "Cisco IOS Software [Dublin], Catalyst L3 Switch Software (CAT9K_IOSXE), Version 17.14.1, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Fri 05-Apr-24 00:08 by mcpre", + "lastUpdateTime": 1727141821130, + "macAddress": "0c:75:bd:41:14:00", + "deviceSupportLevel": "Supported", + "softwareType": "IOS-XE", + "softwareVersion": "17.14.1", + "serialNumber": "FJB2334D06N", + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "204.1.2.4", + "lastManagedResyncReasons": "Device Added", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Device Added", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": "11 days, 1:26:12.06", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": "2024-09-13 00:11:01", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9300 Series Switches", + "snmpContact": "", + "snmpLocation": "", + "apManagerInterfaceIp": "", + "collectionStatus": "Managed", + "hostname": "NY-BN-9300.cisco.local", + "locationName": null, + "managementIpAddress": "204.1.2.4", + "platformId": "C9300-48UXM, C9300-48UXM", + "lastUpdated": "2024-09-24 01:37:01", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2024-09-24 01:36:57", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 961949, + "vendor": "Cisco", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9300 Switch", + "location": null, + "role": "DISTRIBUTION", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "f19cf2b0-a9bb-4569-b140-e1d0e86d5226", + "id": "f19cf2b0-a9bb-4569-b140-e1d0e86d5226" + } + ], + "version": "1.0" + }, + "get_provision_devices2_provision_device": { + "response": [ + { + "id": "4352f3fd-9c0d-4700-9eeb-4d3ede3987e6", + "siteId": "03072c33-bd11-4914-9c0e-3c53379b2813", + "networkDeviceId": "f19cf2b0-a9bb-4569-b140-e1d0e86d5226" + } + ], + "version": "1.0" + }, + "provisioned_success_response": { + "message": "device(s) '204.1.2.4' provisioned successfully in Cisco Catalyst Center." + }, + "playbook_update_mgmt_ip": [ + { + "credential_update": true, + "ip_address_list": [ + "1.1.1.1" + ], + "update_mgmt_ipaddresslist": [ + { + "exist_mgmt_ipaddress": "1.1.1.1", + "new_mgmt_ipaddress": "12.12.12.12" + } + ] + } + ], + "get_device_list1_update_mgmt_ip": { + "response": [ + { + "memorySize": "NA", + "family": "Unified AP", + "description": null, + "lastUpdateTime": 1727086929202, + "macAddress": "34:5d:a8:3b:d8:e0", + "deviceSupportLevel": "Supported", + "softwareType": null, + "softwareVersion": "17.14.0.79", + "serialNumber": "FJC27101PRX", + "collectionInterval": "NA", + "dnsResolvedManagementAddress": "", + "lastManagedResyncReasons": "", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "NA", + "upTime": "06:26:57.610", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": null, + "reachabilityFailureReason": "NA", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9124AXI Series Unified Access Points", + "snmpContact": "", + "snmpLocation": "default location", + "apManagerInterfaceIp": "204.192.6.200", + "collectionStatus": "Managed", + "hostname": "AP34B8.8315.7C6C", + "locationName": null, + "managementIpAddress": "204.1.216.20", + "platformId": "C9124AXI-B", + "lastUpdated": "2024-09-23 10:22:09", + "associatedWlcIp": "204.192.6.200", + "apEthernetMacAddress": "34:b8:83:15:7c:6c", + "errorCode": "null", + "errorDescription": null, + "lastDeviceResyncStartTime": "", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": false, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 23454, + "vendor": "NA", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9124AXI Unified Access Point", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "a33c73ee-17e8-460e-b58a-4477a7d62d85", + "id": "a33c73ee-17e8-460e-b58a-4477a7d62d85" + }, + { + "memorySize": "NA", + "family": "Switches and Hubs", + "description": "Cisco IOS Software [Dublin], Catalyst L3 Switch Software (CAT9K_IOSXE), Version 17.14.1, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Fri 05-Apr-24 00:08 by mcpre", + "lastUpdateTime": 1727075030264, + "macAddress": "d4:ad:bd:c1:67:00", + "deviceSupportLevel": "Supported", + "softwareType": "IOS-XE", + "softwareVersion": "17.14.1", + "serialNumber": "FJC2327U0S2", + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "204.192.3.40", + "lastManagedResyncReasons": "Device Added", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Device Added", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": "10 days, 7:02:10.36", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": "2024-09-13 00:01:50", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9300 Series Switches", + "snmpContact": "", + "snmpLocation": "", + "apManagerInterfaceIp": "", + "collectionStatus": "Managed", + "hostname": "DC-FR-9300", + "locationName": null, + "managementIpAddress": "204.192.3.40", + "platformId": "C9300-24U", + "lastUpdated": "2024-09-23 07:03:50", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2024-09-23 07:03:47", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 901456, + "vendor": "Cisco", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9300 Switch", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "1e8ffc57-8a44-459f-b880-6b49d6b63aa4", + "id": "1e8ffc57-8a44-459f-b880-6b49d6b63aa4" + }, + { + "memorySize": "NA", + "family": "Switches and Hubs", + "description": "Cisco IOS Software [Dublin], Catalyst L3 Switch Software (CAT9K_IOSXE), Version 17.14.1, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Fri 05-Apr-24 00:08 by mcpre", + "lastUpdateTime": 1727087078598, + "macAddress": "00:b6:70:32:b8:00", + "deviceSupportLevel": "Supported", + "softwareType": "IOS-XE", + "softwareVersion": "17.14.1", + "serialNumber": "FCW2225C020", + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "204.1.2.5", + "lastManagedResyncReasons": "Link Up/Down Event", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Link Up/Down Event", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": "4 days, 23:48:42.67", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": "2024-09-18 10:36:38", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9300 Series Switches", + "snmpContact": "", + "snmpLocation": "", + "apManagerInterfaceIp": "", + "collectionStatus": "Managed", + "hostname": "DC-T-9300.cisco.local", + "locationName": null, + "managementIpAddress": "204.1.2.5", + "platformId": "C9300-24P", + "lastUpdated": "2024-09-23 10:24:38", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2024-09-23 10:23:51", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 431368, + "vendor": "Cisco", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9300 Switch", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "820bd13a-f565-4778-a320-9ec9f23b4725", + "id": "820bd13a-f565-4778-a320-9ec9f23b4725" + }, + { + "memorySize": "NA", + "family": "Unified AP", + "description": null, + "lastUpdateTime": 1727086929202, + "macAddress": "90:e9:5e:03:f3:40", + "deviceSupportLevel": "Supported", + "softwareType": null, + "softwareVersion": "17.14.0.79", + "serialNumber": "FJC27181V9V", + "collectionInterval": "NA", + "dnsResolvedManagementAddress": "", + "lastManagedResyncReasons": "", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "NA", + "upTime": "1 days, 05:45:50.780", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": null, + "reachabilityFailureReason": "NA", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9130AXE Series Unified Access Points", + "snmpContact": "", + "snmpLocation": "LTTS/Cisco/Chennai", + "apManagerInterfaceIp": "204.192.6.200", + "collectionStatus": "Managed", + "hostname": "LTTS-test2", + "locationName": null, + "managementIpAddress": "204.1.216.31", + "platformId": "C9130AXE-B", + "lastUpdated": "2024-09-23 10:22:09", + "associatedWlcIp": "204.192.6.200", + "apEthernetMacAddress": "34:5d:a8:0e:20:b4", + "errorCode": "null", + "errorDescription": null, + "lastDeviceResyncStartTime": "", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": false, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 107387, + "vendor": "NA", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9130AXE Unified Access Point", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "01bfa675-0d3d-4677-8ad9-37fe7ebc47c1", + "id": "01bfa675-0d3d-4677-8ad9-37fe7ebc47c1" + }, + { + "memorySize": "NA", + "family": "Unified AP", + "description": null, + "lastUpdateTime": 1727086929202, + "macAddress": "6c:d6:e3:75:5a:e0", + "deviceSupportLevel": "Supported", + "softwareType": null, + "softwareVersion": "17.14.0.79", + "serialNumber": "FJC272014VQ", + "collectionInterval": "NA", + "dnsResolvedManagementAddress": "", + "lastManagedResyncReasons": "", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "NA", + "upTime": "02:24:40.780", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": null, + "reachabilityFailureReason": "NA", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9120AXE Series Unified Access Points", + "snmpContact": "", + "snmpLocation": "default location", + "apManagerInterfaceIp": "204.192.6.200", + "collectionStatus": "Managed", + "hostname": "LTTS_Test_9120_T2", + "locationName": null, + "managementIpAddress": "204.1.216.19", + "platformId": "C9120AXE-B", + "lastUpdated": "2024-09-23 10:22:09", + "associatedWlcIp": "204.192.6.200", + "apEthernetMacAddress": "6c:d6:e3:69:49:b4", + "errorCode": "null", + "errorDescription": null, + "lastDeviceResyncStartTime": "", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": false, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 8917, + "vendor": "NA", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9120AXE Unified Access Point", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "4aa3b34b-7acb-4581-8875-b99e6fce9feb", + "id": "4aa3b34b-7acb-4581-8875-b99e6fce9feb" + }, + { + "memorySize": "NA", + "family": "Unified AP", + "description": null, + "lastUpdateTime": 1727086929202, + "macAddress": "e4:38:7e:42:bc:00", + "deviceSupportLevel": "Supported", + "softwareType": null, + "softwareVersion": "17.14.0.79", + "serialNumber": "FJC27101P0X", + "collectionInterval": "NA", + "dnsResolvedManagementAddress": "", + "lastManagedResyncReasons": "", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "NA", + "upTime": "5 days, 15:15:34.460", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": null, + "reachabilityFailureReason": "NA", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst Wireless 9166 Series Unified Access Points", + "snmpContact": "", + "snmpLocation": "default location", + "apManagerInterfaceIp": "204.192.6.200", + "collectionStatus": "Managed", + "hostname": "LTTS_Test_9166_T3", + "locationName": null, + "managementIpAddress": "204.1.216.21", + "platformId": "CW9166I-B", + "lastUpdated": "2024-09-23 10:22:09", + "associatedWlcIp": "204.192.6.200", + "apEthernetMacAddress": "68:49:92:75:0f:d0", + "errorCode": "null", + "errorDescription": null, + "lastDeviceResyncStartTime": "", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": false, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 487171, + "vendor": "NA", + "waasDeviceMode": null, + "type": "Cisco Catalyst Wireless 9166I Unified Access Point", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "6c205ea6-893f-4ccb-a57b-7816733a7055", + "id": "6c205ea6-893f-4ccb-a57b-7816733a7055" + }, + { + "memorySize": "NA", + "family": "Switches and Hubs", + "description": "Cisco IOS Software [Dublin], Catalyst L3 Switch Software (CAT9K_IOSXE), Version 17.14.1, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Fri 05-Apr-24 00:08 by mcpre", + "lastUpdateTime": 1727085919800, + "macAddress": "0c:75:bd:41:14:00", + "deviceSupportLevel": "Supported", + "softwareType": "IOS-XE", + "softwareVersion": "17.14.1", + "serialNumber": "FJB2334D06N", + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "204.1.2.4", + "lastManagedResyncReasons": "Config Change Event", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Config Change Event", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": "10 days, 9:54:31.54", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": "2024-09-13 00:11:19", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9300 Series Switches", + "snmpContact": "", + "snmpLocation": "", + "apManagerInterfaceIp": "", + "collectionStatus": "Managed", + "hostname": "NY-BN-9300.cisco.local", + "locationName": null, + "managementIpAddress": "204.1.2.4", + "platformId": "C9300-48UXM, C9300-48UXM", + "lastUpdated": "2024-09-23 10:05:19", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2024-09-23 10:05:16", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 900887, + "vendor": "Cisco", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9300 Switch", + "location": null, + "role": "DISTRIBUTION", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "f19cf2b0-a9bb-4569-b140-e1d0e86d5226", + "id": "f19cf2b0-a9bb-4569-b140-e1d0e86d5226" + }, + { + "memorySize": "NA", + "family": "Switches and Hubs", + "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", + "lastUpdateTime": 1727082403950, + "macAddress": "90:88:55:07:59:00", + "deviceSupportLevel": "Supported", + "softwareType": "IOS-XE", + "softwareVersion": "17.12.2", + "serialNumber": "FJC271924K0, FJC271924EQ", + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "204.1.2.2", + "lastManagedResyncReasons": "Config Change Event", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Config Change Event", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": "10 days, 8:47:03.49", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": "2024-09-13 00:19:43", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9300 Series Switches", + "snmpContact": "", + "snmpLocation": "", + "apManagerInterfaceIp": "", + "collectionStatus": "Managed", + "hostname": "NY-EN-9300.cisco.local", + "locationName": null, + "managementIpAddress": "204.1.2.2", + "platformId": "C9300-48UXM, C9300-48UXM", + "lastUpdated": "2024-09-23 09:06:43", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2024-09-23 09:05:03", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 900383, + "vendor": "Cisco", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9300 Switch", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "e5cc9398-afbf-40a2-a8b1-e9cf0635c28a", + "id": "e5cc9398-afbf-40a2-a8b1-e9cf0635c28a" + }, + { + "memorySize": "NA", + "family": "Wireless Controller", + "description": "Cisco IOS Software [Dublin], C9800 Software (C9800_IOSXE-K9), Version 17.14.1, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Fri 05-Apr-24 00:11 by mcpre netconf enabled", + "lastUpdateTime": 1727086929202, + "macAddress": "cc:b6:c8:e2:29:0b", + "deviceSupportLevel": "Supported", + "softwareType": "IOS-XE", + "softwareVersion": "17.14.1", + "serialNumber": "FOX2639PAY7", + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "204.192.6.200", + "lastManagedResyncReasons": "AP Event", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "AP Event", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": "63 days, 10:07:46.51", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": "2024-07-22 00:15:09", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9800 Series Wireless Controllers", + "snmpContact": "", + "snmpLocation": "", + "apManagerInterfaceIp": "", + "collectionStatus": "Managed", + "hostname": "NY-IAC-EWLC.cisco.local", + "locationName": null, + "managementIpAddress": "204.192.6.200", + "platformId": "C9800-40-K9", + "lastUpdated": "2024-09-23 10:22:09", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2024-09-23 10:21:53", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 5479857, + "vendor": "Cisco", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9800-40 Wireless Controller", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "71197925-1982-46d4-b569-e4cbbe8f06e7", + "id": "71197925-1982-46d4-b569-e4cbbe8f06e7" + }, + { + "memorySize": "NA", + "family": null, + "description": null, + "lastUpdateTime": 1727087004063, + "macAddress": null, + "deviceSupportLevel": "Unsupported", + "softwareType": null, + "softwareVersion": null, + "serialNumber": null, + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "1.1.1.1", + "lastManagedResyncReasons": "", + "managementState": "Never Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Device Added", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": null, + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": null, + "reachabilityFailureReason": "SNMP Connectivity Failed", + "reachabilityStatus": "Unreachable", + "series": null, + "snmpContact": null, + "snmpLocation": null, + "apManagerInterfaceIp": "", + "collectionStatus": "Could Not Synchronize", + "hostname": null, + "locationName": null, + "managementIpAddress": "1.1.1.1", + "platformId": null, + "lastUpdated": "2024-09-23 10:23:24", + "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 its 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": "2024-09-23 10:22:28", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": false, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": -1, + "vendor": "NA", + "waasDeviceMode": null, + "type": null, + "location": null, + "role": "UNKNOWN", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "1932bde2-2493-4553-9bbe-7b815e2c5202", + "id": "1932bde2-2493-4553-9bbe-7b815e2c5202" + }, + { + "memorySize": "NA", + "family": null, + "description": null, + "lastUpdateTime": 1727087004063, + "macAddress": null, + "deviceSupportLevel": "Unsupported", + "softwareType": null, + "softwareVersion": null, + "serialNumber": null, + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "2.2.2.2", + "lastManagedResyncReasons": "", + "managementState": "Never Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Device Added", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": null, + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": null, + "reachabilityFailureReason": "SNMP Connectivity Failed", + "reachabilityStatus": "Unreachable", + "series": null, + "snmpContact": null, + "snmpLocation": null, + "apManagerInterfaceIp": "", + "collectionStatus": "Could Not Synchronize", + "hostname": null, + "locationName": null, + "managementIpAddress": "2.2.2.2", + "platformId": null, + "lastUpdated": "2024-09-23 10:23:24", + "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 its 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": "2024-09-23 10:22:28", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": false, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": -1, + "vendor": "NA", + "waasDeviceMode": null, + "type": null, + "location": null, + "role": "UNKNOWN", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "d1489580-092d-4f27-9952-6d57d5b783be", + "id": "d1489580-092d-4f27-9952-6d57d5b783be" + } + ], + "version": "1.0" + }, + "get_device_list2_update_mgmt_ip": { + "response": [], + "version": "1.0" + }, + "get_device_list3_update_mgmt_ip": { + "response": [ + { + "memorySize": "NA", + "family": null, + "description": null, + "lastUpdateTime": 1727087004063, + "macAddress": null, + "deviceSupportLevel": "Unsupported", + "softwareType": null, + "softwareVersion": null, + "serialNumber": null, + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "1.1.1.1", + "lastManagedResyncReasons": "", + "managementState": "Never Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Device Added", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": null, + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": null, + "reachabilityFailureReason": "SNMP Connectivity Failed", + "reachabilityStatus": "Unreachable", + "series": null, + "snmpContact": null, + "snmpLocation": null, + "apManagerInterfaceIp": "", + "collectionStatus": "Could Not Synchronize", + "hostname": null, + "locationName": null, + "managementIpAddress": "1.1.1.1", + "platformId": null, + "lastUpdated": "2024-09-23 10:23:24", + "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 its 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": "2024-09-23 10:22:28", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": false, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": -1, + "vendor": "NA", + "waasDeviceMode": null, + "type": null, + "location": null, + "role": "UNKNOWN", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "1932bde2-2493-4553-9bbe-7b815e2c5202", + "id": "1932bde2-2493-4553-9bbe-7b815e2c5202" + } + ], + "version": "1.0" + }, + "get_device_list4_update_mgmt_ip": { + "response": [ + { + "memorySize": "NA", + "family": null, + "description": null, + "lastUpdateTime": 1727087004063, + "macAddress": null, + "deviceSupportLevel": "Unsupported", + "softwareType": null, + "softwareVersion": null, + "serialNumber": null, + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "1.1.1.1", + "lastManagedResyncReasons": "", + "managementState": "Never Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Device Added", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": null, + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": null, + "reachabilityFailureReason": "SNMP Connectivity Failed", + "reachabilityStatus": "Unreachable", + "series": null, + "snmpContact": null, + "snmpLocation": null, + "apManagerInterfaceIp": "", + "collectionStatus": "Could Not Synchronize", + "hostname": null, + "locationName": null, + "managementIpAddress": "1.1.1.1", + "platformId": null, + "lastUpdated": "2024-09-23 10:23:24", + "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 its 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": "2024-09-23 10:22:28", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": false, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": -1, + "vendor": "NA", + "waasDeviceMode": null, + "type": null, + "location": null, + "role": "UNKNOWN", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "1932bde2-2493-4553-9bbe-7b815e2c5202", + "id": "1932bde2-2493-4553-9bbe-7b815e2c5202" + } + ], + "version": "1.0" + }, + "export_device_list_update_mgmt_ip": { + "response": { + "taskId": "01921e6a-cc68-762c-903b-41dbc8a3f350", + "url": "/api/v1/task/01921e6a-cc68-762c-903b-41dbc8a3f350" + }, + "version": "1.0" + }, + "Task_Details1_update_mgmt_ip": { + "response": { + "version": 1727087168638, + "progress": "Exporting devices", + "startTime": 1727087168616, + "lastUpdate": 1727087168638, + "serviceType": "Inventory service", + "isError": false, + "instanceTenantId": "66e48af26fe687300375675e", + "id": "01921e6a-cc68-762c-903b-41dbc8a3f350" + }, + "version": "1.0" + }, + "Task_Details2_update_mgmt_ip": { + "response": { + "version": 1727087169581, + "progress": "Device exported successfully and the file id is ab193806-90dd-4fda-8d1d-e91c95b5d3b8", + "startTime": 1727087168616, + "endTime": 1727087169581, + "lastUpdate": 1727087168638, + "additionalStatusURL": "/api/v1/file/ab193806-90dd-4fda-8d1d-e91c95b5d3b8", + "serviceType": "Inventory service", + "isError": false, + "instanceTenantId": "66e48af26fe687300375675e", + "id": "01921e6a-cc68-762c-903b-41dbc8a3f350" + }, + "version": "1.0" + }, + "download_a_file_by_fileid__update_mgmt_ip": "", + "sync_devices_update_mgmt_ip": { + "response": { + "taskId": "01921e6a-d432-7003-9656-6e1f6dc0aab8", + "url": "/api/v1/task/01921e6a-d432-7003-9656-6e1f6dc0aab8" + }, + "version": "1.0" + }, + "Task_Details3__update_mgmt_ip": { + "response": { + "version": 1727087170909, + "progress": "Inventory service updating devices", + "startTime": 1727087170610, + "endTime": 1727087170909, + "serviceType": "Inventory service", + "isError": false, + "instanceTenantId": "66e48af26fe687300375675e", + "id": "01921e6a-d432-7003-9656-6e1f6dc0aab8" + }, + "version": "1.0" + }, + "get_device_list5_update_mgmt_ip": { + "response": [ + { + "memorySize": "NA", + "family": "Unified AP", + "description": null, + "lastUpdateTime": 1727086929202, + "macAddress": "34:5d:a8:3b:d8:e0", + "deviceSupportLevel": "Supported", + "softwareType": null, + "softwareVersion": "17.14.0.79", + "serialNumber": "FJC27101PRX", + "collectionInterval": "NA", + "dnsResolvedManagementAddress": "", + "lastManagedResyncReasons": "", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "NA", + "upTime": "06:26:57.610", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": null, + "reachabilityFailureReason": "NA", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9124AXI Series Unified Access Points", + "snmpContact": "", + "snmpLocation": "default location", + "apManagerInterfaceIp": "204.192.6.200", + "collectionStatus": "Managed", + "hostname": "AP34B8.8315.7C6C", + "locationName": null, + "managementIpAddress": "204.1.216.20", + "platformId": "C9124AXI-B", + "lastUpdated": "2024-09-23 10:22:09", + "associatedWlcIp": "204.192.6.200", + "apEthernetMacAddress": "34:b8:83:15:7c:6c", + "errorCode": "null", + "errorDescription": null, + "lastDeviceResyncStartTime": "", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": false, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 23459, + "vendor": "NA", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9124AXI Unified Access Point", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "a33c73ee-17e8-460e-b58a-4477a7d62d85", + "id": "a33c73ee-17e8-460e-b58a-4477a7d62d85" + }, + { + "memorySize": "NA", + "family": "Switches and Hubs", + "description": "Cisco IOS Software [Dublin], Catalyst L3 Switch Software (CAT9K_IOSXE), Version 17.14.1, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Fri 05-Apr-24 00:08 by mcpre", + "lastUpdateTime": 1727075030264, + "macAddress": "d4:ad:bd:c1:67:00", + "deviceSupportLevel": "Supported", + "softwareType": "IOS-XE", + "softwareVersion": "17.14.1", + "serialNumber": "FJC2327U0S2", + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "204.192.3.40", + "lastManagedResyncReasons": "Device Added", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Device Added", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": "10 days, 7:02:10.36", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": "2024-09-13 00:01:50", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9300 Series Switches", + "snmpContact": "", + "snmpLocation": "", + "apManagerInterfaceIp": "", + "collectionStatus": "Managed", + "hostname": "DC-FR-9300", + "locationName": null, + "managementIpAddress": "204.192.3.40", + "platformId": "C9300-24U", + "lastUpdated": "2024-09-23 07:03:50", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2024-09-23 07:03:47", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 901461, + "vendor": "Cisco", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9300 Switch", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "1e8ffc57-8a44-459f-b880-6b49d6b63aa4", + "id": "1e8ffc57-8a44-459f-b880-6b49d6b63aa4" + }, + { + "memorySize": "NA", + "family": "Switches and Hubs", + "description": "Cisco IOS Software [Dublin], Catalyst L3 Switch Software (CAT9K_IOSXE), Version 17.14.1, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Fri 05-Apr-24 00:08 by mcpre", + "lastUpdateTime": 1727087078598, + "macAddress": "00:b6:70:32:b8:00", + "deviceSupportLevel": "Supported", + "softwareType": "IOS-XE", + "softwareVersion": "17.14.1", + "serialNumber": "FCW2225C020", + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "204.1.2.5", + "lastManagedResyncReasons": "Link Up/Down Event", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Link Up/Down Event", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": "4 days, 23:48:42.67", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": "2024-09-18 10:36:38", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9300 Series Switches", + "snmpContact": "", + "snmpLocation": "", + "apManagerInterfaceIp": "", + "collectionStatus": "Managed", + "hostname": "DC-T-9300.cisco.local", + "locationName": null, + "managementIpAddress": "204.1.2.5", + "platformId": "C9300-24P", + "lastUpdated": "2024-09-23 10:24:38", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2024-09-23 10:23:51", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 431373, + "vendor": "Cisco", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9300 Switch", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "820bd13a-f565-4778-a320-9ec9f23b4725", + "id": "820bd13a-f565-4778-a320-9ec9f23b4725" + }, + { + "memorySize": "NA", + "family": "Unified AP", + "description": null, + "lastUpdateTime": 1727086929202, + "macAddress": "90:e9:5e:03:f3:40", + "deviceSupportLevel": "Supported", + "softwareType": null, + "softwareVersion": "17.14.0.79", + "serialNumber": "FJC27181V9V", + "collectionInterval": "NA", + "dnsResolvedManagementAddress": "", + "lastManagedResyncReasons": "", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "NA", + "upTime": "1 days, 05:45:50.780", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": null, + "reachabilityFailureReason": "NA", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9130AXE Series Unified Access Points", + "snmpContact": "", + "snmpLocation": "LTTS/Cisco/Chennai", + "apManagerInterfaceIp": "204.192.6.200", + "collectionStatus": "Managed", + "hostname": "LTTS-test2", + "locationName": null, + "managementIpAddress": "204.1.216.31", + "platformId": "C9130AXE-B", + "lastUpdated": "2024-09-23 10:22:09", + "associatedWlcIp": "204.192.6.200", + "apEthernetMacAddress": "34:5d:a8:0e:20:b4", + "errorCode": "null", + "errorDescription": null, + "lastDeviceResyncStartTime": "", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": false, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 107392, + "vendor": "NA", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9130AXE Unified Access Point", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "01bfa675-0d3d-4677-8ad9-37fe7ebc47c1", + "id": "01bfa675-0d3d-4677-8ad9-37fe7ebc47c1" + }, + { + "memorySize": "NA", + "family": "Unified AP", + "description": null, + "lastUpdateTime": 1727086929202, + "macAddress": "6c:d6:e3:75:5a:e0", + "deviceSupportLevel": "Supported", + "softwareType": null, + "softwareVersion": "17.14.0.79", + "serialNumber": "FJC272014VQ", + "collectionInterval": "NA", + "dnsResolvedManagementAddress": "", + "lastManagedResyncReasons": "", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "NA", + "upTime": "02:24:40.780", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": null, + "reachabilityFailureReason": "NA", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9120AXE Series Unified Access Points", + "snmpContact": "", + "snmpLocation": "default location", + "apManagerInterfaceIp": "204.192.6.200", + "collectionStatus": "Managed", + "hostname": "LTTS_Test_9120_T2", + "locationName": null, + "managementIpAddress": "204.1.216.19", + "platformId": "C9120AXE-B", + "lastUpdated": "2024-09-23 10:22:09", + "associatedWlcIp": "204.192.6.200", + "apEthernetMacAddress": "6c:d6:e3:69:49:b4", + "errorCode": "null", + "errorDescription": null, + "lastDeviceResyncStartTime": "", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": false, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 8922, + "vendor": "NA", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9120AXE Unified Access Point", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "4aa3b34b-7acb-4581-8875-b99e6fce9feb", + "id": "4aa3b34b-7acb-4581-8875-b99e6fce9feb" + }, + { + "memorySize": "NA", + "family": "Unified AP", + "description": null, + "lastUpdateTime": 1727086929202, + "macAddress": "e4:38:7e:42:bc:00", + "deviceSupportLevel": "Supported", + "softwareType": null, + "softwareVersion": "17.14.0.79", + "serialNumber": "FJC27101P0X", + "collectionInterval": "NA", + "dnsResolvedManagementAddress": "", + "lastManagedResyncReasons": "", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "NA", + "upTime": "5 days, 15:15:34.460", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": null, + "reachabilityFailureReason": "NA", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst Wireless 9166 Series Unified Access Points", + "snmpContact": "", + "snmpLocation": "default location", + "apManagerInterfaceIp": "204.192.6.200", + "collectionStatus": "Managed", + "hostname": "LTTS_Test_9166_T3", + "locationName": null, + "managementIpAddress": "204.1.216.21", + "platformId": "CW9166I-B", + "lastUpdated": "2024-09-23 10:22:09", + "associatedWlcIp": "204.192.6.200", + "apEthernetMacAddress": "68:49:92:75:0f:d0", + "errorCode": "null", + "errorDescription": null, + "lastDeviceResyncStartTime": "", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": false, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 487176, + "vendor": "NA", + "waasDeviceMode": null, + "type": "Cisco Catalyst Wireless 9166I Unified Access Point", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "6c205ea6-893f-4ccb-a57b-7816733a7055", + "id": "6c205ea6-893f-4ccb-a57b-7816733a7055" + }, + { + "memorySize": "NA", + "family": "Switches and Hubs", + "description": "Cisco IOS Software [Dublin], Catalyst L3 Switch Software (CAT9K_IOSXE), Version 17.14.1, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Fri 05-Apr-24 00:08 by mcpre", + "lastUpdateTime": 1727085919800, + "macAddress": "0c:75:bd:41:14:00", + "deviceSupportLevel": "Supported", + "softwareType": "IOS-XE", + "softwareVersion": "17.14.1", + "serialNumber": "FJB2334D06N", + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "204.1.2.4", + "lastManagedResyncReasons": "Config Change Event", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Config Change Event", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": "10 days, 9:54:31.54", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": "2024-09-13 00:11:19", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9300 Series Switches", + "snmpContact": "", + "snmpLocation": "", + "apManagerInterfaceIp": "", + "collectionStatus": "Managed", + "hostname": "NY-BN-9300.cisco.local", + "locationName": null, + "managementIpAddress": "204.1.2.4", + "platformId": "C9300-48UXM, C9300-48UXM", + "lastUpdated": "2024-09-23 10:05:19", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2024-09-23 10:05:16", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 900891, + "vendor": "Cisco", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9300 Switch", + "location": null, + "role": "DISTRIBUTION", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "f19cf2b0-a9bb-4569-b140-e1d0e86d5226", + "id": "f19cf2b0-a9bb-4569-b140-e1d0e86d5226" + }, + { + "memorySize": "NA", + "family": "Switches and Hubs", + "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", + "lastUpdateTime": 1727082403950, + "macAddress": "90:88:55:07:59:00", + "deviceSupportLevel": "Supported", + "softwareType": "IOS-XE", + "softwareVersion": "17.12.2", + "serialNumber": "FJC271924K0, FJC271924EQ", + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "204.1.2.2", + "lastManagedResyncReasons": "Config Change Event", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Config Change Event", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": "10 days, 8:47:03.49", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": "2024-09-13 00:19:43", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9300 Series Switches", + "snmpContact": "", + "snmpLocation": "", + "apManagerInterfaceIp": "", + "collectionStatus": "Managed", + "hostname": "NY-EN-9300.cisco.local", + "locationName": null, + "managementIpAddress": "204.1.2.2", + "platformId": "C9300-48UXM, C9300-48UXM", + "lastUpdated": "2024-09-23 09:06:43", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2024-09-23 09:05:03", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 900387, + "vendor": "Cisco", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9300 Switch", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "e5cc9398-afbf-40a2-a8b1-e9cf0635c28a", + "id": "e5cc9398-afbf-40a2-a8b1-e9cf0635c28a" + }, + { + "memorySize": "NA", + "family": "Wireless Controller", + "description": "Cisco IOS Software [Dublin], C9800 Software (C9800_IOSXE-K9), Version 17.14.1, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Fri 05-Apr-24 00:11 by mcpre netconf enabled", + "lastUpdateTime": 1727086929202, + "macAddress": "cc:b6:c8:e2:29:0b", + "deviceSupportLevel": "Supported", + "softwareType": "IOS-XE", + "softwareVersion": "17.14.1", + "serialNumber": "FOX2639PAY7", + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "204.192.6.200", + "lastManagedResyncReasons": "AP Event", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "AP Event", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": "63 days, 10:07:46.51", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": "2024-07-22 00:15:09", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9800 Series Wireless Controllers", + "snmpContact": "", + "snmpLocation": "", + "apManagerInterfaceIp": "", + "collectionStatus": "Managed", + "hostname": "NY-IAC-EWLC.cisco.local", + "locationName": null, + "managementIpAddress": "204.192.6.200", + "platformId": "C9800-40-K9", + "lastUpdated": "2024-09-23 10:22:09", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2024-09-23 10:21:53", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 5479862, + "vendor": "Cisco", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9800-40 Wireless Controller", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "71197925-1982-46d4-b569-e4cbbe8f06e7", + "id": "71197925-1982-46d4-b569-e4cbbe8f06e7" + }, + { + "memorySize": "NA", + "family": null, + "description": null, + "lastUpdateTime": 1727087004063, + "macAddress": null, + "deviceSupportLevel": "Unsupported", + "softwareType": null, + "softwareVersion": null, + "serialNumber": null, + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": null, + "lastManagedResyncReasons": "", + "managementState": "Never Managed", + "pendingSyncRequestsCount": "1", + "reasonsForDeviceResync": "Device Updated", + "reasonsForPendingSyncRequests": "Device Updated", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": null, + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": null, + "reachabilityFailureReason": "", + "reachabilityStatus": "Unreachable", + "series": null, + "snmpContact": null, + "snmpLocation": null, + "apManagerInterfaceIp": "", + "collectionStatus": "In Progress", + "hostname": null, + "locationName": null, + "managementIpAddress": "12.12.12.12", + "platformId": null, + "lastUpdated": "2024-09-23 10:23:24", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2024-09-23 10:26:10", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": false, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": -1, + "vendor": "NA", + "waasDeviceMode": null, + "type": null, + "location": null, + "role": "UNKNOWN", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "1932bde2-2493-4553-9bbe-7b815e2c5202", + "id": "1932bde2-2493-4553-9bbe-7b815e2c5202" + }, + { + "memorySize": "NA", + "family": null, + "description": null, + "lastUpdateTime": 1727087004063, + "macAddress": null, + "deviceSupportLevel": "Unsupported", + "softwareType": null, + "softwareVersion": null, + "serialNumber": null, + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "2.2.2.2", + "lastManagedResyncReasons": "", + "managementState": "Never Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Device Added", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": null, + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": null, + "reachabilityFailureReason": "SNMP Connectivity Failed", + "reachabilityStatus": "Unreachable", + "series": null, + "snmpContact": null, + "snmpLocation": null, + "apManagerInterfaceIp": "", + "collectionStatus": "Could Not Synchronize", + "hostname": null, + "locationName": null, + "managementIpAddress": "2.2.2.2", + "platformId": null, + "lastUpdated": "2024-09-23 10:23:24", + "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 its 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": "2024-09-23 10:22:28", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": false, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": -1, + "vendor": "NA", + "waasDeviceMode": null, + "type": null, + "location": null, + "role": "UNKNOWN", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "d1489580-092d-4f27-9952-6d57d5b783be", + "id": "d1489580-092d-4f27-9952-6d57d5b783be" + } + ], + "version": "1.0" + }, + "get_device_list6_update_mgmt_ip": { + "response": [], + "version": "1.0" + }, + "get_device_list7_update_mgmt_ip": { + "response": [], + "version": "1.0" + }, + "export_device_list2_update_mgmt_ip": { + "response": { + "taskId": "01921e6a-da38-7f38-9f08-f7052b62bcda", + "url": "/api/v1/task/01921e6a-da38-7f38-9f08-f7052b62bcda" + }, + "version": "1.0" + }, + "Task_Details3_update_mgmt_ip": { + "response": { + "version": 1727087172155, + "progress": "Exporting devices", + "startTime": 1727087172152, + "lastUpdate": 1727087172155, + "serviceType": "Inventory service", + "isError": false, + "instanceTenantId": "66e48af26fe687300375675e", + "id": "01921e6a-da38-7f38-9f08-f7052b62bcda" + }, + "version": "1.0" + }, + "Task_Details4_update_mgmt_ip": { + "response": { + "version": 1727087172597, + "progress": "Device exported successfully and the file id is d76f8cb2-5431-4057-9b0b-10c214fb6678", + "startTime": 1727087172152, + "endTime": 1727087172597, + "lastUpdate": 1727087172155, + "additionalStatusURL": "/api/v1/file/d76f8cb2-5431-4057-9b0b-10c214fb6678", + "serviceType": "Inventory service", + "isError": false, + "instanceTenantId": "66e48af26fe687300375675e", + "id": "01921e6a-da38-7f38-9f08-f7052b62bcda" + }, + "version": "1.0" + }, + "download_a_file_by_fileid2_update_mgmt_ip": "", + "response_update_mgmt_ipaddress": { + "message": "Device '1.1.1.1' present in Cisco Catalyst Center and new management ip '12.12.12.12' have been updated successfully " + }, + "playbook_delete_device_udf": [ + { + "-add_user_defined_field": { + "name": [ + "Test123" + ] + }, + "ip_address_list": [ + "70.2.2.2" + ] + } + ], + "get_device_list1_delete_device_udf": { + "response": [ + { + "memorySize": "NA", + "family": "Unified AP", + "description": null, + "lastUpdateTime": 1727095570220, + "macAddress": "34:5d:a8:3b:d8:e0", + "deviceSupportLevel": "Supported", + "softwareType": null, + "softwareVersion": "17.14.0.79", + "serialNumber": "FJC27101PRX", + "collectionInterval": "NA", + "dnsResolvedManagementAddress": "", + "lastManagedResyncReasons": "", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "NA", + "upTime": "09:01:39.210", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": null, + "reachabilityFailureReason": "NA", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9124AXI Series Unified Access Points", + "snmpContact": "", + "snmpLocation": "default location", + "apManagerInterfaceIp": "204.192.6.200", + "collectionStatus": "Managed", + "hostname": "AP34B8.8315.7C6C", + "locationName": null, + "managementIpAddress": "204.1.216.41", + "platformId": "C9124AXI-B", + "lastUpdated": "2024-09-23 12:46:10", + "associatedWlcIp": "204.192.6.200", + "apEthernetMacAddress": "34:b8:83:15:7c:6c", + "errorCode": "null", + "errorDescription": null, + "lastDeviceResyncStartTime": "", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": false, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 32662, + "vendor": "NA", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9124AXI Unified Access Point", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "a33c73ee-17e8-460e-b58a-4477a7d62d85", + "id": "a33c73ee-17e8-460e-b58a-4477a7d62d85" + }, + { + "memorySize": "NA", + "family": "Switches and Hubs", + "description": "Cisco IOS Software [Dublin], Catalyst L3 Switch Software (CAT9K_IOSXE), Version 17.14.1, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Fri 05-Apr-24 00:08 by mcpre", + "lastUpdateTime": 1727075030264, + "macAddress": "d4:ad:bd:c1:67:00", + "deviceSupportLevel": "Supported", + "softwareType": "IOS-XE", + "softwareVersion": "17.14.1", + "serialNumber": "FJC2327U0S2", + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "204.192.3.40", + "lastManagedResyncReasons": "Device Added", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Device Added", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": "10 days, 7:02:10.36", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": "2024-09-13 00:01:50", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9300 Series Switches", + "snmpContact": "", + "snmpLocation": "", + "apManagerInterfaceIp": "", + "collectionStatus": "Managed", + "hostname": "DC-FR-9300", + "locationName": null, + "managementIpAddress": "204.192.3.40", + "platformId": "C9300-24U", + "lastUpdated": "2024-09-23 07:03:50", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2024-09-23 07:03:47", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 910023, + "vendor": "Cisco", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9300 Switch", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "1e8ffc57-8a44-459f-b880-6b49d6b63aa4", + "id": "1e8ffc57-8a44-459f-b880-6b49d6b63aa4" + }, + { + "memorySize": "NA", + "family": "Switches and Hubs", + "description": "Cisco IOS Software [Dublin], Catalyst L3 Switch Software (CAT9K_IOSXE), Version 17.14.1, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Fri 05-Apr-24 00:08 by mcpre", + "lastUpdateTime": 1727095542465, + "macAddress": "00:b6:70:32:b8:00", + "deviceSupportLevel": "Supported", + "softwareType": "IOS-XE", + "softwareVersion": "17.14.1", + "serialNumber": "FCW2225C020", + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "204.1.2.5", + "lastManagedResyncReasons": "Link Up/Down Event", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Link Up/Down Event", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": "5 days, 2:10:23.60", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": "2024-09-18 10:35:42", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9300 Series Switches", + "snmpContact": "", + "snmpLocation": "", + "apManagerInterfaceIp": "", + "collectionStatus": "Managed", + "hostname": "DC-T-9300.cisco.local", + "locationName": null, + "managementIpAddress": "204.1.2.5", + "platformId": "C9300-24P", + "lastUpdated": "2024-09-23 12:45:42", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2024-09-23 12:44:52", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 439991, + "vendor": "Cisco", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9300 Switch", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "820bd13a-f565-4778-a320-9ec9f23b4725", + "id": "820bd13a-f565-4778-a320-9ec9f23b4725" + }, + { + "memorySize": "NA", + "family": "Unified AP", + "description": null, + "lastUpdateTime": 1727095570220, + "macAddress": "90:e9:5e:03:f3:40", + "deviceSupportLevel": "Supported", + "softwareType": null, + "softwareVersion": "17.14.0.79", + "serialNumber": "FJC27181V9V", + "collectionInterval": "NA", + "dnsResolvedManagementAddress": "", + "lastManagedResyncReasons": "", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "NA", + "upTime": "1 days, 08:09:42.220", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": null, + "reachabilityFailureReason": "NA", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9130AXE Series Unified Access Points", + "snmpContact": "", + "snmpLocation": "LTTS/Cisco/Chennai", + "apManagerInterfaceIp": "204.192.6.200", + "collectionStatus": "Managed", + "hostname": "LTTS-test2", + "locationName": null, + "managementIpAddress": "204.1.216.43", + "platformId": "C9130AXE-B", + "lastUpdated": "2024-09-23 12:46:10", + "associatedWlcIp": "204.192.6.200", + "apEthernetMacAddress": "34:5d:a8:0e:20:b4", + "errorCode": "null", + "errorDescription": null, + "lastDeviceResyncStartTime": "", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": false, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 115945, + "vendor": "NA", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9130AXE Unified Access Point", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "01bfa675-0d3d-4677-8ad9-37fe7ebc47c1", + "id": "01bfa675-0d3d-4677-8ad9-37fe7ebc47c1" + }, + { + "memorySize": "NA", + "family": "Unified AP", + "description": null, + "lastUpdateTime": 1727095570220, + "macAddress": "6c:d6:e3:75:5a:e0", + "deviceSupportLevel": "Supported", + "softwareType": null, + "softwareVersion": "17.14.0.79", + "serialNumber": "FJC272014VQ", + "collectionInterval": "NA", + "dnsResolvedManagementAddress": "", + "lastManagedResyncReasons": "", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "NA", + "upTime": "04:53:22.210", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": null, + "reachabilityFailureReason": "NA", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9120AXE Series Unified Access Points", + "snmpContact": "", + "snmpLocation": "default location", + "apManagerInterfaceIp": "204.192.6.200", + "collectionStatus": "Managed", + "hostname": "LTTS_Test_9120_T2", + "locationName": null, + "managementIpAddress": "204.1.216.19", + "platformId": "C9120AXE-B", + "lastUpdated": "2024-09-23 12:46:10", + "associatedWlcIp": "204.192.6.200", + "apEthernetMacAddress": "6c:d6:e3:69:49:b4", + "errorCode": "null", + "errorDescription": null, + "lastDeviceResyncStartTime": "", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": false, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 17765, + "vendor": "NA", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9120AXE Unified Access Point", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "4aa3b34b-7acb-4581-8875-b99e6fce9feb", + "id": "4aa3b34b-7acb-4581-8875-b99e6fce9feb" + }, + { + "memorySize": "NA", + "family": "Unified AP", + "description": null, + "lastUpdateTime": 1727095570220, + "macAddress": "e4:38:7e:42:bc:00", + "deviceSupportLevel": "Supported", + "softwareType": null, + "softwareVersion": "17.14.0.79", + "serialNumber": "FJC27101P0X", + "collectionInterval": "NA", + "dnsResolvedManagementAddress": "", + "lastManagedResyncReasons": "", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "NA", + "upTime": "5 days, 17:39:35.470", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": null, + "reachabilityFailureReason": "NA", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst Wireless 9166 Series Unified Access Points", + "snmpContact": "", + "snmpLocation": "default location", + "apManagerInterfaceIp": "204.192.6.200", + "collectionStatus": "Managed", + "hostname": "LTTS_Test_9166_T3", + "locationName": null, + "managementIpAddress": "204.1.216.21", + "platformId": "CW9166I-B", + "lastUpdated": "2024-09-23 12:46:10", + "associatedWlcIp": "204.192.6.200", + "apEthernetMacAddress": "68:49:92:75:0f:d0", + "errorCode": "null", + "errorDescription": null, + "lastDeviceResyncStartTime": "", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": false, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 495738, + "vendor": "NA", + "waasDeviceMode": null, + "type": "Cisco Catalyst Wireless 9166I Unified Access Point", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "6c205ea6-893f-4ccb-a57b-7816733a7055", + "id": "6c205ea6-893f-4ccb-a57b-7816733a7055" + }, + { + "memorySize": "NA", + "family": "Switches and Hubs", + "description": "Cisco IOS Software [Dublin], Catalyst L3 Switch Software (CAT9K_IOSXE), Version 17.14.1, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Fri 05-Apr-24 00:08 by mcpre", + "lastUpdateTime": 1727085919800, + "macAddress": "0c:75:bd:41:14:00", + "deviceSupportLevel": "Supported", + "softwareType": "IOS-XE", + "softwareVersion": "17.14.1", + "serialNumber": "FJB2334D06N", + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "204.1.2.4", + "lastManagedResyncReasons": "Config Change Event", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Config Change Event", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": "10 days, 9:54:31.54", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": "2024-09-13 00:11:19", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9300 Series Switches", + "snmpContact": "", + "snmpLocation": "", + "apManagerInterfaceIp": "", + "collectionStatus": "Managed", + "hostname": "NY-BN-9300.cisco.local", + "locationName": null, + "managementIpAddress": "204.1.2.4", + "platformId": "C9300-48UXM, C9300-48UXM", + "lastUpdated": "2024-09-23 10:05:19", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2024-09-23 10:05:16", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 909454, + "vendor": "Cisco", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9300 Switch", + "location": null, + "role": "DISTRIBUTION", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "f19cf2b0-a9bb-4569-b140-e1d0e86d5226", + "id": "f19cf2b0-a9bb-4569-b140-e1d0e86d5226" + }, + { + "memorySize": "NA", + "family": "Switches and Hubs", + "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", + "lastUpdateTime": 1727082403950, + "macAddress": "90:88:55:07:59:00", + "deviceSupportLevel": "Supported", + "softwareType": "IOS-XE", + "softwareVersion": "17.12.2", + "serialNumber": "FJC271924K0, FJC271924EQ", + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "204.1.2.2", + "lastManagedResyncReasons": "Config Change Event", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Config Change Event", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": "10 days, 8:47:03.49", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": "2024-09-13 00:19:43", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9300 Series Switches", + "snmpContact": "", + "snmpLocation": "", + "apManagerInterfaceIp": "", + "collectionStatus": "Managed", + "hostname": "NY-EN-9300.cisco.local", + "locationName": null, + "managementIpAddress": "204.1.2.2", + "platformId": "C9300-48UXM, C9300-48UXM", + "lastUpdated": "2024-09-23 09:06:43", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2024-09-23 09:05:03", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 908949, + "vendor": "Cisco", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9300 Switch", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "e5cc9398-afbf-40a2-a8b1-e9cf0635c28a", + "id": "e5cc9398-afbf-40a2-a8b1-e9cf0635c28a" + }, + { + "memorySize": "NA", + "family": "Wireless Controller", + "description": "Cisco IOS Software [Dublin], C9800 Software (C9800_IOSXE-K9), Version 17.14.1, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Fri 05-Apr-24 00:11 by mcpre netconf enabled", + "lastUpdateTime": 1727095570220, + "macAddress": "cc:b6:c8:e2:29:0b", + "deviceSupportLevel": "Supported", + "softwareType": "IOS-XE", + "softwareVersion": "17.14.1", + "serialNumber": "FOX2639PAY7", + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "204.192.6.200", + "lastManagedResyncReasons": "AP Event", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "AP Event", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": "63 days, 12:31:47.91", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": "2024-07-22 00:15:10", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9800 Series Wireless Controllers", + "snmpContact": "", + "snmpLocation": "", + "apManagerInterfaceIp": "", + "collectionStatus": "Managed", + "hostname": "NY-IAC-EWLC.cisco.local", + "locationName": null, + "managementIpAddress": "204.192.6.200", + "platformId": "C9800-40-K9", + "lastUpdated": "2024-09-23 12:46:10", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2024-09-23 12:45:55", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 5488423, + "vendor": "Cisco", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9800-40 Wireless Controller", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "71197925-1982-46d4-b569-e4cbbe8f06e7", + "id": "71197925-1982-46d4-b569-e4cbbe8f06e7" + }, + { + "memorySize": "NA", + "family": null, + "description": null, + "lastUpdateTime": 1727087226014, + "macAddress": null, + "deviceSupportLevel": "Unsupported", + "softwareType": null, + "softwareVersion": null, + "serialNumber": null, + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "12.12.12.12", + "lastManagedResyncReasons": "", + "managementState": "Never Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Device Updated", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": null, + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": null, + "reachabilityFailureReason": "SNMP Connectivity Failed", + "reachabilityStatus": "Unreachable", + "series": null, + "snmpContact": null, + "snmpLocation": null, + "apManagerInterfaceIp": "", + "collectionStatus": "Could Not Synchronize", + "hostname": null, + "locationName": null, + "managementIpAddress": "12.12.12.12", + "platformId": null, + "lastUpdated": "2024-09-23 10:27:06", + "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 its 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": "2024-09-23 10:26:10", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": false, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": -1, + "vendor": "NA", + "waasDeviceMode": null, + "type": null, + "location": null, + "role": "UNKNOWN", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "1932bde2-2493-4553-9bbe-7b815e2c5202", + "id": "1932bde2-2493-4553-9bbe-7b815e2c5202" + }, + { + "memorySize": "NA", + "family": null, + "description": null, + "lastUpdateTime": 1727087004063, + "macAddress": null, + "deviceSupportLevel": "Unsupported", + "softwareType": null, + "softwareVersion": null, + "serialNumber": null, + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "2.2.2.2", + "lastManagedResyncReasons": "", + "managementState": "Never Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Device Added", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": null, + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": null, + "reachabilityFailureReason": "SNMP Connectivity Failed", + "reachabilityStatus": "Unreachable", + "series": null, + "snmpContact": null, + "snmpLocation": null, + "apManagerInterfaceIp": "", + "collectionStatus": "Could Not Synchronize", + "hostname": null, + "locationName": null, + "managementIpAddress": "2.2.2.2", + "platformId": null, + "lastUpdated": "2024-09-23 10:23:24", + "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 its 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": "2024-09-23 10:22:28", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": false, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": -1, + "vendor": "NA", + "waasDeviceMode": null, + "type": null, + "location": null, + "role": "UNKNOWN", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "d1489580-092d-4f27-9952-6d57d5b783be", + "id": "d1489580-092d-4f27-9952-6d57d5b783be" + }, + { + "memorySize": "NA", + "family": null, + "description": null, + "lastUpdateTime": 1727092534613, + "macAddress": null, + "deviceSupportLevel": "Unsupported", + "softwareType": null, + "softwareVersion": null, + "serialNumber": null, + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "70.2.2.2", + "lastManagedResyncReasons": "", + "managementState": "Never Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Device Added", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": null, + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": null, + "reachabilityFailureReason": "SNMP Connectivity Failed", + "reachabilityStatus": "Unreachable", + "series": null, + "snmpContact": null, + "snmpLocation": null, + "apManagerInterfaceIp": "", + "collectionStatus": "Could Not Synchronize", + "hostname": null, + "locationName": null, + "managementIpAddress": "70.2.2.2", + "platformId": null, + "lastUpdated": "2024-09-23 11:55:34", + "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 its 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": "2024-09-23 11:54:39", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": false, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": -1, + "vendor": "NA", + "waasDeviceMode": null, + "type": null, + "location": null, + "role": "UNKNOWN", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "56d1efad-14f8-4d76-b290-bed2f8f843d6", + "id": "56d1efad-14f8-4d76-b290-bed2f8f843d6" + }, + { + "memorySize": "NA", + "family": null, + "description": null, + "lastUpdateTime": 1727092534613, + "macAddress": null, + "deviceSupportLevel": "Unsupported", + "softwareType": null, + "softwareVersion": null, + "serialNumber": null, + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "80.2.2.2", + "lastManagedResyncReasons": "", + "managementState": "Never Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Device Added", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": null, + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": null, + "reachabilityFailureReason": "SNMP Connectivity Failed", + "reachabilityStatus": "Unreachable", + "series": null, + "snmpContact": null, + "snmpLocation": null, + "apManagerInterfaceIp": "", + "collectionStatus": "Could Not Synchronize", + "hostname": null, + "locationName": null, + "managementIpAddress": "80.2.2.2", + "platformId": null, + "lastUpdated": "2024-09-23 11:55:34", + "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 its 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": "2024-09-23 11:54:39", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": false, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": -1, + "vendor": "NA", + "waasDeviceMode": null, + "type": null, + "location": null, + "role": "UNKNOWN", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "4acd6f02-d10b-4f18-9938-f9244c19878d", + "id": "4acd6f02-d10b-4f18-9938-f9244c19878d" + } + ], + "version": "1.0" + }, + "get_device_list2_delete_device_udf": { + "response": [], + "version": "1.0" + }, + "get_device_list3_delete_device_udf": { + "response": [ + { + "memorySize": "NA", + "family": null, + "description": null, + "lastUpdateTime": 1727092534613, + "macAddress": null, + "deviceSupportLevel": "Unsupported", + "softwareType": null, + "softwareVersion": null, + "serialNumber": null, + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "70.2.2.2", + "lastManagedResyncReasons": "", + "managementState": "Never Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Device Added", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": null, + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": null, + "reachabilityFailureReason": "SNMP Connectivity Failed", + "reachabilityStatus": "Unreachable", + "series": null, + "snmpContact": null, + "snmpLocation": null, + "apManagerInterfaceIp": "", + "collectionStatus": "Could Not Synchronize", + "hostname": null, + "locationName": null, + "managementIpAddress": "70.2.2.2", + "platformId": null, + "lastUpdated": "2024-09-23 11:55:34", + "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 its 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": "2024-09-23 11:54:39", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": false, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": -1, + "vendor": "NA", + "waasDeviceMode": null, + "type": null, + "location": null, + "role": "UNKNOWN", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "56d1efad-14f8-4d76-b290-bed2f8f843d6", + "id": "56d1efad-14f8-4d76-b290-bed2f8f843d6" + } + ], + "version": "1.0" + }, + "get_provisioned_devices_delete_device_udf": { + "response": [], + "version": "1.0" + }, + "get_device_list4_delete_device_udf": { + "response": [ + { + "memorySize": "NA", + "family": null, + "description": null, + "lastUpdateTime": 1727092534613, + "macAddress": null, + "deviceSupportLevel": "Unsupported", + "softwareType": null, + "softwareVersion": null, + "serialNumber": null, + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "70.2.2.2", + "lastManagedResyncReasons": "", + "managementState": "Never Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Device Added", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": null, + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": null, + "reachabilityFailureReason": "SNMP Connectivity Failed", + "reachabilityStatus": "Unreachable", + "series": null, + "snmpContact": null, + "snmpLocation": null, + "apManagerInterfaceIp": "", + "collectionStatus": "Could Not Synchronize", + "hostname": null, + "locationName": null, + "managementIpAddress": "70.2.2.2", + "platformId": null, + "lastUpdated": "2024-09-23 11:55:34", + "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 its 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": "2024-09-23 11:54:39", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": false, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": -1, + "vendor": "NA", + "waasDeviceMode": null, + "type": null, + "location": null, + "role": "UNKNOWN", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "56d1efad-14f8-4d76-b290-bed2f8f843d6", + "id": "56d1efad-14f8-4d76-b290-bed2f8f843d6" + } + ], + "version": "1.0" + }, + "deleted_device_by_id_delete_device_udf": { + "response": { + "taskId": "01921eed-84a2-7ddf-8db4-ca8c7a3897ae", + "url": "/api/v1/task/01921eed-84a2-7ddf-8db4-ca8c7a3897ae" + }, + "version": "1.0" + }, + "Task_Details1_delete_device_udf": { + "response": { + "version": 1727095735458, + "progress": "Inventory service deleting devices", + "startTime": 1727095735458, + "serviceType": "Inventory service", + "isError": false, + "instanceTenantId": "66e48af26fe687300375675e", + "id": "01921eed-84a2-7ddf-8db4-ca8c7a3897ae" + }, + "version": "1.0" + }, + "Task_Details2_delete_device_udf": { + "response": { + "version": 1727095736554, + "progress": "Network device deleted successfully", + "startTime": 1727095735458, + "endTime": 1727095736554, + "serviceType": "Inventory service", + "isError": false, + "instanceTenantId": "66e48af26fe687300375675e", + "id": "01921eed-84a2-7ddf-8db4-ca8c7a3897ae" + }, + "version": "1.0" + }, + "get_device_list5_delete_device_udf": { + "response": [ + { + "memorySize": "NA", + "family": "Unified AP", + "description": null, + "lastUpdateTime": 1727095570220, + "macAddress": "34:5d:a8:3b:d8:e0", + "deviceSupportLevel": "Supported", + "softwareType": null, + "softwareVersion": "17.14.0.79", + "serialNumber": "FJC27101PRX", + "collectionInterval": "NA", + "dnsResolvedManagementAddress": "", + "lastManagedResyncReasons": "", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "NA", + "upTime": "09:01:39.210", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": null, + "reachabilityFailureReason": "NA", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9124AXI Series Unified Access Points", + "snmpContact": "", + "snmpLocation": "default location", + "apManagerInterfaceIp": "204.192.6.200", + "collectionStatus": "Managed", + "hostname": "AP34B8.8315.7C6C", + "locationName": null, + "managementIpAddress": "204.1.216.41", + "platformId": "C9124AXI-B", + "lastUpdated": "2024-09-23 12:46:10", + "associatedWlcIp": "204.192.6.200", + "apEthernetMacAddress": "34:b8:83:15:7c:6c", + "errorCode": "null", + "errorDescription": null, + "lastDeviceResyncStartTime": "", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": false, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 32666, + "vendor": "NA", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9124AXI Unified Access Point", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "a33c73ee-17e8-460e-b58a-4477a7d62d85", + "id": "a33c73ee-17e8-460e-b58a-4477a7d62d85" + }, + { + "memorySize": "NA", + "family": "Switches and Hubs", + "description": "Cisco IOS Software [Dublin], Catalyst L3 Switch Software (CAT9K_IOSXE), Version 17.14.1, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Fri 05-Apr-24 00:08 by mcpre", + "lastUpdateTime": 1727075030264, + "macAddress": "d4:ad:bd:c1:67:00", + "deviceSupportLevel": "Supported", + "softwareType": "IOS-XE", + "softwareVersion": "17.14.1", + "serialNumber": "FJC2327U0S2", + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "204.192.3.40", + "lastManagedResyncReasons": "Device Added", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Device Added", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": "10 days, 7:02:10.36", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": "2024-09-13 00:01:50", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9300 Series Switches", + "snmpContact": "", + "snmpLocation": "", + "apManagerInterfaceIp": "", + "collectionStatus": "Managed", + "hostname": "DC-FR-9300", + "locationName": null, + "managementIpAddress": "204.192.3.40", + "platformId": "C9300-24U", + "lastUpdated": "2024-09-23 07:03:50", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2024-09-23 07:03:47", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 910027, + "vendor": "Cisco", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9300 Switch", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "1e8ffc57-8a44-459f-b880-6b49d6b63aa4", + "id": "1e8ffc57-8a44-459f-b880-6b49d6b63aa4" + }, + { + "memorySize": "NA", + "family": "Switches and Hubs", + "description": "Cisco IOS Software [Dublin], Catalyst L3 Switch Software (CAT9K_IOSXE), Version 17.14.1, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Fri 05-Apr-24 00:08 by mcpre", + "lastUpdateTime": 1727095542465, + "macAddress": "00:b6:70:32:b8:00", + "deviceSupportLevel": "Supported", + "softwareType": "IOS-XE", + "softwareVersion": "17.14.1", + "serialNumber": "FCW2225C020", + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "204.1.2.5", + "lastManagedResyncReasons": "Link Up/Down Event", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Link Up/Down Event", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": "5 days, 2:10:23.60", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": "2024-09-18 10:35:42", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9300 Series Switches", + "snmpContact": "", + "snmpLocation": "", + "apManagerInterfaceIp": "", + "collectionStatus": "Managed", + "hostname": "DC-T-9300.cisco.local", + "locationName": null, + "managementIpAddress": "204.1.2.5", + "platformId": "C9300-24P", + "lastUpdated": "2024-09-23 12:45:42", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2024-09-23 12:44:52", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 439995, + "vendor": "Cisco", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9300 Switch", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "820bd13a-f565-4778-a320-9ec9f23b4725", + "id": "820bd13a-f565-4778-a320-9ec9f23b4725" + }, + { + "memorySize": "NA", + "family": "Unified AP", + "description": null, + "lastUpdateTime": 1727095570220, + "macAddress": "90:e9:5e:03:f3:40", + "deviceSupportLevel": "Supported", + "softwareType": null, + "softwareVersion": "17.14.0.79", + "serialNumber": "FJC27181V9V", + "collectionInterval": "NA", + "dnsResolvedManagementAddress": "", + "lastManagedResyncReasons": "", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "NA", + "upTime": "1 days, 08:09:42.220", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": null, + "reachabilityFailureReason": "NA", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9130AXE Series Unified Access Points", + "snmpContact": "", + "snmpLocation": "LTTS/Cisco/Chennai", + "apManagerInterfaceIp": "204.192.6.200", + "collectionStatus": "Managed", + "hostname": "LTTS-test2", + "locationName": null, + "managementIpAddress": "204.1.216.43", + "platformId": "C9130AXE-B", + "lastUpdated": "2024-09-23 12:46:10", + "associatedWlcIp": "204.192.6.200", + "apEthernetMacAddress": "34:5d:a8:0e:20:b4", + "errorCode": "null", + "errorDescription": null, + "lastDeviceResyncStartTime": "", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": false, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 115949, + "vendor": "NA", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9130AXE Unified Access Point", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "01bfa675-0d3d-4677-8ad9-37fe7ebc47c1", + "id": "01bfa675-0d3d-4677-8ad9-37fe7ebc47c1" + }, + { + "memorySize": "NA", + "family": "Unified AP", + "description": null, + "lastUpdateTime": 1727095570220, + "macAddress": "6c:d6:e3:75:5a:e0", + "deviceSupportLevel": "Supported", + "softwareType": null, + "softwareVersion": "17.14.0.79", + "serialNumber": "FJC272014VQ", + "collectionInterval": "NA", + "dnsResolvedManagementAddress": "", + "lastManagedResyncReasons": "", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "NA", + "upTime": "04:53:22.210", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": null, + "reachabilityFailureReason": "NA", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9120AXE Series Unified Access Points", + "snmpContact": "", + "snmpLocation": "default location", + "apManagerInterfaceIp": "204.192.6.200", + "collectionStatus": "Managed", + "hostname": "LTTS_Test_9120_T2", + "locationName": null, + "managementIpAddress": "204.1.216.19", + "platformId": "C9120AXE-B", + "lastUpdated": "2024-09-23 12:46:10", + "associatedWlcIp": "204.192.6.200", + "apEthernetMacAddress": "6c:d6:e3:69:49:b4", + "errorCode": "null", + "errorDescription": null, + "lastDeviceResyncStartTime": "", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": false, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 17769, + "vendor": "NA", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9120AXE Unified Access Point", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "4aa3b34b-7acb-4581-8875-b99e6fce9feb", + "id": "4aa3b34b-7acb-4581-8875-b99e6fce9feb" + }, + { + "memorySize": "NA", + "family": "Unified AP", + "description": null, + "lastUpdateTime": 1727095570220, + "macAddress": "e4:38:7e:42:bc:00", + "deviceSupportLevel": "Supported", + "softwareType": null, + "softwareVersion": "17.14.0.79", + "serialNumber": "FJC27101P0X", + "collectionInterval": "NA", + "dnsResolvedManagementAddress": "", + "lastManagedResyncReasons": "", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "NA", + "upTime": "5 days, 17:39:35.470", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": null, + "reachabilityFailureReason": "NA", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst Wireless 9166 Series Unified Access Points", + "snmpContact": "", + "snmpLocation": "default location", + "apManagerInterfaceIp": "204.192.6.200", + "collectionStatus": "Managed", + "hostname": "LTTS_Test_9166_T3", + "locationName": null, + "managementIpAddress": "204.1.216.21", + "platformId": "CW9166I-B", + "lastUpdated": "2024-09-23 12:46:10", + "associatedWlcIp": "204.192.6.200", + "apEthernetMacAddress": "68:49:92:75:0f:d0", + "errorCode": "null", + "errorDescription": null, + "lastDeviceResyncStartTime": "", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": false, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 495742, + "vendor": "NA", + "waasDeviceMode": null, + "type": "Cisco Catalyst Wireless 9166I Unified Access Point", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "6c205ea6-893f-4ccb-a57b-7816733a7055", + "id": "6c205ea6-893f-4ccb-a57b-7816733a7055" + }, + { + "memorySize": "NA", + "family": "Switches and Hubs", + "description": "Cisco IOS Software [Dublin], Catalyst L3 Switch Software (CAT9K_IOSXE), Version 17.14.1, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Fri 05-Apr-24 00:08 by mcpre", + "lastUpdateTime": 1727085919800, + "macAddress": "0c:75:bd:41:14:00", + "deviceSupportLevel": "Supported", + "softwareType": "IOS-XE", + "softwareVersion": "17.14.1", + "serialNumber": "FJB2334D06N", + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "204.1.2.4", + "lastManagedResyncReasons": "Config Change Event", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Config Change Event", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": "10 days, 9:54:31.54", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": "2024-09-13 00:11:19", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9300 Series Switches", + "snmpContact": "", + "snmpLocation": "", + "apManagerInterfaceIp": "", + "collectionStatus": "Managed", + "hostname": "NY-BN-9300.cisco.local", + "locationName": null, + "managementIpAddress": "204.1.2.4", + "platformId": "C9300-48UXM, C9300-48UXM", + "lastUpdated": "2024-09-23 10:05:19", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2024-09-23 10:05:16", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 909457, + "vendor": "Cisco", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9300 Switch", + "location": null, + "role": "DISTRIBUTION", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "f19cf2b0-a9bb-4569-b140-e1d0e86d5226", + "id": "f19cf2b0-a9bb-4569-b140-e1d0e86d5226" + }, + { + "memorySize": "NA", + "family": "Switches and Hubs", + "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", + "lastUpdateTime": 1727082403950, + "macAddress": "90:88:55:07:59:00", + "deviceSupportLevel": "Supported", + "softwareType": "IOS-XE", + "softwareVersion": "17.12.2", + "serialNumber": "FJC271924K0, FJC271924EQ", + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "204.1.2.2", + "lastManagedResyncReasons": "Config Change Event", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Config Change Event", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": "10 days, 8:47:03.49", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": "2024-09-13 00:19:43", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9300 Series Switches", + "snmpContact": "", + "snmpLocation": "", + "apManagerInterfaceIp": "", + "collectionStatus": "Managed", + "hostname": "NY-EN-9300.cisco.local", + "locationName": null, + "managementIpAddress": "204.1.2.2", + "platformId": "C9300-48UXM, C9300-48UXM", + "lastUpdated": "2024-09-23 09:06:43", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2024-09-23 09:05:03", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 908953, + "vendor": "Cisco", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9300 Switch", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "e5cc9398-afbf-40a2-a8b1-e9cf0635c28a", + "id": "e5cc9398-afbf-40a2-a8b1-e9cf0635c28a" + }, + { + "memorySize": "NA", + "family": "Wireless Controller", + "description": "Cisco IOS Software [Dublin], C9800 Software (C9800_IOSXE-K9), Version 17.14.1, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Fri 05-Apr-24 00:11 by mcpre netconf enabled", + "lastUpdateTime": 1727095570220, + "macAddress": "cc:b6:c8:e2:29:0b", + "deviceSupportLevel": "Supported", + "softwareType": "IOS-XE", + "softwareVersion": "17.14.1", + "serialNumber": "FOX2639PAY7", + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "204.192.6.200", + "lastManagedResyncReasons": "AP Event", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "AP Event", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": "63 days, 12:31:47.91", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": "2024-07-22 00:15:10", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9800 Series Wireless Controllers", + "snmpContact": "", + "snmpLocation": "", + "apManagerInterfaceIp": "", + "collectionStatus": "Managed", + "hostname": "NY-IAC-EWLC.cisco.local", + "locationName": null, + "managementIpAddress": "204.192.6.200", + "platformId": "C9800-40-K9", + "lastUpdated": "2024-09-23 12:46:10", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2024-09-23 12:45:55", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 5488427, + "vendor": "Cisco", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9800-40 Wireless Controller", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "71197925-1982-46d4-b569-e4cbbe8f06e7", + "id": "71197925-1982-46d4-b569-e4cbbe8f06e7" + }, + { + "memorySize": "NA", + "family": null, + "description": null, + "lastUpdateTime": 1727087226014, + "macAddress": null, + "deviceSupportLevel": "Unsupported", + "softwareType": null, + "softwareVersion": null, + "serialNumber": null, + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "12.12.12.12", + "lastManagedResyncReasons": "", + "managementState": "Never Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Device Updated", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": null, + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": null, + "reachabilityFailureReason": "SNMP Connectivity Failed", + "reachabilityStatus": "Unreachable", + "series": null, + "snmpContact": null, + "snmpLocation": null, + "apManagerInterfaceIp": "", + "collectionStatus": "Could Not Synchronize", + "hostname": null, + "locationName": null, + "managementIpAddress": "12.12.12.12", + "platformId": null, + "lastUpdated": "2024-09-23 10:27:06", + "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 its 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": "2024-09-23 10:26:10", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": false, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": -1, + "vendor": "NA", + "waasDeviceMode": null, + "type": null, + "location": null, + "role": "UNKNOWN", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "1932bde2-2493-4553-9bbe-7b815e2c5202", + "id": "1932bde2-2493-4553-9bbe-7b815e2c5202" + }, + { + "memorySize": "NA", + "family": null, + "description": null, + "lastUpdateTime": 1727087004063, + "macAddress": null, + "deviceSupportLevel": "Unsupported", + "softwareType": null, + "softwareVersion": null, + "serialNumber": null, + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "2.2.2.2", + "lastManagedResyncReasons": "", + "managementState": "Never Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Device Added", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": null, + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": null, + "reachabilityFailureReason": "SNMP Connectivity Failed", + "reachabilityStatus": "Unreachable", + "series": null, + "snmpContact": null, + "snmpLocation": null, + "apManagerInterfaceIp": "", + "collectionStatus": "Could Not Synchronize", + "hostname": null, + "locationName": null, + "managementIpAddress": "2.2.2.2", + "platformId": null, + "lastUpdated": "2024-09-23 10:23:24", + "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 its 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": "2024-09-23 10:22:28", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": false, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": -1, + "vendor": "NA", + "waasDeviceMode": null, + "type": null, + "location": null, + "role": "UNKNOWN", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "d1489580-092d-4f27-9952-6d57d5b783be", + "id": "d1489580-092d-4f27-9952-6d57d5b783be" + }, + { + "memorySize": "NA", + "family": null, + "description": null, + "lastUpdateTime": 1727092534613, + "macAddress": null, + "deviceSupportLevel": "Unsupported", + "softwareType": null, + "softwareVersion": null, + "serialNumber": null, + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "80.2.2.2", + "lastManagedResyncReasons": "", + "managementState": "Never Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Device Added", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": null, + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": null, + "reachabilityFailureReason": "SNMP Connectivity Failed", + "reachabilityStatus": "Unreachable", + "series": null, + "snmpContact": null, + "snmpLocation": null, + "apManagerInterfaceIp": "", + "collectionStatus": "Could Not Synchronize", + "hostname": null, + "locationName": null, + "managementIpAddress": "80.2.2.2", + "platformId": null, + "lastUpdated": "2024-09-23 11:55:34", + "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 its 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": "2024-09-23 11:54:39", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": false, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": -1, + "vendor": "NA", + "waasDeviceMode": null, + "type": null, + "location": null, + "role": "UNKNOWN", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "4acd6f02-d10b-4f18-9938-f9244c19878d", + "id": "4acd6f02-d10b-4f18-9938-f9244c19878d" + } + ], + "version": "1.0" + }, + "get_device_list6_delete_device_udf": { + "response": [], + "version": "1.0" + }, + "delete_device_udf_response": { + "message": "device(s) '70.2.2.2' successfully deleted in Cisco Catalyst Center" + }, + "playbook_missing_mand_params": [ + { + "add_user_defined_field": [ + { + "name": "Test123" + } + ], + "ip_address_list": [ + "70.2.2.2", + "80.2.2.2" + ] + } + ], + "get_device_list1_missing_mand_params": { + "response": [ + { + "memorySize": "NA", + "family": "Unified AP", + "description": null, + "lastUpdateTime": 1727090564960, + "macAddress": "34:5d:a8:3b:d8:e0", + "deviceSupportLevel": "Supported", + "softwareType": null, + "softwareVersion": "17.14.0.79", + "serialNumber": "FJC27101PRX", + "collectionInterval": "NA", + "dnsResolvedManagementAddress": "", + "lastManagedResyncReasons": "", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "NA", + "upTime": "07:35:52.300", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": null, + "reachabilityFailureReason": "NA", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9124AXI Series Unified Access Points", + "snmpContact": "", + "snmpLocation": "default location", + "apManagerInterfaceIp": "204.192.6.200", + "collectionStatus": "Managed", + "hostname": "AP34B8.8315.7C6C", + "locationName": null, + "managementIpAddress": "204.1.216.34", + "platformId": "C9124AXI-B", + "lastUpdated": "2024-09-23 11:22:44", + "associatedWlcIp": "204.192.6.200", + "apEthernetMacAddress": "34:b8:83:15:7c:6c", + "errorCode": "null", + "errorDescription": null, + "lastDeviceResyncStartTime": "", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": false, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 28134, + "vendor": "NA", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9124AXI Unified Access Point", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "a33c73ee-17e8-460e-b58a-4477a7d62d85", + "id": "a33c73ee-17e8-460e-b58a-4477a7d62d85" + }, + { + "memorySize": "NA", + "family": "Switches and Hubs", + "description": "Cisco IOS Software [Dublin], Catalyst L3 Switch Software (CAT9K_IOSXE), Version 17.14.1, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Fri 05-Apr-24 00:08 by mcpre", + "lastUpdateTime": 1727075030264, + "macAddress": "d4:ad:bd:c1:67:00", + "deviceSupportLevel": "Supported", + "softwareType": "IOS-XE", + "softwareVersion": "17.14.1", + "serialNumber": "FJC2327U0S2", + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "204.192.3.40", + "lastManagedResyncReasons": "Device Added", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Device Added", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": "10 days, 7:02:10.36", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": "2024-09-13 00:01:50", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9300 Series Switches", + "snmpContact": "", + "snmpLocation": "", + "apManagerInterfaceIp": "", + "collectionStatus": "Managed", + "hostname": "DC-FR-9300", + "locationName": null, + "managementIpAddress": "204.192.3.40", + "platformId": "C9300-24U", + "lastUpdated": "2024-09-23 07:03:50", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2024-09-23 07:03:47", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 905637, + "vendor": "Cisco", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9300 Switch", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "1e8ffc57-8a44-459f-b880-6b49d6b63aa4", + "id": "1e8ffc57-8a44-459f-b880-6b49d6b63aa4" + }, + { + "memorySize": "NA", + "family": "Switches and Hubs", + "description": "Cisco IOS Software [Dublin], Catalyst L3 Switch Software (CAT9K_IOSXE), Version 17.14.1, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Fri 05-Apr-24 00:08 by mcpre", + "lastUpdateTime": 1727090763694, + "macAddress": "00:b6:70:32:b8:00", + "deviceSupportLevel": "Supported", + "softwareType": "IOS-XE", + "softwareVersion": "17.14.1", + "serialNumber": "FCW2225C020", + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "204.1.2.5", + "lastManagedResyncReasons": "Link Up/Down Event", + "managementState": "Managed", + "pendingSyncRequestsCount": "1", + "reasonsForDeviceResync": "Link Up/Down Event", + "reasonsForPendingSyncRequests": "Link Up/Down Event", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": "5 days, 0:41:03.03", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": "2024-09-18 10:45:03", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9300 Series Switches", + "snmpContact": "", + "snmpLocation": "", + "apManagerInterfaceIp": "", + "collectionStatus": "In Progress", + "hostname": "DC-T-9300.cisco.local", + "locationName": null, + "managementIpAddress": "204.1.2.5", + "platformId": "C9300-24P", + "lastUpdated": "2024-09-23 11:26:03", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2024-09-23 11:31:12", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 435043, + "vendor": "Cisco", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9300 Switch", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "820bd13a-f565-4778-a320-9ec9f23b4725", + "id": "820bd13a-f565-4778-a320-9ec9f23b4725" + }, + { + "memorySize": "NA", + "family": "Unified AP", + "description": null, + "lastUpdateTime": 1727090564960, + "macAddress": "90:e9:5e:03:f3:40", + "deviceSupportLevel": "Supported", + "softwareType": null, + "softwareVersion": "17.14.0.79", + "serialNumber": "FJC27181V9V", + "collectionInterval": "NA", + "dnsResolvedManagementAddress": "", + "lastManagedResyncReasons": "", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "NA", + "upTime": "1 days, 06:54:57.130", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": null, + "reachabilityFailureReason": "NA", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9130AXE Series Unified Access Points", + "snmpContact": "", + "snmpLocation": "LTTS/Cisco/Chennai", + "apManagerInterfaceIp": "204.192.6.200", + "collectionStatus": "Managed", + "hostname": "LTTS-test2", + "locationName": null, + "managementIpAddress": "204.1.216.38", + "platformId": "C9130AXE-B", + "lastUpdated": "2024-09-23 11:22:44", + "associatedWlcIp": "204.192.6.200", + "apEthernetMacAddress": "34:5d:a8:0e:20:b4", + "errorCode": "null", + "errorDescription": null, + "lastDeviceResyncStartTime": "", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": false, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 112079, + "vendor": "NA", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9130AXE Unified Access Point", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "01bfa675-0d3d-4677-8ad9-37fe7ebc47c1", + "id": "01bfa675-0d3d-4677-8ad9-37fe7ebc47c1" + }, + { + "memorySize": "NA", + "family": "Unified AP", + "description": null, + "lastUpdateTime": 1727090564960, + "macAddress": "6c:d6:e3:75:5a:e0", + "deviceSupportLevel": "Supported", + "softwareType": null, + "softwareVersion": "17.14.0.79", + "serialNumber": "FJC272014VQ", + "collectionInterval": "NA", + "dnsResolvedManagementAddress": "", + "lastManagedResyncReasons": "", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "NA", + "upTime": "03:33:47.140", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": null, + "reachabilityFailureReason": "NA", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9120AXE Series Unified Access Points", + "snmpContact": "", + "snmpLocation": "default location", + "apManagerInterfaceIp": "204.192.6.200", + "collectionStatus": "Managed", + "hostname": "LTTS_Test_9120_T2", + "locationName": null, + "managementIpAddress": "204.1.216.19", + "platformId": "C9120AXE-B", + "lastUpdated": "2024-09-23 11:22:44", + "associatedWlcIp": "204.192.6.200", + "apEthernetMacAddress": "6c:d6:e3:69:49:b4", + "errorCode": "null", + "errorDescription": null, + "lastDeviceResyncStartTime": "", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": false, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 13609, + "vendor": "NA", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9120AXE Unified Access Point", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "4aa3b34b-7acb-4581-8875-b99e6fce9feb", + "id": "4aa3b34b-7acb-4581-8875-b99e6fce9feb" + }, + { + "memorySize": "NA", + "family": "Unified AP", + "description": null, + "lastUpdateTime": 1727090564960, + "macAddress": "e4:38:7e:42:bc:00", + "deviceSupportLevel": "Supported", + "softwareType": null, + "softwareVersion": "17.14.0.79", + "serialNumber": "FJC27101P0X", + "collectionInterval": "NA", + "dnsResolvedManagementAddress": "", + "lastManagedResyncReasons": "", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "NA", + "upTime": "5 days, 16:09:45.300", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": null, + "reachabilityFailureReason": "NA", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst Wireless 9166 Series Unified Access Points", + "snmpContact": "", + "snmpLocation": "default location", + "apManagerInterfaceIp": "204.192.6.200", + "collectionStatus": "Managed", + "hostname": "LTTS_Test_9166_T3", + "locationName": null, + "managementIpAddress": "204.1.216.21", + "platformId": "CW9166I-B", + "lastUpdated": "2024-09-23 11:22:44", + "associatedWlcIp": "204.192.6.200", + "apEthernetMacAddress": "68:49:92:75:0f:d0", + "errorCode": "null", + "errorDescription": null, + "lastDeviceResyncStartTime": "", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": false, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 490967, + "vendor": "NA", + "waasDeviceMode": null, + "type": "Cisco Catalyst Wireless 9166I Unified Access Point", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "6c205ea6-893f-4ccb-a57b-7816733a7055", + "id": "6c205ea6-893f-4ccb-a57b-7816733a7055" + }, + { + "memorySize": "NA", + "family": "Switches and Hubs", + "description": "Cisco IOS Software [Dublin], Catalyst L3 Switch Software (CAT9K_IOSXE), Version 17.14.1, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Fri 05-Apr-24 00:08 by mcpre", + "lastUpdateTime": 1727085919800, + "macAddress": "0c:75:bd:41:14:00", + "deviceSupportLevel": "Supported", + "softwareType": "IOS-XE", + "softwareVersion": "17.14.1", + "serialNumber": "FJB2334D06N", + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "204.1.2.4", + "lastManagedResyncReasons": "Config Change Event", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Config Change Event", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": "10 days, 9:54:31.54", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": "2024-09-13 00:11:19", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9300 Series Switches", + "snmpContact": "", + "snmpLocation": "", + "apManagerInterfaceIp": "", + "collectionStatus": "Managed", + "hostname": "NY-BN-9300.cisco.local", + "locationName": null, + "managementIpAddress": "204.1.2.4", + "platformId": "C9300-48UXM, C9300-48UXM", + "lastUpdated": "2024-09-23 10:05:19", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2024-09-23 10:05:16", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 905067, + "vendor": "Cisco", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9300 Switch", + "location": null, + "role": "DISTRIBUTION", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "f19cf2b0-a9bb-4569-b140-e1d0e86d5226", + "id": "f19cf2b0-a9bb-4569-b140-e1d0e86d5226" + }, + { + "memorySize": "NA", + "family": "Switches and Hubs", + "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", + "lastUpdateTime": 1727082403950, + "macAddress": "90:88:55:07:59:00", + "deviceSupportLevel": "Supported", + "softwareType": "IOS-XE", + "softwareVersion": "17.12.2", + "serialNumber": "FJC271924K0, FJC271924EQ", + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "204.1.2.2", + "lastManagedResyncReasons": "Config Change Event", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Config Change Event", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": "10 days, 8:47:03.49", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": "2024-09-13 00:19:43", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9300 Series Switches", + "snmpContact": "", + "snmpLocation": "", + "apManagerInterfaceIp": "", + "collectionStatus": "Managed", + "hostname": "NY-EN-9300.cisco.local", + "locationName": null, + "managementIpAddress": "204.1.2.2", + "platformId": "C9300-48UXM, C9300-48UXM", + "lastUpdated": "2024-09-23 09:06:43", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2024-09-23 09:05:03", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 904563, + "vendor": "Cisco", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9300 Switch", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "e5cc9398-afbf-40a2-a8b1-e9cf0635c28a", + "id": "e5cc9398-afbf-40a2-a8b1-e9cf0635c28a" + }, + { + "memorySize": "NA", + "family": "Wireless Controller", + "description": "Cisco IOS Software [Dublin], C9800 Software (C9800_IOSXE-K9), Version 17.14.1, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Fri 05-Apr-24 00:11 by mcpre netconf enabled", + "lastUpdateTime": 1727090564960, + "macAddress": "cc:b6:c8:e2:29:0b", + "deviceSupportLevel": "Supported", + "softwareType": "IOS-XE", + "softwareVersion": "17.14.1", + "serialNumber": "FOX2639PAY7", + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "204.192.6.200", + "lastManagedResyncReasons": "AP Event", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "AP Event", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": "63 days, 11:08:22.13", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": "2024-07-22 00:14:44", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9800 Series Wireless Controllers", + "snmpContact": "", + "snmpLocation": "", + "apManagerInterfaceIp": "", + "collectionStatus": "Managed", + "hostname": "NY-IAC-EWLC.cisco.local", + "locationName": null, + "managementIpAddress": "204.192.6.200", + "platformId": "C9800-40-K9", + "lastUpdated": "2024-09-23 11:22:44", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2024-09-23 11:22:29", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 5484062, + "vendor": "Cisco", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9800-40 Wireless Controller", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "71197925-1982-46d4-b569-e4cbbe8f06e7", + "id": "71197925-1982-46d4-b569-e4cbbe8f06e7" + }, + { + "memorySize": "NA", + "family": null, + "description": null, + "lastUpdateTime": 1727087226014, + "macAddress": null, + "deviceSupportLevel": "Unsupported", + "softwareType": null, + "softwareVersion": null, + "serialNumber": null, + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "12.12.12.12", + "lastManagedResyncReasons": "", + "managementState": "Never Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Device Updated", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": null, + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": null, + "reachabilityFailureReason": "SNMP Connectivity Failed", + "reachabilityStatus": "Unreachable", + "series": null, + "snmpContact": null, + "snmpLocation": null, + "apManagerInterfaceIp": "", + "collectionStatus": "Could Not Synchronize", + "hostname": null, + "locationName": null, + "managementIpAddress": "12.12.12.12", + "platformId": null, + "lastUpdated": "2024-09-23 10:27:06", + "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 its 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": "2024-09-23 10:26:10", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": false, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": -1, + "vendor": "NA", + "waasDeviceMode": null, + "type": null, + "location": null, + "role": "UNKNOWN", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "1932bde2-2493-4553-9bbe-7b815e2c5202", + "id": "1932bde2-2493-4553-9bbe-7b815e2c5202" + }, + { + "memorySize": "NA", + "family": null, + "description": null, + "lastUpdateTime": 1727087004063, + "macAddress": null, + "deviceSupportLevel": "Unsupported", + "softwareType": null, + "softwareVersion": null, + "serialNumber": null, + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "2.2.2.2", + "lastManagedResyncReasons": "", + "managementState": "Never Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Device Added", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": null, + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": null, + "reachabilityFailureReason": "SNMP Connectivity Failed", + "reachabilityStatus": "Unreachable", + "series": null, + "snmpContact": null, + "snmpLocation": null, + "apManagerInterfaceIp": "", + "collectionStatus": "Could Not Synchronize", + "hostname": null, + "locationName": null, + "managementIpAddress": "2.2.2.2", + "platformId": null, + "lastUpdated": "2024-09-23 10:23:24", + "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 its 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": "2024-09-23 10:22:28", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": false, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": -1, + "vendor": "NA", + "waasDeviceMode": null, + "type": null, + "location": null, + "role": "UNKNOWN", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "d1489580-092d-4f27-9952-6d57d5b783be", + "id": "d1489580-092d-4f27-9952-6d57d5b783be" + } + ], + "version": "1.0" + }, + "get_device_list2_missing_mand_params": { + "response": [], + "version": "1.0" + }, + "missing_username_pwd_adding_device": { + "message": "msg: Required parameters ['password', 'username'] for adding devices '['70.2.2.2', '80.2.2.2']' are not present " + }, + "playbook_update_role": [ + { + "ip_address_list": [ + "2.2.2.2" + ], + "role": "ACCESS" + } + ], + "get_device_list1_update_role": { + "response": [ + { + "memorySize": "NA", + "family": "Unified AP", + "description": null, + "lastUpdateTime": 1727088291439, + "macAddress": "34:5d:a8:3b:d8:e0", + "deviceSupportLevel": "Supported", + "softwareType": null, + "softwareVersion": "17.14.0.79", + "serialNumber": "FJC27101PRX", + "collectionInterval": "NA", + "dnsResolvedManagementAddress": "", + "lastManagedResyncReasons": "", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "NA", + "upTime": "06:52:39.230", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": null, + "reachabilityFailureReason": "NA", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9124AXI Series Unified Access Points", + "snmpContact": "", + "snmpLocation": "default location", + "apManagerInterfaceIp": "204.192.6.200", + "collectionStatus": "Managed", + "hostname": "AP34B8.8315.7C6C", + "locationName": null, + "managementIpAddress": "204.1.216.20", + "platformId": "C9124AXI-B", + "lastUpdated": "2024-09-23 10:44:51", + "associatedWlcIp": "204.192.6.200", + "apEthernetMacAddress": "34:b8:83:15:7c:6c", + "errorCode": "null", + "errorDescription": null, + "lastDeviceResyncStartTime": "", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": false, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 24833, + "vendor": "NA", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9124AXI Unified Access Point", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "a33c73ee-17e8-460e-b58a-4477a7d62d85", + "id": "a33c73ee-17e8-460e-b58a-4477a7d62d85" + }, + { + "memorySize": "NA", + "family": "Switches and Hubs", + "description": "Cisco IOS Software [Dublin], Catalyst L3 Switch Software (CAT9K_IOSXE), Version 17.14.1, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Fri 05-Apr-24 00:08 by mcpre", + "lastUpdateTime": 1727075030264, + "macAddress": "d4:ad:bd:c1:67:00", + "deviceSupportLevel": "Supported", + "softwareType": "IOS-XE", + "softwareVersion": "17.14.1", + "serialNumber": "FJC2327U0S2", + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "204.192.3.40", + "lastManagedResyncReasons": "Device Added", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Device Added", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": "10 days, 7:02:10.36", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": "2024-09-13 00:01:50", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9300 Series Switches", + "snmpContact": "", + "snmpLocation": "", + "apManagerInterfaceIp": "", + "collectionStatus": "Managed", + "hostname": "DC-FR-9300", + "locationName": null, + "managementIpAddress": "204.192.3.40", + "platformId": "C9300-24U", + "lastUpdated": "2024-09-23 07:03:50", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2024-09-23 07:03:47", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 902655, + "vendor": "Cisco", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9300 Switch", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "1e8ffc57-8a44-459f-b880-6b49d6b63aa4", + "id": "1e8ffc57-8a44-459f-b880-6b49d6b63aa4" + }, + { + "memorySize": "NA", + "family": "Switches and Hubs", + "description": "Cisco IOS Software [Dublin], Catalyst L3 Switch Software (CAT9K_IOSXE), Version 17.14.1, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Fri 05-Apr-24 00:08 by mcpre", + "lastUpdateTime": 1727087576450, + "macAddress": "00:b6:70:32:b8:00", + "deviceSupportLevel": "Supported", + "softwareType": "IOS-XE", + "softwareVersion": "17.14.1", + "serialNumber": "FCW2225C020", + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "204.1.2.5", + "lastManagedResyncReasons": "Link Up/Down Event", + "managementState": "Managed", + "pendingSyncRequestsCount": "1", + "reasonsForDeviceResync": "Link Up/Down Event", + "reasonsForPendingSyncRequests": "Link Up/Down Event", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": "4 days, 23:57:22.60", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": "2024-09-18 10:35:56", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9300 Series Switches", + "snmpContact": "", + "snmpLocation": "", + "apManagerInterfaceIp": "", + "collectionStatus": "In Progress", + "hostname": "DC-T-9300.cisco.local", + "locationName": null, + "managementIpAddress": "204.1.2.5", + "platformId": "C9300-24P", + "lastUpdated": "2024-09-23 10:32:56", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2024-09-23 10:40:51", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 432609, + "vendor": "Cisco", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9300 Switch", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "820bd13a-f565-4778-a320-9ec9f23b4725", + "id": "820bd13a-f565-4778-a320-9ec9f23b4725" + }, + { + "memorySize": "NA", + "family": "Unified AP", + "description": null, + "lastUpdateTime": 1727088291439, + "macAddress": "90:e9:5e:03:f3:40", + "deviceSupportLevel": "Supported", + "softwareType": null, + "softwareVersion": "17.14.0.79", + "serialNumber": "FJC27181V9V", + "collectionInterval": "NA", + "dnsResolvedManagementAddress": "", + "lastManagedResyncReasons": "", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "NA", + "upTime": "1 days, 06:12:13.640", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": null, + "reachabilityFailureReason": "NA", + "reachabilityStatus": "Unreachable", + "series": "Cisco Catalyst 9130AXE Series Unified Access Points", + "snmpContact": "", + "snmpLocation": "LTTS/Cisco/Chennai", + "apManagerInterfaceIp": "204.192.6.200", + "collectionStatus": "Unassociated", + "hostname": "LTTS-test2", + "locationName": null, + "managementIpAddress": "204.1.216.31", + "platformId": "C9130AXE-B", + "lastUpdated": "2024-09-23 10:44:51", + "associatedWlcIp": "204.192.6.200", + "apEthernetMacAddress": "34:5d:a8:0e:20:b4", + "errorCode": "Could Not Synchronize", + "errorDescription": null, + "lastDeviceResyncStartTime": "", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": false, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": -1, + "vendor": "NA", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9130AXE Unified Access Point", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "01bfa675-0d3d-4677-8ad9-37fe7ebc47c1", + "id": "01bfa675-0d3d-4677-8ad9-37fe7ebc47c1" + }, + { + "memorySize": "NA", + "family": "Unified AP", + "description": null, + "lastUpdateTime": 1727088291439, + "macAddress": "6c:d6:e3:75:5a:e0", + "deviceSupportLevel": "Supported", + "softwareType": null, + "softwareVersion": "17.14.0.79", + "serialNumber": "FJC272014VQ", + "collectionInterval": "NA", + "dnsResolvedManagementAddress": "", + "lastManagedResyncReasons": "", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "NA", + "upTime": "02:51:03.650", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": null, + "reachabilityFailureReason": "NA", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9120AXE Series Unified Access Points", + "snmpContact": "", + "snmpLocation": "default location", + "apManagerInterfaceIp": "204.192.6.200", + "collectionStatus": "Managed", + "hostname": "LTTS_Test_9120_T2", + "locationName": null, + "managementIpAddress": "204.1.216.19", + "platformId": "C9120AXE-B", + "lastUpdated": "2024-09-23 10:44:51", + "associatedWlcIp": "204.192.6.200", + "apEthernetMacAddress": "6c:d6:e3:69:49:b4", + "errorCode": "null", + "errorDescription": null, + "lastDeviceResyncStartTime": "", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": false, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 10337, + "vendor": "NA", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9120AXE Unified Access Point", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "4aa3b34b-7acb-4581-8875-b99e6fce9feb", + "id": "4aa3b34b-7acb-4581-8875-b99e6fce9feb" + }, + { + "memorySize": "NA", + "family": "Unified AP", + "description": null, + "lastUpdateTime": 1727088291439, + "macAddress": "e4:38:7e:42:bc:00", + "deviceSupportLevel": "Supported", + "softwareType": null, + "softwareVersion": "17.14.0.79", + "serialNumber": "FJC27101P0X", + "collectionInterval": "NA", + "dnsResolvedManagementAddress": "", + "lastManagedResyncReasons": "", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "NA", + "upTime": "5 days, 15:38:17.620", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": null, + "reachabilityFailureReason": "NA", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst Wireless 9166 Series Unified Access Points", + "snmpContact": "", + "snmpLocation": "default location", + "apManagerInterfaceIp": "204.192.6.200", + "collectionStatus": "Managed", + "hostname": "LTTS_Test_9166_T3", + "locationName": null, + "managementIpAddress": "204.1.216.21", + "platformId": "CW9166I-B", + "lastUpdated": "2024-09-23 10:44:51", + "associatedWlcIp": "204.192.6.200", + "apEthernetMacAddress": "68:49:92:75:0f:d0", + "errorCode": "null", + "errorDescription": null, + "lastDeviceResyncStartTime": "", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": false, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 488371, + "vendor": "NA", + "waasDeviceMode": null, + "type": "Cisco Catalyst Wireless 9166I Unified Access Point", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "6c205ea6-893f-4ccb-a57b-7816733a7055", + "id": "6c205ea6-893f-4ccb-a57b-7816733a7055" + }, + { + "memorySize": "NA", + "family": "Switches and Hubs", + "description": "Cisco IOS Software [Dublin], Catalyst L3 Switch Software (CAT9K_IOSXE), Version 17.14.1, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Fri 05-Apr-24 00:08 by mcpre", + "lastUpdateTime": 1727085919800, + "macAddress": "0c:75:bd:41:14:00", + "deviceSupportLevel": "Supported", + "softwareType": "IOS-XE", + "softwareVersion": "17.14.1", + "serialNumber": "FJB2334D06N", + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "204.1.2.4", + "lastManagedResyncReasons": "Config Change Event", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Config Change Event", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": "10 days, 9:54:31.54", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": "2024-09-13 00:11:19", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9300 Series Switches", + "snmpContact": "", + "snmpLocation": "", + "apManagerInterfaceIp": "", + "collectionStatus": "Managed", + "hostname": "NY-BN-9300.cisco.local", + "locationName": null, + "managementIpAddress": "204.1.2.4", + "platformId": "C9300-48UXM, C9300-48UXM", + "lastUpdated": "2024-09-23 10:05:19", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2024-09-23 10:05:16", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 902086, + "vendor": "Cisco", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9300 Switch", + "location": null, + "role": "DISTRIBUTION", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "f19cf2b0-a9bb-4569-b140-e1d0e86d5226", + "id": "f19cf2b0-a9bb-4569-b140-e1d0e86d5226" + }, + { + "memorySize": "NA", + "family": "Switches and Hubs", + "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", + "lastUpdateTime": 1727082403950, + "macAddress": "90:88:55:07:59:00", + "deviceSupportLevel": "Supported", + "softwareType": "IOS-XE", + "softwareVersion": "17.12.2", + "serialNumber": "FJC271924K0, FJC271924EQ", + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "204.1.2.2", + "lastManagedResyncReasons": "Config Change Event", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Config Change Event", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": "10 days, 8:47:03.49", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": "2024-09-13 00:19:43", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9300 Series Switches", + "snmpContact": "", + "snmpLocation": "", + "apManagerInterfaceIp": "", + "collectionStatus": "Managed", + "hostname": "NY-EN-9300.cisco.local", + "locationName": null, + "managementIpAddress": "204.1.2.2", + "platformId": "C9300-48UXM, C9300-48UXM", + "lastUpdated": "2024-09-23 09:06:43", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2024-09-23 09:05:03", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 901581, + "vendor": "Cisco", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9300 Switch", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "e5cc9398-afbf-40a2-a8b1-e9cf0635c28a", + "id": "e5cc9398-afbf-40a2-a8b1-e9cf0635c28a" + }, + { + "memorySize": "NA", + "family": "Wireless Controller", + "description": "Cisco IOS Software [Dublin], C9800 Software (C9800_IOSXE-K9), Version 17.14.1, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Fri 05-Apr-24 00:11 by mcpre netconf enabled", + "lastUpdateTime": 1727088291439, + "macAddress": "cc:b6:c8:e2:29:0b", + "deviceSupportLevel": "Supported", + "softwareType": "IOS-XE", + "softwareVersion": "17.14.1", + "serialNumber": "FOX2639PAY7", + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "204.192.6.200", + "lastManagedResyncReasons": "AP Event", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "AP Event", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": "63 days, 10:30:29.07", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": "2024-07-22 00:14:51", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9800 Series Wireless Controllers", + "snmpContact": "", + "snmpLocation": "", + "apManagerInterfaceIp": "", + "collectionStatus": "Managed", + "hostname": "NY-IAC-EWLC.cisco.local", + "locationName": null, + "managementIpAddress": "204.192.6.200", + "platformId": "C9800-40-K9", + "lastUpdated": "2024-09-23 10:44:51", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2024-09-23 10:44:36", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 5481074, + "vendor": "Cisco", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9800-40 Wireless Controller", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "71197925-1982-46d4-b569-e4cbbe8f06e7", + "id": "71197925-1982-46d4-b569-e4cbbe8f06e7" + }, + { + "memorySize": "NA", + "family": null, + "description": null, + "lastUpdateTime": 1727087226014, + "macAddress": null, + "deviceSupportLevel": "Unsupported", + "softwareType": null, + "softwareVersion": null, + "serialNumber": null, + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "12.12.12.12", + "lastManagedResyncReasons": "", + "managementState": "Never Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Device Updated", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": null, + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": null, + "reachabilityFailureReason": "SNMP Connectivity Failed", + "reachabilityStatus": "Unreachable", + "series": null, + "snmpContact": null, + "snmpLocation": null, + "apManagerInterfaceIp": "", + "collectionStatus": "Could Not Synchronize", + "hostname": null, + "locationName": null, + "managementIpAddress": "12.12.12.12", + "platformId": null, + "lastUpdated": "2024-09-23 10:27:06", + "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 its 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": "2024-09-23 10:26:10", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": false, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": -1, + "vendor": "NA", + "waasDeviceMode": null, + "type": null, + "location": null, + "role": "UNKNOWN", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "1932bde2-2493-4553-9bbe-7b815e2c5202", + "id": "1932bde2-2493-4553-9bbe-7b815e2c5202" + }, + { + "memorySize": "NA", + "family": null, + "description": null, + "lastUpdateTime": 1727087004063, + "macAddress": null, + "deviceSupportLevel": "Unsupported", + "softwareType": null, + "softwareVersion": null, + "serialNumber": null, + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "2.2.2.2", + "lastManagedResyncReasons": "", + "managementState": "Never Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Device Added", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": null, + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": null, + "reachabilityFailureReason": "SNMP Connectivity Failed", + "reachabilityStatus": "Unreachable", + "series": null, + "snmpContact": null, + "snmpLocation": null, + "apManagerInterfaceIp": "", + "collectionStatus": "Could Not Synchronize", + "hostname": null, + "locationName": null, + "managementIpAddress": "2.2.2.2", + "platformId": null, + "lastUpdated": "2024-09-23 10:23:24", + "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 its 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": "2024-09-23 10:22:28", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": false, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": -1, + "vendor": "NA", + "waasDeviceMode": null, + "type": null, + "location": null, + "role": "UNKNOWN", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "d1489580-092d-4f27-9952-6d57d5b783be", + "id": "d1489580-092d-4f27-9952-6d57d5b783be" + } + ], + "version": "1.0" + }, + "get_device_list2_update_role": { + "response": [], + "version": "1.0" + }, + "get_device_list3_update_role": { + "response": [ + { + "memorySize": "NA", + "family": null, + "description": null, + "lastUpdateTime": 1727087004063, + "macAddress": null, + "deviceSupportLevel": "Unsupported", + "softwareType": null, + "softwareVersion": null, + "serialNumber": null, + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "2.2.2.2", + "lastManagedResyncReasons": "", + "managementState": "Never Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Device Added", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": null, + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": null, + "reachabilityFailureReason": "SNMP Connectivity Failed", + "reachabilityStatus": "Unreachable", + "series": null, + "snmpContact": null, + "snmpLocation": null, + "apManagerInterfaceIp": "", + "collectionStatus": "Could Not Synchronize", + "hostname": null, + "locationName": null, + "managementIpAddress": "2.2.2.2", + "platformId": null, + "lastUpdated": "2024-09-23 10:23:24", + "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 its 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": "2024-09-23 10:22:28", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": false, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": -1, + "vendor": "NA", + "waasDeviceMode": null, + "type": null, + "location": null, + "role": "UNKNOWN", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "d1489580-092d-4f27-9952-6d57d5b783be", + "id": "d1489580-092d-4f27-9952-6d57d5b783be" + } + ], + "version": "1.0" + }, + "get_device_list4_update_role": { + "response": [ + { + "memorySize": "NA", + "family": null, + "description": null, + "lastUpdateTime": 1727087004063, + "macAddress": null, + "deviceSupportLevel": "Unsupported", + "softwareType": null, + "softwareVersion": null, + "serialNumber": null, + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "2.2.2.2", + "lastManagedResyncReasons": "", + "managementState": "Never Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Device Added", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": null, + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": null, + "reachabilityFailureReason": "SNMP Connectivity Failed", + "reachabilityStatus": "Unreachable", + "series": null, + "snmpContact": null, + "snmpLocation": null, + "apManagerInterfaceIp": "", + "collectionStatus": "Could Not Synchronize", + "hostname": null, + "locationName": null, + "managementIpAddress": "2.2.2.2", + "platformId": null, + "lastUpdated": "2024-09-23 10:23:24", + "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 its 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": "2024-09-23 10:22:28", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": false, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": -1, + "vendor": "NA", + "waasDeviceMode": null, + "type": null, + "location": null, + "role": "UNKNOWN", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "d1489580-092d-4f27-9952-6d57d5b783be", + "id": "d1489580-092d-4f27-9952-6d57d5b783be" + } + ], + "version": "1.0" + }, + "update_device_role": { + "response": { + "taskId": "01921e7d-15d5-7c95-9d38-c2dc4384972c", + "url": "/api/v1/task/01921e7d-15d5-7c95-9d38-c2dc4384972c" + }, + "version": "1.0" + }, + "Task_Details_update_role": { + "response": { + "version": 1727088367130, + "progress": "Device role was successfully updated to ACCESS for 2.2.2.2", + "startTime": 1727088367061, + "endTime": 1727088367130, + "lastUpdate": 1727088367128, + "serviceType": "Inventory service", + "isError": false, + "instanceTenantId": "66e48af26fe687300375675e", + "id": "01921e7d-15d5-7c95-9d38-c2dc4384972c" + }, + "version": "1.0" + }, + "get_device_list5_update_role": { + "response": [ + { + "memorySize": "NA", + "family": "Unified AP", + "description": null, + "lastUpdateTime": 1727088291439, + "macAddress": "34:5d:a8:3b:d8:e0", + "deviceSupportLevel": "Supported", + "softwareType": null, + "softwareVersion": "17.14.0.79", + "serialNumber": "FJC27101PRX", + "collectionInterval": "NA", + "dnsResolvedManagementAddress": "", + "lastManagedResyncReasons": "", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "NA", + "upTime": "06:52:39.230", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": null, + "reachabilityFailureReason": "NA", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9124AXI Series Unified Access Points", + "snmpContact": "", + "snmpLocation": "default location", + "apManagerInterfaceIp": "204.192.6.200", + "collectionStatus": "Managed", + "hostname": "AP34B8.8315.7C6C", + "locationName": null, + "managementIpAddress": "204.1.216.20", + "platformId": "C9124AXI-B", + "lastUpdated": "2024-09-23 10:44:51", + "associatedWlcIp": "204.192.6.200", + "apEthernetMacAddress": "34:b8:83:15:7c:6c", + "errorCode": "null", + "errorDescription": null, + "lastDeviceResyncStartTime": "", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": false, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 24835, + "vendor": "NA", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9124AXI Unified Access Point", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "a33c73ee-17e8-460e-b58a-4477a7d62d85", + "id": "a33c73ee-17e8-460e-b58a-4477a7d62d85" + }, + { + "memorySize": "NA", + "family": "Switches and Hubs", + "description": "Cisco IOS Software [Dublin], Catalyst L3 Switch Software (CAT9K_IOSXE), Version 17.14.1, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Fri 05-Apr-24 00:08 by mcpre", + "lastUpdateTime": 1727075030264, + "macAddress": "d4:ad:bd:c1:67:00", + "deviceSupportLevel": "Supported", + "softwareType": "IOS-XE", + "softwareVersion": "17.14.1", + "serialNumber": "FJC2327U0S2", + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "204.192.3.40", + "lastManagedResyncReasons": "Device Added", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Device Added", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": "10 days, 7:02:10.36", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": "2024-09-13 00:01:50", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9300 Series Switches", + "snmpContact": "", + "snmpLocation": "", + "apManagerInterfaceIp": "", + "collectionStatus": "Managed", + "hostname": "DC-FR-9300", + "locationName": null, + "managementIpAddress": "204.192.3.40", + "platformId": "C9300-24U", + "lastUpdated": "2024-09-23 07:03:50", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2024-09-23 07:03:47", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 902657, + "vendor": "Cisco", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9300 Switch", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "1e8ffc57-8a44-459f-b880-6b49d6b63aa4", + "id": "1e8ffc57-8a44-459f-b880-6b49d6b63aa4" + }, + { + "memorySize": "NA", + "family": "Switches and Hubs", + "description": "Cisco IOS Software [Dublin], Catalyst L3 Switch Software (CAT9K_IOSXE), Version 17.14.1, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Fri 05-Apr-24 00:08 by mcpre", + "lastUpdateTime": 1727087576450, + "macAddress": "00:b6:70:32:b8:00", + "deviceSupportLevel": "Supported", + "softwareType": "IOS-XE", + "softwareVersion": "17.14.1", + "serialNumber": "FCW2225C020", + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "204.1.2.5", + "lastManagedResyncReasons": "Link Up/Down Event", + "managementState": "Managed", + "pendingSyncRequestsCount": "1", + "reasonsForDeviceResync": "Link Up/Down Event", + "reasonsForPendingSyncRequests": "Link Up/Down Event", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": "4 days, 23:57:22.60", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": "2024-09-18 10:35:56", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9300 Series Switches", + "snmpContact": "", + "snmpLocation": "", + "apManagerInterfaceIp": "", + "collectionStatus": "In Progress", + "hostname": "DC-T-9300.cisco.local", + "locationName": null, + "managementIpAddress": "204.1.2.5", + "platformId": "C9300-24P", + "lastUpdated": "2024-09-23 10:32:56", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2024-09-23 10:40:51", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 432611, + "vendor": "Cisco", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9300 Switch", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "820bd13a-f565-4778-a320-9ec9f23b4725", + "id": "820bd13a-f565-4778-a320-9ec9f23b4725" + }, + { + "memorySize": "NA", + "family": "Unified AP", + "description": null, + "lastUpdateTime": 1727088291439, + "macAddress": "90:e9:5e:03:f3:40", + "deviceSupportLevel": "Supported", + "softwareType": null, + "softwareVersion": "17.14.0.79", + "serialNumber": "FJC27181V9V", + "collectionInterval": "NA", + "dnsResolvedManagementAddress": "", + "lastManagedResyncReasons": "", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "NA", + "upTime": "1 days, 06:12:13.640", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": null, + "reachabilityFailureReason": "NA", + "reachabilityStatus": "Unreachable", + "series": "Cisco Catalyst 9130AXE Series Unified Access Points", + "snmpContact": "", + "snmpLocation": "LTTS/Cisco/Chennai", + "apManagerInterfaceIp": "204.192.6.200", + "collectionStatus": "Unassociated", + "hostname": "LTTS-test2", + "locationName": null, + "managementIpAddress": "204.1.216.31", + "platformId": "C9130AXE-B", + "lastUpdated": "2024-09-23 10:44:51", + "associatedWlcIp": "204.192.6.200", + "apEthernetMacAddress": "34:5d:a8:0e:20:b4", + "errorCode": "Could Not Synchronize", + "errorDescription": null, + "lastDeviceResyncStartTime": "", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": false, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": -1, + "vendor": "NA", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9130AXE Unified Access Point", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "01bfa675-0d3d-4677-8ad9-37fe7ebc47c1", + "id": "01bfa675-0d3d-4677-8ad9-37fe7ebc47c1" + }, + { + "memorySize": "NA", + "family": "Unified AP", + "description": null, + "lastUpdateTime": 1727088291439, + "macAddress": "6c:d6:e3:75:5a:e0", + "deviceSupportLevel": "Supported", + "softwareType": null, + "softwareVersion": "17.14.0.79", + "serialNumber": "FJC272014VQ", + "collectionInterval": "NA", + "dnsResolvedManagementAddress": "", + "lastManagedResyncReasons": "", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "NA", + "upTime": "02:51:03.650", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": null, + "reachabilityFailureReason": "NA", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9120AXE Series Unified Access Points", + "snmpContact": "", + "snmpLocation": "default location", + "apManagerInterfaceIp": "204.192.6.200", + "collectionStatus": "Managed", + "hostname": "LTTS_Test_9120_T2", + "locationName": null, + "managementIpAddress": "204.1.216.19", + "platformId": "C9120AXE-B", + "lastUpdated": "2024-09-23 10:44:51", + "associatedWlcIp": "204.192.6.200", + "apEthernetMacAddress": "6c:d6:e3:69:49:b4", + "errorCode": "null", + "errorDescription": null, + "lastDeviceResyncStartTime": "", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": false, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 10339, + "vendor": "NA", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9120AXE Unified Access Point", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "4aa3b34b-7acb-4581-8875-b99e6fce9feb", + "id": "4aa3b34b-7acb-4581-8875-b99e6fce9feb" + }, + { + "memorySize": "NA", + "family": "Unified AP", + "description": null, + "lastUpdateTime": 1727088291439, + "macAddress": "e4:38:7e:42:bc:00", + "deviceSupportLevel": "Supported", + "softwareType": null, + "softwareVersion": "17.14.0.79", + "serialNumber": "FJC27101P0X", + "collectionInterval": "NA", + "dnsResolvedManagementAddress": "", + "lastManagedResyncReasons": "", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "NA", + "upTime": "5 days, 15:38:17.620", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": null, + "reachabilityFailureReason": "NA", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst Wireless 9166 Series Unified Access Points", + "snmpContact": "", + "snmpLocation": "default location", + "apManagerInterfaceIp": "204.192.6.200", + "collectionStatus": "Managed", + "hostname": "LTTS_Test_9166_T3", + "locationName": null, + "managementIpAddress": "204.1.216.21", + "platformId": "CW9166I-B", + "lastUpdated": "2024-09-23 10:44:51", + "associatedWlcIp": "204.192.6.200", + "apEthernetMacAddress": "68:49:92:75:0f:d0", + "errorCode": "null", + "errorDescription": null, + "lastDeviceResyncStartTime": "", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": false, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 488373, + "vendor": "NA", + "waasDeviceMode": null, + "type": "Cisco Catalyst Wireless 9166I Unified Access Point", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "6c205ea6-893f-4ccb-a57b-7816733a7055", + "id": "6c205ea6-893f-4ccb-a57b-7816733a7055" + }, + { + "memorySize": "NA", + "family": "Switches and Hubs", + "description": "Cisco IOS Software [Dublin], Catalyst L3 Switch Software (CAT9K_IOSXE), Version 17.14.1, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Fri 05-Apr-24 00:08 by mcpre", + "lastUpdateTime": 1727085919800, + "macAddress": "0c:75:bd:41:14:00", + "deviceSupportLevel": "Supported", + "softwareType": "IOS-XE", + "softwareVersion": "17.14.1", + "serialNumber": "FJB2334D06N", + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "204.1.2.4", + "lastManagedResyncReasons": "Config Change Event", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Config Change Event", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": "10 days, 9:54:31.54", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": "2024-09-13 00:11:19", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9300 Series Switches", + "snmpContact": "", + "snmpLocation": "", + "apManagerInterfaceIp": "", + "collectionStatus": "Managed", + "hostname": "NY-BN-9300.cisco.local", + "locationName": null, + "managementIpAddress": "204.1.2.4", + "platformId": "C9300-48UXM, C9300-48UXM", + "lastUpdated": "2024-09-23 10:05:19", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2024-09-23 10:05:16", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 902088, + "vendor": "Cisco", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9300 Switch", + "location": null, + "role": "DISTRIBUTION", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "f19cf2b0-a9bb-4569-b140-e1d0e86d5226", + "id": "f19cf2b0-a9bb-4569-b140-e1d0e86d5226" + }, + { + "memorySize": "NA", + "family": "Switches and Hubs", + "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", + "lastUpdateTime": 1727082403950, + "macAddress": "90:88:55:07:59:00", + "deviceSupportLevel": "Supported", + "softwareType": "IOS-XE", + "softwareVersion": "17.12.2", + "serialNumber": "FJC271924K0, FJC271924EQ", + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "204.1.2.2", + "lastManagedResyncReasons": "Config Change Event", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Config Change Event", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": "10 days, 8:47:03.49", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": "2024-09-13 00:19:43", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9300 Series Switches", + "snmpContact": "", + "snmpLocation": "", + "apManagerInterfaceIp": "", + "collectionStatus": "Managed", + "hostname": "NY-EN-9300.cisco.local", + "locationName": null, + "managementIpAddress": "204.1.2.2", + "platformId": "C9300-48UXM, C9300-48UXM", + "lastUpdated": "2024-09-23 09:06:43", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2024-09-23 09:05:03", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 901584, + "vendor": "Cisco", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9300 Switch", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "e5cc9398-afbf-40a2-a8b1-e9cf0635c28a", + "id": "e5cc9398-afbf-40a2-a8b1-e9cf0635c28a" + }, + { + "memorySize": "NA", + "family": "Wireless Controller", + "description": "Cisco IOS Software [Dublin], C9800 Software (C9800_IOSXE-K9), Version 17.14.1, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Fri 05-Apr-24 00:11 by mcpre netconf enabled", + "lastUpdateTime": 1727088291439, + "macAddress": "cc:b6:c8:e2:29:0b", + "deviceSupportLevel": "Supported", + "softwareType": "IOS-XE", + "softwareVersion": "17.14.1", + "serialNumber": "FOX2639PAY7", + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "204.192.6.200", + "lastManagedResyncReasons": "AP Event", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "AP Event", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": "63 days, 10:30:29.07", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": "2024-07-22 00:14:51", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9800 Series Wireless Controllers", + "snmpContact": "", + "snmpLocation": "", + "apManagerInterfaceIp": "", + "collectionStatus": "Managed", + "hostname": "NY-IAC-EWLC.cisco.local", + "locationName": null, + "managementIpAddress": "204.192.6.200", + "platformId": "C9800-40-K9", + "lastUpdated": "2024-09-23 10:44:51", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2024-09-23 10:44:36", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 5481076, + "vendor": "Cisco", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9800-40 Wireless Controller", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "71197925-1982-46d4-b569-e4cbbe8f06e7", + "id": "71197925-1982-46d4-b569-e4cbbe8f06e7" + }, + { + "memorySize": "NA", + "family": null, + "description": null, + "lastUpdateTime": 1727087226014, + "macAddress": null, + "deviceSupportLevel": "Unsupported", + "softwareType": null, + "softwareVersion": null, + "serialNumber": null, + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "12.12.12.12", + "lastManagedResyncReasons": "", + "managementState": "Never Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Device Updated", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": null, + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": null, + "reachabilityFailureReason": "SNMP Connectivity Failed", + "reachabilityStatus": "Unreachable", + "series": null, + "snmpContact": null, + "snmpLocation": null, + "apManagerInterfaceIp": "", + "collectionStatus": "Could Not Synchronize", + "hostname": null, + "locationName": null, + "managementIpAddress": "12.12.12.12", + "platformId": null, + "lastUpdated": "2024-09-23 10:27:06", + "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 its 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": "2024-09-23 10:26:10", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": false, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": -1, + "vendor": "NA", + "waasDeviceMode": null, + "type": null, + "location": null, + "role": "UNKNOWN", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "1932bde2-2493-4553-9bbe-7b815e2c5202", + "id": "1932bde2-2493-4553-9bbe-7b815e2c5202" + }, + { + "memorySize": "NA", + "family": null, + "description": null, + "lastUpdateTime": 1727087004063, + "macAddress": null, + "deviceSupportLevel": "Unsupported", + "softwareType": null, + "softwareVersion": null, + "serialNumber": null, + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "2.2.2.2", + "lastManagedResyncReasons": "", + "managementState": "Never Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Device Added", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": null, + "roleSource": "MANUAL", + "interfaceCount": "0", + "bootDateTime": null, + "reachabilityFailureReason": "SNMP Connectivity Failed", + "reachabilityStatus": "Unreachable", + "series": null, + "snmpContact": null, + "snmpLocation": null, + "apManagerInterfaceIp": "", + "collectionStatus": "Could Not Synchronize", + "hostname": null, + "locationName": null, + "managementIpAddress": "2.2.2.2", + "platformId": null, + "lastUpdated": "2024-09-23 10:23:24", + "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 its 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": "2024-09-23 10:22:28", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": false, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": -1, + "vendor": "NA", + "waasDeviceMode": null, + "type": null, + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "d1489580-092d-4f27-9952-6d57d5b783be", + "id": "d1489580-092d-4f27-9952-6d57d5b783be" + } + ], + "version": "1.0" + }, + "get_device_list6_update_role": { + "response": [], + "version": "1.0" + }, + "get_device_list7_update_role": { + "response": [ + { + "memorySize": "NA", + "family": null, + "description": null, + "lastUpdateTime": 1727087004063, + "macAddress": null, + "deviceSupportLevel": "Unsupported", + "softwareType": null, + "softwareVersion": null, + "serialNumber": null, + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "2.2.2.2", + "lastManagedResyncReasons": "", + "managementState": "Never Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Device Added", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": null, + "roleSource": "MANUAL", + "interfaceCount": "0", + "bootDateTime": null, + "reachabilityFailureReason": "SNMP Connectivity Failed", + "reachabilityStatus": "Unreachable", + "series": null, + "snmpContact": null, + "snmpLocation": null, + "apManagerInterfaceIp": "", + "collectionStatus": "Could Not Synchronize", + "hostname": null, + "locationName": null, + "managementIpAddress": "2.2.2.2", + "platformId": null, + "lastUpdated": "2024-09-23 10:23:24", + "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 its 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": "2024-09-23 10:22:28", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": false, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": -1, + "vendor": "NA", + "waasDeviceMode": null, + "type": null, + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "d1489580-092d-4f27-9952-6d57d5b783be", + "id": "d1489580-092d-4f27-9952-6d57d5b783be" + } + ], + "version": "1.0" + }, + "update_role_response": { + "message": "Device(s) '['2.2.2.2']' role updated successfully to 'ACCESS'" + }, + "playbook_update_interface_details": [ + { + "ip_address_list": [ + "204.1.2.4" + ], + "update_interface_details": { + "admin_status": "UP", + "clear_mac_address_table": true, + "deployment_mode": "Deploy", + "description": "Testing for updating interface details", + "interface_name": [ + "TenGigabitEthernet1/1/2" + ] + } + } + ], + "get_device_list1_update_interface": { + "response": [ + { + "memorySize": "NA", + "family": "Switches and Hubs", + "description": "Cisco IOS Software [Dublin], Catalyst L3 Switch Software (CAT9K_IOSXE), Version 17.14.1, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Fri 05-Apr-24 00:08 by mcpre", + "lastUpdateTime": 1727075030264, + "macAddress": "d4:ad:bd:c1:67:00", + "deviceSupportLevel": "Supported", + "softwareType": "IOS-XE", + "softwareVersion": "17.14.1", + "serialNumber": "FJC2327U0S2", + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "204.192.3.40", + "lastManagedResyncReasons": "Device Added", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Device Added", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": "10 days, 7:02:10.36", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": "2024-09-13 00:01:50", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9300 Series Switches", + "snmpContact": "", + "snmpLocation": "", + "apManagerInterfaceIp": "", + "collectionStatus": "Managed", + "hostname": "DC-FR-9300", + "locationName": null, + "managementIpAddress": "204.192.3.40", + "platformId": "C9300-24U", + "lastUpdated": "2024-09-23 07:03:50", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2024-09-23 07:03:47", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 889354, + "vendor": "Cisco", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9300 Switch", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "1e8ffc57-8a44-459f-b880-6b49d6b63aa4", + "id": "1e8ffc57-8a44-459f-b880-6b49d6b63aa4" + }, + { + "memorySize": "NA", + "family": "Switches and Hubs", + "description": "Cisco IOS Software [Dublin], Catalyst L3 Switch Software (CAT9K_IOSXE), Version 17.14.1, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Fri 05-Apr-24 00:08 by mcpre", + "lastUpdateTime": 1727075048657, + "macAddress": "00:b6:70:32:b8:00", + "deviceSupportLevel": "Supported", + "softwareType": "IOS-XE", + "softwareVersion": "17.14.1", + "serialNumber": "FCW2225C020", + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "204.1.2.5", + "lastManagedResyncReasons": "Link Up/Down Event", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Link Up/Down Event", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": "4 days, 20:28:49.56", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": "2024-09-18 10:36:08", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9300 Series Switches", + "snmpContact": "", + "snmpLocation": "", + "apManagerInterfaceIp": "", + "collectionStatus": "Managed", + "hostname": "DC-T-9300.cisco.local", + "locationName": null, + "managementIpAddress": "204.1.2.5", + "platformId": "C9300-24P", + "lastUpdated": "2024-09-23 07:04:08", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2024-09-23 07:03:58", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 419295, + "vendor": "Cisco", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9300 Switch", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "820bd13a-f565-4778-a320-9ec9f23b4725", + "id": "820bd13a-f565-4778-a320-9ec9f23b4725" + }, + { + "memorySize": "NA", + "family": "Switches and Hubs", + "description": "Cisco IOS Software [Dublin], Catalyst L3 Switch Software (CAT9K_IOSXE), Version 17.14.1, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Fri 05-Apr-24 00:08 by mcpre", + "lastUpdateTime": 1727028847275, + "macAddress": "0c:75:bd:41:14:00", + "deviceSupportLevel": "Supported", + "softwareType": "IOS-XE", + "softwareVersion": "17.14.1", + "serialNumber": "FJB2334D06N", + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "204.1.2.4", + "lastManagedResyncReasons": "Periodic", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Periodic", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": "9 days, 18:03:27.28", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": "2024-09-13 00:11:07", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9300 Series Switches", + "snmpContact": "", + "snmpLocation": "", + "apManagerInterfaceIp": "", + "collectionStatus": "Managed", + "hostname": "NY-BN-9300.cisco.local", + "locationName": null, + "managementIpAddress": "204.1.2.4", + "platformId": "C9300-48UXM, C9300-48UXM", + "lastUpdated": "2024-09-22 18:14:07", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2024-09-22 18:13:27", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 888797, + "vendor": "Cisco", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9300 Switch", + "location": null, + "role": "DISTRIBUTION", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "f19cf2b0-a9bb-4569-b140-e1d0e86d5226", + "id": "f19cf2b0-a9bb-4569-b140-e1d0e86d5226" + }, + { + "memorySize": "NA", + "family": "Switches and Hubs", + "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", + "lastUpdateTime": 1727071282478, + "macAddress": "90:88:55:07:59:00", + "deviceSupportLevel": "Supported", + "softwareType": "IOS-XE", + "softwareVersion": "17.12.2", + "serialNumber": "FJC271924K0, FJC271924EQ", + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "204.1.2.2", + "lastManagedResyncReasons": "Config Change Event", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Config Change Event", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": "10 days, 5:40:29.92", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": "2024-09-13 00:21:22", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9300 Series Switches", + "snmpContact": "", + "snmpLocation": "", + "apManagerInterfaceIp": "", + "collectionStatus": "Managed", + "hostname": "NY-EN-9300.cisco.local", + "locationName": null, + "managementIpAddress": "204.1.2.2", + "platformId": "C9300-48UXM, C9300-48UXM", + "lastUpdated": "2024-09-23 06:01:22", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2024-09-23 06:01:17", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 888181, + "vendor": "Cisco", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9300 Switch", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "e5cc9398-afbf-40a2-a8b1-e9cf0635c28a", + "id": "e5cc9398-afbf-40a2-a8b1-e9cf0635c28a" + }, + { + "memorySize": "NA", + "family": "Wireless Controller", + "description": "Cisco IOS Software [Dublin], C9800 Software (C9800_IOSXE-K9), Version 17.14.1, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Fri 05-Apr-24 00:11 by mcpre netconf enabled", + "lastUpdateTime": 1727037776332, + "macAddress": "cc:b6:c8:e2:29:0b", + "deviceSupportLevel": "Supported", + "softwareType": "IOS-XE", + "softwareVersion": "17.14.1", + "serialNumber": "FOX2639PAY7", + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "204.192.6.200", + "lastManagedResyncReasons": "Periodic", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Periodic", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": "62 days, 20:28:01.78", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": "2024-07-22 00:14:56", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9800 Series Wireless Controllers", + "snmpContact": "", + "snmpLocation": "", + "apManagerInterfaceIp": "", + "collectionStatus": "Managed", + "hostname": "NY-IAC-EWLC.cisco.local", + "locationName": null, + "managementIpAddress": "204.192.6.200", + "platformId": "C9800-40-K9", + "lastUpdated": "2024-09-22 20:42:56", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2024-09-22 20:42:09", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 5467767, + "vendor": "Cisco", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9800-40 Wireless Controller", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "71197925-1982-46d4-b569-e4cbbe8f06e7", + "id": "71197925-1982-46d4-b569-e4cbbe8f06e7" + }, + { + "memorySize": "NA", + "family": null, + "description": null, + "lastUpdateTime": 1727065128919, + "macAddress": null, + "deviceSupportLevel": "Unsupported", + "softwareType": null, + "softwareVersion": null, + "serialNumber": null, + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "2.2.2.2", + "lastManagedResyncReasons": "", + "managementState": "Never Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Device Added", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": null, + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": null, + "reachabilityFailureReason": "SNMP Connectivity Failed", + "reachabilityStatus": "Unreachable", + "series": null, + "snmpContact": null, + "snmpLocation": null, + "apManagerInterfaceIp": "", + "collectionStatus": "Could Not Synchronize", + "hostname": null, + "locationName": null, + "managementIpAddress": "2.2.2.2", + "platformId": null, + "lastUpdated": "2024-09-23 04:18:48", + "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 its 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": "2024-09-23 04:17:53", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": false, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": -1, + "vendor": "NA", + "waasDeviceMode": null, + "type": null, + "location": null, + "role": "UNKNOWN", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "e6c03497-4eda-423c-b47d-894f299cd143", + "id": "e6c03497-4eda-423c-b47d-894f299cd143" + } + ], + "version": "1.0" + }, + "get_device_list2_update_interface": { + "response": [], + "version": "1.0" + }, + "get_device_list3_update_interface": { + "response": [ + { + "memorySize": "NA", + "family": "Switches and Hubs", + "description": "Cisco IOS Software [Dublin], Catalyst L3 Switch Software (CAT9K_IOSXE), Version 17.14.1, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Fri 05-Apr-24 00:08 by mcpre", + "lastUpdateTime": 1727028847275, + "macAddress": "0c:75:bd:41:14:00", + "deviceSupportLevel": "Supported", + "softwareType": "IOS-XE", + "softwareVersion": "17.14.1", + "serialNumber": "FJB2334D06N", + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "204.1.2.4", + "lastManagedResyncReasons": "Periodic", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Periodic", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": "9 days, 18:03:27.28", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": "2024-09-13 00:11:07", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9300 Series Switches", + "snmpContact": "", + "snmpLocation": "", + "apManagerInterfaceIp": "", + "collectionStatus": "Managed", + "hostname": "NY-BN-9300.cisco.local", + "locationName": null, + "managementIpAddress": "204.1.2.4", + "platformId": "C9300-48UXM, C9300-48UXM", + "lastUpdated": "2024-09-22 18:14:07", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2024-09-22 18:13:27", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 888797, + "vendor": "Cisco", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9300 Switch", + "location": null, + "role": "DISTRIBUTION", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "f19cf2b0-a9bb-4569-b140-e1d0e86d5226", + "id": "f19cf2b0-a9bb-4569-b140-e1d0e86d5226" + } + ], + "version": "1.0" + }, + "get_interface_details1_update_interface": { + "response": { + "addresses": [ + { + "address": { + "ipAddress": { + "address": "204.1.1.13" + }, + "ipMask": { + "address": "255.255.255.252" + }, + "isInverseMask": false + }, + "type": "IPV4_PRIMARY" + } + ], + "adminStatus": "UP", + "className": null, + "deviceId": "f19cf2b0-a9bb-4569-b140-e1d0e86d5226", + "duplex": "FullDuplex", + "ifIndex": "62", + "interfaceType": "Physical", + "ipv4Address": "204.1.1.13", + "ipv4Mask": "255.255.255.252", + "isisSupport": "true", + "lastIncomingPacketTime": 1727028619000, + "lastOutgoingPacketTime": 1727028619000, + "lastUpdated": null, + "macAddress": "0c:75:bd:41:14:48", + "mappedPhysicalInterfaceId": null, + "mappedPhysicalInterfaceName": null, + "mediaType": null, + "mtu": "9100", + "nativeVlanId": "", + "ospfSupport": "false", + "pid": "C9300-48UXM,C9300-48UXM", + "portMode": "routed", + "portName": "TenGigabitEthernet1/1/2", + "portType": "Ethernet Port", + "serialNo": "FJB2334D06N,", + "series": "Cisco Catalyst 9300 Series Switches", + "speed": "10000000", + "status": "up", + "vlanId": "0", + "voiceVlan": "", + "description": "NY-EN-9300", + "name": null, + "instanceUuid": "e7f0bd71-3057-4468-8592-ba4ffe2dde31", + "instanceTenantId": "66e48af26fe687300375675e", + "id": "e7f0bd71-3057-4468-8592-ba4ffe2dde31" + }, + "version": "1.0" + }, + "get_device_list4_update_interface": { + "response": [ + { + "memorySize": "NA", + "family": "Switches and Hubs", + "description": "Cisco IOS Software [Dublin], Catalyst L3 Switch Software (CAT9K_IOSXE), Version 17.14.1, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Fri 05-Apr-24 00:08 by mcpre", + "lastUpdateTime": 1727028847275, + "macAddress": "0c:75:bd:41:14:00", + "deviceSupportLevel": "Supported", + "softwareType": "IOS-XE", + "softwareVersion": "17.14.1", + "serialNumber": "FJB2334D06N", + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "204.1.2.4", + "lastManagedResyncReasons": "Periodic", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Periodic", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": "9 days, 18:03:27.28", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": "2024-09-13 00:11:07", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9300 Series Switches", + "snmpContact": "", + "snmpLocation": "", + "apManagerInterfaceIp": "", + "collectionStatus": "Managed", + "hostname": "NY-BN-9300.cisco.local", + "locationName": null, + "managementIpAddress": "204.1.2.4", + "platformId": "C9300-48UXM, C9300-48UXM", + "lastUpdated": "2024-09-22 18:14:07", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2024-09-22 18:13:27", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 888798, + "vendor": "Cisco", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9300 Switch", + "location": null, + "role": "DISTRIBUTION", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "f19cf2b0-a9bb-4569-b140-e1d0e86d5226", + "id": "f19cf2b0-a9bb-4569-b140-e1d0e86d5226" + } + ], + "version": "1.0" + }, + "update_interface_details": { + "response": { + "taskId": "01921db2-1eaa-7134-9fba-ab5b2b4de5f0", + "url": "/api/v1/task/01921db2-1eaa-7134-9fba-ab5b2b4de5f0" + }, + "version": "1.0" + }, + "Task_Details1_update_interface": { + "response": { + "version": 1727075065514, + "progress": "Port update on interface e7f0bd71-3057-4468-8592-ba4ffe2dde31", + "startTime": 1727075065514, + "serviceType": "NCIM", + "isError": false, + "username": "admin", + "instanceTenantId": "66e48af26fe687300375675e", + "id": "01921db2-1eaa-7134-9fba-ab5b2b4de5f0" + }, + "version": "1.0" + }, + "Task_Details2_update_interface": { + "response": { + "version": 1727075069014, + "progress": "MBC CONFIG PUSH SUCCESS FOR THE DEVICE WITH DEVICEID 271273", + "startTime": 1727075065514, + "endTime": 1727075069014, + "data": "interface TenGigabitEthernet1/1/2\n no description NY-EN-9300\n description Testing for updating interface details\n exit\n", + "serviceType": "NCIM", + "isError": false, + "username": "admin", + "instanceTenantId": "66e48af26fe687300375675e", + "id": "01921db2-1eaa-7134-9fba-ab5b2b4de5f0" + }, + "version": "1.0" + }, + "get_device_list5_update_interface": { + "response": [ + { + "memorySize": "NA", + "family": "Switches and Hubs", + "description": "Cisco IOS Software [Dublin], Catalyst L3 Switch Software (CAT9K_IOSXE), Version 17.14.1, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Fri 05-Apr-24 00:08 by mcpre", + "lastUpdateTime": 1727075030264, + "macAddress": "d4:ad:bd:c1:67:00", + "deviceSupportLevel": "Supported", + "softwareType": "IOS-XE", + "softwareVersion": "17.14.1", + "serialNumber": "FJC2327U0S2", + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "204.192.3.40", + "lastManagedResyncReasons": "Device Added", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Device Added", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": "10 days, 7:02:10.36", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": "2024-09-13 00:01:50", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9300 Series Switches", + "snmpContact": "", + "snmpLocation": "", + "apManagerInterfaceIp": "", + "collectionStatus": "Managed", + "hostname": "DC-FR-9300", + "locationName": null, + "managementIpAddress": "204.192.3.40", + "platformId": "C9300-24U", + "lastUpdated": "2024-09-23 07:03:50", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2024-09-23 07:03:47", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 889359, + "vendor": "Cisco", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9300 Switch", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "1e8ffc57-8a44-459f-b880-6b49d6b63aa4", + "id": "1e8ffc57-8a44-459f-b880-6b49d6b63aa4" + }, + { + "memorySize": "NA", + "family": "Switches and Hubs", + "description": "Cisco IOS Software [Dublin], Catalyst L3 Switch Software (CAT9K_IOSXE), Version 17.14.1, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Fri 05-Apr-24 00:08 by mcpre", + "lastUpdateTime": 1727075048657, + "macAddress": "00:b6:70:32:b8:00", + "deviceSupportLevel": "Supported", + "softwareType": "IOS-XE", + "softwareVersion": "17.14.1", + "serialNumber": "FCW2225C020", + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "204.1.2.5", + "lastManagedResyncReasons": "Link Up/Down Event", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Link Up/Down Event", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": "4 days, 20:28:49.56", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": "2024-09-18 10:36:08", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9300 Series Switches", + "snmpContact": "", + "snmpLocation": "", + "apManagerInterfaceIp": "", + "collectionStatus": "Managed", + "hostname": "DC-T-9300.cisco.local", + "locationName": null, + "managementIpAddress": "204.1.2.5", + "platformId": "C9300-24P", + "lastUpdated": "2024-09-23 07:04:08", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2024-09-23 07:03:58", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 419301, + "vendor": "Cisco", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9300 Switch", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "820bd13a-f565-4778-a320-9ec9f23b4725", + "id": "820bd13a-f565-4778-a320-9ec9f23b4725" + }, + { + "memorySize": "NA", + "family": "Switches and Hubs", + "description": "Cisco IOS Software [Dublin], Catalyst L3 Switch Software (CAT9K_IOSXE), Version 17.14.1, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Fri 05-Apr-24 00:08 by mcpre", + "lastUpdateTime": 1727028847275, + "macAddress": "0c:75:bd:41:14:00", + "deviceSupportLevel": "Supported", + "softwareType": "IOS-XE", + "softwareVersion": "17.14.1", + "serialNumber": "FJB2334D06N", + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "204.1.2.4", + "lastManagedResyncReasons": "Periodic", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Periodic", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": "9 days, 18:03:27.28", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": "2024-09-13 00:11:07", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9300 Series Switches", + "snmpContact": "", + "snmpLocation": "", + "apManagerInterfaceIp": "", + "collectionStatus": "Managed", + "hostname": "NY-BN-9300.cisco.local", + "locationName": null, + "managementIpAddress": "204.1.2.4", + "platformId": "C9300-48UXM, C9300-48UXM", + "lastUpdated": "2024-09-22 18:14:07", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2024-09-22 18:13:27", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 888802, + "vendor": "Cisco", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9300 Switch", + "location": null, + "role": "DISTRIBUTION", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "f19cf2b0-a9bb-4569-b140-e1d0e86d5226", + "id": "f19cf2b0-a9bb-4569-b140-e1d0e86d5226" + }, + { + "memorySize": "NA", + "family": "Switches and Hubs", + "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", + "lastUpdateTime": 1727071282478, + "macAddress": "90:88:55:07:59:00", + "deviceSupportLevel": "Supported", + "softwareType": "IOS-XE", + "softwareVersion": "17.12.2", + "serialNumber": "FJC271924K0, FJC271924EQ", + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "204.1.2.2", + "lastManagedResyncReasons": "Config Change Event", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Config Change Event", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": "10 days, 5:40:29.92", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": "2024-09-13 00:21:22", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9300 Series Switches", + "snmpContact": "", + "snmpLocation": "", + "apManagerInterfaceIp": "", + "collectionStatus": "Managed", + "hostname": "NY-EN-9300.cisco.local", + "locationName": null, + "managementIpAddress": "204.1.2.2", + "platformId": "C9300-48UXM, C9300-48UXM", + "lastUpdated": "2024-09-23 06:01:22", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2024-09-23 06:01:17", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 888187, + "vendor": "Cisco", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9300 Switch", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "e5cc9398-afbf-40a2-a8b1-e9cf0635c28a", + "id": "e5cc9398-afbf-40a2-a8b1-e9cf0635c28a" + }, + { + "memorySize": "NA", + "family": "Wireless Controller", + "description": "Cisco IOS Software [Dublin], C9800 Software (C9800_IOSXE-K9), Version 17.14.1, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Fri 05-Apr-24 00:11 by mcpre netconf enabled", + "lastUpdateTime": 1727037776332, + "macAddress": "cc:b6:c8:e2:29:0b", + "deviceSupportLevel": "Supported", + "softwareType": "IOS-XE", + "softwareVersion": "17.14.1", + "serialNumber": "FOX2639PAY7", + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "204.192.6.200", + "lastManagedResyncReasons": "Periodic", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Periodic", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": "62 days, 20:28:01.78", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": "2024-07-22 00:14:56", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9800 Series Wireless Controllers", + "snmpContact": "", + "snmpLocation": "", + "apManagerInterfaceIp": "", + "collectionStatus": "Managed", + "hostname": "NY-IAC-EWLC.cisco.local", + "locationName": null, + "managementIpAddress": "204.192.6.200", + "platformId": "C9800-40-K9", + "lastUpdated": "2024-09-22 20:42:56", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2024-09-22 20:42:09", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 5467773, + "vendor": "Cisco", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9800-40 Wireless Controller", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "71197925-1982-46d4-b569-e4cbbe8f06e7", + "id": "71197925-1982-46d4-b569-e4cbbe8f06e7" + }, + { + "memorySize": "NA", + "family": null, + "description": null, + "lastUpdateTime": 1727065128919, + "macAddress": null, + "deviceSupportLevel": "Unsupported", + "softwareType": null, + "softwareVersion": null, + "serialNumber": null, + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "2.2.2.2", + "lastManagedResyncReasons": "", + "managementState": "Never Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Device Added", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": null, + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": null, + "reachabilityFailureReason": "SNMP Connectivity Failed", + "reachabilityStatus": "Unreachable", + "series": null, + "snmpContact": null, + "snmpLocation": null, + "apManagerInterfaceIp": "", + "collectionStatus": "Could Not Synchronize", + "hostname": null, + "locationName": null, + "managementIpAddress": "2.2.2.2", + "platformId": null, + "lastUpdated": "2024-09-23 04:18:48", + "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 its 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": "2024-09-23 04:17:53", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": false, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": -1, + "vendor": "NA", + "waasDeviceMode": null, + "type": null, + "location": null, + "role": "UNKNOWN", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "e6c03497-4eda-423c-b47d-894f299cd143", + "id": "e6c03497-4eda-423c-b47d-894f299cd143" + } + ], + "version": "1.0" + }, + "get_device_list6_update_interface": { + "response": [], + "version": "1.0" + }, + "get_device_list7_update_interface": { + "response": [ + { + "memorySize": "NA", + "family": "Switches and Hubs", + "description": "Cisco IOS Software [Dublin], Catalyst L3 Switch Software (CAT9K_IOSXE), Version 17.14.1, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Fri 05-Apr-24 00:08 by mcpre", + "lastUpdateTime": 1727028847275, + "macAddress": "0c:75:bd:41:14:00", + "deviceSupportLevel": "Supported", + "softwareType": "IOS-XE", + "softwareVersion": "17.14.1", + "serialNumber": "FJB2334D06N", + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "204.1.2.4", + "lastManagedResyncReasons": "Periodic", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Periodic", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": "9 days, 18:03:27.28", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": "2024-09-13 00:11:07", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9300 Series Switches", + "snmpContact": "", + "snmpLocation": "", + "apManagerInterfaceIp": "", + "collectionStatus": "Managed", + "hostname": "NY-BN-9300.cisco.local", + "locationName": null, + "managementIpAddress": "204.1.2.4", + "platformId": "C9300-48UXM, C9300-48UXM", + "lastUpdated": "2024-09-22 18:14:07", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2024-09-22 18:13:27", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 888803, + "vendor": "Cisco", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9300 Switch", + "location": null, + "role": "DISTRIBUTION", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "f19cf2b0-a9bb-4569-b140-e1d0e86d5226", + "id": "f19cf2b0-a9bb-4569-b140-e1d0e86d5226" + } + ], + "version": "1.0" + }, + "get_interface_details2_update_interface": { + "response": { + "addresses": [ + { + "address": { + "ipAddress": { + "address": "204.1.1.13" + }, + "ipMask": { + "address": "255.255.255.252" + }, + "isInverseMask": false + }, + "type": "IPV4_PRIMARY" + } + ], + "adminStatus": "UP", + "className": null, + "deviceId": "f19cf2b0-a9bb-4569-b140-e1d0e86d5226", + "duplex": "FullDuplex", + "ifIndex": "62", + "interfaceType": "Physical", + "ipv4Address": "204.1.1.13", + "ipv4Mask": "255.255.255.252", + "isisSupport": "true", + "lastIncomingPacketTime": 1727028619000, + "lastOutgoingPacketTime": 1727028619000, + "lastUpdated": null, + "macAddress": "0c:75:bd:41:14:48", + "mappedPhysicalInterfaceId": null, + "mappedPhysicalInterfaceName": null, + "mediaType": null, + "mtu": "9100", + "nativeVlanId": "", + "ospfSupport": "false", + "pid": "C9300-48UXM,C9300-48UXM", + "portMode": "routed", + "portName": "TenGigabitEthernet1/1/2", + "portType": "Ethernet Port", + "serialNo": "FJB2334D06N,", + "series": "Cisco Catalyst 9300 Series Switches", + "speed": "10000000", + "status": "up", + "vlanId": "0", + "voiceVlan": "", + "description": "Testing for updating interface details", + "name": null, + "instanceUuid": "e7f0bd71-3057-4468-8592-ba4ffe2dde31", + "instanceTenantId": "66e48af26fe687300375675e", + "id": "e7f0bd71-3057-4468-8592-ba4ffe2dde31" + }, + "version": "1.0" + }, + "update_interface_details_response": { + "message": "device(s) '204.1.2.4' already present in Cisco Catalyst Center." + }, + "playbook_delete_provisioned_device": [ + { + "clean_config": false, + "ip_address_list": [ + "204.1.2.4" + ] + } + ], + "get_device_list1_delete_provisioned_device": { + "response": [ + { + "memorySize": "NA", + "family": "Unified AP", + "description": null, + "lastUpdateTime": 1727155943158, + "macAddress": "34:5d:a8:3b:d8:e0", + "deviceSupportLevel": "Supported", + "softwareType": null, + "softwareVersion": "17.14.0.79", + "serialNumber": "FJC27101PRX", + "collectionInterval": "NA", + "dnsResolvedManagementAddress": "", + "lastManagedResyncReasons": "", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "NA", + "upTime": "1 days, 01:47:13.020", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": null, + "reachabilityFailureReason": "NA", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9124AXI Series Unified Access Points", + "snmpContact": "", + "snmpLocation": "default location", + "apManagerInterfaceIp": "204.192.6.200", + "collectionStatus": "Managed", + "hostname": "AP34B8.8315.7C6C", + "locationName": null, + "managementIpAddress": "204.1.216.17", + "platformId": "C9124AXI-B", + "lastUpdated": "2024-09-24 05:32:23", + "associatedWlcIp": "204.192.6.200", + "apEthernetMacAddress": "34:b8:83:15:7c:6c", + "errorCode": "null", + "errorDescription": null, + "lastDeviceResyncStartTime": "", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": false, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 93376, + "vendor": "NA", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9124AXI Unified Access Point", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "a33c73ee-17e8-460e-b58a-4477a7d62d85", + "id": "a33c73ee-17e8-460e-b58a-4477a7d62d85" + }, + { + "memorySize": "NA", + "family": "Switches and Hubs", + "description": "Cisco IOS Software [Dublin], Catalyst L3 Switch Software (CAT9K_IOSXE), Version 17.14.1, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Fri 05-Apr-24 00:08 by mcpre", + "lastUpdateTime": 1727155768870, + "macAddress": "d4:ad:bd:c1:67:00", + "deviceSupportLevel": "Supported", + "softwareType": "IOS-XE", + "softwareVersion": "17.14.1", + "serialNumber": "FJC2327U0S2", + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "204.192.3.40", + "lastManagedResyncReasons": "Config Change Event", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Config Change Event", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": "11 days, 5:27:51.77", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": "2024-09-13 00:02:28", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9300 Series Switches", + "snmpContact": "", + "snmpLocation": "", + "apManagerInterfaceIp": "", + "collectionStatus": "Managed", + "hostname": "DC-FR-9300.cisco.local", + "locationName": null, + "managementIpAddress": "204.192.3.40", + "platformId": "C9300-24U", + "lastUpdated": "2024-09-24 05:29:28", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2024-09-24 05:29:26", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 970738, + "vendor": "Cisco", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9300 Switch", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "1e8ffc57-8a44-459f-b880-6b49d6b63aa4", + "id": "1e8ffc57-8a44-459f-b880-6b49d6b63aa4" + }, + { + "memorySize": "NA", + "family": "Switches and Hubs", + "description": "Cisco IOS Software [Dublin], Catalyst L3 Switch Software (CAT9K_IOSXE), Version 17.14.1, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Fri 05-Apr-24 00:08 by mcpre", + "lastUpdateTime": 1727155997937, + "macAddress": "00:b6:70:32:b8:00", + "deviceSupportLevel": "Supported", + "softwareType": "IOS-XE", + "softwareVersion": "17.14.1", + "serialNumber": "FCW2225C020", + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "204.1.2.5", + "lastManagedResyncReasons": "Link Up/Down Event", + "managementState": "Managed", + "pendingSyncRequestsCount": "1", + "reasonsForDeviceResync": "Link Up/Down Event", + "reasonsForPendingSyncRequests": "Link Up/Down Event", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": "5 days, 18:45:11.27", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": "2024-09-18 10:48:17", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9300 Series Switches", + "snmpContact": "", + "snmpLocation": "", + "apManagerInterfaceIp": "", + "collectionStatus": "In Progress", + "hostname": "DC-T-9300.cisco.local", + "locationName": null, + "managementIpAddress": "204.1.2.5", + "platformId": "C9300-24P", + "lastUpdated": "2024-09-24 05:33:17", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2024-09-24 05:38:21", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 499988, + "vendor": "Cisco", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9300 Switch", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "820bd13a-f565-4778-a320-9ec9f23b4725", + "id": "820bd13a-f565-4778-a320-9ec9f23b4725" + }, + { + "memorySize": "NA", + "family": "Unified AP", + "description": null, + "lastUpdateTime": 1727155943158, + "macAddress": "90:e9:5e:03:f3:40", + "deviceSupportLevel": "Supported", + "softwareType": null, + "softwareVersion": "17.14.0.79", + "serialNumber": "FJC27181V9V", + "collectionInterval": "NA", + "dnsResolvedManagementAddress": "", + "lastManagedResyncReasons": "", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "NA", + "upTime": "2 days, 01:04:35.290", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": null, + "reachabilityFailureReason": "NA", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9130AXE Series Unified Access Points", + "snmpContact": "", + "snmpLocation": "LTTS/Cisco/Chennai", + "apManagerInterfaceIp": "204.192.6.200", + "collectionStatus": "Managed", + "hostname": "LTTS-test2", + "locationName": null, + "managementIpAddress": "204.1.216.16", + "platformId": "C9130AXE-B", + "lastUpdated": "2024-09-24 05:32:23", + "associatedWlcIp": "204.192.6.200", + "apEthernetMacAddress": "34:5d:a8:0e:20:b4", + "errorCode": "null", + "errorDescription": null, + "lastDeviceResyncStartTime": "", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": false, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 177218, + "vendor": "NA", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9130AXE Unified Access Point", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "01bfa675-0d3d-4677-8ad9-37fe7ebc47c1", + "id": "01bfa675-0d3d-4677-8ad9-37fe7ebc47c1" + }, + { + "memorySize": "NA", + "family": "Unified AP", + "description": null, + "lastUpdateTime": 1727155943158, + "macAddress": "6c:d6:e3:75:5a:e0", + "deviceSupportLevel": "Supported", + "softwareType": null, + "softwareVersion": "17.14.0.79", + "serialNumber": "FJC272014VQ", + "collectionInterval": "NA", + "dnsResolvedManagementAddress": "", + "lastManagedResyncReasons": "", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "NA", + "upTime": "21:43:25.290", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": null, + "reachabilityFailureReason": "NA", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9120AXE Series Unified Access Points", + "snmpContact": "", + "snmpLocation": "default location", + "apManagerInterfaceIp": "204.192.6.200", + "collectionStatus": "Managed", + "hostname": "LTTS_Test_9120_T2", + "locationName": null, + "managementIpAddress": "204.1.216.44", + "platformId": "C9120AXE-B", + "lastUpdated": "2024-09-24 05:32:23", + "associatedWlcIp": "204.192.6.200", + "apEthernetMacAddress": "6c:d6:e3:69:49:b4", + "errorCode": "null", + "errorDescription": null, + "lastDeviceResyncStartTime": "", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": false, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 78748, + "vendor": "NA", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9120AXE Unified Access Point", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "4aa3b34b-7acb-4581-8875-b99e6fce9feb", + "id": "4aa3b34b-7acb-4581-8875-b99e6fce9feb" + }, + { + "memorySize": "NA", + "family": "Unified AP", + "description": null, + "lastUpdateTime": 1727155943158, + "macAddress": "e4:38:7e:42:bc:00", + "deviceSupportLevel": "Supported", + "softwareType": null, + "softwareVersion": "17.14.0.79", + "serialNumber": "FJC27101P0X", + "collectionInterval": "NA", + "dnsResolvedManagementAddress": "", + "lastManagedResyncReasons": "", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "NA", + "upTime": "6 days, 10:17:09.300", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": null, + "reachabilityFailureReason": "NA", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst Wireless 9166 Series Unified Access Points", + "snmpContact": "", + "snmpLocation": "default location", + "apManagerInterfaceIp": "204.192.6.200", + "collectionStatus": "Managed", + "hostname": "LTTS_Test_9166_T3", + "locationName": null, + "managementIpAddress": "204.1.216.21", + "platformId": "CW9166I-B", + "lastUpdated": "2024-09-24 05:32:23", + "associatedWlcIp": "204.192.6.200", + "apEthernetMacAddress": "68:49:92:75:0f:d0", + "errorCode": "null", + "errorDescription": null, + "lastDeviceResyncStartTime": "", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": false, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 555972, + "vendor": "NA", + "waasDeviceMode": null, + "type": "Cisco Catalyst Wireless 9166I Unified Access Point", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "6c205ea6-893f-4ccb-a57b-7816733a7055", + "id": "6c205ea6-893f-4ccb-a57b-7816733a7055" + }, + { + "memorySize": "NA", + "family": "Switches and Hubs", + "description": "Cisco IOS Software [Dublin], Catalyst L3 Switch Software (CAT9K_IOSXE), Version 17.14.1, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Fri 05-Apr-24 00:08 by mcpre", + "lastUpdateTime": 1727148885531, + "macAddress": "0c:75:bd:41:14:00", + "deviceSupportLevel": "Supported", + "softwareType": "IOS-XE", + "softwareVersion": "17.14.1", + "serialNumber": "FJB2334D06N", + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "204.1.2.4", + "lastManagedResyncReasons": "Config Change Event", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Config Change Event", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": "11 days, 3:23:56.83", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": "2024-09-13 00:11:45", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9300 Series Switches", + "snmpContact": "", + "snmpLocation": "", + "apManagerInterfaceIp": "", + "collectionStatus": "Managed", + "hostname": "NY-BN-9300.cisco.local", + "locationName": null, + "managementIpAddress": "204.1.2.4", + "platformId": "C9300-48UXM, C9300-48UXM", + "lastUpdated": "2024-09-24 03:34:45", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2024-09-24 03:34:41", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 970181, + "vendor": "Cisco", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9300 Switch", + "location": null, + "role": "DISTRIBUTION", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "f19cf2b0-a9bb-4569-b140-e1d0e86d5226", + "id": "f19cf2b0-a9bb-4569-b140-e1d0e86d5226" + }, + { + "memorySize": "NA", + "family": "Switches and Hubs", + "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", + "lastUpdateTime": 1727128869557, + "macAddress": "90:88:55:07:59:00", + "deviceSupportLevel": "Supported", + "softwareType": "IOS-XE", + "softwareVersion": "17.12.2", + "serialNumber": "FJC271924K0, FJC271924EQ", + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "204.1.2.2", + "lastManagedResyncReasons": "Periodic", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Periodic", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": "10 days, 21:45:09.78", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": "2024-09-13 00:16:09", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9300 Series Switches", + "snmpContact": "", + "snmpLocation": "", + "apManagerInterfaceIp": "", + "collectionStatus": "Managed", + "hostname": "NY-EN-9300.cisco.local", + "locationName": null, + "managementIpAddress": "204.1.2.2", + "platformId": "C9300-48UXM, C9300-48UXM", + "lastUpdated": "2024-09-23 22:01:09", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2024-09-23 21:57:17", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 969917, + "vendor": "Cisco", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9300 Switch", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "e5cc9398-afbf-40a2-a8b1-e9cf0635c28a", + "id": "e5cc9398-afbf-40a2-a8b1-e9cf0635c28a" + }, + { + "memorySize": "NA", + "family": "Wireless Controller", + "description": "Cisco IOS Software [Dublin], C9800 Software (C9800_IOSXE-K9), Version 17.14.1, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Fri 05-Apr-24 00:11 by mcpre netconf enabled", + "lastUpdateTime": 1727155943158, + "macAddress": "cc:b6:c8:e2:29:0b", + "deviceSupportLevel": "Supported", + "softwareType": "IOS-XE", + "softwareVersion": "17.14.1", + "serialNumber": "FOX2639PAY7", + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "204.192.6.200", + "lastManagedResyncReasons": "AP Event", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "AP Event", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": "64 days, 5:18:00.71", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": "2024-07-22 00:14:23", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9800 Series Wireless Controllers", + "snmpContact": "", + "snmpLocation": "", + "apManagerInterfaceIp": "", + "collectionStatus": "Managed", + "hostname": "NY-IAC-EWLC.cisco.local", + "locationName": null, + "managementIpAddress": "204.192.6.200", + "platformId": "C9800-40-K9", + "lastUpdated": "2024-09-24 05:32:23", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2024-09-24 05:32:07", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 5549223, + "vendor": "Cisco", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9800-40 Wireless Controller", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "71197925-1982-46d4-b569-e4cbbe8f06e7", + "id": "71197925-1982-46d4-b569-e4cbbe8f06e7" + }, + { + "memorySize": "NA", + "family": null, + "description": null, + "lastUpdateTime": 1727087226014, + "macAddress": null, + "deviceSupportLevel": "Unsupported", + "softwareType": null, + "softwareVersion": null, + "serialNumber": null, + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "12.12.12.12", + "lastManagedResyncReasons": "", + "managementState": "Never Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Device Updated", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": null, + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": null, + "reachabilityFailureReason": "SNMP Connectivity Failed", + "reachabilityStatus": "Unreachable", + "series": null, + "snmpContact": null, + "snmpLocation": null, + "apManagerInterfaceIp": "", + "collectionStatus": "Could Not Synchronize", + "hostname": null, + "locationName": null, + "managementIpAddress": "12.12.12.12", + "platformId": null, + "lastUpdated": "2024-09-23 10:27:06", + "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 its 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": "2024-09-23 10:26:10", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": false, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": -1, + "vendor": "NA", + "waasDeviceMode": null, + "type": null, + "location": null, + "role": "UNKNOWN", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "1932bde2-2493-4553-9bbe-7b815e2c5202", + "id": "1932bde2-2493-4553-9bbe-7b815e2c5202" + }, + { + "memorySize": "NA", + "family": null, + "description": null, + "lastUpdateTime": 1727087004063, + "macAddress": null, + "deviceSupportLevel": "Unsupported", + "softwareType": null, + "softwareVersion": null, + "serialNumber": null, + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "2.2.2.2", + "lastManagedResyncReasons": "", + "managementState": "Never Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Device Added", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": null, + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": null, + "reachabilityFailureReason": "SNMP Connectivity Failed", + "reachabilityStatus": "Unreachable", + "series": null, + "snmpContact": null, + "snmpLocation": null, + "apManagerInterfaceIp": "", + "collectionStatus": "Could Not Synchronize", + "hostname": null, + "locationName": null, + "managementIpAddress": "2.2.2.2", + "platformId": null, + "lastUpdated": "2024-09-23 10:23:24", + "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 its 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": "2024-09-23 10:22:28", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": false, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": -1, + "vendor": "NA", + "waasDeviceMode": null, + "type": null, + "location": null, + "role": "UNKNOWN", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "d1489580-092d-4f27-9952-6d57d5b783be", + "id": "d1489580-092d-4f27-9952-6d57d5b783be" + }, + { + "memorySize": "NA", + "family": null, + "description": null, + "lastUpdateTime": 1727092534613, + "macAddress": null, + "deviceSupportLevel": "Unsupported", + "softwareType": null, + "softwareVersion": null, + "serialNumber": null, + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "80.2.2.2", + "lastManagedResyncReasons": "", + "managementState": "Never Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Device Added", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": null, + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": null, + "reachabilityFailureReason": "SNMP Connectivity Failed", + "reachabilityStatus": "Unreachable", + "series": null, + "snmpContact": null, + "snmpLocation": null, + "apManagerInterfaceIp": "", + "collectionStatus": "Could Not Synchronize", + "hostname": null, + "locationName": null, + "managementIpAddress": "80.2.2.2", + "platformId": null, + "lastUpdated": "2024-09-23 11:55:34", + "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 its 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": "2024-09-23 11:54:39", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": false, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": -1, + "vendor": "NA", + "waasDeviceMode": null, + "type": null, + "location": null, + "role": "UNKNOWN", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "4acd6f02-d10b-4f18-9938-f9244c19878d", + "id": "4acd6f02-d10b-4f18-9938-f9244c19878d" + } + ], + "version": "1.0" + }, + "get_device_list2_delete_provisioned_device": { + "response": [], + "version": "1.0" + }, + "get_device_list3_delete_provisioned_device": { + "response": [ + { + "memorySize": "NA", + "family": "Switches and Hubs", + "description": "Cisco IOS Software [Dublin], Catalyst L3 Switch Software (CAT9K_IOSXE), Version 17.14.1, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Fri 05-Apr-24 00:08 by mcpre", + "lastUpdateTime": 1727148885531, + "macAddress": "0c:75:bd:41:14:00", + "deviceSupportLevel": "Supported", + "softwareType": "IOS-XE", + "softwareVersion": "17.14.1", + "serialNumber": "FJB2334D06N", + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "204.1.2.4", + "lastManagedResyncReasons": "Config Change Event", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Config Change Event", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": "11 days, 3:23:56.83", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": "2024-09-13 00:11:45", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9300 Series Switches", + "snmpContact": "", + "snmpLocation": "", + "apManagerInterfaceIp": "", + "collectionStatus": "Managed", + "hostname": "NY-BN-9300.cisco.local", + "locationName": null, + "managementIpAddress": "204.1.2.4", + "platformId": "C9300-48UXM, C9300-48UXM", + "lastUpdated": "2024-09-24 03:34:45", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2024-09-24 03:34:41", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 970182, + "vendor": "Cisco", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9300 Switch", + "location": null, + "role": "DISTRIBUTION", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "f19cf2b0-a9bb-4569-b140-e1d0e86d5226", + "id": "f19cf2b0-a9bb-4569-b140-e1d0e86d5226" + } + ], + "version": "1.0" + }, + "get_provisioned_devices_delete_provisioned_device": { + "response": [ + { + "id": "4352f3fd-9c0d-4700-9eeb-4d3ede3987e6", + "siteId": "03072c33-bd11-4914-9c0e-3c53379b2813", + "networkDeviceId": "f19cf2b0-a9bb-4569-b140-e1d0e86d5226" + } + ], + "version": "1.0" + }, + "delete_provisioned_devices": { + "response": { + "taskId": "0192228c-8717-7314-b0d3-b0ab7efbf4b9", + "url": "/dna/intent/api/v1/task/0192228c-8717-7314-b0d3-b0ab7efbf4b9" + }, + "version": "1.0" + }, + "Task_Details1_delete_provisioned_device": { + "response": { + "version": 1727156487959, + "progress": "Un-provision and Delete Device", + "startTime": 1727156487959, + "serviceType": "sda-helper-service", + "isError": false, + "instanceTenantId": "66e48af26fe687300375675e", + "id": "0192228c-8717-7314-b0d3-b0ab7efbf4b9" + }, + "version": "1.0" + }, + "Task_Details2_delete_provisioned_device": { + "response": { + "version": 1727156527680, + "progress": "Network device deleted successfully", + "startTime": 1727156487959, + "endTime": 1727156527680, + "serviceType": "Inventory service", + "isError": false, + "instanceTenantId": "66e48af26fe687300375675e", + "id": "0192228c-8717-7314-b0d3-b0ab7efbf4b9" + }, + "version": "1.0" + }, + "get_device_list4_delete_provisioned_device": { + "response": [ + { + "memorySize": "NA", + "family": "Unified AP", + "description": null, + "lastUpdateTime": 1727156518386, + "macAddress": "34:5d:a8:3b:d8:e0", + "deviceSupportLevel": "Supported", + "softwareType": null, + "softwareVersion": "17.14.0.79", + "serialNumber": "FJC27101PRX", + "collectionInterval": "NA", + "dnsResolvedManagementAddress": "", + "lastManagedResyncReasons": "", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "NA", + "upTime": "1 days, 01:47:13.020", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": null, + "reachabilityFailureReason": "NA", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9124AXI Series Unified Access Points", + "snmpContact": "", + "snmpLocation": "default location", + "apManagerInterfaceIp": "204.192.6.200", + "collectionStatus": "Managed", + "hostname": "AP34B8.8315.7C6C", + "locationName": null, + "managementIpAddress": "204.1.216.17", + "platformId": "C9124AXI-B", + "lastUpdated": "2024-09-24 05:41:58", + "associatedWlcIp": "204.192.6.200", + "apEthernetMacAddress": "34:b8:83:15:7c:6c", + "errorCode": "null", + "errorDescription": null, + "lastDeviceResyncStartTime": "", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": false, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 92843, + "vendor": "NA", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9124AXI Unified Access Point", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "a33c73ee-17e8-460e-b58a-4477a7d62d85", + "id": "a33c73ee-17e8-460e-b58a-4477a7d62d85" + }, + { + "memorySize": "NA", + "family": "Switches and Hubs", + "description": "Cisco IOS Software [Dublin], Catalyst L3 Switch Software (CAT9K_IOSXE), Version 17.14.1, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Fri 05-Apr-24 00:08 by mcpre", + "lastUpdateTime": 1727155768870, + "macAddress": "d4:ad:bd:c1:67:00", + "deviceSupportLevel": "Supported", + "softwareType": "IOS-XE", + "softwareVersion": "17.14.1", + "serialNumber": "FJC2327U0S2", + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "204.192.3.40", + "lastManagedResyncReasons": "Config Change Event", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Config Change Event", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": "11 days, 5:27:51.77", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": "2024-09-13 00:02:28", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9300 Series Switches", + "snmpContact": "", + "snmpLocation": "", + "apManagerInterfaceIp": "", + "collectionStatus": "Managed", + "hostname": "DC-FR-9300.cisco.local", + "locationName": null, + "managementIpAddress": "204.192.3.40", + "platformId": "C9300-24U", + "lastUpdated": "2024-09-24 05:29:28", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2024-09-24 05:29:26", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 970779, + "vendor": "Cisco", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9300 Switch", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "1e8ffc57-8a44-459f-b880-6b49d6b63aa4", + "id": "1e8ffc57-8a44-459f-b880-6b49d6b63aa4" + }, + { + "memorySize": "NA", + "family": "Switches and Hubs", + "description": "Cisco IOS Software [Dublin], Catalyst L3 Switch Software (CAT9K_IOSXE), Version 17.14.1, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Fri 05-Apr-24 00:08 by mcpre", + "lastUpdateTime": 1727156527280, + "macAddress": "00:b6:70:32:b8:00", + "deviceSupportLevel": "Supported", + "softwareType": "IOS-XE", + "softwareVersion": "17.14.1", + "serialNumber": "FCW2225C020", + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "204.1.2.5", + "lastManagedResyncReasons": "Link Up/Down Event", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Link Up/Down Event", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": "5 days, 19:04:11.96", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": "2024-09-18 10:38:07", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9300 Series Switches", + "snmpContact": "", + "snmpLocation": "", + "apManagerInterfaceIp": "", + "collectionStatus": "Managed", + "hostname": "DC-T-9300.cisco.local", + "locationName": null, + "managementIpAddress": "204.1.2.5", + "platformId": "C9300-24P", + "lastUpdated": "2024-09-24 05:42:07", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2024-09-24 05:38:21", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 500641, + "vendor": "Cisco", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9300 Switch", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "820bd13a-f565-4778-a320-9ec9f23b4725", + "id": "820bd13a-f565-4778-a320-9ec9f23b4725" + }, + { + "memorySize": "NA", + "family": "Unified AP", + "description": null, + "lastUpdateTime": 1727156518386, + "macAddress": "90:e9:5e:03:f3:40", + "deviceSupportLevel": "Supported", + "softwareType": null, + "softwareVersion": "17.14.0.79", + "serialNumber": "FJC27181V9V", + "collectionInterval": "NA", + "dnsResolvedManagementAddress": "", + "lastManagedResyncReasons": "", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "NA", + "upTime": "2 days, 01:04:35.290", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": null, + "reachabilityFailureReason": "NA", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9130AXE Series Unified Access Points", + "snmpContact": "", + "snmpLocation": "LTTS/Cisco/Chennai", + "apManagerInterfaceIp": "204.192.6.200", + "collectionStatus": "Managed", + "hostname": "LTTS-test2", + "locationName": null, + "managementIpAddress": "204.1.216.16", + "platformId": "C9130AXE-B", + "lastUpdated": "2024-09-24 05:41:58", + "associatedWlcIp": "204.192.6.200", + "apEthernetMacAddress": "34:5d:a8:0e:20:b4", + "errorCode": "null", + "errorDescription": null, + "lastDeviceResyncStartTime": "", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": false, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 176685, + "vendor": "NA", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9130AXE Unified Access Point", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "01bfa675-0d3d-4677-8ad9-37fe7ebc47c1", + "id": "01bfa675-0d3d-4677-8ad9-37fe7ebc47c1" + }, + { + "memorySize": "NA", + "family": "Unified AP", + "description": null, + "lastUpdateTime": 1727156518386, + "macAddress": "6c:d6:e3:75:5a:e0", + "deviceSupportLevel": "Supported", + "softwareType": null, + "softwareVersion": "17.14.0.79", + "serialNumber": "FJC272014VQ", + "collectionInterval": "NA", + "dnsResolvedManagementAddress": "", + "lastManagedResyncReasons": "", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "NA", + "upTime": "21:43:25.290", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": null, + "reachabilityFailureReason": "NA", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9120AXE Series Unified Access Points", + "snmpContact": "", + "snmpLocation": "default location", + "apManagerInterfaceIp": "204.192.6.200", + "collectionStatus": "Managed", + "hostname": "LTTS_Test_9120_T2", + "locationName": null, + "managementIpAddress": "204.1.216.44", + "platformId": "C9120AXE-B", + "lastUpdated": "2024-09-24 05:41:58", + "associatedWlcIp": "204.192.6.200", + "apEthernetMacAddress": "6c:d6:e3:69:49:b4", + "errorCode": "null", + "errorDescription": null, + "lastDeviceResyncStartTime": "", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": false, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 78215, + "vendor": "NA", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9120AXE Unified Access Point", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "4aa3b34b-7acb-4581-8875-b99e6fce9feb", + "id": "4aa3b34b-7acb-4581-8875-b99e6fce9feb" + }, + { + "memorySize": "NA", + "family": "Unified AP", + "description": null, + "lastUpdateTime": 1727156518386, + "macAddress": "e4:38:7e:42:bc:00", + "deviceSupportLevel": "Supported", + "softwareType": null, + "softwareVersion": "17.14.0.79", + "serialNumber": "FJC27101P0X", + "collectionInterval": "NA", + "dnsResolvedManagementAddress": "", + "lastManagedResyncReasons": "", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "NA", + "upTime": "6 days, 10:17:09.300", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": null, + "reachabilityFailureReason": "NA", + "reachabilityStatus": "Unreachable", + "series": "Cisco Catalyst Wireless 9166 Series Unified Access Points", + "snmpContact": "", + "snmpLocation": "default location", + "apManagerInterfaceIp": "204.192.6.200", + "collectionStatus": "Unassociated", + "hostname": "LTTS_Test_9166_T3", + "locationName": null, + "managementIpAddress": "204.1.216.21", + "platformId": "CW9166I-B", + "lastUpdated": "2024-09-24 05:41:58", + "associatedWlcIp": "204.192.6.200", + "apEthernetMacAddress": "68:49:92:75:0f:d0", + "errorCode": "Could Not Synchronize", + "errorDescription": null, + "lastDeviceResyncStartTime": "", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": false, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": -1, + "vendor": "NA", + "waasDeviceMode": null, + "type": "Cisco Catalyst Wireless 9166I Unified Access Point", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "6c205ea6-893f-4ccb-a57b-7816733a7055", + "id": "6c205ea6-893f-4ccb-a57b-7816733a7055" + }, + { + "memorySize": "NA", + "family": "Switches and Hubs", + "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", + "lastUpdateTime": 1727128869557, + "macAddress": "90:88:55:07:59:00", + "deviceSupportLevel": "Supported", + "softwareType": "IOS-XE", + "softwareVersion": "17.12.2", + "serialNumber": "FJC271924K0, FJC271924EQ", + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "204.1.2.2", + "lastManagedResyncReasons": "Periodic", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Periodic", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": "10 days, 21:45:09.78", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": "2024-09-13 00:16:09", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9300 Series Switches", + "snmpContact": "", + "snmpLocation": "", + "apManagerInterfaceIp": "", + "collectionStatus": "Managed", + "hostname": "NY-EN-9300.cisco.local", + "locationName": null, + "managementIpAddress": "204.1.2.2", + "platformId": "C9300-48UXM, C9300-48UXM", + "lastUpdated": "2024-09-23 22:01:09", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2024-09-23 21:57:17", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 969959, + "vendor": "Cisco", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9300 Switch", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "e5cc9398-afbf-40a2-a8b1-e9cf0635c28a", + "id": "e5cc9398-afbf-40a2-a8b1-e9cf0635c28a" + }, + { + "memorySize": "NA", + "family": "Wireless Controller", + "description": "Cisco IOS Software [Dublin], C9800 Software (C9800_IOSXE-K9), Version 17.14.1, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Fri 05-Apr-24 00:11 by mcpre netconf enabled", + "lastUpdateTime": 1727156518386, + "macAddress": "cc:b6:c8:e2:29:0b", + "deviceSupportLevel": "Supported", + "softwareType": "IOS-XE", + "softwareVersion": "17.14.1", + "serialNumber": "FOX2639PAY7", + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "204.192.6.200", + "lastManagedResyncReasons": "AP Event", + "managementState": "Managed", + "pendingSyncRequestsCount": "1", + "reasonsForDeviceResync": "AP Event", + "reasonsForPendingSyncRequests": "AP Event", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": "64 days, 5:18:00.71", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": "2024-07-22 00:23:58", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9800 Series Wireless Controllers", + "snmpContact": "", + "snmpLocation": "", + "apManagerInterfaceIp": "", + "collectionStatus": "In Progress", + "hostname": "NY-IAC-EWLC.cisco.local", + "locationName": null, + "managementIpAddress": "204.192.6.200", + "platformId": "C9800-40-K9", + "lastUpdated": "2024-09-24 05:41:58", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2024-09-24 05:41:58", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 5548690, + "vendor": "Cisco", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9800-40 Wireless Controller", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "71197925-1982-46d4-b569-e4cbbe8f06e7", + "id": "71197925-1982-46d4-b569-e4cbbe8f06e7" + }, + { + "memorySize": "NA", + "family": null, + "description": null, + "lastUpdateTime": 1727087226014, + "macAddress": null, + "deviceSupportLevel": "Unsupported", + "softwareType": null, + "softwareVersion": null, + "serialNumber": null, + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "12.12.12.12", + "lastManagedResyncReasons": "", + "managementState": "Never Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Device Updated", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": null, + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": null, + "reachabilityFailureReason": "SNMP Connectivity Failed", + "reachabilityStatus": "Unreachable", + "series": null, + "snmpContact": null, + "snmpLocation": null, + "apManagerInterfaceIp": "", + "collectionStatus": "Could Not Synchronize", + "hostname": null, + "locationName": null, + "managementIpAddress": "12.12.12.12", + "platformId": null, + "lastUpdated": "2024-09-23 10:27:06", + "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 its 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": "2024-09-23 10:26:10", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": false, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": -1, + "vendor": "NA", + "waasDeviceMode": null, + "type": null, + "location": null, + "role": "UNKNOWN", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "1932bde2-2493-4553-9bbe-7b815e2c5202", + "id": "1932bde2-2493-4553-9bbe-7b815e2c5202" + }, + { + "memorySize": "NA", + "family": null, + "description": null, + "lastUpdateTime": 1727087004063, + "macAddress": null, + "deviceSupportLevel": "Unsupported", + "softwareType": null, + "softwareVersion": null, + "serialNumber": null, + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "2.2.2.2", + "lastManagedResyncReasons": "", + "managementState": "Never Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Device Added", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": null, + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": null, + "reachabilityFailureReason": "SNMP Connectivity Failed", + "reachabilityStatus": "Unreachable", + "series": null, + "snmpContact": null, + "snmpLocation": null, + "apManagerInterfaceIp": "", + "collectionStatus": "Could Not Synchronize", + "hostname": null, + "locationName": null, + "managementIpAddress": "2.2.2.2", + "platformId": null, + "lastUpdated": "2024-09-23 10:23:24", + "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 its 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": "2024-09-23 10:22:28", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": false, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": -1, + "vendor": "NA", + "waasDeviceMode": null, + "type": null, + "location": null, + "role": "UNKNOWN", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "d1489580-092d-4f27-9952-6d57d5b783be", + "id": "d1489580-092d-4f27-9952-6d57d5b783be" + }, + { + "memorySize": "NA", + "family": null, + "description": null, + "lastUpdateTime": 1727092534613, + "macAddress": null, + "deviceSupportLevel": "Unsupported", + "softwareType": null, + "softwareVersion": null, + "serialNumber": null, + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "80.2.2.2", + "lastManagedResyncReasons": "", + "managementState": "Never Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Device Added", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": null, + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": null, + "reachabilityFailureReason": "SNMP Connectivity Failed", + "reachabilityStatus": "Unreachable", + "series": null, + "snmpContact": null, + "snmpLocation": null, + "apManagerInterfaceIp": "", + "collectionStatus": "Could Not Synchronize", + "hostname": null, + "locationName": null, + "managementIpAddress": "80.2.2.2", + "platformId": null, + "lastUpdated": "2024-09-23 11:55:34", + "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 its 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": "2024-09-23 11:54:39", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": false, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": -1, + "vendor": "NA", + "waasDeviceMode": null, + "type": null, + "location": null, + "role": "UNKNOWN", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "4acd6f02-d10b-4f18-9938-f9244c19878d", + "id": "4acd6f02-d10b-4f18-9938-f9244c19878d" + } + ], + "version": "1.0" + }, + "get_device_list5_delete_provisioned_device": { + "response": [], + "version": "1.0" + }, + "delete_provisioned_response": { + "message": "provisioned device(s) '204.1.2.4' successfully deleted in Cisco Catalyst Center." + }, + "playbook_delete_a_device": [ + { + "clean_config": false, + "ip_address_list": [ + "1.1.1.1" + ] + } + ], + "get_device_list1_seema": { + "response": [ + { + "memorySize": "NA", + "family": "Switches and Hubs", + "description": "Cisco IOS Software [Dublin], Catalyst L3 Switch Software (CAT9K_IOSXE), Version 17.14.1, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Fri 05-Apr-24 00:08 by mcpre", + "lastUpdateTime": 1727028191876, + "macAddress": "d4:ad:bd:c1:67:00", + "deviceSupportLevel": "Supported", + "softwareType": "IOS-XE", + "softwareVersion": "17.14.1", + "serialNumber": "FJC2327U0S2", + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "204.192.3.40", + "lastManagedResyncReasons": "Periodic", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Periodic", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": "9 days, 18:01:39.87", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": "2024-09-13 00:02:11", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9300 Series Switches", + "snmpContact": "", + "snmpLocation": "", + "apManagerInterfaceIp": "", + "collectionStatus": "Managed", + "hostname": "DC-FR-9300", + "locationName": null, + "managementIpAddress": "204.192.3.40", + "platformId": "C9300-24U", + "lastUpdated": "2024-09-22 18:03:11", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2024-09-22 18:02:39", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 879401, + "vendor": "Cisco", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9300 Switch", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "1e8ffc57-8a44-459f-b880-6b49d6b63aa4", + "id": "1e8ffc57-8a44-459f-b880-6b49d6b63aa4" + }, + { + "memorySize": "NA", + "family": "Switches and Hubs", + "description": "Cisco IOS Software [Dublin], Catalyst L3 Switch Software (CAT9K_IOSXE), Version 17.14.1, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Fri 05-Apr-24 00:08 by mcpre", + "lastUpdateTime": 1727064816242, + "macAddress": "00:b6:70:32:b8:00", + "deviceSupportLevel": "Supported", + "softwareType": "IOS-XE", + "softwareVersion": "17.14.1", + "serialNumber": "FCW2225C020", + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "204.1.2.5", + "lastManagedResyncReasons": "Link Up/Down Event", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Link Up/Down Event", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": "4 days, 17:29:46.31", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": "2024-09-18 10:44:36", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9300 Series Switches", + "snmpContact": "", + "snmpLocation": "", + "apManagerInterfaceIp": "", + "collectionStatus": "Managed", + "hostname": "DC-T-9300.cisco.local", + "locationName": null, + "managementIpAddress": "204.1.2.5", + "platformId": "C9300-24P", + "lastUpdated": "2024-09-23 04:13:36", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2024-09-23 04:04:55", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 408857, + "vendor": "Cisco", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9300 Switch", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "820bd13a-f565-4778-a320-9ec9f23b4725", + "id": "820bd13a-f565-4778-a320-9ec9f23b4725" + }, + { + "memorySize": "NA", + "family": "Switches and Hubs", + "description": "Cisco IOS Software [Dublin], Catalyst L3 Switch Software (CAT9K_IOSXE), Version 17.14.1, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Fri 05-Apr-24 00:08 by mcpre", + "lastUpdateTime": 1727028847275, + "macAddress": "0c:75:bd:41:14:00", + "deviceSupportLevel": "Supported", + "softwareType": "IOS-XE", + "softwareVersion": "17.14.1", + "serialNumber": "FJB2334D06N", + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "204.1.2.4", + "lastManagedResyncReasons": "Periodic", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Periodic", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": "9 days, 18:03:27.28", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": "2024-09-13 00:11:07", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9300 Series Switches", + "snmpContact": "", + "snmpLocation": "", + "apManagerInterfaceIp": "", + "collectionStatus": "Managed", + "hostname": "NY-BN-9300.cisco.local", + "locationName": null, + "managementIpAddress": "204.1.2.4", + "platformId": "C9300-48UXM, C9300-48UXM", + "lastUpdated": "2024-09-22 18:14:07", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2024-09-22 18:13:27", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 878866, + "vendor": "Cisco", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9300 Switch", + "location": null, + "role": "DISTRIBUTION", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "f19cf2b0-a9bb-4569-b140-e1d0e86d5226", + "id": "f19cf2b0-a9bb-4569-b140-e1d0e86d5226" + }, + { + "memorySize": "NA", + "family": "Switches and Hubs", + "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", + "lastUpdateTime": 1727059759816, + "macAddress": "90:88:55:07:59:00", + "deviceSupportLevel": "Supported", + "softwareType": "IOS-XE", + "softwareVersion": "17.12.2", + "serialNumber": "FJC271924K0, FJC271924EQ", + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "204.1.2.2", + "lastManagedResyncReasons": "Link Up/Down Event", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Link Up/Down Event", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": "10 days, 2:34:26.64", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": "2024-09-13 00:15:19", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9300 Series Switches", + "snmpContact": "", + "snmpLocation": "", + "apManagerInterfaceIp": "", + "collectionStatus": "Managed", + "hostname": "NY-EN-9300.cisco.local", + "locationName": null, + "managementIpAddress": "204.1.2.2", + "platformId": "C9300-48UXM, C9300-48UXM", + "lastUpdated": "2024-09-23 02:49:19", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2024-09-23 02:46:43", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 878614, + "vendor": "Cisco", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9300 Switch", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "e5cc9398-afbf-40a2-a8b1-e9cf0635c28a", + "id": "e5cc9398-afbf-40a2-a8b1-e9cf0635c28a" + }, + { + "memorySize": "NA", + "family": "Wireless Controller", + "description": "Cisco IOS Software [Dublin], C9800 Software (C9800_IOSXE-K9), Version 17.14.1, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Fri 05-Apr-24 00:11 by mcpre netconf enabled", + "lastUpdateTime": 1727037776332, + "macAddress": "cc:b6:c8:e2:29:0b", + "deviceSupportLevel": "Supported", + "softwareType": "IOS-XE", + "softwareVersion": "17.14.1", + "serialNumber": "FOX2639PAY7", + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "204.192.6.200", + "lastManagedResyncReasons": "Periodic", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Periodic", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": "62 days, 20:28:01.78", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": "2024-07-22 00:14:56", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9800 Series Wireless Controllers", + "snmpContact": "", + "snmpLocation": "", + "apManagerInterfaceIp": "", + "collectionStatus": "Managed", + "hostname": "NY-IAC-EWLC.cisco.local", + "locationName": null, + "managementIpAddress": "204.192.6.200", + "platformId": "C9800-40-K9", + "lastUpdated": "2024-09-22 20:42:56", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2024-09-22 20:42:09", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 5457837, + "vendor": "Cisco", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9800-40 Wireless Controller", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "71197925-1982-46d4-b569-e4cbbe8f06e7", + "id": "71197925-1982-46d4-b569-e4cbbe8f06e7" + }, + { + "memorySize": "NA", + "family": null, + "description": null, + "lastUpdateTime": 1727065009249, + "macAddress": null, + "deviceSupportLevel": "Unsupported", + "softwareType": null, + "softwareVersion": null, + "serialNumber": null, + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "1.1.1.1", + "lastManagedResyncReasons": "", + "managementState": "Never Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Device Added", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": null, + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": null, + "reachabilityFailureReason": "SNMP Connectivity Failed", + "reachabilityStatus": "Unreachable", + "series": null, + "snmpContact": null, + "snmpLocation": null, + "apManagerInterfaceIp": "", + "collectionStatus": "Could Not Synchronize", + "hostname": null, + "locationName": null, + "managementIpAddress": "1.1.1.1", + "platformId": null, + "lastUpdated": "2024-09-23 04:16:49", + "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 its 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": "2024-09-23 04:15:53", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": false, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": -1, + "vendor": "NA", + "waasDeviceMode": null, + "type": null, + "location": null, + "role": "UNKNOWN", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "f874d12f-d1b6-4579-acf5-d0094e5f6086", + "id": "f874d12f-d1b6-4579-acf5-d0094e5f6086" + }, + { + "memorySize": "NA", + "family": null, + "description": null, + "lastUpdateTime": 1727065128919, + "macAddress": null, + "deviceSupportLevel": "Unsupported", + "softwareType": null, + "softwareVersion": null, + "serialNumber": null, + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "2.2.2.2", + "lastManagedResyncReasons": "", + "managementState": "Never Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Device Added", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": null, + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": null, + "reachabilityFailureReason": "SNMP Connectivity Failed", + "reachabilityStatus": "Unreachable", + "series": null, + "snmpContact": null, + "snmpLocation": null, + "apManagerInterfaceIp": "", + "collectionStatus": "Could Not Synchronize", + "hostname": null, + "locationName": null, + "managementIpAddress": "2.2.2.2", + "platformId": null, + "lastUpdated": "2024-09-23 04:18:48", + "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 its 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": "2024-09-23 04:17:53", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": false, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": -1, + "vendor": "NA", + "waasDeviceMode": null, + "type": null, + "location": null, + "role": "UNKNOWN", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "e6c03497-4eda-423c-b47d-894f299cd143", + "id": "e6c03497-4eda-423c-b47d-894f299cd143" + } + ], + "version": "1.0" + }, + "get_device_list2_seema": { + "response": [], + "version": "1.0" + }, + "get_device_list3_seema": { + "response": [ + { + "memorySize": "NA", + "family": null, + "description": null, + "lastUpdateTime": 1727065009249, + "macAddress": null, + "deviceSupportLevel": "Unsupported", + "softwareType": null, + "softwareVersion": null, + "serialNumber": null, + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "1.1.1.1", + "lastManagedResyncReasons": "", + "managementState": "Never Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Device Added", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": null, + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": null, + "reachabilityFailureReason": "SNMP Connectivity Failed", + "reachabilityStatus": "Unreachable", + "series": null, + "snmpContact": null, + "snmpLocation": null, + "apManagerInterfaceIp": "", + "collectionStatus": "Could Not Synchronize", + "hostname": null, + "locationName": null, + "managementIpAddress": "1.1.1.1", + "platformId": null, + "lastUpdated": "2024-09-23 04:16:49", + "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 its 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": "2024-09-23 04:15:53", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": false, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": -1, + "vendor": "NA", + "waasDeviceMode": null, + "type": null, + "location": null, + "role": "UNKNOWN", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "f874d12f-d1b6-4579-acf5-d0094e5f6086", + "id": "f874d12f-d1b6-4579-acf5-d0094e5f6086" + } + ], + "version": "1.0" + }, + "get_provisioned_devices1_seema": { + "response": [], + "version": "1.0" + }, + "get_device_list4_seema": { + "response": [ + { + "memorySize": "NA", + "family": null, + "description": null, + "lastUpdateTime": 1727065009249, + "macAddress": null, + "deviceSupportLevel": "Unsupported", + "softwareType": null, + "softwareVersion": null, + "serialNumber": null, + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "1.1.1.1", + "lastManagedResyncReasons": "", + "managementState": "Never Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Device Added", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": null, + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": null, + "reachabilityFailureReason": "SNMP Connectivity Failed", + "reachabilityStatus": "Unreachable", + "series": null, + "snmpContact": null, + "snmpLocation": null, + "apManagerInterfaceIp": "", + "collectionStatus": "Could Not Synchronize", + "hostname": null, + "locationName": null, + "managementIpAddress": "1.1.1.1", + "platformId": null, + "lastUpdated": "2024-09-23 04:16:49", + "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 its 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": "2024-09-23 04:15:53", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": false, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": -1, + "vendor": "NA", + "waasDeviceMode": null, + "type": null, + "location": null, + "role": "UNKNOWN", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "f874d12f-d1b6-4579-acf5-d0094e5f6086", + "id": "f874d12f-d1b6-4579-acf5-d0094e5f6086" + } + ], + "version": "1.0" + }, + "deleted_device_by_id1_seema": { + "response": { + "taskId": "01921d1a-9809-794e-a569-2d29319cb2d5", + "url": "/api/v1/task/01921d1a-9809-794e-a569-2d29319cb2d5" + }, + "version": "1.0" + }, + "Task_Details1_seema": { + "response": { + "version": 1727065135113, + "progress": "Inventory service deleting devices", + "startTime": 1727065135113, + "serviceType": "Inventory service", + "isError": false, + "instanceTenantId": "66e48af26fe687300375675e", + "id": "01921d1a-9809-794e-a569-2d29319cb2d5" + }, + "version": "1.0" + }, + "Task_Details2_seema": { + "response": { + "version": 1727065135939, + "progress": "Network device deleted successfully", + "startTime": 1727065135113, + "endTime": 1727065135939, + "serviceType": "Inventory service", + "isError": false, + "instanceTenantId": "66e48af26fe687300375675e", + "id": "01921d1a-9809-794e-a569-2d29319cb2d5" + }, + "version": "1.0" + }, + "get_device_list5_seema": { + "response": [ + { + "memorySize": "NA", + "family": "Switches and Hubs", + "description": "Cisco IOS Software [Dublin], Catalyst L3 Switch Software (CAT9K_IOSXE), Version 17.14.1, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Fri 05-Apr-24 00:08 by mcpre", + "lastUpdateTime": 1727028191876, + "macAddress": "d4:ad:bd:c1:67:00", + "deviceSupportLevel": "Supported", + "softwareType": "IOS-XE", + "softwareVersion": "17.14.1", + "serialNumber": "FJC2327U0S2", + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "204.192.3.40", + "lastManagedResyncReasons": "Periodic", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Periodic", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": "9 days, 18:01:39.87", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": "2024-09-13 00:02:11", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9300 Series Switches", + "snmpContact": "", + "snmpLocation": "", + "apManagerInterfaceIp": "", + "collectionStatus": "Managed", + "hostname": "DC-FR-9300", + "locationName": null, + "managementIpAddress": "204.192.3.40", + "platformId": "C9300-24U", + "lastUpdated": "2024-09-22 18:03:11", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2024-09-22 18:02:39", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 879404, + "vendor": "Cisco", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9300 Switch", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "1e8ffc57-8a44-459f-b880-6b49d6b63aa4", + "id": "1e8ffc57-8a44-459f-b880-6b49d6b63aa4" + }, + { + "memorySize": "NA", + "family": "Switches and Hubs", + "description": "Cisco IOS Software [Dublin], Catalyst L3 Switch Software (CAT9K_IOSXE), Version 17.14.1, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Fri 05-Apr-24 00:08 by mcpre", + "lastUpdateTime": 1727064816242, + "macAddress": "00:b6:70:32:b8:00", + "deviceSupportLevel": "Supported", + "softwareType": "IOS-XE", + "softwareVersion": "17.14.1", + "serialNumber": "FCW2225C020", + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "204.1.2.5", + "lastManagedResyncReasons": "Link Up/Down Event", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Link Up/Down Event", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": "4 days, 17:29:46.31", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": "2024-09-18 10:44:36", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9300 Series Switches", + "snmpContact": "", + "snmpLocation": "", + "apManagerInterfaceIp": "", + "collectionStatus": "Managed", + "hostname": "DC-T-9300.cisco.local", + "locationName": null, + "managementIpAddress": "204.1.2.5", + "platformId": "C9300-24P", + "lastUpdated": "2024-09-23 04:13:36", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2024-09-23 04:04:55", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 408860, + "vendor": "Cisco", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9300 Switch", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "820bd13a-f565-4778-a320-9ec9f23b4725", + "id": "820bd13a-f565-4778-a320-9ec9f23b4725" + }, + { + "memorySize": "NA", + "family": "Switches and Hubs", + "description": "Cisco IOS Software [Dublin], Catalyst L3 Switch Software (CAT9K_IOSXE), Version 17.14.1, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Fri 05-Apr-24 00:08 by mcpre", + "lastUpdateTime": 1727028847275, + "macAddress": "0c:75:bd:41:14:00", + "deviceSupportLevel": "Supported", + "softwareType": "IOS-XE", + "softwareVersion": "17.14.1", + "serialNumber": "FJB2334D06N", + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "204.1.2.4", + "lastManagedResyncReasons": "Periodic", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Periodic", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": "9 days, 18:03:27.28", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": "2024-09-13 00:11:07", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9300 Series Switches", + "snmpContact": "", + "snmpLocation": "", + "apManagerInterfaceIp": "", + "collectionStatus": "Managed", + "hostname": "NY-BN-9300.cisco.local", + "locationName": null, + "managementIpAddress": "204.1.2.4", + "platformId": "C9300-48UXM, C9300-48UXM", + "lastUpdated": "2024-09-22 18:14:07", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2024-09-22 18:13:27", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 878869, + "vendor": "Cisco", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9300 Switch", + "location": null, + "role": "DISTRIBUTION", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "f19cf2b0-a9bb-4569-b140-e1d0e86d5226", + "id": "f19cf2b0-a9bb-4569-b140-e1d0e86d5226" + }, + { + "memorySize": "NA", + "family": "Switches and Hubs", + "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", + "lastUpdateTime": 1727059759816, + "macAddress": "90:88:55:07:59:00", + "deviceSupportLevel": "Supported", + "softwareType": "IOS-XE", + "softwareVersion": "17.12.2", + "serialNumber": "FJC271924K0, FJC271924EQ", + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "204.1.2.2", + "lastManagedResyncReasons": "Link Up/Down Event", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Link Up/Down Event", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": "10 days, 2:34:26.64", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": "2024-09-13 00:15:19", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9300 Series Switches", + "snmpContact": "", + "snmpLocation": "", + "apManagerInterfaceIp": "", + "collectionStatus": "Managed", + "hostname": "NY-EN-9300.cisco.local", + "locationName": null, + "managementIpAddress": "204.1.2.2", + "platformId": "C9300-48UXM, C9300-48UXM", + "lastUpdated": "2024-09-23 02:49:19", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2024-09-23 02:46:43", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 878616, + "vendor": "Cisco", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9300 Switch", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "e5cc9398-afbf-40a2-a8b1-e9cf0635c28a", + "id": "e5cc9398-afbf-40a2-a8b1-e9cf0635c28a" + }, + { + "memorySize": "NA", + "family": "Wireless Controller", + "description": "Cisco IOS Software [Dublin], C9800 Software (C9800_IOSXE-K9), Version 17.14.1, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Fri 05-Apr-24 00:11 by mcpre netconf enabled", + "lastUpdateTime": 1727037776332, + "macAddress": "cc:b6:c8:e2:29:0b", + "deviceSupportLevel": "Supported", + "softwareType": "IOS-XE", + "softwareVersion": "17.14.1", + "serialNumber": "FOX2639PAY7", + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "204.192.6.200", + "lastManagedResyncReasons": "Periodic", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Periodic", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": "62 days, 20:28:01.78", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": "2024-07-22 00:14:56", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9800 Series Wireless Controllers", + "snmpContact": "", + "snmpLocation": "", + "apManagerInterfaceIp": "", + "collectionStatus": "Managed", + "hostname": "NY-IAC-EWLC.cisco.local", + "locationName": null, + "managementIpAddress": "204.192.6.200", + "platformId": "C9800-40-K9", + "lastUpdated": "2024-09-22 20:42:56", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2024-09-22 20:42:09", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 5457840, + "vendor": "Cisco", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9800-40 Wireless Controller", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "71197925-1982-46d4-b569-e4cbbe8f06e7", + "id": "71197925-1982-46d4-b569-e4cbbe8f06e7" + }, + { + "memorySize": "NA", + "family": null, + "description": null, + "lastUpdateTime": 1727065128919, + "macAddress": null, + "deviceSupportLevel": "Unsupported", + "softwareType": null, + "softwareVersion": null, + "serialNumber": null, + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "2.2.2.2", + "lastManagedResyncReasons": "", + "managementState": "Never Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Device Added", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": null, + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": null, + "reachabilityFailureReason": "SNMP Connectivity Failed", + "reachabilityStatus": "Unreachable", + "series": null, + "snmpContact": null, + "snmpLocation": null, + "apManagerInterfaceIp": "", + "collectionStatus": "Could Not Synchronize", + "hostname": null, + "locationName": null, + "managementIpAddress": "2.2.2.2", + "platformId": null, + "lastUpdated": "2024-09-23 04:18:48", + "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 its 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": "2024-09-23 04:17:53", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": false, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": -1, + "vendor": "NA", + "waasDeviceMode": null, + "type": null, + "location": null, + "role": "UNKNOWN", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "e6c03497-4eda-423c-b47d-894f299cd143", + "id": "e6c03497-4eda-423c-b47d-894f299cd143" + } + ], + "version": "1.0" + }, + "get_device_list6_seema": { + "response": [], + "version": "1.0" + }, + "delete_device_response1_seema": { + "message": "Device '1.1.1.1' was successfully deleted from Cisco Catalyst Center" + }, + "playbook_provision_failed_for_site": [ + { + "provision_wired_device": [ + { + "device_ip": "204.1.2.2", + "resync_retry_count": 200, + "resync_retry_interval": 2, + "site_name": "Global/Chennai/LTTS/FLOOR1" + } + ] + } + ], + "get_device_list1_provision_failed_for_site": { + "response": [ + { + "memorySize": "NA", + "family": "Switches and Hubs", + "description": "Cisco IOS Software [Dublin], Catalyst L3 Switch Software (CAT9K_IOSXE), Version 17.14.1, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Fri 05-Apr-24 00:08 by mcpre", + "lastUpdateTime": 1726988571614, + "macAddress": "d4:ad:bd:c1:67:00", + "deviceSupportLevel": "Supported", + "softwareType": "IOS-XE", + "softwareVersion": "17.14.1", + "serialNumber": "FJC2327U0S2", + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "204.192.3.40", + "lastManagedResyncReasons": "Periodic", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Periodic", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": "9 days, 7:01:20.43", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": "2024-09-13 00:01:51", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9300 Series Switches", + "snmpContact": "", + "snmpLocation": "", + "apManagerInterfaceIp": "", + "collectionStatus": "Managed", + "hostname": "DC-FR-9300", + "locationName": null, + "managementIpAddress": "204.192.3.40", + "platformId": "C9300-24U", + "lastUpdated": "2024-09-22 07:02:51", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2024-09-22 07:02:19", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 815757, + "vendor": "Cisco", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9300 Switch", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "1e8ffc57-8a44-459f-b880-6b49d6b63aa4", + "id": "1e8ffc57-8a44-459f-b880-6b49d6b63aa4" + }, + { + "memorySize": "NA", + "family": "Switches and Hubs", + "description": "Cisco IOS Software [Dublin], Catalyst L3 Switch Software (CAT9K_IOSXE), Version 17.14.1, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Fri 05-Apr-24 00:08 by mcpre", + "lastUpdateTime": 1727001074830, + "macAddress": "00:b6:70:32:b8:00", + "deviceSupportLevel": "Supported", + "softwareType": "IOS-XE", + "softwareVersion": "17.14.1", + "serialNumber": "FCW2225C020", + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "204.1.2.5", + "lastManagedResyncReasons": "Link Up/Down Event", + "managementState": "Managed", + "pendingSyncRequestsCount": "1", + "reasonsForDeviceResync": "Link Up/Down Event", + "reasonsForPendingSyncRequests": "Link Up/Down Event", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": "3 days, 23:55:34.57", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": "2024-09-18 10:36:14", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9300 Series Switches", + "snmpContact": "", + "snmpLocation": "", + "apManagerInterfaceIp": "", + "collectionStatus": "In Progress", + "hostname": "DC-T-9300.cisco.local", + "locationName": null, + "managementIpAddress": "204.1.2.5", + "platformId": "C9300-24P", + "lastUpdated": "2024-09-22 10:31:14", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2024-09-22 10:36:53", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 345694, + "vendor": "Cisco", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9300 Switch", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "820bd13a-f565-4778-a320-9ec9f23b4725", + "id": "820bd13a-f565-4778-a320-9ec9f23b4725" + }, + { + "memorySize": "NA", + "family": "Switches and Hubs", + "description": "Cisco IOS Software [Dublin], Catalyst L3 Switch Software (CAT9K_IOSXE), Version 17.14.1, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Fri 05-Apr-24 00:08 by mcpre", + "lastUpdateTime": 1726942446622, + "macAddress": "0c:75:bd:41:14:00", + "deviceSupportLevel": "Supported", + "softwareType": "IOS-XE", + "softwareVersion": "17.14.1", + "serialNumber": "FJB2334D06N", + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "204.1.2.4", + "lastManagedResyncReasons": "Periodic", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Periodic", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": "8 days, 18:03:26.79", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": "2024-09-13 00:11:06", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9300 Series Switches", + "snmpContact": "", + "snmpLocation": "", + "apManagerInterfaceIp": "", + "collectionStatus": "Managed", + "hostname": "NY-BN-9300.cisco.local", + "locationName": null, + "managementIpAddress": "204.1.2.4", + "platformId": "C9300-48UXM, C9300-48UXM", + "lastUpdated": "2024-09-21 18:14:06", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2024-09-21 18:13:27", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 815202, + "vendor": "Cisco", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9300 Switch", + "location": null, + "role": "DISTRIBUTION", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "f19cf2b0-a9bb-4569-b140-e1d0e86d5226", + "id": "f19cf2b0-a9bb-4569-b140-e1d0e86d5226" + }, + { + "memorySize": "NA", + "family": "Switches and Hubs", + "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", + "lastUpdateTime": 1726992166495, + "macAddress": "90:88:55:07:59:00", + "deviceSupportLevel": "Supported", + "softwareType": "IOS-XE", + "softwareVersion": "17.12.2", + "serialNumber": "FJC271924K0, FJC271924EQ", + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "204.1.2.2", + "lastManagedResyncReasons": "Config Change Event", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Config Change Event", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": "9 days, 7:43:02.45", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": "2024-09-13 00:19:46", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9300 Series Switches", + "snmpContact": "", + "snmpLocation": "", + "apManagerInterfaceIp": "", + "collectionStatus": "Managed", + "hostname": "NY-EN-9300.cisco.local", + "locationName": null, + "managementIpAddress": "204.1.2.2", + "platformId": "C9300-48UXM, C9300-48UXM", + "lastUpdated": "2024-09-22 08:02:46", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2024-09-22 08:02:31", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 814682, + "vendor": "Cisco", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9300 Switch", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "e5cc9398-afbf-40a2-a8b1-e9cf0635c28a", + "id": "e5cc9398-afbf-40a2-a8b1-e9cf0635c28a" + }, + { + "memorySize": "NA", + "family": "Wireless Controller", + "description": "Cisco IOS Software [Dublin], C9800 Software (C9800_IOSXE-K9), Version 17.14.1, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Fri 05-Apr-24 00:11 by mcpre netconf enabled", + "lastUpdateTime": 1726951375938, + "macAddress": "cc:b6:c8:e2:29:0b", + "deviceSupportLevel": "Supported", + "softwareType": "IOS-XE", + "softwareVersion": "17.14.1", + "serialNumber": "FOX2639PAY7", + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "204.192.6.200", + "lastManagedResyncReasons": "Periodic", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Periodic", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": "61 days, 20:28:01.81", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": "2024-07-22 00:14:55", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9800 Series Wireless Controllers", + "snmpContact": "", + "snmpLocation": "", + "apManagerInterfaceIp": "", + "collectionStatus": "Managed", + "hostname": "NY-IAC-EWLC.cisco.local", + "locationName": null, + "managementIpAddress": "204.192.6.200", + "platformId": "C9800-40-K9", + "lastUpdated": "2024-09-21 20:42:55", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2024-09-21 20:42:09", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 5394173, + "vendor": "Cisco", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9800-40 Wireless Controller", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "71197925-1982-46d4-b569-e4cbbe8f06e7", + "id": "71197925-1982-46d4-b569-e4cbbe8f06e7" + }, + { + "memorySize": "NA", + "family": null, + "description": null, + "lastUpdateTime": 1726987504715, + "macAddress": null, + "deviceSupportLevel": "Unsupported", + "softwareType": null, + "softwareVersion": null, + "serialNumber": null, + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "80.2.2.2", + "lastManagedResyncReasons": "", + "managementState": "Never Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Device Added", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": null, + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": null, + "reachabilityFailureReason": "SNMP Connectivity Failed", + "reachabilityStatus": "Unreachable", + "series": null, + "snmpContact": null, + "snmpLocation": null, + "apManagerInterfaceIp": "", + "collectionStatus": "Could Not Synchronize", + "hostname": null, + "locationName": null, + "managementIpAddress": "80.2.2.2", + "platformId": null, + "lastUpdated": "2024-09-22 06:45:04", + "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 its 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": "2024-09-22 06:44:09", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": false, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": -1, + "vendor": "NA", + "waasDeviceMode": null, + "type": null, + "location": null, + "role": "UNKNOWN", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "e6d3dd02-0a02-433a-aa2d-a84c138ae02a", + "id": "e6d3dd02-0a02-433a-aa2d-a84c138ae02a" + }, + { + "memorySize": "NA", + "family": null, + "description": null, + "lastUpdateTime": 1726987504764, + "macAddress": null, + "deviceSupportLevel": "Unsupported", + "softwareType": null, + "softwareVersion": null, + "serialNumber": null, + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "70.2.2.2", + "lastManagedResyncReasons": "", + "managementState": "Never Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Device Added", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": null, + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": null, + "reachabilityFailureReason": "SNMP Connectivity Failed", + "reachabilityStatus": "Unreachable", + "series": null, + "snmpContact": null, + "snmpLocation": null, + "apManagerInterfaceIp": "", + "collectionStatus": "Could Not Synchronize", + "hostname": null, + "locationName": null, + "managementIpAddress": "70.2.2.2", + "platformId": null, + "lastUpdated": "2024-09-22 06:45:04", + "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 its 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": "2024-09-22 06:44:09", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": false, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": -1, + "vendor": "NA", + "waasDeviceMode": null, + "type": null, + "location": null, + "role": "UNKNOWN", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "0df6c472-98f6-400f-9465-399a30e0486e", + "id": "0df6c472-98f6-400f-9465-399a30e0486e" + } + ], + "version": "1.0" + }, + "get_device_list2_provision_failed_for_site": { + "response": [], + "version": "1.0" + }, + "povisioning_failed_response": { + "message": "Unable to Provision Wired Device(s) because the site(s) listed: Global/Chennai/LTTS/FLOOR1 are not present in the\n Cisco Catalyst Center." + }, + "playbook_add_udf": [ + { + "add_user_defined_field": [ + { + "name": "Test123" + } + ], + "ip_address_list": [ + "70.2.2.2", + "80.2.2.2" + ] + } + ], + "get_device_list1_add_udf": { + "response": [ + { + "memorySize": "NA", + "family": "Switches and Hubs", + "description": "Cisco IOS Software [Dublin], Catalyst L3 Switch Software (CAT9K_IOSXE), Version 17.14.1, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Fri 05-Apr-24 00:08 by mcpre", + "lastUpdateTime": 1726988571614, + "macAddress": "d4:ad:bd:c1:67:00", + "deviceSupportLevel": "Supported", + "softwareType": "IOS-XE", + "softwareVersion": "17.14.1", + "serialNumber": "FJC2327U0S2", + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "204.192.3.40", + "lastManagedResyncReasons": "Periodic", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Periodic", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": "9 days, 7:01:20.43", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": "2024-09-13 00:01:51", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9300 Series Switches", + "snmpContact": "", + "snmpLocation": "", + "apManagerInterfaceIp": "", + "collectionStatus": "Managed", + "hostname": "DC-FR-9300", + "locationName": null, + "managementIpAddress": "204.192.3.40", + "platformId": "C9300-24U", + "lastUpdated": "2024-09-22 07:02:51", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2024-09-22 07:02:19", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 812232, + "vendor": "Cisco", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9300 Switch", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "1e8ffc57-8a44-459f-b880-6b49d6b63aa4", + "id": "1e8ffc57-8a44-459f-b880-6b49d6b63aa4" + }, + { + "memorySize": "NA", + "family": "Switches and Hubs", + "description": "Cisco IOS Software [Dublin], Catalyst L3 Switch Software (CAT9K_IOSXE), Version 17.14.1, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Fri 05-Apr-24 00:08 by mcpre", + "lastUpdateTime": 1726997776794, + "macAddress": "00:b6:70:32:b8:00", + "deviceSupportLevel": "Supported", + "softwareType": "IOS-XE", + "softwareVersion": "17.14.1", + "serialNumber": "FCW2225C020", + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "204.1.2.5", + "lastManagedResyncReasons": "Link Up/Down Event", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Link Up/Down Event", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": "3 days, 22:57:13.36", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": "2024-09-18 10:39:16", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9300 Series Switches", + "snmpContact": "", + "snmpLocation": "", + "apManagerInterfaceIp": "", + "collectionStatus": "Managed", + "hostname": "DC-T-9300.cisco.local", + "locationName": null, + "managementIpAddress": "204.1.2.5", + "platformId": "C9300-24P", + "lastUpdated": "2024-09-22 09:36:16", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2024-09-22 09:32:21", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 341987, + "vendor": "Cisco", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9300 Switch", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "820bd13a-f565-4778-a320-9ec9f23b4725", + "id": "820bd13a-f565-4778-a320-9ec9f23b4725" + }, + { + "memorySize": "NA", + "family": "Switches and Hubs", + "description": "Cisco IOS Software [Dublin], Catalyst L3 Switch Software (CAT9K_IOSXE), Version 17.14.1, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Fri 05-Apr-24 00:08 by mcpre", + "lastUpdateTime": 1726942446622, + "macAddress": "0c:75:bd:41:14:00", + "deviceSupportLevel": "Supported", + "softwareType": "IOS-XE", + "softwareVersion": "17.14.1", + "serialNumber": "FJB2334D06N", + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "204.1.2.4", + "lastManagedResyncReasons": "Periodic", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Periodic", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": "8 days, 18:03:26.79", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": "2024-09-13 00:11:06", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9300 Series Switches", + "snmpContact": "", + "snmpLocation": "", + "apManagerInterfaceIp": "", + "collectionStatus": "Managed", + "hostname": "NY-BN-9300.cisco.local", + "locationName": null, + "managementIpAddress": "204.1.2.4", + "platformId": "C9300-48UXM, C9300-48UXM", + "lastUpdated": "2024-09-21 18:14:06", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2024-09-21 18:13:27", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 811677, + "vendor": "Cisco", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9300 Switch", + "location": null, + "role": "DISTRIBUTION", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "f19cf2b0-a9bb-4569-b140-e1d0e86d5226", + "id": "f19cf2b0-a9bb-4569-b140-e1d0e86d5226" + }, + { + "memorySize": "NA", + "family": "Switches and Hubs", + "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", + "lastUpdateTime": 1726992166495, + "macAddress": "90:88:55:07:59:00", + "deviceSupportLevel": "Supported", + "softwareType": "IOS-XE", + "softwareVersion": "17.12.2", + "serialNumber": "FJC271924K0, FJC271924EQ", + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "204.1.2.2", + "lastManagedResyncReasons": "Config Change Event", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Config Change Event", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": "9 days, 7:43:02.45", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": "2024-09-13 00:19:46", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9300 Series Switches", + "snmpContact": "", + "snmpLocation": "", + "apManagerInterfaceIp": "", + "collectionStatus": "Managed", + "hostname": "NY-EN-9300.cisco.local", + "locationName": null, + "managementIpAddress": "204.1.2.2", + "platformId": "C9300-48UXM, C9300-48UXM", + "lastUpdated": "2024-09-22 08:02:46", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2024-09-22 08:02:31", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 811157, + "vendor": "Cisco", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9300 Switch", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "e5cc9398-afbf-40a2-a8b1-e9cf0635c28a", + "id": "e5cc9398-afbf-40a2-a8b1-e9cf0635c28a" + }, + { + "memorySize": "NA", + "family": "Wireless Controller", + "description": "Cisco IOS Software [Dublin], C9800 Software (C9800_IOSXE-K9), Version 17.14.1, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Fri 05-Apr-24 00:11 by mcpre netconf enabled", + "lastUpdateTime": 1726951375938, + "macAddress": "cc:b6:c8:e2:29:0b", + "deviceSupportLevel": "Supported", + "softwareType": "IOS-XE", + "softwareVersion": "17.14.1", + "serialNumber": "FOX2639PAY7", + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "204.192.6.200", + "lastManagedResyncReasons": "Periodic", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Periodic", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": "61 days, 20:28:01.81", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": "2024-07-22 00:14:55", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9800 Series Wireless Controllers", + "snmpContact": "", + "snmpLocation": "", + "apManagerInterfaceIp": "", + "collectionStatus": "Managed", + "hostname": "NY-IAC-EWLC.cisco.local", + "locationName": null, + "managementIpAddress": "204.192.6.200", + "platformId": "C9800-40-K9", + "lastUpdated": "2024-09-21 20:42:55", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2024-09-21 20:42:09", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 5390648, + "vendor": "Cisco", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9800-40 Wireless Controller", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "71197925-1982-46d4-b569-e4cbbe8f06e7", + "id": "71197925-1982-46d4-b569-e4cbbe8f06e7" + }, + { + "memorySize": "NA", + "family": null, + "description": null, + "lastUpdateTime": 1726987504715, + "macAddress": null, + "deviceSupportLevel": "Unsupported", + "softwareType": null, + "softwareVersion": null, + "serialNumber": null, + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "80.2.2.2", + "lastManagedResyncReasons": "", + "managementState": "Never Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Device Added", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": null, + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": null, + "reachabilityFailureReason": "SNMP Connectivity Failed", + "reachabilityStatus": "Unreachable", + "series": null, + "snmpContact": null, + "snmpLocation": null, + "apManagerInterfaceIp": "", + "collectionStatus": "Could Not Synchronize", + "hostname": null, + "locationName": null, + "managementIpAddress": "80.2.2.2", + "platformId": null, + "lastUpdated": "2024-09-22 06:45:04", + "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 its 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": "2024-09-22 06:44:09", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": false, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": -1, + "vendor": "NA", + "waasDeviceMode": null, + "type": null, + "location": null, + "role": "UNKNOWN", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "e6d3dd02-0a02-433a-aa2d-a84c138ae02a", + "id": "e6d3dd02-0a02-433a-aa2d-a84c138ae02a" + }, + { + "memorySize": "NA", + "family": null, + "description": null, + "lastUpdateTime": 1726987504764, + "macAddress": null, + "deviceSupportLevel": "Unsupported", + "softwareType": null, + "softwareVersion": null, + "serialNumber": null, + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "70.2.2.2", + "lastManagedResyncReasons": "", + "managementState": "Never Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Device Added", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": null, + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": null, + "reachabilityFailureReason": "SNMP Connectivity Failed", + "reachabilityStatus": "Unreachable", + "series": null, + "snmpContact": null, + "snmpLocation": null, + "apManagerInterfaceIp": "", + "collectionStatus": "Could Not Synchronize", + "hostname": null, + "locationName": null, + "managementIpAddress": "70.2.2.2", + "platformId": null, + "lastUpdated": "2024-09-22 06:45:04", + "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 its 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": "2024-09-22 06:44:09", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": false, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": -1, + "vendor": "NA", + "waasDeviceMode": null, + "type": null, + "location": null, + "role": "UNKNOWN", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "0df6c472-98f6-400f-9465-399a30e0486e", + "id": "0df6c472-98f6-400f-9465-399a30e0486e" + } + ], + "version": "1.0" + }, + "get_device_list2_add_udf": { + "response": [], + "version": "1.0" + }, + "get_all_user_defined_fields": { + "response": [], + "version": "1.0" + }, + "create_user_defined_field": { + "response": { + "taskId": "01921919-5afb-772a-956a-539662990438", + "url": "/api/v1/task/01921919-5afb-772a-956a-539662990438" + }, + "version": "1.0" + }, + "get_device_list3_add_udf": { + "response": [ + { + "memorySize": "NA", + "family": null, + "description": null, + "lastUpdateTime": 1726987504764, + "macAddress": null, + "deviceSupportLevel": "Unsupported", + "softwareType": null, + "softwareVersion": null, + "serialNumber": null, + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "70.2.2.2", + "lastManagedResyncReasons": "", + "managementState": "Never Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Device Added", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": null, + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": null, + "reachabilityFailureReason": "SNMP Connectivity Failed", + "reachabilityStatus": "Unreachable", + "series": null, + "snmpContact": null, + "snmpLocation": null, + "apManagerInterfaceIp": "", + "collectionStatus": "Could Not Synchronize", + "hostname": null, + "locationName": null, + "managementIpAddress": "70.2.2.2", + "platformId": null, + "lastUpdated": "2024-09-22 06:45:04", + "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 its 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": "2024-09-22 06:44:09", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": false, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": -1, + "vendor": "NA", + "waasDeviceMode": null, + "type": null, + "location": null, + "role": "UNKNOWN", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "0df6c472-98f6-400f-9465-399a30e0486e", + "id": "0df6c472-98f6-400f-9465-399a30e0486e" + } + ], + "version": "1.0" + }, + "get_device_list4_add_udf": { + "response": [ + { + "memorySize": "NA", + "family": null, + "description": null, + "lastUpdateTime": 1726987504715, + "macAddress": null, + "deviceSupportLevel": "Unsupported", + "softwareType": null, + "softwareVersion": null, + "serialNumber": null, + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "80.2.2.2", + "lastManagedResyncReasons": "", + "managementState": "Never Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Device Added", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": null, + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": null, + "reachabilityFailureReason": "SNMP Connectivity Failed", + "reachabilityStatus": "Unreachable", + "series": null, + "snmpContact": null, + "snmpLocation": null, + "apManagerInterfaceIp": "", + "collectionStatus": "Could Not Synchronize", + "hostname": null, + "locationName": null, + "managementIpAddress": "80.2.2.2", + "platformId": null, + "lastUpdated": "2024-09-22 06:45:04", + "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 its 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": "2024-09-22 06:44:09", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": false, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": -1, + "vendor": "NA", + "waasDeviceMode": null, + "type": null, + "location": null, + "role": "UNKNOWN", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "e6d3dd02-0a02-433a-aa2d-a84c138ae02a", + "id": "e6d3dd02-0a02-433a-aa2d-a84c138ae02a" + } + ], + "version": "1.0" + }, + "add_user_defined_field_to_device1": { + "response": { + "taskId": "01921919-5ee1-74a0-96bc-a5a949735829", + "url": "/api/v1/task/01921919-5ee1-74a0-96bc-a5a949735829" + }, + "version": "1.0" + }, + "add_user_defined_field_to_device2": { + "response": { + "taskId": "01921919-603c-7b17-857b-c1bed1fff101", + "url": "/api/v1/task/01921919-603c-7b17-857b-c1bed1fff101" + }, + "version": "1.0" + }, + "get_device_list5_add_udf": { + "response": [ + { + "memorySize": "NA", + "family": "Switches and Hubs", + "description": "Cisco IOS Software [Dublin], Catalyst L3 Switch Software (CAT9K_IOSXE), Version 17.14.1, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Fri 05-Apr-24 00:08 by mcpre", + "lastUpdateTime": 1726988571614, + "macAddress": "d4:ad:bd:c1:67:00", + "deviceSupportLevel": "Supported", + "softwareType": "IOS-XE", + "softwareVersion": "17.14.1", + "serialNumber": "FJC2327U0S2", + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "204.192.3.40", + "lastManagedResyncReasons": "Periodic", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Periodic", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": "9 days, 7:01:20.43", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": "2024-09-13 00:01:51", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9300 Series Switches", + "snmpContact": "", + "snmpLocation": "", + "apManagerInterfaceIp": "", + "collectionStatus": "Managed", + "hostname": "DC-FR-9300", + "locationName": null, + "managementIpAddress": "204.192.3.40", + "platformId": "C9300-24U", + "lastUpdated": "2024-09-22 07:02:51", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2024-09-22 07:02:19", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 812235, + "vendor": "Cisco", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9300 Switch", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "1e8ffc57-8a44-459f-b880-6b49d6b63aa4", + "id": "1e8ffc57-8a44-459f-b880-6b49d6b63aa4" + }, + { + "memorySize": "NA", + "family": "Switches and Hubs", + "description": "Cisco IOS Software [Dublin], Catalyst L3 Switch Software (CAT9K_IOSXE), Version 17.14.1, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Fri 05-Apr-24 00:08 by mcpre", + "lastUpdateTime": 1726997776794, + "macAddress": "00:b6:70:32:b8:00", + "deviceSupportLevel": "Supported", + "softwareType": "IOS-XE", + "softwareVersion": "17.14.1", + "serialNumber": "FCW2225C020", + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "204.1.2.5", + "lastManagedResyncReasons": "Link Up/Down Event", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Link Up/Down Event", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": "3 days, 22:57:13.36", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": "2024-09-18 10:39:16", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9300 Series Switches", + "snmpContact": "", + "snmpLocation": "", + "apManagerInterfaceIp": "", + "collectionStatus": "Managed", + "hostname": "DC-T-9300.cisco.local", + "locationName": null, + "managementIpAddress": "204.1.2.5", + "platformId": "C9300-24P", + "lastUpdated": "2024-09-22 09:36:16", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2024-09-22 09:32:21", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 341990, + "vendor": "Cisco", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9300 Switch", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "820bd13a-f565-4778-a320-9ec9f23b4725", + "id": "820bd13a-f565-4778-a320-9ec9f23b4725" + }, + { + "memorySize": "NA", + "family": "Switches and Hubs", + "description": "Cisco IOS Software [Dublin], Catalyst L3 Switch Software (CAT9K_IOSXE), Version 17.14.1, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Fri 05-Apr-24 00:08 by mcpre", + "lastUpdateTime": 1726942446622, + "macAddress": "0c:75:bd:41:14:00", + "deviceSupportLevel": "Supported", + "softwareType": "IOS-XE", + "softwareVersion": "17.14.1", + "serialNumber": "FJB2334D06N", + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "204.1.2.4", + "lastManagedResyncReasons": "Periodic", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Periodic", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": "8 days, 18:03:26.79", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": "2024-09-13 00:11:06", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9300 Series Switches", + "snmpContact": "", + "snmpLocation": "", + "apManagerInterfaceIp": "", + "collectionStatus": "Managed", + "hostname": "NY-BN-9300.cisco.local", + "locationName": null, + "managementIpAddress": "204.1.2.4", + "platformId": "C9300-48UXM, C9300-48UXM", + "lastUpdated": "2024-09-21 18:14:06", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2024-09-21 18:13:27", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 811680, + "vendor": "Cisco", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9300 Switch", + "location": null, + "role": "DISTRIBUTION", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "f19cf2b0-a9bb-4569-b140-e1d0e86d5226", + "id": "f19cf2b0-a9bb-4569-b140-e1d0e86d5226" + }, + { + "memorySize": "NA", + "family": "Switches and Hubs", + "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", + "lastUpdateTime": 1726992166495, + "macAddress": "90:88:55:07:59:00", + "deviceSupportLevel": "Supported", + "softwareType": "IOS-XE", + "softwareVersion": "17.12.2", + "serialNumber": "FJC271924K0, FJC271924EQ", + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "204.1.2.2", + "lastManagedResyncReasons": "Config Change Event", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Config Change Event", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": "9 days, 7:43:02.45", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": "2024-09-13 00:19:46", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9300 Series Switches", + "snmpContact": "", + "snmpLocation": "", + "apManagerInterfaceIp": "", + "collectionStatus": "Managed", + "hostname": "NY-EN-9300.cisco.local", + "locationName": null, + "managementIpAddress": "204.1.2.2", + "platformId": "C9300-48UXM, C9300-48UXM", + "lastUpdated": "2024-09-22 08:02:46", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2024-09-22 08:02:31", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 811160, + "vendor": "Cisco", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9300 Switch", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "e5cc9398-afbf-40a2-a8b1-e9cf0635c28a", + "id": "e5cc9398-afbf-40a2-a8b1-e9cf0635c28a" + }, + { + "memorySize": "NA", + "family": "Wireless Controller", + "description": "Cisco IOS Software [Dublin], C9800 Software (C9800_IOSXE-K9), Version 17.14.1, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Fri 05-Apr-24 00:11 by mcpre netconf enabled", + "lastUpdateTime": 1726951375938, + "macAddress": "cc:b6:c8:e2:29:0b", + "deviceSupportLevel": "Supported", + "softwareType": "IOS-XE", + "softwareVersion": "17.14.1", + "serialNumber": "FOX2639PAY7", + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "204.192.6.200", + "lastManagedResyncReasons": "Periodic", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Periodic", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": "61 days, 20:28:01.81", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": "2024-07-22 00:14:55", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9800 Series Wireless Controllers", + "snmpContact": "", + "snmpLocation": "", + "apManagerInterfaceIp": "", + "collectionStatus": "Managed", + "hostname": "NY-IAC-EWLC.cisco.local", + "locationName": null, + "managementIpAddress": "204.192.6.200", + "platformId": "C9800-40-K9", + "lastUpdated": "2024-09-21 20:42:55", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2024-09-21 20:42:09", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 5390651, + "vendor": "Cisco", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9800-40 Wireless Controller", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "71197925-1982-46d4-b569-e4cbbe8f06e7", + "id": "71197925-1982-46d4-b569-e4cbbe8f06e7" + }, + { + "memorySize": "NA", + "family": null, + "description": null, + "lastUpdateTime": 1726987504715, + "macAddress": null, + "deviceSupportLevel": "Unsupported", + "softwareType": null, + "softwareVersion": null, + "serialNumber": null, + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "80.2.2.2", + "lastManagedResyncReasons": "", + "managementState": "Never Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Device Added", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": null, + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": null, + "reachabilityFailureReason": "SNMP Connectivity Failed", + "reachabilityStatus": "Unreachable", + "series": null, + "snmpContact": null, + "snmpLocation": null, + "apManagerInterfaceIp": "", + "collectionStatus": "Could Not Synchronize", + "hostname": null, + "locationName": null, + "managementIpAddress": "80.2.2.2", + "platformId": null, + "lastUpdated": "2024-09-22 06:45:04", + "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 its 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": "2024-09-22 06:44:09", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": false, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": -1, + "vendor": "NA", + "waasDeviceMode": null, + "type": null, + "location": null, + "role": "UNKNOWN", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "e6d3dd02-0a02-433a-aa2d-a84c138ae02a", + "id": "e6d3dd02-0a02-433a-aa2d-a84c138ae02a" + }, + { + "memorySize": "NA", + "family": null, + "description": null, + "lastUpdateTime": 1726987504764, + "macAddress": null, + "deviceSupportLevel": "Unsupported", + "softwareType": null, + "softwareVersion": null, + "serialNumber": null, + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "70.2.2.2", + "lastManagedResyncReasons": "", + "managementState": "Never Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Device Added", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": null, + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": null, + "reachabilityFailureReason": "SNMP Connectivity Failed", + "reachabilityStatus": "Unreachable", + "series": null, + "snmpContact": null, + "snmpLocation": null, + "apManagerInterfaceIp": "", + "collectionStatus": "Could Not Synchronize", + "hostname": null, + "locationName": null, + "managementIpAddress": "70.2.2.2", + "platformId": null, + "lastUpdated": "2024-09-22 06:45:04", + "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 its 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": "2024-09-22 06:44:09", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": false, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": -1, + "vendor": "NA", + "waasDeviceMode": null, + "type": null, + "location": null, + "role": "UNKNOWN", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "0df6c472-98f6-400f-9465-399a30e0486e", + "id": "0df6c472-98f6-400f-9465-399a30e0486e" + } + ], + "version": "1.0" + }, + "get_device_list6_add_udf": { + "response": [], + "version": "1.0" + }, + "get_all_user_defined_fields2": { + "response": [ + { + "id": "4ab65e26-a073-40ae-9e2d-8df54e2175df", + "name": "Test123", + "description": null + } + ], + "version": "1.0" + }, + "add_udf_response": { + "message": "Device(s) '['60.1.1.1', '50.1.1.1']' added to Cisco Catalyst Center" + }, + "playbook_add_existing_devices": [ + { + "cli_transport": "ssh", + "compute_device": false, + "enable_password": "Test@1234", + "extended_discovery_info": "test", + "http_password": "test", + "http_port": "443", + "http_secure": false, + "http_username": "testuser", + "ip_address_list": [ + "70.2.2.2", + "80.2.2.2" + ], + "netconf_port": 830, + "password": "Test@123", + "snmp_auth_passphrase": "Lablab@12", + "snmp_auth_protocol": "SHA", + "snmp_mode": "AUTHPRIV", + "snmp_priv_passphrase": "Lablab@123", + "snmp_priv_protocol": "AES256", + "snmp_retry": 3, + "snmp_timeout": 5, + "snmp_username": "v3Public", + "snmp_version": "v3", + "type": "NETWORK_DEVICE", + "username": "cisco" + } + ], + "get_device_list1_existing_devices": { + "response": [ + { + "memorySize": "NA", + "family": "Switches and Hubs", + "description": "Cisco IOS Software [Dublin], Catalyst L3 Switch Software (CAT9K_IOSXE), Version 17.14.1, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Fri 05-Apr-24 00:08 by mcpre", + "lastUpdateTime": 1726988571614, + "macAddress": "d4:ad:bd:c1:67:00", + "deviceSupportLevel": "Supported", + "softwareType": "IOS-XE", + "softwareVersion": "17.14.1", + "serialNumber": "FJC2327U0S2", + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "204.192.3.40", + "lastManagedResyncReasons": "Periodic", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Periodic", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": "9 days, 7:01:20.43", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": "2024-09-13 00:01:51", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9300 Series Switches", + "snmpContact": "", + "snmpLocation": "", + "apManagerInterfaceIp": "", + "collectionStatus": "Managed", + "hostname": "DC-FR-9300", + "locationName": null, + "managementIpAddress": "204.192.3.40", + "platformId": "C9300-24U", + "lastUpdated": "2024-09-22 07:02:51", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2024-09-22 07:02:19", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 809100, + "vendor": "Cisco", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9300 Switch", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "1e8ffc57-8a44-459f-b880-6b49d6b63aa4", + "id": "1e8ffc57-8a44-459f-b880-6b49d6b63aa4" + }, + { + "memorySize": "NA", + "family": "Switches and Hubs", + "description": "Cisco IOS Software [Dublin], Catalyst L3 Switch Software (CAT9K_IOSXE), Version 17.14.1, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Fri 05-Apr-24 00:08 by mcpre", + "lastUpdateTime": 1726994640200, + "macAddress": "00:b6:70:32:b8:00", + "deviceSupportLevel": "Supported", + "softwareType": "IOS-XE", + "softwareVersion": "17.14.1", + "serialNumber": "FCW2225C020", + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "204.1.2.5", + "lastManagedResyncReasons": "Link Up/Down Event", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Link Up/Down Event", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": "3 days, 22:08:02.23", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": "2024-09-18 10:36:00", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9300 Series Switches", + "snmpContact": "", + "snmpLocation": "", + "apManagerInterfaceIp": "", + "collectionStatus": "Managed", + "hostname": "DC-T-9300.cisco.local", + "locationName": null, + "managementIpAddress": "204.1.2.5", + "platformId": "C9300-24P", + "lastUpdated": "2024-09-22 08:44:00", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2024-09-22 08:42:30", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 339051, + "vendor": "Cisco", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9300 Switch", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "820bd13a-f565-4778-a320-9ec9f23b4725", + "id": "820bd13a-f565-4778-a320-9ec9f23b4725" + }, + { + "memorySize": "NA", + "family": "Switches and Hubs", + "description": "Cisco IOS Software [Dublin], Catalyst L3 Switch Software (CAT9K_IOSXE), Version 17.14.1, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Fri 05-Apr-24 00:08 by mcpre", + "lastUpdateTime": 1726942446622, + "macAddress": "0c:75:bd:41:14:00", + "deviceSupportLevel": "Supported", + "softwareType": "IOS-XE", + "softwareVersion": "17.14.1", + "serialNumber": "FJB2334D06N", + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "204.1.2.4", + "lastManagedResyncReasons": "Periodic", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Periodic", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": "8 days, 18:03:26.79", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": "2024-09-13 00:11:06", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9300 Series Switches", + "snmpContact": "", + "snmpLocation": "", + "apManagerInterfaceIp": "", + "collectionStatus": "Managed", + "hostname": "NY-BN-9300.cisco.local", + "locationName": null, + "managementIpAddress": "204.1.2.4", + "platformId": "C9300-48UXM, C9300-48UXM", + "lastUpdated": "2024-09-21 18:14:06", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2024-09-21 18:13:27", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 808545, + "vendor": "Cisco", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9300 Switch", + "location": null, + "role": "DISTRIBUTION", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "f19cf2b0-a9bb-4569-b140-e1d0e86d5226", + "id": "f19cf2b0-a9bb-4569-b140-e1d0e86d5226" + }, + { + "memorySize": "NA", + "family": "Switches and Hubs", + "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", + "lastUpdateTime": 1726992166495, + "macAddress": "90:88:55:07:59:00", + "deviceSupportLevel": "Supported", + "softwareType": "IOS-XE", + "softwareVersion": "17.12.2", + "serialNumber": "FJC271924K0, FJC271924EQ", + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "204.1.2.2", + "lastManagedResyncReasons": "Config Change Event", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Config Change Event", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": "9 days, 7:43:02.45", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": "2024-09-13 00:19:46", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9300 Series Switches", + "snmpContact": "", + "snmpLocation": "", + "apManagerInterfaceIp": "", + "collectionStatus": "Managed", + "hostname": "NY-EN-9300.cisco.local", + "locationName": null, + "managementIpAddress": "204.1.2.2", + "platformId": "C9300-48UXM, C9300-48UXM", + "lastUpdated": "2024-09-22 08:02:46", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2024-09-22 08:02:31", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 808025, + "vendor": "Cisco", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9300 Switch", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "e5cc9398-afbf-40a2-a8b1-e9cf0635c28a", + "id": "e5cc9398-afbf-40a2-a8b1-e9cf0635c28a" + }, + { + "memorySize": "NA", + "family": "Wireless Controller", + "description": "Cisco IOS Software [Dublin], C9800 Software (C9800_IOSXE-K9), Version 17.14.1, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Fri 05-Apr-24 00:11 by mcpre netconf enabled", + "lastUpdateTime": 1726951375938, + "macAddress": "cc:b6:c8:e2:29:0b", + "deviceSupportLevel": "Supported", + "softwareType": "IOS-XE", + "softwareVersion": "17.14.1", + "serialNumber": "FOX2639PAY7", + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "204.192.6.200", + "lastManagedResyncReasons": "Periodic", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Periodic", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": "61 days, 20:28:01.81", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": "2024-07-22 00:14:55", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9800 Series Wireless Controllers", + "snmpContact": "", + "snmpLocation": "", + "apManagerInterfaceIp": "", + "collectionStatus": "Managed", + "hostname": "NY-IAC-EWLC.cisco.local", + "locationName": null, + "managementIpAddress": "204.192.6.200", + "platformId": "C9800-40-K9", + "lastUpdated": "2024-09-21 20:42:55", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2024-09-21 20:42:09", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 5387515, + "vendor": "Cisco", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9800-40 Wireless Controller", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "71197925-1982-46d4-b569-e4cbbe8f06e7", + "id": "71197925-1982-46d4-b569-e4cbbe8f06e7" + }, + { + "memorySize": "NA", + "family": null, + "description": null, + "lastUpdateTime": 1726987504715, + "macAddress": null, + "deviceSupportLevel": "Unsupported", + "softwareType": null, + "softwareVersion": null, + "serialNumber": null, + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "80.2.2.2", + "lastManagedResyncReasons": "", + "managementState": "Never Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Device Added", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": null, + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": null, + "reachabilityFailureReason": "SNMP Connectivity Failed", + "reachabilityStatus": "Unreachable", + "series": null, + "snmpContact": null, + "snmpLocation": null, + "apManagerInterfaceIp": "", + "collectionStatus": "Could Not Synchronize", + "hostname": null, + "locationName": null, + "managementIpAddress": "80.2.2.2", + "platformId": null, + "lastUpdated": "2024-09-22 06:45:04", + "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 its 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": "2024-09-22 06:44:09", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": false, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": -1, + "vendor": "NA", + "waasDeviceMode": null, + "type": null, + "location": null, + "role": "UNKNOWN", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "e6d3dd02-0a02-433a-aa2d-a84c138ae02a", + "id": "e6d3dd02-0a02-433a-aa2d-a84c138ae02a" + }, + { + "memorySize": "NA", + "family": null, + "description": null, + "lastUpdateTime": 1726987504764, + "macAddress": null, + "deviceSupportLevel": "Unsupported", + "softwareType": null, + "softwareVersion": null, + "serialNumber": null, + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "70.2.2.2", + "lastManagedResyncReasons": "", + "managementState": "Never Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Device Added", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": null, + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": null, + "reachabilityFailureReason": "SNMP Connectivity Failed", + "reachabilityStatus": "Unreachable", + "series": null, + "snmpContact": null, + "snmpLocation": null, + "apManagerInterfaceIp": "", + "collectionStatus": "Could Not Synchronize", + "hostname": null, + "locationName": null, + "managementIpAddress": "70.2.2.2", + "platformId": null, + "lastUpdated": "2024-09-22 06:45:04", + "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 its 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": "2024-09-22 06:44:09", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": false, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": -1, + "vendor": "NA", + "waasDeviceMode": null, + "type": null, + "location": null, + "role": "UNKNOWN", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "0df6c472-98f6-400f-9465-399a30e0486e", + "id": "0df6c472-98f6-400f-9465-399a30e0486e" + } + ], + "version": "1.0" + }, + "get_device_list2_existing_devices": { + "response": [], + "version": "1.0" + }, + "get_device_list3_existing_devices": { + "response": [ + { + "memorySize": "NA", + "family": "Switches and Hubs", + "description": "Cisco IOS Software [Dublin], Catalyst L3 Switch Software (CAT9K_IOSXE), Version 17.14.1, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Fri 05-Apr-24 00:08 by mcpre", + "lastUpdateTime": 1726988571614, + "macAddress": "d4:ad:bd:c1:67:00", + "deviceSupportLevel": "Supported", + "softwareType": "IOS-XE", + "softwareVersion": "17.14.1", + "serialNumber": "FJC2327U0S2", + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "204.192.3.40", + "lastManagedResyncReasons": "Periodic", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Periodic", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": "9 days, 7:01:20.43", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": "2024-09-13 00:01:51", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9300 Series Switches", + "snmpContact": "", + "snmpLocation": "", + "apManagerInterfaceIp": "", + "collectionStatus": "Managed", + "hostname": "DC-FR-9300", + "locationName": null, + "managementIpAddress": "204.192.3.40", + "platformId": "C9300-24U", + "lastUpdated": "2024-09-22 07:02:51", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2024-09-22 07:02:19", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 809100, + "vendor": "Cisco", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9300 Switch", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "1e8ffc57-8a44-459f-b880-6b49d6b63aa4", + "id": "1e8ffc57-8a44-459f-b880-6b49d6b63aa4" + }, + { + "memorySize": "NA", + "family": "Switches and Hubs", + "description": "Cisco IOS Software [Dublin], Catalyst L3 Switch Software (CAT9K_IOSXE), Version 17.14.1, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Fri 05-Apr-24 00:08 by mcpre", + "lastUpdateTime": 1726994640200, + "macAddress": "00:b6:70:32:b8:00", + "deviceSupportLevel": "Supported", + "softwareType": "IOS-XE", + "softwareVersion": "17.14.1", + "serialNumber": "FCW2225C020", + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "204.1.2.5", + "lastManagedResyncReasons": "Link Up/Down Event", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Link Up/Down Event", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": "3 days, 22:08:02.23", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": "2024-09-18 10:36:00", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9300 Series Switches", + "snmpContact": "", + "snmpLocation": "", + "apManagerInterfaceIp": "", + "collectionStatus": "Managed", + "hostname": "DC-T-9300.cisco.local", + "locationName": null, + "managementIpAddress": "204.1.2.5", + "platformId": "C9300-24P", + "lastUpdated": "2024-09-22 08:44:00", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2024-09-22 08:42:30", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 339052, + "vendor": "Cisco", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9300 Switch", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "820bd13a-f565-4778-a320-9ec9f23b4725", + "id": "820bd13a-f565-4778-a320-9ec9f23b4725" + }, + { + "memorySize": "NA", + "family": "Switches and Hubs", + "description": "Cisco IOS Software [Dublin], Catalyst L3 Switch Software (CAT9K_IOSXE), Version 17.14.1, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Fri 05-Apr-24 00:08 by mcpre", + "lastUpdateTime": 1726942446622, + "macAddress": "0c:75:bd:41:14:00", + "deviceSupportLevel": "Supported", + "softwareType": "IOS-XE", + "softwareVersion": "17.14.1", + "serialNumber": "FJB2334D06N", + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "204.1.2.4", + "lastManagedResyncReasons": "Periodic", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Periodic", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": "8 days, 18:03:26.79", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": "2024-09-13 00:11:06", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9300 Series Switches", + "snmpContact": "", + "snmpLocation": "", + "apManagerInterfaceIp": "", + "collectionStatus": "Managed", + "hostname": "NY-BN-9300.cisco.local", + "locationName": null, + "managementIpAddress": "204.1.2.4", + "platformId": "C9300-48UXM, C9300-48UXM", + "lastUpdated": "2024-09-21 18:14:06", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2024-09-21 18:13:27", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 808545, + "vendor": "Cisco", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9300 Switch", + "location": null, + "role": "DISTRIBUTION", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "f19cf2b0-a9bb-4569-b140-e1d0e86d5226", + "id": "f19cf2b0-a9bb-4569-b140-e1d0e86d5226" + }, + { + "memorySize": "NA", + "family": "Switches and Hubs", + "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", + "lastUpdateTime": 1726992166495, + "macAddress": "90:88:55:07:59:00", + "deviceSupportLevel": "Supported", + "softwareType": "IOS-XE", + "softwareVersion": "17.12.2", + "serialNumber": "FJC271924K0, FJC271924EQ", + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "204.1.2.2", + "lastManagedResyncReasons": "Config Change Event", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Config Change Event", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": "9 days, 7:43:02.45", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": "2024-09-13 00:19:46", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9300 Series Switches", + "snmpContact": "", + "snmpLocation": "", + "apManagerInterfaceIp": "", + "collectionStatus": "Managed", + "hostname": "NY-EN-9300.cisco.local", + "locationName": null, + "managementIpAddress": "204.1.2.2", + "platformId": "C9300-48UXM, C9300-48UXM", + "lastUpdated": "2024-09-22 08:02:46", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2024-09-22 08:02:31", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 808026, + "vendor": "Cisco", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9300 Switch", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "e5cc9398-afbf-40a2-a8b1-e9cf0635c28a", + "id": "e5cc9398-afbf-40a2-a8b1-e9cf0635c28a" + }, + { + "memorySize": "NA", + "family": "Wireless Controller", + "description": "Cisco IOS Software [Dublin], C9800 Software (C9800_IOSXE-K9), Version 17.14.1, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Fri 05-Apr-24 00:11 by mcpre netconf enabled", + "lastUpdateTime": 1726951375938, + "macAddress": "cc:b6:c8:e2:29:0b", + "deviceSupportLevel": "Supported", + "softwareType": "IOS-XE", + "softwareVersion": "17.14.1", + "serialNumber": "FOX2639PAY7", + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "204.192.6.200", + "lastManagedResyncReasons": "Periodic", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Periodic", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": "61 days, 20:28:01.81", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": "2024-07-22 00:14:55", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9800 Series Wireless Controllers", + "snmpContact": "", + "snmpLocation": "", + "apManagerInterfaceIp": "", + "collectionStatus": "Managed", + "hostname": "NY-IAC-EWLC.cisco.local", + "locationName": null, + "managementIpAddress": "204.192.6.200", + "platformId": "C9800-40-K9", + "lastUpdated": "2024-09-21 20:42:55", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2024-09-21 20:42:09", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 5387516, + "vendor": "Cisco", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9800-40 Wireless Controller", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "71197925-1982-46d4-b569-e4cbbe8f06e7", + "id": "71197925-1982-46d4-b569-e4cbbe8f06e7" + }, + { + "memorySize": "NA", + "family": null, + "description": null, + "lastUpdateTime": 1726987504715, + "macAddress": null, + "deviceSupportLevel": "Unsupported", + "softwareType": null, + "softwareVersion": null, + "serialNumber": null, + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "80.2.2.2", + "lastManagedResyncReasons": "", + "managementState": "Never Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Device Added", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": null, + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": null, + "reachabilityFailureReason": "SNMP Connectivity Failed", + "reachabilityStatus": "Unreachable", + "series": null, + "snmpContact": null, + "snmpLocation": null, + "apManagerInterfaceIp": "", + "collectionStatus": "Could Not Synchronize", + "hostname": null, + "locationName": null, + "managementIpAddress": "80.2.2.2", + "platformId": null, + "lastUpdated": "2024-09-22 06:45:04", + "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 its 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": "2024-09-22 06:44:09", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": false, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": -1, + "vendor": "NA", + "waasDeviceMode": null, + "type": null, + "location": null, + "role": "UNKNOWN", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "e6d3dd02-0a02-433a-aa2d-a84c138ae02a", + "id": "e6d3dd02-0a02-433a-aa2d-a84c138ae02a" + }, + { + "memorySize": "NA", + "family": null, + "description": null, + "lastUpdateTime": 1726987504764, + "macAddress": null, + "deviceSupportLevel": "Unsupported", + "softwareType": null, + "softwareVersion": null, + "serialNumber": null, + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "70.2.2.2", + "lastManagedResyncReasons": "", + "managementState": "Never Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Device Added", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": null, + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": null, + "reachabilityFailureReason": "SNMP Connectivity Failed", + "reachabilityStatus": "Unreachable", + "series": null, + "snmpContact": null, + "snmpLocation": null, + "apManagerInterfaceIp": "", + "collectionStatus": "Could Not Synchronize", + "hostname": null, + "locationName": null, + "managementIpAddress": "70.2.2.2", + "platformId": null, + "lastUpdated": "2024-09-22 06:45:04", + "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 its 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": "2024-09-22 06:44:09", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": false, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": -1, + "vendor": "NA", + "waasDeviceMode": null, + "type": null, + "location": null, + "role": "UNKNOWN", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "0df6c472-98f6-400f-9465-399a30e0486e", + "id": "0df6c472-98f6-400f-9465-399a30e0486e" + } + ], + "version": "1.0" + }, + "get_device_list4_existing_devices": { + "response": [], + "version": "1.0" + }, + "add_existing_devices_response": { + "message": "device(s) '70.2.2.2', '80.2.2.2' already present in Cisco Catalyst Center." + }, + "get_device_list1_a_delete": { + "response": [ + { + "memorySize": "NA", + "family": "Switches and Hubs", + "description": "Cisco IOS Software [Dublin], Catalyst L3 Switch Software (CAT9K_IOSXE), Version 17.14.1, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Fri 05-Apr-24 00:08 by mcpre", + "lastUpdateTime": 1726941792208, + "macAddress": "d4:ad:bd:c1:67:00", + "deviceSupportLevel": "Supported", + "softwareType": "IOS-XE", + "softwareVersion": "17.14.1", + "serialNumber": "FJC2327U0S2", + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "204.192.3.40", + "lastManagedResyncReasons": "Periodic", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Periodic", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": "8 days, 18:01:40.22", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": "2024-09-13 00:02:12", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9300 Series Switches", + "snmpContact": "", + "snmpLocation": "", + "apManagerInterfaceIp": "", + "collectionStatus": "Managed", + "hostname": "DC-FR-9300", + "locationName": null, + "managementIpAddress": "204.192.3.40", + "platformId": "C9300-24U", + "lastUpdated": "2024-09-21 18:03:12", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2024-09-21 18:02:39", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 801979, + "vendor": "Cisco", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9300 Switch", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "1e8ffc57-8a44-459f-b880-6b49d6b63aa4", + "id": "1e8ffc57-8a44-459f-b880-6b49d6b63aa4" + }, + { + "memorySize": "NA", + "family": "Switches and Hubs", + "description": "Cisco IOS Software [Dublin], Catalyst L3 Switch Software (CAT9K_IOSXE), Version 17.14.1, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Fri 05-Apr-24 00:08 by mcpre", + "lastUpdateTime": 1726987634649, + "macAddress": "00:b6:70:32:b8:00", + "deviceSupportLevel": "Supported", + "softwareType": "IOS-XE", + "softwareVersion": "17.14.1", + "serialNumber": "FCW2225C020", + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "204.1.2.5", + "lastManagedResyncReasons": "Link Up/Down Event", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Link Up/Down Event", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": "3 days, 20:10:28.93", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": "2024-09-18 10:37:14", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9300 Series Switches", + "snmpContact": "", + "snmpLocation": "", + "apManagerInterfaceIp": "", + "collectionStatus": "Managed", + "hostname": "DC-T-9300.cisco.local", + "locationName": null, + "managementIpAddress": "204.1.2.5", + "platformId": "C9300-24P", + "lastUpdated": "2024-09-22 06:47:14", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2024-09-22 06:43:37", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 331876, + "vendor": "Cisco", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9300 Switch", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "820bd13a-f565-4778-a320-9ec9f23b4725", + "id": "820bd13a-f565-4778-a320-9ec9f23b4725" + }, + { + "memorySize": "NA", + "family": "Switches and Hubs", + "description": "Cisco IOS Software [Dublin], Catalyst L3 Switch Software (CAT9K_IOSXE), Version 17.14.1, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Fri 05-Apr-24 00:08 by mcpre", + "lastUpdateTime": 1726942446622, + "macAddress": "0c:75:bd:41:14:00", + "deviceSupportLevel": "Supported", + "softwareType": "IOS-XE", + "softwareVersion": "17.14.1", + "serialNumber": "FJB2334D06N", + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "204.1.2.4", + "lastManagedResyncReasons": "Periodic", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Periodic", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": "8 days, 18:03:26.79", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": "2024-09-13 00:11:06", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9300 Series Switches", + "snmpContact": "", + "snmpLocation": "", + "apManagerInterfaceIp": "", + "collectionStatus": "Managed", + "hostname": "NY-BN-9300.cisco.local", + "locationName": null, + "managementIpAddress": "204.1.2.4", + "platformId": "C9300-48UXM, C9300-48UXM", + "lastUpdated": "2024-09-21 18:14:06", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2024-09-21 18:13:27", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 801444, + "vendor": "Cisco", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9300 Switch", + "location": null, + "role": "DISTRIBUTION", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "f19cf2b0-a9bb-4569-b140-e1d0e86d5226", + "id": "f19cf2b0-a9bb-4569-b140-e1d0e86d5226" + }, + { + "memorySize": "NA", + "family": "Switches and Hubs", + "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", + "lastUpdateTime": 1726986510350, + "macAddress": "90:88:55:07:59:00", + "deviceSupportLevel": "Supported", + "softwareType": "IOS-XE", + "softwareVersion": "17.12.2", + "serialNumber": "FJC271924K0, FJC271924EQ", + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "204.1.2.2", + "lastManagedResyncReasons": "Link Up/Down Event", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Link Up/Down Event", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": "9 days, 6:14:00.05", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": "2024-09-13 00:14:30", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9300 Series Switches", + "snmpContact": "", + "snmpLocation": "", + "apManagerInterfaceIp": "", + "collectionStatus": "Managed", + "hostname": "NY-EN-9300.cisco.local", + "locationName": null, + "managementIpAddress": "204.1.2.2", + "platformId": "C9300-48UXM, C9300-48UXM", + "lastUpdated": "2024-09-22 06:28:30", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2024-09-22 06:26:06", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 801240, + "vendor": "Cisco", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9300 Switch", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "e5cc9398-afbf-40a2-a8b1-e9cf0635c28a", + "id": "e5cc9398-afbf-40a2-a8b1-e9cf0635c28a" + }, + { + "memorySize": "NA", + "family": "Wireless Controller", + "description": "Cisco IOS Software [Dublin], C9800 Software (C9800_IOSXE-K9), Version 17.14.1, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Fri 05-Apr-24 00:11 by mcpre netconf enabled", + "lastUpdateTime": 1726951375938, + "macAddress": "cc:b6:c8:e2:29:0b", + "deviceSupportLevel": "Supported", + "softwareType": "IOS-XE", + "softwareVersion": "17.14.1", + "serialNumber": "FOX2639PAY7", + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "204.192.6.200", + "lastManagedResyncReasons": "Periodic", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Periodic", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": "61 days, 20:28:01.81", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": "2024-07-22 00:14:55", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9800 Series Wireless Controllers", + "snmpContact": "", + "snmpLocation": "", + "apManagerInterfaceIp": "", + "collectionStatus": "Managed", + "hostname": "NY-IAC-EWLC.cisco.local", + "locationName": null, + "managementIpAddress": "204.192.6.200", + "platformId": "C9800-40-K9", + "lastUpdated": "2024-09-21 20:42:55", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2024-09-21 20:42:09", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 5380415, + "vendor": "Cisco", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9800-40 Wireless Controller", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "71197925-1982-46d4-b569-e4cbbe8f06e7", + "id": "71197925-1982-46d4-b569-e4cbbe8f06e7" + }, + { + "memorySize": "NA", + "family": null, + "description": null, + "lastUpdateTime": 1726987449524, + "macAddress": null, + "deviceSupportLevel": "Unsupported", + "softwareType": null, + "softwareVersion": null, + "serialNumber": null, + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "60.1.1.1", + "lastManagedResyncReasons": "", + "managementState": "Never Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Device Added", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": null, + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": null, + "reachabilityFailureReason": "SNMP Connectivity Failed", + "reachabilityStatus": "Unreachable", + "series": null, + "snmpContact": null, + "snmpLocation": null, + "apManagerInterfaceIp": "", + "collectionStatus": "Could Not Synchronize", + "hostname": null, + "locationName": null, + "managementIpAddress": "60.1.1.1", + "platformId": null, + "lastUpdated": "2024-09-22 06:44:09", + "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 its 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": "2024-09-22 06:43:14", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": false, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": -1, + "vendor": "NA", + "waasDeviceMode": null, + "type": null, + "location": null, + "role": "UNKNOWN", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "7344dae6-5cb2-4585-bf40-8bc5e652a479", + "id": "7344dae6-5cb2-4585-bf40-8bc5e652a479" + }, + { + "memorySize": "NA", + "family": null, + "description": null, + "lastUpdateTime": 1726987449582, + "macAddress": null, + "deviceSupportLevel": "Unsupported", + "softwareType": null, + "softwareVersion": null, + "serialNumber": null, + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "50.1.1.1", + "lastManagedResyncReasons": "", + "managementState": "Never Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Device Added", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": null, + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": null, + "reachabilityFailureReason": "SNMP Connectivity Failed", + "reachabilityStatus": "Unreachable", + "series": null, + "snmpContact": null, + "snmpLocation": null, + "apManagerInterfaceIp": "", + "collectionStatus": "Could Not Synchronize", + "hostname": null, + "locationName": null, + "managementIpAddress": "50.1.1.1", + "platformId": null, + "lastUpdated": "2024-09-22 06:44:09", + "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 its 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": "2024-09-22 06:43:14", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": false, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": -1, + "vendor": "NA", + "waasDeviceMode": null, + "type": null, + "location": null, + "role": "UNKNOWN", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "5ee0827a-2793-49a6-8e27-1e1d9e659285", + "id": "5ee0827a-2793-49a6-8e27-1e1d9e659285" + }, + { + "memorySize": "NA", + "family": null, + "description": null, + "lastUpdateTime": 1726987504715, + "macAddress": null, + "deviceSupportLevel": "Unsupported", + "softwareType": null, + "softwareVersion": null, + "serialNumber": null, + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "80.2.2.2", + "lastManagedResyncReasons": "", + "managementState": "Never Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Device Added", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": null, + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": null, + "reachabilityFailureReason": "SNMP Connectivity Failed", + "reachabilityStatus": "Unreachable", + "series": null, + "snmpContact": null, + "snmpLocation": null, + "apManagerInterfaceIp": "", + "collectionStatus": "Could Not Synchronize", + "hostname": null, + "locationName": null, + "managementIpAddress": "80.2.2.2", + "platformId": null, + "lastUpdated": "2024-09-22 06:45:04", + "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 its 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": "2024-09-22 06:44:09", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": false, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": -1, + "vendor": "NA", + "waasDeviceMode": null, + "type": null, + "location": null, + "role": "UNKNOWN", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "e6d3dd02-0a02-433a-aa2d-a84c138ae02a", + "id": "e6d3dd02-0a02-433a-aa2d-a84c138ae02a" + }, + { + "memorySize": "NA", + "family": null, + "description": null, + "lastUpdateTime": 1726987504764, + "macAddress": null, + "deviceSupportLevel": "Unsupported", + "softwareType": null, + "softwareVersion": null, + "serialNumber": null, + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "70.2.2.2", + "lastManagedResyncReasons": "", + "managementState": "Never Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Device Added", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": null, + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": null, + "reachabilityFailureReason": "SNMP Connectivity Failed", + "reachabilityStatus": "Unreachable", + "series": null, + "snmpContact": null, + "snmpLocation": null, + "apManagerInterfaceIp": "", + "collectionStatus": "Could Not Synchronize", + "hostname": null, + "locationName": null, + "managementIpAddress": "70.2.2.2", + "platformId": null, + "lastUpdated": "2024-09-22 06:45:04", + "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 its 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": "2024-09-22 06:44:09", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": false, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": -1, + "vendor": "NA", + "waasDeviceMode": null, + "type": null, + "location": null, + "role": "UNKNOWN", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "0df6c472-98f6-400f-9465-399a30e0486e", + "id": "0df6c472-98f6-400f-9465-399a30e0486e" + } + ], + "version": "1.0" + }, + "get_device_list2_a_delete": { + "response": [], + "version": "1.0" + }, + "get_device_list3_a_delete": { + "response": [ + { + "memorySize": "NA", + "family": null, + "description": null, + "lastUpdateTime": 1726987449582, + "macAddress": null, + "deviceSupportLevel": "Unsupported", + "softwareType": null, + "softwareVersion": null, + "serialNumber": null, + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "50.1.1.1", + "lastManagedResyncReasons": "", + "managementState": "Never Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Device Added", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": null, + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": null, + "reachabilityFailureReason": "SNMP Connectivity Failed", + "reachabilityStatus": "Unreachable", + "series": null, + "snmpContact": null, + "snmpLocation": null, + "apManagerInterfaceIp": "", + "collectionStatus": "Could Not Synchronize", + "hostname": null, + "locationName": null, + "managementIpAddress": "50.1.1.1", + "platformId": null, + "lastUpdated": "2024-09-22 06:44:09", + "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 its 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": "2024-09-22 06:43:14", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": false, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": -1, + "vendor": "NA", + "waasDeviceMode": null, + "type": null, + "location": null, + "role": "UNKNOWN", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "5ee0827a-2793-49a6-8e27-1e1d9e659285", + "id": "5ee0827a-2793-49a6-8e27-1e1d9e659285" + } + ], + "version": "1.0" + }, + "get_provisioned_devices1_a_delete": { + "response": [], + "version": "1.0" + }, + "get_device_list4_a_delete": { + "response": [ + { + "memorySize": "NA", + "family": null, + "description": null, + "lastUpdateTime": 1726987449582, + "macAddress": null, + "deviceSupportLevel": "Unsupported", + "softwareType": null, + "softwareVersion": null, + "serialNumber": null, + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "50.1.1.1", + "lastManagedResyncReasons": "", + "managementState": "Never Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Device Added", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": null, + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": null, + "reachabilityFailureReason": "SNMP Connectivity Failed", + "reachabilityStatus": "Unreachable", + "series": null, + "snmpContact": null, + "snmpLocation": null, + "apManagerInterfaceIp": "", + "collectionStatus": "Could Not Synchronize", + "hostname": null, + "locationName": null, + "managementIpAddress": "50.1.1.1", + "platformId": null, + "lastUpdated": "2024-09-22 06:44:09", + "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 its 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": "2024-09-22 06:43:14", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": false, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": -1, + "vendor": "NA", + "waasDeviceMode": null, + "type": null, + "location": null, + "role": "UNKNOWN", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "5ee0827a-2793-49a6-8e27-1e1d9e659285", + "id": "5ee0827a-2793-49a6-8e27-1e1d9e659285" + } + ], + "version": "1.0" + }, + "deleted_device_by_id1_a_delete": { + "response": { + "taskId": "0192187d-39c6-761a-ab44-347f6a6eb26d", + "url": "/api/v1/task/0192187d-39c6-761a-ab44-347f6a6eb26d" + }, + "version": "1.0" + }, + "get_task_by_id1_a_delete": { + "response": { + "version": 1726987712966, + "progress": "Inventory service deleting devices", + "startTime": 1726987712966, + "serviceType": "Inventory service", + "isError": false, + "instanceTenantId": "66e48af26fe687300375675e", + "id": "0192187d-39c6-761a-ab44-347f6a6eb26d" + }, + "version": "1.0" + }, + "get_task_by_id2_a_delete": { + "response": { + "version": 1726987713975, + "progress": "Network device deleted successfully", + "startTime": 1726987712966, + "endTime": 1726987713975, + "serviceType": "Inventory service", + "isError": false, + "instanceTenantId": "66e48af26fe687300375675e", + "id": "0192187d-39c6-761a-ab44-347f6a6eb26d" + }, + "version": "1.0" + }, + "get_device_list5_a_delete": { + "response": [ + { + "memorySize": "NA", + "family": "Switches and Hubs", + "description": "Cisco IOS Software [Dublin], Catalyst L3 Switch Software (CAT9K_IOSXE), Version 17.14.1, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Fri 05-Apr-24 00:08 by mcpre", + "lastUpdateTime": 1726941792208, + "macAddress": "d4:ad:bd:c1:67:00", + "deviceSupportLevel": "Supported", + "softwareType": "IOS-XE", + "softwareVersion": "17.14.1", + "serialNumber": "FJC2327U0S2", + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "204.192.3.40", + "lastManagedResyncReasons": "Periodic", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Periodic", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": "8 days, 18:01:40.22", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": "2024-09-13 00:02:12", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9300 Series Switches", + "snmpContact": "", + "snmpLocation": "", + "apManagerInterfaceIp": "", + "collectionStatus": "Managed", + "hostname": "DC-FR-9300", + "locationName": null, + "managementIpAddress": "204.192.3.40", + "platformId": "C9300-24U", + "lastUpdated": "2024-09-21 18:03:12", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2024-09-21 18:02:39", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 801982, + "vendor": "Cisco", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9300 Switch", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "1e8ffc57-8a44-459f-b880-6b49d6b63aa4", + "id": "1e8ffc57-8a44-459f-b880-6b49d6b63aa4" + }, + { + "memorySize": "NA", + "family": "Switches and Hubs", + "description": "Cisco IOS Software [Dublin], Catalyst L3 Switch Software (CAT9K_IOSXE), Version 17.14.1, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Fri 05-Apr-24 00:08 by mcpre", + "lastUpdateTime": 1726987634649, + "macAddress": "00:b6:70:32:b8:00", + "deviceSupportLevel": "Supported", + "softwareType": "IOS-XE", + "softwareVersion": "17.14.1", + "serialNumber": "FCW2225C020", + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "204.1.2.5", + "lastManagedResyncReasons": "Link Up/Down Event", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Link Up/Down Event", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": "3 days, 20:10:28.93", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": "2024-09-18 10:37:14", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9300 Series Switches", + "snmpContact": "", + "snmpLocation": "", + "apManagerInterfaceIp": "", + "collectionStatus": "Managed", + "hostname": "DC-T-9300.cisco.local", + "locationName": null, + "managementIpAddress": "204.1.2.5", + "platformId": "C9300-24P", + "lastUpdated": "2024-09-22 06:47:14", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2024-09-22 06:43:37", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 331880, + "vendor": "Cisco", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9300 Switch", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "820bd13a-f565-4778-a320-9ec9f23b4725", + "id": "820bd13a-f565-4778-a320-9ec9f23b4725" + }, + { + "memorySize": "NA", + "family": "Switches and Hubs", + "description": "Cisco IOS Software [Dublin], Catalyst L3 Switch Software (CAT9K_IOSXE), Version 17.14.1, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Fri 05-Apr-24 00:08 by mcpre", + "lastUpdateTime": 1726942446622, + "macAddress": "0c:75:bd:41:14:00", + "deviceSupportLevel": "Supported", + "softwareType": "IOS-XE", + "softwareVersion": "17.14.1", + "serialNumber": "FJB2334D06N", + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "204.1.2.4", + "lastManagedResyncReasons": "Periodic", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Periodic", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": "8 days, 18:03:26.79", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": "2024-09-13 00:11:06", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9300 Series Switches", + "snmpContact": "", + "snmpLocation": "", + "apManagerInterfaceIp": "", + "collectionStatus": "Managed", + "hostname": "NY-BN-9300.cisco.local", + "locationName": null, + "managementIpAddress": "204.1.2.4", + "platformId": "C9300-48UXM, C9300-48UXM", + "lastUpdated": "2024-09-21 18:14:06", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2024-09-21 18:13:27", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 801448, + "vendor": "Cisco", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9300 Switch", + "location": null, + "role": "DISTRIBUTION", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "f19cf2b0-a9bb-4569-b140-e1d0e86d5226", + "id": "f19cf2b0-a9bb-4569-b140-e1d0e86d5226" + }, + { + "memorySize": "NA", + "family": "Switches and Hubs", + "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", + "lastUpdateTime": 1726986510350, + "macAddress": "90:88:55:07:59:00", + "deviceSupportLevel": "Supported", + "softwareType": "IOS-XE", + "softwareVersion": "17.12.2", + "serialNumber": "FJC271924K0, FJC271924EQ", + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "204.1.2.2", + "lastManagedResyncReasons": "Link Up/Down Event", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Link Up/Down Event", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": "9 days, 6:14:00.05", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": "2024-09-13 00:14:30", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9300 Series Switches", + "snmpContact": "", + "snmpLocation": "", + "apManagerInterfaceIp": "", + "collectionStatus": "Managed", + "hostname": "NY-EN-9300.cisco.local", + "locationName": null, + "managementIpAddress": "204.1.2.2", + "platformId": "C9300-48UXM, C9300-48UXM", + "lastUpdated": "2024-09-22 06:28:30", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2024-09-22 06:26:06", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 801244, + "vendor": "Cisco", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9300 Switch", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "e5cc9398-afbf-40a2-a8b1-e9cf0635c28a", + "id": "e5cc9398-afbf-40a2-a8b1-e9cf0635c28a" + }, + { + "memorySize": "NA", + "family": "Wireless Controller", + "description": "Cisco IOS Software [Dublin], C9800 Software (C9800_IOSXE-K9), Version 17.14.1, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Fri 05-Apr-24 00:11 by mcpre netconf enabled", + "lastUpdateTime": 1726951375938, + "macAddress": "cc:b6:c8:e2:29:0b", + "deviceSupportLevel": "Supported", + "softwareType": "IOS-XE", + "softwareVersion": "17.14.1", + "serialNumber": "FOX2639PAY7", + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "204.192.6.200", + "lastManagedResyncReasons": "Periodic", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Periodic", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": "61 days, 20:28:01.81", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": "2024-07-22 00:14:55", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9800 Series Wireless Controllers", + "snmpContact": "", + "snmpLocation": "", + "apManagerInterfaceIp": "", + "collectionStatus": "Managed", + "hostname": "NY-IAC-EWLC.cisco.local", + "locationName": null, + "managementIpAddress": "204.192.6.200", + "platformId": "C9800-40-K9", + "lastUpdated": "2024-09-21 20:42:55", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2024-09-21 20:42:09", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 5380419, + "vendor": "Cisco", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9800-40 Wireless Controller", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "71197925-1982-46d4-b569-e4cbbe8f06e7", + "id": "71197925-1982-46d4-b569-e4cbbe8f06e7" + }, + { + "memorySize": "NA", + "family": null, + "description": null, + "lastUpdateTime": 1726987449524, + "macAddress": null, + "deviceSupportLevel": "Unsupported", + "softwareType": null, + "softwareVersion": null, + "serialNumber": null, + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "60.1.1.1", + "lastManagedResyncReasons": "", + "managementState": "Never Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Device Added", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": null, + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": null, + "reachabilityFailureReason": "SNMP Connectivity Failed", + "reachabilityStatus": "Unreachable", + "series": null, + "snmpContact": null, + "snmpLocation": null, + "apManagerInterfaceIp": "", + "collectionStatus": "Could Not Synchronize", + "hostname": null, + "locationName": null, + "managementIpAddress": "60.1.1.1", + "platformId": null, + "lastUpdated": "2024-09-22 06:44:09", + "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 its 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": "2024-09-22 06:43:14", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": false, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": -1, + "vendor": "NA", + "waasDeviceMode": null, + "type": null, + "location": null, + "role": "UNKNOWN", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "7344dae6-5cb2-4585-bf40-8bc5e652a479", + "id": "7344dae6-5cb2-4585-bf40-8bc5e652a479" + }, + { + "memorySize": "NA", + "family": null, + "description": null, + "lastUpdateTime": 1726987504715, + "macAddress": null, + "deviceSupportLevel": "Unsupported", + "softwareType": null, + "softwareVersion": null, + "serialNumber": null, + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "80.2.2.2", + "lastManagedResyncReasons": "", + "managementState": "Never Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Device Added", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": null, + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": null, + "reachabilityFailureReason": "SNMP Connectivity Failed", + "reachabilityStatus": "Unreachable", + "series": null, + "snmpContact": null, + "snmpLocation": null, + "apManagerInterfaceIp": "", + "collectionStatus": "Could Not Synchronize", + "hostname": null, + "locationName": null, + "managementIpAddress": "80.2.2.2", + "platformId": null, + "lastUpdated": "2024-09-22 06:45:04", + "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 its 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": "2024-09-22 06:44:09", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": false, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": -1, + "vendor": "NA", + "waasDeviceMode": null, + "type": null, + "location": null, + "role": "UNKNOWN", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "e6d3dd02-0a02-433a-aa2d-a84c138ae02a", + "id": "e6d3dd02-0a02-433a-aa2d-a84c138ae02a" + }, + { + "memorySize": "NA", + "family": null, + "description": null, + "lastUpdateTime": 1726987504764, + "macAddress": null, + "deviceSupportLevel": "Unsupported", + "softwareType": null, + "softwareVersion": null, + "serialNumber": null, + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "70.2.2.2", + "lastManagedResyncReasons": "", + "managementState": "Never Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Device Added", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": null, + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": null, + "reachabilityFailureReason": "SNMP Connectivity Failed", + "reachabilityStatus": "Unreachable", + "series": null, + "snmpContact": null, + "snmpLocation": null, + "apManagerInterfaceIp": "", + "collectionStatus": "Could Not Synchronize", + "hostname": null, + "locationName": null, + "managementIpAddress": "70.2.2.2", + "platformId": null, + "lastUpdated": "2024-09-22 06:45:04", + "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 its 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": "2024-09-22 06:44:09", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": false, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": -1, + "vendor": "NA", + "waasDeviceMode": null, + "type": null, + "location": null, + "role": "UNKNOWN", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "0df6c472-98f6-400f-9465-399a30e0486e", + "id": "0df6c472-98f6-400f-9465-399a30e0486e" + } + ], + "version": "1.0" + }, + "get_device_list6_a_delete": { + "response": [], + "version": "1.0" + }, + "a_delete_device_response": { + "message": "Device '50.1.1.1' was successfully deleted from Cisco Catalyst Center" + }, + "playbook_delete_devices": [ + { + "clean_config": false, + "ip_address_list": [ + "50.1.1.1", + "60.1.1.1" + ] + } + ], + "get_device_list1_delete": { + "response": [ + { + "memorySize": "NA", + "family": "Switches and Hubs", + "description": "Cisco IOS Software [Dublin], Catalyst L3 Switch Software (CAT9K_IOSXE), Version 17.14.1, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Fri 05-Apr-24 00:08 by mcpre", + "lastUpdateTime": 1726902178910, + "macAddress": "d4:ad:bd:c1:67:00", + "deviceSupportLevel": "Supported", + "softwareType": "IOS-XE", + "softwareVersion": "17.14.1", + "serialNumber": "FJC2327U0S2", + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "204.192.3.40", + "lastManagedResyncReasons": "Device Added", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Device Added", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": "8 days, 7:01:21.07", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": "2024-09-13 00:01:58", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9300 Series Switches", + "snmpContact": "", + "snmpLocation": "", + "apManagerInterfaceIp": "", + "collectionStatus": "Managed", + "hostname": "DC-FR-9300", + "locationName": null, + "managementIpAddress": "204.192.3.40", + "platformId": "C9300-24U", + "lastUpdated": "2024-09-21 07:02:58", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2024-09-21 07:02:56", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 743005, + "vendor": "Cisco", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9300 Switch", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "1e8ffc57-8a44-459f-b880-6b49d6b63aa4", + "id": "1e8ffc57-8a44-459f-b880-6b49d6b63aa4" + }, + { + "memorySize": "NA", + "family": "Switches and Hubs", + "description": "Cisco IOS Software [Dublin], Catalyst L3 Switch Software (CAT9K_IOSXE), Version 17.14.1, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Fri 05-Apr-24 00:08 by mcpre", + "lastUpdateTime": 1726928602152, + "macAddress": "00:b6:70:32:b8:00", + "deviceSupportLevel": "Supported", + "softwareType": "IOS-XE", + "softwareVersion": "17.14.1", + "serialNumber": "FCW2225C020", + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "204.1.2.5", + "lastManagedResyncReasons": "Link Up/Down Event", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Link Up/Down Event", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": "3 days, 3:46:45.75", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": "2024-09-18 10:37:22", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9300 Series Switches", + "snmpContact": "", + "snmpLocation": "", + "apManagerInterfaceIp": "", + "collectionStatus": "Managed", + "hostname": "DC-T-9300.cisco.local", + "locationName": null, + "managementIpAddress": "204.1.2.5", + "platformId": "C9300-24P", + "lastUpdated": "2024-09-21 14:23:22", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2024-09-21 14:20:53", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 272881, + "vendor": "Cisco", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9300 Switch", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "820bd13a-f565-4778-a320-9ec9f23b4725", + "id": "820bd13a-f565-4778-a320-9ec9f23b4725" + }, + { + "memorySize": "NA", + "family": "Switches and Hubs", + "description": "Cisco IOS Software [Dublin], Catalyst L3 Switch Software (CAT9K_IOSXE), Version 17.14.1, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Fri 05-Apr-24 00:08 by mcpre", + "lastUpdateTime": 1726856046198, + "macAddress": "0c:75:bd:41:14:00", + "deviceSupportLevel": "Supported", + "softwareType": "IOS-XE", + "softwareVersion": "17.14.1", + "serialNumber": "FJB2334D06N", + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "204.1.2.4", + "lastManagedResyncReasons": "Periodic", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Periodic", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": "7 days, 18:03:26.44", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": "2024-09-13 00:11:06", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9300 Series Switches", + "snmpContact": "", + "snmpLocation": "", + "apManagerInterfaceIp": "", + "collectionStatus": "Managed", + "hostname": "NY-BN-9300.cisco.local", + "locationName": null, + "managementIpAddress": "204.1.2.4", + "platformId": "C9300-48UXM, C9300-48UXM", + "lastUpdated": "2024-09-20 18:14:06", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2024-09-20 18:13:27", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 742457, + "vendor": "Cisco", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9300 Switch", + "location": null, + "role": "DISTRIBUTION", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "f19cf2b0-a9bb-4569-b140-e1d0e86d5226", + "id": "f19cf2b0-a9bb-4569-b140-e1d0e86d5226" + }, + { + "memorySize": "NA", + "family": "Switches and Hubs", + "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", + "lastUpdateTime": 1726905546686, + "macAddress": "90:88:55:07:59:00", + "deviceSupportLevel": "Supported", + "softwareType": "IOS-XE", + "softwareVersion": "17.12.2", + "serialNumber": "FJC271924K0, FJC271924EQ", + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "204.1.2.2", + "lastManagedResyncReasons": "Link Up/Down Event", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Link Up/Down Event", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": "8 days, 7:44:16.24", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": "2024-09-13 00:15:06", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9300 Series Switches", + "snmpContact": "", + "snmpLocation": "", + "apManagerInterfaceIp": "", + "collectionStatus": "Managed", + "hostname": "NY-EN-9300.cisco.local", + "locationName": null, + "managementIpAddress": "204.1.2.2", + "platformId": "C9300-48UXM, C9300-48UXM", + "lastUpdated": "2024-09-21 07:59:06", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2024-09-21 07:56:32", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 742217, + "vendor": "Cisco", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9300 Switch", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "e5cc9398-afbf-40a2-a8b1-e9cf0635c28a", + "id": "e5cc9398-afbf-40a2-a8b1-e9cf0635c28a" + }, + { + "memorySize": "NA", + "family": "Wireless Controller", + "description": "Cisco IOS Software [Dublin], C9800 Software (C9800_IOSXE-K9), Version 17.14.1, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Fri 05-Apr-24 00:11 by mcpre netconf enabled", + "lastUpdateTime": 1726917921810, + "macAddress": "cc:b6:c8:e2:29:0b", + "deviceSupportLevel": "Supported", + "softwareType": "IOS-XE", + "softwareVersion": "17.14.1", + "serialNumber": "FOX2639PAY7", + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "204.192.6.200", + "lastManagedResyncReasons": "Config Change Event", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Config Change Event", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": "61 days, 11:10:20.98", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": "2024-07-22 00:15:21", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9800 Series Wireless Controllers", + "snmpContact": "", + "snmpLocation": "", + "apManagerInterfaceIp": "", + "collectionStatus": "Managed", + "hostname": "NY-IAC-EWLC.cisco.local", + "locationName": null, + "managementIpAddress": "204.192.6.200", + "platformId": "C9800-40-K9", + "lastUpdated": "2024-09-21 11:25:21", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2024-09-21 11:25:19", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 5321402, + "vendor": "Cisco", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9800-40 Wireless Controller", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "71197925-1982-46d4-b569-e4cbbe8f06e7", + "id": "71197925-1982-46d4-b569-e4cbbe8f06e7" + }, + { + "memorySize": "NA", + "family": null, + "description": null, + "lastUpdateTime": 1726907862539, + "macAddress": null, + "deviceSupportLevel": "Unsupported", + "softwareType": null, + "softwareVersion": null, + "serialNumber": null, + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "50.1.1.1", + "lastManagedResyncReasons": "", + "managementState": "Never Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Device Added", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": null, + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": null, + "reachabilityFailureReason": "SNMP Connectivity Failed", + "reachabilityStatus": "Unreachable", + "series": null, + "snmpContact": null, + "snmpLocation": null, + "apManagerInterfaceIp": "", + "collectionStatus": "Could Not Synchronize", + "hostname": null, + "locationName": null, + "managementIpAddress": "50.1.1.1", + "platformId": null, + "lastUpdated": "2024-09-21 08:37:42", + "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 its 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": "2024-09-21 08:37:07", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": false, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": -1, + "vendor": "NA", + "waasDeviceMode": null, + "type": null, + "location": null, + "role": "UNKNOWN", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "f7c5779b-398b-4b60-8149-60319b120b6d", + "id": "f7c5779b-398b-4b60-8149-60319b120b6d" + }, + { + "memorySize": "NA", + "family": null, + "description": null, + "lastUpdateTime": 1726907862550, + "macAddress": null, + "deviceSupportLevel": "Unsupported", + "softwareType": null, + "softwareVersion": null, + "serialNumber": null, + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "60.1.1.1", + "lastManagedResyncReasons": "", + "managementState": "Never Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Device Added", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": null, + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": null, + "reachabilityFailureReason": "SNMP Connectivity Failed", + "reachabilityStatus": "Unreachable", + "series": null, + "snmpContact": null, + "snmpLocation": null, + "apManagerInterfaceIp": "", + "collectionStatus": "Could Not Synchronize", + "hostname": null, + "locationName": null, + "managementIpAddress": "60.1.1.1", + "platformId": null, + "lastUpdated": "2024-09-21 08:37:42", + "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 its 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": "2024-09-21 08:37:07", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": false, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": -1, + "vendor": "NA", + "waasDeviceMode": null, + "type": null, + "location": null, + "role": "UNKNOWN", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "05ab282d-9c65-46e3-976d-999852d79325", + "id": "05ab282d-9c65-46e3-976d-999852d79325" + } + ], + "version": "1.0" + }, + "get_device_list2_delete": { + "response": [], + "version": "1.0" + }, + "get_device_list3_delete": { + "response": [ + { + "memorySize": "NA", + "family": null, + "description": null, + "lastUpdateTime": 1726907862539, + "macAddress": null, + "deviceSupportLevel": "Unsupported", + "softwareType": null, + "softwareVersion": null, + "serialNumber": null, + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "50.1.1.1", + "lastManagedResyncReasons": "", + "managementState": "Never Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Device Added", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": null, + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": null, + "reachabilityFailureReason": "SNMP Connectivity Failed", + "reachabilityStatus": "Unreachable", + "series": null, + "snmpContact": null, + "snmpLocation": null, + "apManagerInterfaceIp": "", + "collectionStatus": "Could Not Synchronize", + "hostname": null, + "locationName": null, + "managementIpAddress": "50.1.1.1", + "platformId": null, + "lastUpdated": "2024-09-21 08:37:42", + "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 its 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": "2024-09-21 08:37:07", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": false, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": -1, + "vendor": "NA", + "waasDeviceMode": null, + "type": null, + "location": null, + "role": "UNKNOWN", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "f7c5779b-398b-4b60-8149-60319b120b6d", + "id": "f7c5779b-398b-4b60-8149-60319b120b6d" + } + ], + "version": "1.0" + }, + "get_device_list4_delete": { + "response": [ + { + "memorySize": "NA", + "family": null, + "description": null, + "lastUpdateTime": 1726907862539, + "macAddress": null, + "deviceSupportLevel": "Unsupported", + "softwareType": null, + "softwareVersion": null, + "serialNumber": null, + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "50.1.1.1", + "lastManagedResyncReasons": "", + "managementState": "Never Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Device Added", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": null, + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": null, + "reachabilityFailureReason": "SNMP Connectivity Failed", + "reachabilityStatus": "Unreachable", + "series": null, + "snmpContact": null, + "snmpLocation": null, + "apManagerInterfaceIp": "", + "collectionStatus": "Could Not Synchronize", + "hostname": null, + "locationName": null, + "managementIpAddress": "50.1.1.1", + "platformId": null, + "lastUpdated": "2024-09-21 08:37:42", + "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 its 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": "2024-09-21 08:37:07", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": false, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": -1, + "vendor": "NA", + "waasDeviceMode": null, + "type": null, + "location": null, + "role": "UNKNOWN", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "f7c5779b-398b-4b60-8149-60319b120b6d", + "id": "f7c5779b-398b-4b60-8149-60319b120b6d" + } + ], + "version": "1.0" + }, + "deleted_device_by_id1_delete": { + "response": { + "taskId": "019214f9-2816-7057-bb63-570f2cf9916b", + "url": "/api/v1/task/019214f9-2816-7057-bb63-570f2cf9916b" + }, + "version": "1.0" + }, + "get_task_by_id1_delete": { + "response": { + "version": 1726928728450, + "progress": "Inventory service deleting devices", + "startTime": 1726928728450, + "serviceType": "Inventory service", + "isError": false, + "instanceTenantId": "66e48af26fe687300375675e", + "id": "019214f9-3182-75b2-9f21-21de9be85c04" + }, + "version": "1.0" + }, + "get_task_by_id2_delete": { + "response": { + "version": 1726928729190, + "progress": "Network device deleted successfully", + "startTime": 1726928728450, + "endTime": 1726928729190, + "serviceType": "Inventory service", + "isError": false, + "instanceTenantId": "66e48af26fe687300375675e", + "id": "019214f9-3182-75b2-9f21-21de9be85c04" + }, + "version": "1.0" + }, + "get_device_list5_delete": { + "response": [ + { + "memorySize": "NA", + "family": null, + "description": null, + "lastUpdateTime": 1726907862550, + "macAddress": null, + "deviceSupportLevel": "Unsupported", + "softwareType": null, + "softwareVersion": null, + "serialNumber": null, + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "60.1.1.1", + "lastManagedResyncReasons": "", + "managementState": "Never Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Device Added", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": null, + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": null, + "reachabilityFailureReason": "SNMP Connectivity Failed", + "reachabilityStatus": "Unreachable", + "series": null, + "snmpContact": null, + "snmpLocation": null, + "apManagerInterfaceIp": "", + "collectionStatus": "Could Not Synchronize", + "hostname": null, + "locationName": null, + "managementIpAddress": "60.1.1.1", + "platformId": null, + "lastUpdated": "2024-09-21 08:37:42", + "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 its 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": "2024-09-21 08:37:07", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": false, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": -1, + "vendor": "NA", + "waasDeviceMode": null, + "type": null, + "location": null, + "role": "UNKNOWN", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "05ab282d-9c65-46e3-976d-999852d79325", + "id": "05ab282d-9c65-46e3-976d-999852d79325" + } + ], + "version": "1.0" + }, + "get_provisioned_devices1_delete": { + "response": [], + "version": "1.0" + }, + "get_device_list6_delete": { + "response": [ + { + "memorySize": "NA", + "family": null, + "description": null, + "lastUpdateTime": 1726907862550, + "macAddress": null, + "deviceSupportLevel": "Unsupported", + "softwareType": null, + "softwareVersion": null, + "serialNumber": null, + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "60.1.1.1", + "lastManagedResyncReasons": "", + "managementState": "Never Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Device Added", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": null, + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": null, + "reachabilityFailureReason": "SNMP Connectivity Failed", + "reachabilityStatus": "Unreachable", + "series": null, + "snmpContact": null, + "snmpLocation": null, + "apManagerInterfaceIp": "", + "collectionStatus": "Could Not Synchronize", + "hostname": null, + "locationName": null, + "managementIpAddress": "60.1.1.1", + "platformId": null, + "lastUpdated": "2024-09-21 08:37:42", + "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 its 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": "2024-09-21 08:37:07", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": false, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": -1, + "vendor": "NA", + "waasDeviceMode": null, + "type": null, + "location": null, + "role": "UNKNOWN", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "05ab282d-9c65-46e3-976d-999852d79325", + "id": "05ab282d-9c65-46e3-976d-999852d79325" + } + ], + "version": "1.0" + }, + "deleted_device_by_id2_delete": { + "response": { + "taskId": "019214f9-3182-75b2-9f21-21de9be85c04", + "url": "/api/v1/task/019214f9-3182-75b2-9f21-21de9be85c04" + }, + "version": "1.0" + }, + "get_task_by_id3_delete": { + "response": { + "version": 1726928728450, + "progress": "Inventory service deleting devices", + "startTime": 1726928728450, + "serviceType": "Inventory service", + "isError": false, + "instanceTenantId": "66e48af26fe687300375675e", + "id": "019214f9-3182-75b2-9f21-21de9be85c04" + }, + "version": "1.0" + }, + "get_task_by_id4_delete": { + "response": { + "version": 1726928729190, + "progress": "Network device deleted successfully", + "startTime": 1726928728450, + "endTime": 1726928729190, + "serviceType": "Inventory service", + "isError": false, + "instanceTenantId": "66e48af26fe687300375675e", + "id": "019214f9-3182-75b2-9f21-21de9be85c04" + }, + "version": "1.0" + }, + "get_device_list7_delete": { + "response": [ + { + "memorySize": "NA", + "family": "Switches and Hubs", + "description": "Cisco IOS Software [Dublin], Catalyst L3 Switch Software (CAT9K_IOSXE), Version 17.14.1, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Fri 05-Apr-24 00:08 by mcpre", + "lastUpdateTime": 1726902178910, + "macAddress": "d4:ad:bd:c1:67:00", + "deviceSupportLevel": "Supported", + "softwareType": "IOS-XE", + "softwareVersion": "17.14.1", + "serialNumber": "FJC2327U0S2", + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "204.192.3.40", + "lastManagedResyncReasons": "Device Added", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Device Added", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": "8 days, 7:01:21.07", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": "2024-09-13 00:01:58", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9300 Series Switches", + "snmpContact": "", + "snmpLocation": "", + "apManagerInterfaceIp": "", + "collectionStatus": "Managed", + "hostname": "DC-FR-9300", + "locationName": null, + "managementIpAddress": "204.192.3.40", + "platformId": "C9300-24U", + "lastUpdated": "2024-09-21 07:02:58", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2024-09-21 07:02:56", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 743011, + "vendor": "Cisco", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9300 Switch", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "1e8ffc57-8a44-459f-b880-6b49d6b63aa4", + "id": "1e8ffc57-8a44-459f-b880-6b49d6b63aa4" + }, + { + "memorySize": "NA", + "family": "Switches and Hubs", + "description": "Cisco IOS Software [Dublin], Catalyst L3 Switch Software (CAT9K_IOSXE), Version 17.14.1, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Fri 05-Apr-24 00:08 by mcpre", + "lastUpdateTime": 1726928602152, + "macAddress": "00:b6:70:32:b8:00", + "deviceSupportLevel": "Supported", + "softwareType": "IOS-XE", + "softwareVersion": "17.14.1", + "serialNumber": "FCW2225C020", + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "204.1.2.5", + "lastManagedResyncReasons": "Link Up/Down Event", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Link Up/Down Event", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": "3 days, 3:46:45.75", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": "2024-09-18 10:37:22", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9300 Series Switches", + "snmpContact": "", + "snmpLocation": "", + "apManagerInterfaceIp": "", + "collectionStatus": "Managed", + "hostname": "DC-T-9300.cisco.local", + "locationName": null, + "managementIpAddress": "204.1.2.5", + "platformId": "C9300-24P", + "lastUpdated": "2024-09-21 14:23:22", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2024-09-21 14:20:53", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 272888, + "vendor": "Cisco", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9300 Switch", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "820bd13a-f565-4778-a320-9ec9f23b4725", + "id": "820bd13a-f565-4778-a320-9ec9f23b4725" + }, + { + "memorySize": "NA", + "family": "Switches and Hubs", + "description": "Cisco IOS Software [Dublin], Catalyst L3 Switch Software (CAT9K_IOSXE), Version 17.14.1, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Fri 05-Apr-24 00:08 by mcpre", + "lastUpdateTime": 1726856046198, + "macAddress": "0c:75:bd:41:14:00", + "deviceSupportLevel": "Supported", + "softwareType": "IOS-XE", + "softwareVersion": "17.14.1", + "serialNumber": "FJB2334D06N", + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "204.1.2.4", + "lastManagedResyncReasons": "Periodic", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Periodic", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": "7 days, 18:03:26.44", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": "2024-09-13 00:11:06", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9300 Series Switches", + "snmpContact": "", + "snmpLocation": "", + "apManagerInterfaceIp": "", + "collectionStatus": "Managed", + "hostname": "NY-BN-9300.cisco.local", + "locationName": null, + "managementIpAddress": "204.1.2.4", + "platformId": "C9300-48UXM, C9300-48UXM", + "lastUpdated": "2024-09-20 18:14:06", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2024-09-20 18:13:27", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 742463, + "vendor": "Cisco", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9300 Switch", + "location": null, + "role": "DISTRIBUTION", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "f19cf2b0-a9bb-4569-b140-e1d0e86d5226", + "id": "f19cf2b0-a9bb-4569-b140-e1d0e86d5226" + }, + { + "memorySize": "NA", + "family": "Switches and Hubs", + "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", + "lastUpdateTime": 1726905546686, + "macAddress": "90:88:55:07:59:00", + "deviceSupportLevel": "Supported", + "softwareType": "IOS-XE", + "softwareVersion": "17.12.2", + "serialNumber": "FJC271924K0, FJC271924EQ", + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "204.1.2.2", + "lastManagedResyncReasons": "Link Up/Down Event", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Link Up/Down Event", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": "8 days, 7:44:16.24", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": "2024-09-13 00:15:06", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9300 Series Switches", + "snmpContact": "", + "snmpLocation": "", + "apManagerInterfaceIp": "", + "collectionStatus": "Managed", + "hostname": "NY-EN-9300.cisco.local", + "locationName": null, + "managementIpAddress": "204.1.2.2", + "platformId": "C9300-48UXM, C9300-48UXM", + "lastUpdated": "2024-09-21 07:59:06", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2024-09-21 07:56:32", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 742223, + "vendor": "Cisco", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9300 Switch", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "e5cc9398-afbf-40a2-a8b1-e9cf0635c28a", + "id": "e5cc9398-afbf-40a2-a8b1-e9cf0635c28a" + }, + { + "memorySize": "NA", + "family": "Wireless Controller", + "description": "Cisco IOS Software [Dublin], C9800 Software (C9800_IOSXE-K9), Version 17.14.1, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2024 by Cisco Systems, Inc. Compiled Fri 05-Apr-24 00:11 by mcpre netconf enabled", + "lastUpdateTime": 1726917921810, + "macAddress": "cc:b6:c8:e2:29:0b", + "deviceSupportLevel": "Supported", + "softwareType": "IOS-XE", + "softwareVersion": "17.14.1", + "serialNumber": "FOX2639PAY7", + "collectionInterval": "Global Default", + "dnsResolvedManagementAddress": "204.192.6.200", + "lastManagedResyncReasons": "Config Change Event", + "managementState": "Managed", + "pendingSyncRequestsCount": "0", + "reasonsForDeviceResync": "Config Change Event", + "reasonsForPendingSyncRequests": "", + "syncRequestedByApp": "", + "inventoryStatusDetail": "", + "upTime": "61 days, 11:10:20.98", + "roleSource": "AUTO", + "interfaceCount": "0", + "bootDateTime": "2024-07-22 00:15:21", + "reachabilityFailureReason": "", + "reachabilityStatus": "Reachable", + "series": "Cisco Catalyst 9800 Series Wireless Controllers", + "snmpContact": "", + "snmpLocation": "", + "apManagerInterfaceIp": "", + "collectionStatus": "Managed", + "hostname": "NY-IAC-EWLC.cisco.local", + "locationName": null, + "managementIpAddress": "204.192.6.200", + "platformId": "C9800-40-K9", + "lastUpdated": "2024-09-21 11:25:21", + "associatedWlcIp": "", + "apEthernetMacAddress": null, + "errorCode": null, + "errorDescription": null, + "lastDeviceResyncStartTime": "2024-09-21 11:25:19", + "lineCardCount": "0", + "lineCardId": "", + "managedAtleastOnce": true, + "tagCount": "0", + "tunnelUdpPort": null, + "uptimeSeconds": 5321408, + "vendor": "Cisco", + "waasDeviceMode": null, + "type": "Cisco Catalyst 9800-40 Wireless Controller", + "location": null, + "role": "ACCESS", + "instanceTenantId": "66e48af26fe687300375675e", + "instanceUuid": "71197925-1982-46d4-b569-e4cbbe8f06e7", + "id": "71197925-1982-46d4-b569-e4cbbe8f06e7" + } + ], + "version": "1.0" + }, + "get_device_list8_delete": { + "response": [], + "version": "1.0" + }, + "delete_device_response": { + "message": [ + "Device '60.1.1.1' was successfully deleted from Cisco Catalyst Center" + ] + }, + "playbook_add_deviceseema": [ + { + "cli_transport": "ssh", + "compute_device": false, + "enable_password": "Test@1234", + "extended_discovery_info": "test", + "http_password": "test", + "http_port": "443", + "http_secure": false, + "http_username": "testuser", + "ip_address_list": [ + "70.2.2.2", + "80.2.2.2" + ], + "netconf_port": 830, + "password": "Test@123", + "snmp_auth_passphrase": "Lablab@12", + "snmp_auth_protocol": "SHA", + "snmp_mode": "AUTHPRIV", + "snmp_priv_passphrase": "Lablab@123", + "snmp_priv_protocol": "AES256", + "snmp_retry": 3, + "snmp_timeout": 5, + "snmp_username": "v3Public", + "snmp_version": "v3", + "type": "NETWORK_DEVICE", + "username": "cisco" + } + ] +} \ No newline at end of file diff --git a/tests/unit/modules/dnac/fixtures/network_settings_workflow_manager.json b/tests/unit/modules/dnac/fixtures/network_settings_workflow_manager.json new file mode 100644 index 0000000000..47eb745b09 --- /dev/null +++ b/tests/unit/modules/dnac/fixtures/network_settings_workflow_manager.json @@ -0,0 +1,2365 @@ +{ + "playbook_config_network": [ + { + "network_management_details": [ + { + "site_name": "Global/Vietnam", + "settings": { + "network_aaa": { + "primary_server_address": "10.0.0.20", + "secondary_server_address": "10.0.0.10", + "protocol": "RADIUS", + "server_type": "AAA" + }, + "client_and_endpoint_aaa": { + "primary_server_address": "10.0.0.20", + "secondary_server_address": "10.0.0.10", + "protocol": "RADIUS", + "server_type": "AAA" + }, + "dhcp_server": [ + "10.0.0.1" + ], + "dns_server": { + "domain_name": "cisco.com", + "primary_ip_address": "10.0.0.2", + "secondary_ip_address": "10.0.0.3" + }, + "ntp_server": [ + "10.0.0.5" + ], + "timezone": "GMT", + "message_of_the_day": { + "banner_message": "hello", + "retain_existing_banner": true + }, + "netflow_collector": { + "ip_address": "10.0.0.4", + "port": 443 + }, + "snmp_server": { + "configure_dnac_ip": false + }, + "syslog_server": { + "configure_dnac_ip": false + } + } + } + ] + } + ], + + "playbook_update_network":[{ + "network_management_details": [ + { + "site_name": "Global/Testing/test", + "settings": { + "network_aaa": { + "primary_server_address": "10.0.0.10", + "secondary_server_address": "10.0.0.20", + "protocol": "RADIUS", + "server_type": "AAA", + "shared_secret": "string" + }, + "client_and_endpoint_aaa": { + "primary_server_address": "10.0.0.20", + "secondary_server_address": "10.0.0.10", + "protocol": "RADIUS", + "server_type": "AAA", + "shared_secret": "string" + }, + "dhcp_server": [ + "10.0.0.1" + ], + "dns_server": { + "domain_name": "cisco.com", + "primary_ip_address": "10.0.0.2", + "secondary_ip_address": "10.0.0.3" + }, + "ntp_server": [ + "10.0.0.5" + ], + "timezone": "GMT", + "message_of_the_day": { + "banner_message": "hey", + "retain_existing_banner": true + } + } + } + ] + } + ], + "playbook_config_aaa_req": [ + { + "network_management_details": [ + { + "site_name": "Global/Testing/test", + "settings": { + "network_aaa": { + "primary_server_address": "10.0.0.10", + "secondary_server_address": "10.0.0.20", + "protocol": "RADIUS", + "server_type": "AAA" + } + } + } + ] + } +], + + "playbook_config_update_not_req": [ + { + "network_management_details": [ + { + "site_name": "Global/Testing/test", + "settings": { + "network_aaa": { + "primary_server_address": "10.0.0.10", + "secondary_server_address": "10.0.0.20", + "protocol": "RADIUS", + "server_type": "AAA" + } + } + } + ] + } +], + + "get_sites_network": { + "response": [ + { + "id": "1886da5c-b0f5-4d6f-84a1-3047ba5ced71", + "parentId": "0ceaa46f-e64b-448b-a01c-1c100c9b134b", + "name": "Vietnam", + "nameHierarchy": "Global/Vietnam", + "type": "area" + } + ], + "version": "1.0" + }, + + + "get_network_v2": { + "response": [ + { + "instanceType": "banner", + "instanceUuid": "b484f908-b2e3-4a9b-a3a2-9de18b74765d", + "namespace": "global", + "type": "banner.setting", + "key": "device.banner", + "version": 1, + "value": [ + { + "bannerMessage": "hello", + "retainExistingBanner": true + } + ], + "groupUuid": "1886da5c-b0f5-4d6f-84a1-3047ba5ced71", + "inheritedGroupUuid": "", + "inheritedGroupName": "" + }, + { + "instanceType": "timezone", + "instanceUuid": "78fd3761-2557-4a45-959d-2f27fb8c2e71", + "namespace": "global", + "type": "timezone.setting", + "key": "timezone.site", + "version": 2, + "value": ["GMT"], + "groupUuid": "1886da5c-b0f5-4d6f-84a1-3047ba5ced71", + "inheritedGroupUuid": "-1", + "inheritedGroupName": "Global" + }, + { + "instanceType": "syslog", + "instanceUuid": "1695cbdb-1110-404b-9152-81c2b2decd05", + "namespace": "global", + "type": "syslog.setting", + "key": "syslog.server", + "version": 1, + "value": [ + { + "ipAddresses": null, + "configureDnacIP": false + } + ], + "groupUuid": "1886da5c-b0f5-4d6f-84a1-3047ba5ced71", + "inheritedGroupUuid": "", + "inheritedGroupName": "" + }, + { + "instanceType": "netflow", + "instanceUuid": "cad6bb6d-1dc6-440d-9d93-1694d414dd00", + "namespace": "global", + "type": "netflow.setting", + "key": "netflow.collector", + "version": 1, + "value": [ + { + "ipAddress": "10.0.0.4", + "port": 443, + "configureDnacIP": false + } + ], + "groupUuid": "1886da5c-b0f5-4d6f-84a1-3047ba5ced71", + "inheritedGroupUuid": "", + "inheritedGroupName": "" + }, + { + "instanceType": "wiredclient", + "instanceUuid": "d80bbb02-a05f-48e2-9505-5d997f19320f", + "namespace": "global", + "type": "wiredclient.setting", + "key": "wiredclient.ipdt", + "version": 5, + "value": [ + { + "ipdtEnabled": false + } + ], + "groupUuid": "1886da5c-b0f5-4d6f-84a1-3047ba5ced71", + "inheritedGroupUuid": "-1", + "inheritedGroupName": "Global" + }, + { + "instanceType": "singleconnection", + "instanceUuid": "322a2c19-9f2d-42af-82b3-f2eecc97686c", + "namespace": "global", + "type": "singleconnection.setting", + "key": "singleconnection.enablement", + "version": 11, + "value": [ + { + "singleConnectionEnabled": false + } + ], + "groupUuid": "1886da5c-b0f5-4d6f-84a1-3047ba5ced71", + "inheritedGroupUuid": "-1", + "inheritedGroupName": "Global" + }, + { + "instanceType": "pan", + "instanceUuid": "cf930c74-d269-48f8-a1df-189f22e61b52", + "namespace": "global", + "type": "pan.setting", + "key": "aaa.server.pan.network", + "version": 1, + "value": ["None"], + "groupUuid": "1886da5c-b0f5-4d6f-84a1-3047ba5ced71", + "inheritedGroupUuid": "", + "inheritedGroupName": "" + }, + { + "instanceType": "aaa", + "instanceUuid": "c6287f96-55fb-4e68-ba0e-82bfe6a69fc5", + "namespace": "global", + "type": "aaa.setting", + "key": "aaa.endpoint.server.1", + "version": 1, + "value": [ + { + "ipAddress": "10.0.0.20", + "sharedSecret": "", + "protocol": "RADIUS", + "encryptionScheme": null, + "encryptionKey": "", + "messageKey": "" + } + ], + "groupUuid": "1886da5c-b0f5-4d6f-84a1-3047ba5ced71", + "inheritedGroupUuid": "", + "inheritedGroupName": "" + }, + { + "instanceType": "securityandtrust", + "instanceUuid": "fe144044-8f18-4b2a-aa41-d3362f528b9a", + "namespace": "global", + "type": "securityandtrust.setting", + "key": "securityandtrust.revocationcheck", + "version": 0, + "value": [ + { + "revocationCheckEnabled": true + } + ], + "groupUuid": "1886da5c-b0f5-4d6f-84a1-3047ba5ced71", + "inheritedGroupUuid": "-1", + "inheritedGroupName": "Global" + }, + { + "instanceType": "aaa", + "instanceUuid": "10eaf0e0-ac50-443d-b05a-6daca661668d", + "namespace": "global", + "type": "aaa.setting", + "key": "aaa.endpoint.server.2", + "version": 1, + "value": [ + { + "ipAddress": "10.0.0.10", + "sharedSecret": "", + "protocol": "RADIUS", + "encryptionScheme": null, + "encryptionKey": "", + "messageKey": "" + } + ], + "groupUuid": "1886da5c-b0f5-4d6f-84a1-3047ba5ced71", + "inheritedGroupUuid": "", + "inheritedGroupName": "" + }, + { + "instanceType": "ip", + "instanceUuid": "279c3bb1-b310-46c9-a850-ae9ff8eb198f", + "namespace": "global", + "type": "ip.address", + "key": "dhcp.server", + "version": 1, + "value": ["10.0.0.1"], + "groupUuid": "1886da5c-b0f5-4d6f-84a1-3047ba5ced71", + "inheritedGroupUuid": "", + "inheritedGroupName": "" + }, + { + "instanceType": "interface", + "instanceUuid": "eca68714-a10a-433b-bdc1-ce497b914fe4", + "namespace": "global", + "type": "interface.setting", + "key": "interface.info", + "version": 8, + "value": [ + { + "interfaceName": "management", + "vlanId": 0 + } + ], + "groupUuid": "1886da5c-b0f5-4d6f-84a1-3047ba5ced71", + "inheritedGroupUuid": "-1", + "inheritedGroupName": "Global" + }, + { + "instanceType": "telemetry", + "instanceUuid": "040bed61-9cfe-4628-a404-606477bc47f8", + "namespace": "global", + "type": "telemetry.setting", + "key": "wireless.telemetry", + "version": 0, + "value": [ + { + "telemetryEnabled": true + } + ], + "groupUuid": "1886da5c-b0f5-4d6f-84a1-3047ba5ced71", + "inheritedGroupUuid": "-1", + "inheritedGroupName": "Global" + }, + { + "instanceType": "avc", + "instanceUuid": "8c568e76-a122-4ed3-9120-eb75e9a9fddc", + "namespace": "global", + "type": "avc.settings", + "key": "avc.settings", + "version": 1, + "value": [ + { + "profileName": "default" + } + ], + "groupUuid": "1886da5c-b0f5-4d6f-84a1-3047ba5ced71", + "inheritedGroupUuid": "", + "inheritedGroupName": "" + }, + { + "instanceType": "sla", + "instanceUuid": "51e5b11e-68c8-42b1-8dc4-720dc6d75090", + "namespace": "global", + "type": "sla.setting", + "key": "sla.endpoint", + "version": 0, + "value": [ + { + "ipAddress": "10.0.0.4", + "icmpEnabled": true + } + ], + "groupUuid": "1886da5c-b0f5-4d6f-84a1-3047ba5ced71", + "inheritedGroupUuid": "", + "inheritedGroupName": "" + }, + { + "instanceType": "snmp", + "instanceUuid": "3978b925-28ed-4afc-8aa1-f558c79a1772", + "namespace": "global", + "type": "snmp.setting", + "key": "snmp.trap.receiver", + "version": 1, + "value": [ + { + "ipAddresses": null, + "configureDnacIP": false + } + ], + "groupUuid": "1886da5c-b0f5-4d6f-84a1-3047ba5ced71", + "inheritedGroupUuid": "", + "inheritedGroupName": "" + } + ] + }, + + "get_network_v2_2": + { + "response": [ + { + "instanceType": "banner", + "instanceUuid": "b484f908-b2e3-4a9b-a3a2-9de18b74765d", + "namespace": "global", + "type": "banner.setting", + "key": "device.banner", + "version": 1, + "value": [ + { + "bannerMessage": "hello", + "retainExistingBanner": true + } + ], + "groupUuid": "1886da5c-b0f5-4d6f-84a1-3047ba5ced71", + "inheritedGroupUuid": "", + "inheritedGroupName": "" + }, + { + "instanceType": "timezone", + "instanceUuid": "78fd3761-2557-4a45-959d-2f27fb8c2e71", + "namespace": "global", + "type": "timezone.setting", + "key": "timezone.site", + "version": 2, + "value": ["GMT"], + "groupUuid": "1886da5c-b0f5-4d6f-84a1-3047ba5ced71", + "inheritedGroupUuid": "-1", + "inheritedGroupName": "Global" + }, + { + "instanceType": "syslog", + "instanceUuid": "1695cbdb-1110-404b-9152-81c2b2decd05", + "namespace": "global", + "type": "syslog.setting", + "key": "syslog.server", + "version": 1, + "value": [ + { + "ipAddresses": null, + "configureDnacIP": false + } + ], + "groupUuid": "1886da5c-b0f5-4d6f-84a1-3047ba5ced71", + "inheritedGroupUuid": "", + "inheritedGroupName": "" + }, + { + "instanceType": "netflow", + "instanceUuid": "cad6bb6d-1dc6-440d-9d93-1694d414dd00", + "namespace": "global", + "type": "netflow.setting", + "key": "netflow.collector", + "version": 1, + "value": [ + { + "ipAddress": "10.0.0.4", + "port": 443, + "configureDnacIP": false + } + ], + "groupUuid": "1886da5c-b0f5-4d6f-84a1-3047ba5ced71", + "inheritedGroupUuid": "", + "inheritedGroupName": "" + }, + { + "instanceType": "wiredclient", + "instanceUuid": "d80bbb02-a05f-48e2-9505-5d997f19320f", + "namespace": "global", + "type": "wiredclient.setting", + "key": "wiredclient.ipdt", + "version": 5, + "value": [ + { + "ipdtEnabled": false + } + ], + "groupUuid": "1886da5c-b0f5-4d6f-84a1-3047ba5ced71", + "inheritedGroupUuid": "-1", + "inheritedGroupName": "Global" + }, + { + "instanceType": "singleconnection", + "instanceUuid": "322a2c19-9f2d-42af-82b3-f2eecc97686c", + "namespace": "global", + "type": "singleconnection.setting", + "key": "singleconnection.enablement", + "version": 11, + "value": [ + { + "singleConnectionEnabled": false + } + ], + "groupUuid": "1886da5c-b0f5-4d6f-84a1-3047ba5ced71", + "inheritedGroupUuid": "-1", + "inheritedGroupName": "Global" + }, + { + "instanceType": "pan", + "instanceUuid": "cf930c74-d269-48f8-a1df-189f22e61b52", + "namespace": "global", + "type": "pan.setting", + "key": "aaa.server.pan.network", + "version": 1, + "value": ["None"], + "groupUuid": "1886da5c-b0f5-4d6f-84a1-3047ba5ced71", + "inheritedGroupUuid": "", + "inheritedGroupName": "" + }, + { + "instanceType": "aaa", + "instanceUuid": "c6287f96-55fb-4e68-ba0e-82bfe6a69fc5", + "namespace": "global", + "type": "aaa.setting", + "key": "aaa.endpoint.server.1", + "version": 1, + "value": [ + { + "ipAddress": "10.0.0.20", + "sharedSecret": "", + "protocol": "RADIUS", + "encryptionScheme": null, + "encryptionKey": "", + "messageKey": "" + } + ], + "groupUuid": "1886da5c-b0f5-4d6f-84a1-3047ba5ced71", + "inheritedGroupUuid": "", + "inheritedGroupName": "" + }, + { + "instanceType": "securityandtrust", + "instanceUuid": "fe144044-8f18-4b2a-aa41-d3362f528b9a", + "namespace": "global", + "type": "securityandtrust.setting", + "key": "securityandtrust.revocationcheck", + "version": 0, + "value": [ + { + "revocationCheckEnabled": true + } + ], + "groupUuid": "1886da5c-b0f5-4d6f-84a1-3047ba5ced71", + "inheritedGroupUuid": "-1", + "inheritedGroupName": "Global" + }, + { + "instanceType": "aaa", + "instanceUuid": "10eaf0e0-ac50-443d-b05a-6daca661668d", + "namespace": "global", + "type": "aaa.setting", + "key": "aaa.endpoint.server.2", + "version": 1, + "value": [ + { + "ipAddress": "10.0.0.10", + "sharedSecret": "", + "protocol": "RADIUS", + "encryptionScheme": null, + "encryptionKey": "", + "messageKey": "" + } + ], + "groupUuid": "1886da5c-b0f5-4d6f-84a1-3047ba5ced71", + "inheritedGroupUuid": "", + "inheritedGroupName": "" + }, + { + "instanceType": "ip", + "instanceUuid": "279c3bb1-b310-46c9-a850-ae9ff8eb198f", + "namespace": "global", + "type": "ip.address", + "key": "dhcp.server", + "version": 1, + "value": ["10.0.0.1"], + "groupUuid": "1886da5c-b0f5-4d6f-84a1-3047ba5ced71", + "inheritedGroupUuid": "", + "inheritedGroupName": "" + }, + { + "instanceType": "interface", + "instanceUuid": "eca68714-a10a-433b-bdc1-ce497b914fe4", + "namespace": "global", + "type": "interface.setting", + "key": "interface.info", + "version": 8, + "value": [ + { + "interfaceName": "management", + "vlanId": 0 + } + ], + "groupUuid": "1886da5c-b0f5-4d6f-84a1-3047ba5ced71", + "inheritedGroupUuid": "-1", + "inheritedGroupName": "Global" + }, + { + "instanceType": "telemetry", + "instanceUuid": "040bed61-9cfe-4628-a404-606477bc47f8", + "namespace": "global", + "type": "telemetry.setting", + "key": "wireless.telemetry", + "version": 0, + "value": [ + { + "telemetryEnabled": true + } + ], + "groupUuid": "1886da5c-b0f5-4d6f-84a1-3047ba5ced71", + "inheritedGroupUuid": "-1", + "inheritedGroupName": "Global" + }, + { + "instanceType": "avc", + "instanceUuid": "8c568e76-a122-4ed3-9120-eb75e9a9fddc", + "namespace": "global", + "type": "avc.settings", + "key": "avc.enablement", + "version": 0, + "value": [ + { + "avcEnabled": false + } + ], + "groupUuid": "1886da5c-b0f5-4d6f-84a1-3047ba5ced71", + "inheritedGroupUuid": "-1", + "inheritedGroupName": "Global" + }, + { + "instanceType": "snmp", + "instanceUuid": "3978b925-28ed-4afc-8aa1-f558c79a1772", + "namespace": "global", + "type": "snmp.setting", + "key": "snmp.trap.receiver", + "version": 1, + "value": [ + { + "ipAddresses": null, + "configureDnacIP": false + } + ], + "groupUuid": "1886da5c-b0f5-4d6f-84a1-3047ba5ced71", + "inheritedGroupUuid": "", + "inheritedGroupName": "" + } + ], + "version": "1.0" + }, + + "get_sites_test": { + "response": [ + { + "id": "b08d92c9-663f-43f3-9575-5af52d4d75a7", + "parentId": "062f7b45-66b6-48d8-a2ff-a261b89d71d6", + "name": "test", + "nameHierarchy": "Global/Testing/test", + "type": "building", + "latitude": 38.0, + "longitude": 145.0, + "country": "UNKNOWN" + } + ], + "version": "1.0" + }, + + "dhcp_get": + { + "response": { + "dhcp": null + }, + "version": "1.0" + }, + + "dns_get": + { + "response": { + "dns": null + }, + "version": "1.0" + }, + + "telemetry_get": + { + "response": { + "applicationVisibility": null, + "wiredDataCollection": null, + "wirelessTelemetry": null, + "snmpTraps": null, + "syslogs": null + }, + "version": "1.0" + }, + + "ntp_get": + { + "response": { + "ntp": null + }, + "version": "1.0" + }, + + "timeZone_get": + { + "response": { + "timeZone": null + }, + "version": "1.0" + }, + + "banner_get": + { + "response": { + "banner": null + }, + "version": "1.0" + }, + + "AAA_get": + { + "response": { + "aaaNetwork": {}, + "aaaClient": {} + }, + "version": "1.0" + }, + + "update": + { + "response": { + "taskId": "019232bb-578f-72bd-8a2b-303c1d432c2c", + "url": "/api/v1/task/019232bb-578f-72bd-8a2b-303c1d432c2c" + }, + "version": "1.0" + }, + + "task": + { + "response": { + "endTime": 1727432732818, + "startTime": 1727432732524, + "version": 1727432732818, + "progress": "Desired Common Settings operation successful.", + "serviceType": "Common Settings Service", + "isError": false, + "instanceTenantId": "6663114d388b29001399e46a", + "id": "01923303-af6c-7c7d-9726-96b51d45bd1a" + }, + "version": "1.0" + }, + + "get_dhcp": + { + "response": { + "dhcp": { + "servers": [ + "10.0.0.1" + ] + } + }, + "version": "1.0" + }, + + "get_dns": + { + "response": { + "dns": { + "domainName": "cisco.com", + "dnsServers": [ + "10.0.0.2", + "10.0.0.3" + ] + } + }, + "version": "1.0" + }, + + "get_telemetry": + { + "response": { + "applicationVisibility": { + "collector": { + "collectorType": "Builtin" + }, + "enableOnWiredAccessDevices": false + }, + "wiredDataCollection": { + "enableWiredDataCollection": false + }, + "wirelessTelemetry": { + "enableWirelessTelemetry": false + }, + "snmpTraps": { + "useBuiltinTrapServer": false, + "externalTrapServers": ["10.0.0.6"] + }, + "syslogs": { + "useBuiltinSyslogServer": false, + "externalSyslogServers": ["10.0.0.8"] + } + }, + "version": "1.0" + }, + + "get_ntp": + { + "response": { + "ntp": { + "servers": [ + "10.0.0.5" + ] + } + }, + "version": "1.0" + }, + + "get_timezone": + { + "response": { + "timeZone": null + }, + "version": "1.0" + }, + + "get_banner": + { + "response": { + "banner": { + "type": "Custom", + "message": "hey" + } + }, + "version": "1.0" + }, + + "get_AAA": + { + "response": { + "aaaNetwork": { + "serverType": "AAA", + "protocol": "RADIUS", + "primaryServerIp": "10.0.0.10", + "secondaryServerIp": "10.0.0.20" + }, + "aaaClient": { + "serverType": "AAA", + "protocol": "RADIUS", + "primaryServerIp": "10.0.0.20", + "secondaryServerIp": "10.0.0.10" + } + }, + "version": "1.0" + }, + + "clear_dnac_network": + { + "response": [ + { + "instanceType": "timezone", + "instanceUuid": "c840c809-04a0-411d-b04d-6c4c50d7fa2f", + "namespace": "global", + "type": "timezone.setting", + "key": "timezone.site", + "version": 2, + "value": ["GMT"], + "groupUuid": "3ff4989e-5260-4f64-887f-ce993a3428db", + "inheritedGroupUuid": "", + "inheritedGroupName": "" + }, + { + "instanceType": "securityandtrust", + "instanceUuid": "b89b6126-51c2-4739-8f69-0ae6b481f9fe", + "namespace": "global", + "type": "securityandtrust.setting", + "key": "securityandtrust.revocationcheck", + "version": 0, + "value": [ + { + "revocationCheckEnabled": true + } + ], + "groupUuid": "3ff4989e-5260-4f64-887f-ce993a3428db", + "inheritedGroupUuid": "", + "inheritedGroupName": "" + }, + { + "instanceType": "interface", + "instanceUuid": "7b5f43c5-8852-49ba-affe-720234b29990", + "namespace": "global", + "type": "interface.setting", + "key": "interface.info", + "version": 8, + "value": [ + { + "interfaceName": "management", + "vlanId": 0 + } + ], + "groupUuid": "3ff4989e-5260-4f64-887f-ce993a3428db", + "inheritedGroupUuid": "", + "inheritedGroupName": "" + }, + { + "instanceType": "telemetry", + "instanceUuid": "333c1da6-0373-463e-8746-600686979567", + "namespace": "global", + "type": "telemetry.setting", + "key": "wireless.telemetry", + "version": 0, + "value": [ + { + "telemetryEnabled": true + } + ], + "groupUuid": "3ff4989e-5260-4f64-887f-ce993a3428db", + "inheritedGroupUuid": "", + "inheritedGroupName": "" + }, + { + "instanceType": "syslog", + "instanceUuid": "7d45012a-ab56-44b6-9ef7-db7d0374543d", + "namespace": "global", + "type": "syslog.setting", + "key": "syslog.server", + "version": 3, + "value": [ + { + "ipAddresses": [], + "configureDnacIP": true + } + ], + "groupUuid": "3ff4989e-5260-4f64-887f-ce993a3428db", + "inheritedGroupUuid": "", + "inheritedGroupName": "" + }, + { + "instanceType": "avc", + "instanceUuid": "6a531b72-9904-4e9a-83b4-b97296886e22", + "namespace": "global", + "type": "avc.settings", + "key": "avc.settings", + "version": 0, + "value": [ + { + "cbarEnabledOnWired": false, + "cbarEnabledOnWireless": false, + "telemetryEnabledOnWired": false, + "telemetryEnabledOnWireless": false + } + ], + "groupUuid": "3ff4989e-5260-4f64-887f-ce993a3428db", + "inheritedGroupUuid": "", + "inheritedGroupName": "" + }, + { + "instanceType": "netflow", + "instanceUuid": "dbe20948-bb3e-4e7a-85bf-ef0cc15a2500", + "namespace": "global", + "type": "netflow.setting", + "key": "netflow.collector", + "version": 6, + "value": [ + { + "ipAddress": "", + "port": null, + "configureDnacIP": true + } + ], + "groupUuid": "3ff4989e-5260-4f64-887f-ce993a3428db", + "inheritedGroupUuid": "", + "inheritedGroupName": "" + }, + { + "instanceType": "wiredclient", + "instanceUuid": "9760f0fd-a2a2-4589-a886-91d9ca0a5922", + "namespace": "global", + "type": "wiredclient.setting", + "key": "wiredclient.ipdt", + "version": 5, + "value": [ + { + "ipdtEnabled": false + } + ], + "groupUuid": "3ff4989e-5260-4f64-887f-ce993a3428db", + "inheritedGroupUuid": "", + "inheritedGroupName": "" + }, + { + "instanceType": "snmp", + "instanceUuid": "d6f999c8-f8c9-4de5-b019-92c57a21be48", + "namespace": "global", + "type": "snmp.setting", + "key": "snmp.trap.receiver", + "version": 4, + "value": [ + { + "ipAddresses": [], + "configureDnacIP": true + } + ], + "groupUuid": "3ff4989e-5260-4f64-887f-ce993a3428db", + "inheritedGroupUuid": "", + "inheritedGroupName": "" + }, + { + "instanceType": "eapfastauthority", + "instanceUuid": "5ac8ffb8-33e2-480a-a397-880d18370d57", + "namespace": "global", + "type": "eapfast.authority", + "key": "eapfast.authority.seeds", + "version": 1, + "value": [ + { + "authorityId": "CB29F71F5BCC3B16A491C714334B8023", + "seedKey": "040A5AB9C377BF3D3D1D663656ABA4B96FE03D05F1525561DE17D8982429FA5DB137930555C941C5A1DAC829F396A0F605A8409CD082B40FE41662AE1772D985", + "seedId": "19" + } + ], + "groupUuid": "3ff4989e-5260-4f64-887f-ce993a3428db", + "inheritedGroupUuid": "", + "inheritedGroupName": "" + } + ], + "version": "1.0" + }, + + "playbook_global_pool_creation": [ + { + "global_pool_details": { + "settings": { + "ip_pool": [ + { + "name": "Global_Pool2", + "pool_type": "Generic", + "ip_address_space": "IPv6", + "cidr": "2001:db8::/64" + }, + { + "name": "Global_Pool3", + "pool_type": "Generic", + "ip_address_space": "IPv4", + "cidr": "10.0.0.0/8" + } + ] + } + } + } + ], + + "playbook_global_pool_updation": [ + { + "global_pool_details": { + "settings": { + "ip_pool": [ + { + "name": "Global_Pool2", + "pool_type": "Generic", + "ip_address_space": "IPv6", + "cidr": "2001:db8::/64", + "gateway": "", + "dhcp_server_ips": [], + "dns_server_ips": [], + "prev_name": "Global_Pool1" + }, + { + "name": "Global_Pool3", + "pool_type": "Generic", + "ip_address_space": "IPv4", + "cidr": "10.0.0.0/8", + "gateway": "", + "dhcp_server_ips": [], + "dns_server_ips": [] + + } + ] + } + } + } + ], + + "global_pool_exist_ipv6": + { + "response": [ + { + "ipPoolName": "IP_Pool_Abhi_Global", + "dhcpServerIps": [], + "gateways": [], + "createTime": 1726467421206, + "lastUpdateTime": 1726469125098, + "totalIpAddressCount": 64, + "usedIpAddressCount": 8, + "parentUuid": "root", + "owner": "ipam", + "shared": true, + "overlapping": false, + "configureExternalDhcp": false, + "usedPercentage": "12", + "clientOptions": {}, + "ipPoolType": "generic", + "unavailableIpAddressCount": 0, + "availableIpAddressCount": 0, + "totalAssignableIpAddressCount": 62, + "dnsServerIps": [ + "171.70.168.183" + ], + "hasSubpools": false, + "defaultAssignedIpAddressCount": 2, + "context": [ + { + "owner": "DNAC", + "contextKey": "type", + "contextValue": "generic" + } + ], + "ipv6": false, + "id": "45b49d9c-63f7-47c5-8888-d041fcf83e96", + "ipPoolCidr": "192.0.2.0/26" + } + ], + "version": "1.0" + }, + + "global_pool_exist_ipv4": + { + "response": [ + { + "ipPoolName": "IP_Pool_Abhi_Global", + "dhcpServerIps": [], + "gateways": [], + "createTime": 1726467421206, + "lastUpdateTime": 1726469125098, + "totalIpAddressCount": 64, + "usedIpAddressCount": 8, + "parentUuid": "root", + "owner": "ipam", + "shared": true, + "overlapping": false, + "configureExternalDhcp": false, + "usedPercentage": "12", + "clientOptions": {}, + "ipPoolType": "generic", + "unavailableIpAddressCount": 0, + "availableIpAddressCount": 0, + "totalAssignableIpAddressCount": 62, + "dnsServerIps": [ + "171.70.168.183" + ], + "hasSubpools": false, + "defaultAssignedIpAddressCount": 2, + "context": [ + { + "owner": "DNAC", + "contextKey": "type", + "contextValue": "generic" + } + ], + "ipv6": false, + "id": "45b49d9c-63f7-47c5-8888-d041fcf83e96", + "ipPoolCidr": "192.0.2.0/26" + } + ], + "version": "1.0" + }, + + "global_pool_creation": + { + "executionId": "827be6d3-e2ad-463b-b034-22add79e5278", + "executionStatusUrl": "/dna/platform/management/business-api/v1/execution-status/827be6d3-e2ad-463b-b034-22add79e5278", + "message": "The request has been accepted for execution" + }, + + "global_pool_creation_task": + { + "bapiKey": "f793-192a-43da-bed9", + "bapiName": "Create Global Pool", + "bapiExecutionId": "827be6d3-e2ad-463b-b034-22add79e5278", + "startTime": "Fri Sep 27 16:32:53 UTC 2024", + "startTimeEpoch": 1727454773918, + "endTime": "Fri Sep 27 16:32:54 UTC 2024", + "endTimeEpoch": 1727454774625, + "timeDuration": 707, + "status": "SUCCESS", + "bapiSyncResponse": { + "status": "true", + "message": "Global Ip Pools created Successfully." + } + }, + + "global_pool_ipv6_exist2": + { + "response": [ + { + "ipPoolName": "Global_Pool2", + "dhcpServerIps": [], + "gateways": [], + "createTime": 1727454774076, + "lastUpdateTime": 1727454774076, + "totalIpAddressCount": 9223372036854776000, + "usedIpAddressCount": 0, + "parentUuid": "root", + "owner": "ipam", + "shared": true, + "overlapping": false, + "configureExternalDhcp": false, + "usedPercentage": "0", + "clientOptions": {}, + "ipPoolType": "generic", + "unavailableIpAddressCount": 0, + "availableIpAddressCount": 0, + "totalAssignableIpAddressCount": 9223372036854776000, + "dnsServerIps": [], + "hasSubpools": false, + "defaultAssignedIpAddressCount": 1, + "context": [ + { + "owner": "DNAC", + "contextKey": "type", + "contextValue": "generic" + } + ], + "ipv6": true, + "id": "224cb0d0-0d0b-48ea-864c-f432e44d16e6", + "ipPoolCidr": "2001:db8::/64" + }, + { + "ipPoolName": "Global_Pool3", + "dhcpServerIps": [], + "gateways": [], + "createTime": 1727454774302, + "lastUpdateTime": 1727454774302, + "totalIpAddressCount": 16777216, + "usedIpAddressCount": 0, + "parentUuid": "root", + "owner": "ipam", + "shared": true, + "overlapping": false, + "configureExternalDhcp": false, + "usedPercentage": "0", + "clientOptions": {}, + "ipPoolType": "generic", + "unavailableIpAddressCount": 0, + "availableIpAddressCount": 0, + "totalAssignableIpAddressCount": 16777214, + "dnsServerIps": [], + "hasSubpools": false, + "defaultAssignedIpAddressCount": 2, + "context": [ + { + "owner": "DNAC", + "contextKey": "type", + "contextValue": "generic" + } + ], + "ipv6": false, + "id": "347d168c-11b2-4329-985c-32a39bf5a825", + "ipPoolCidr": "10.0.0.0/8" + }, + { + "ipPoolName": "IP_Pool_Abhi_Global", + "dhcpServerIps": [], + "gateways": [], + "createTime": 1726467421206, + "lastUpdateTime": 1726469125098, + "totalIpAddressCount": 64, + "usedIpAddressCount": 8, + "parentUuid": "root", + "owner": "ipam", + "shared": true, + "overlapping": false, + "configureExternalDhcp": false, + "usedPercentage": "12", + "clientOptions": {}, + "ipPoolType": "generic", + "unavailableIpAddressCount": 0, + "availableIpAddressCount": 0, + "totalAssignableIpAddressCount": 62, + "dnsServerIps": ["171.70.168.183"], + "hasSubpools": false, + "defaultAssignedIpAddressCount": 2, + "context": [ + { + "owner": "DNAC", + "contextKey": "type", + "contextValue": "generic" + } + ], + "ipv6": false, + "id": "45b49d9c-63f7-47c5-8888-d041fcf83e96", + "ipPoolCidr": "192.0.2.0/26" + } + ], + "version": "1.0" + }, + + "global_pool_ipv4_exist2": + { + "response": [ + { + "ipPoolName": "Global_Pool2", + "dhcpServerIps": [], + "gateways": [], + "createTime": 1727454774076, + "lastUpdateTime": 1727454774076, + "totalIpAddressCount": 9223372036854776000, + "usedIpAddressCount": 0, + "parentUuid": "root", + "owner": "ipam", + "shared": true, + "overlapping": false, + "configureExternalDhcp": false, + "usedPercentage": "0", + "clientOptions": {}, + "ipPoolType": "generic", + "unavailableIpAddressCount": 0, + "availableIpAddressCount": 0, + "totalAssignableIpAddressCount": 9223372036854776000, + "dnsServerIps": [], + "hasSubpools": false, + "defaultAssignedIpAddressCount": 1, + "context": [ + { + "owner": "DNAC", + "contextKey": "type", + "contextValue": "generic" + } + ], + "ipv6": true, + "id": "224cb0d0-0d0b-48ea-864c-f432e44d16e6", + "ipPoolCidr": "2001:db8::/64" + }, + { + "ipPoolName": "Global_Pool3", + "dhcpServerIps": [], + "gateways": [], + "createTime": 1727454774302, + "lastUpdateTime": 1727454774302, + "totalIpAddressCount": 16777216, + "usedIpAddressCount": 0, + "parentUuid": "root", + "owner": "ipam", + "shared": true, + "overlapping": false, + "configureExternalDhcp": false, + "usedPercentage": "0", + "clientOptions": {}, + "ipPoolType": "generic", + "unavailableIpAddressCount": 0, + "availableIpAddressCount": 0, + "totalAssignableIpAddressCount": 16777214, + "dnsServerIps": [], + "hasSubpools": false, + "defaultAssignedIpAddressCount": 2, + "context": [ + { + "owner": "DNAC", + "contextKey": "type", + "contextValue": "generic" + } + ], + "ipv6": false, + "id": "347d168c-11b2-4329-985c-32a39bf5a825", + "ipPoolCidr": "10.0.0.0/8" + }, + { + "ipPoolName": "IP_Pool_Abhi_Global", + "dhcpServerIps": [], + "gateways": [], + "createTime": 1726467421206, + "lastUpdateTime": 1726469125098, + "totalIpAddressCount": 64, + "usedIpAddressCount": 8, + "parentUuid": "root", + "owner": "ipam", + "shared": true, + "overlapping": false, + "configureExternalDhcp": false, + "usedPercentage": "12", + "clientOptions": {}, + "ipPoolType": "generic", + "unavailableIpAddressCount": 0, + "availableIpAddressCount": 0, + "totalAssignableIpAddressCount": 62, + "dnsServerIps": [ + "171.70.168.183" + ], + "hasSubpools": false, + "defaultAssignedIpAddressCount": 2, + "context": [ + { + "owner": "DNAC", + "contextKey": "type", + "contextValue": "generic" + } + ], + "ipv6": false, + "id": "45b49d9c-63f7-47c5-8888-d041fcf83e96", + "ipPoolCidr": "192.0.2.0/26" + } + ], + "version": "1.0" + }, + + "Global_Pool1": + { + "response": [ + { + "ipPoolName": "Global_Pool2", + "dhcpServerIps": [], + "gateways": [], + "createTime": 1727454774076, + "lastUpdateTime": 1727454774076, + "totalIpAddressCount": 9223372036854776000, + "usedIpAddressCount": 0, + "parentUuid": "root", + "owner": "ipam", + "shared": true, + "overlapping": false, + "configureExternalDhcp": false, + "usedPercentage": "0", + "clientOptions": {}, + "ipPoolType": "generic", + "unavailableIpAddressCount": 0, + "availableIpAddressCount": 0, + "totalAssignableIpAddressCount": 9223372036854776000, + "dnsServerIps": [], + "hasSubpools": false, + "defaultAssignedIpAddressCount": 1, + "context": [ + { + "owner": "DNAC", + "contextKey": "type", + "contextValue": "generic" + } + ], + "ipv6": true, + "id": "224cb0d0-0d0b-48ea-864c-f432e44d16e6", + "ipPoolCidr": "2001:db8::/64" + }, + { + "ipPoolName": "Global_Pool3", + "dhcpServerIps": [], + "gateways": [], + "createTime": 1727454774302, + "lastUpdateTime": 1727454774302, + "totalIpAddressCount": 16777216, + "usedIpAddressCount": 0, + "parentUuid": "root", + "owner": "ipam", + "shared": true, + "overlapping": false, + "configureExternalDhcp": false, + "usedPercentage": "0", + "clientOptions": {}, + "ipPoolType": "generic", + "unavailableIpAddressCount": 0, + "availableIpAddressCount": 0, + "totalAssignableIpAddressCount": 16777214, + "dnsServerIps": [], + "hasSubpools": false, + "defaultAssignedIpAddressCount": 2, + "context": [ + { + "owner": "DNAC", + "contextKey": "type", + "contextValue": "generic" + } + ], + "ipv6": false, + "id": "347d168c-11b2-4329-985c-32a39bf5a825", + "ipPoolCidr": "10.0.0.0/8" + }, + { + "ipPoolName": "IP_Pool_Abhi_Global", + "dhcpServerIps": [], + "gateways": [], + "createTime": 1726467421206, + "lastUpdateTime": 1726469125098, + "totalIpAddressCount": 64, + "usedIpAddressCount": 8, + "parentUuid": "root", + "owner": "ipam", + "shared": true, + "overlapping": false, + "configureExternalDhcp": false, + "usedPercentage": "12", + "clientOptions": {}, + "ipPoolType": "generic", + "unavailableIpAddressCount": 0, + "availableIpAddressCount": 0, + "totalAssignableIpAddressCount": 62, + "dnsServerIps": [ + "171.70.168.183" + ], + "hasSubpools": false, + "defaultAssignedIpAddressCount": 2, + "context": [ + { + "owner": "DNAC", + "contextKey": "type", + "contextValue": "generic" + } + ], + "ipv6": false, + "id": "45b49d9c-63f7-47c5-8888-d041fcf83e96", + "ipPoolCidr": "192.0.2.0/26" + } + ], + "version": "1.0" + }, + + "Global_Pool2": + { + "response": [ + { + "ipPoolName": "Global_Pool2", + "dhcpServerIps": [], + "gateways": [], + "createTime": 1727454774076, + "lastUpdateTime": 1727454774076, + "totalIpAddressCount": 9223372036854776000, + "usedIpAddressCount": 0, + "parentUuid": "root", + "owner": "ipam", + "shared": true, + "overlapping": false, + "configureExternalDhcp": false, + "usedPercentage": "0", + "clientOptions": {}, + "ipPoolType": "generic", + "unavailableIpAddressCount": 0, + "availableIpAddressCount": 0, + "totalAssignableIpAddressCount": 9223372036854776000, + "dnsServerIps": [], + "hasSubpools": false, + "defaultAssignedIpAddressCount": 1, + "context": [ + { + "owner": "DNAC", + "contextKey": "type", + "contextValue": "generic" + } + ], + "ipv6": true, + "id": "224cb0d0-0d0b-48ea-864c-f432e44d16e6", + "ipPoolCidr": "2001:db8::/64" + }, + { + "ipPoolName": "Global_Pool3", + "dhcpServerIps": [], + "gateways": [], + "createTime": 1727454774302, + "lastUpdateTime": 1727454774302, + "totalIpAddressCount": 16777216, + "usedIpAddressCount": 0, + "parentUuid": "root", + "owner": "ipam", + "shared": true, + "overlapping": false, + "configureExternalDhcp": false, + "usedPercentage": "0", + "clientOptions": {}, + "ipPoolType": "generic", + "unavailableIpAddressCount": 0, + "availableIpAddressCount": 0, + "totalAssignableIpAddressCount": 16777214, + "dnsServerIps": [], + "hasSubpools": false, + "defaultAssignedIpAddressCount": 2, + "context": [ + { + "owner": "DNAC", + "contextKey": "type", + "contextValue": "generic" + } + ], + "ipv6": false, + "id": "347d168c-11b2-4329-985c-32a39bf5a825", + "ipPoolCidr": "10.0.0.0/8" + }, + { + "ipPoolName": "IP_Pool_Abhi_Global", + "dhcpServerIps": [], + "gateways": [], + "createTime": 1726467421206, + "lastUpdateTime": 1726469125098, + "totalIpAddressCount": 64, + "usedIpAddressCount": 8, + "parentUuid": "root", + "owner": "ipam", + "shared": true, + "overlapping": false, + "configureExternalDhcp": false, + "usedPercentage": "12", + "clientOptions": {}, + "ipPoolType": "generic", + "unavailableIpAddressCount": 0, + "availableIpAddressCount": 0, + "totalAssignableIpAddressCount": 62, + "dnsServerIps": [ + "171.70.168.183" + ], + "hasSubpools": false, + "defaultAssignedIpAddressCount": 2, + "context": [ + { + "owner": "DNAC", + "contextKey": "type", + "contextValue": "generic" + } + ], + "ipv6": false, + "id": "45b49d9c-63f7-47c5-8888-d041fcf83e96", + "ipPoolCidr": "192.0.2.0/26" + } + ], + "version": "1.0" + }, + + "update_global_pool": + { + "executionId": "76481204-69fe-4cdf-9ced-18dfd5bcde6e", + "executionStatusUrl": "/dna/platform/management/business-api/v1/execution-status/76481204-69fe-4cdf-9ced-18dfd5bcde6e", + "message": "The request has been accepted for execution" + }, + + "update_global_pool_task": + { + "bapiKey": "03b4-c8b4-4919-b964", + "bapiName": "Update Global Pool", + "bapiExecutionId": "76481204-69fe-4cdf-9ced-18dfd5bcde6e", + "startTime": "Fri Sep 27 18:28:26 UTC 2024", + "startTimeEpoch": 1727461706159, + "endTime": "Fri Sep 27 18:28:41 UTC 2024", + "endTimeEpoch": 1727461721982, + "timeDuration": 15823, + "status": "SUCCESS", + "bapiSyncResponse": { + "status": "true", + "message": "Global IP pool updated successfully." + } + }, + + "Global_Pool_1": + { + "response": [ + { + "ipPoolName": "Global_Pool1", + "dhcpServerIps": [], + "gateways": [], + "createTime": 1727454774076, + "lastUpdateTime": 1727461721254, + "totalIpAddressCount": 9223372036854776000, + "usedIpAddressCount": 0, + "parentUuid": "root", + "owner": "ipam", + "shared": true, + "overlapping": false, + "configureExternalDhcp": false, + "usedPercentage": "0", + "clientOptions": {}, + "ipPoolType": "generic", + "unavailableIpAddressCount": 0, + "availableIpAddressCount": 0, + "totalAssignableIpAddressCount": 9223372036854776000, + "dnsServerIps": [], + "hasSubpools": false, + "defaultAssignedIpAddressCount": 1, + "context": [ + { + "owner": "DNAC", + "contextKey": "type", + "contextValue": "generic" + } + ], + "ipv6": true, + "id": "224cb0d0-0d0b-48ea-864c-f432e44d16e6", + "ipPoolCidr": "2001:db8::/64" + }, + { + "ipPoolName": "Global_Pool3", + "dhcpServerIps": [], + "gateways": [], + "createTime": 1727454774302, + "lastUpdateTime": 1727454774302, + "totalIpAddressCount": 16777216, + "usedIpAddressCount": 0, + "parentUuid": "root", + "owner": "ipam", + "shared": true, + "overlapping": false, + "configureExternalDhcp": false, + "usedPercentage": "0", + "clientOptions": {}, + "ipPoolType": "generic", + "unavailableIpAddressCount": 0, + "availableIpAddressCount": 0, + "totalAssignableIpAddressCount": 16777214, + "dnsServerIps": [], + "hasSubpools": false, + "defaultAssignedIpAddressCount": 2, + "context": [ + { + "owner": "DNAC", + "contextKey": "type", + "contextValue": "generic" + } + ], + "ipv6": false, + "id": "347d168c-11b2-4329-985c-32a39bf5a825", + "ipPoolCidr": "10.0.0.0/8" + }, + { + "ipPoolName": "IP_Pool_Abhi_Global", + "dhcpServerIps": [], + "gateways": [], + "createTime": 1726467421206, + "lastUpdateTime": 1726469125098, + "totalIpAddressCount": 64, + "usedIpAddressCount": 8, + "parentUuid": "root", + "owner": "ipam", + "shared": true, + "overlapping": false, + "configureExternalDhcp": false, + "usedPercentage": "12", + "clientOptions": {}, + "ipPoolType": "generic", + "unavailableIpAddressCount": 0, + "availableIpAddressCount": 0, + "totalAssignableIpAddressCount": 62, + "dnsServerIps": [ + "171.70.168.183" + ], + "hasSubpools": false, + "defaultAssignedIpAddressCount": 2, + "context": [ + { + "owner": "DNAC", + "contextKey": "type", + "contextValue": "generic" + } + ], + "ipv6": false, + "id": "45b49d9c-63f7-47c5-8888-d041fcf83e96", + "ipPoolCidr": "192.0.2.0/26" + } + ], + "version": "1.0" + }, + + "Global_Pool_2": + { + "response": [ + { + "ipPoolName": "Global_Pool1", + "dhcpServerIps": [], + "gateways": [], + "createTime": 1727454774076, + "lastUpdateTime": 1727461721254, + "totalIpAddressCount": 9223372036854776000, + "usedIpAddressCount": 0, + "parentUuid": "root", + "owner": "ipam", + "shared": true, + "overlapping": false, + "configureExternalDhcp": false, + "usedPercentage": "0", + "clientOptions": {}, + "ipPoolType": "generic", + "unavailableIpAddressCount": 0, + "availableIpAddressCount": 0, + "totalAssignableIpAddressCount": 9223372036854776000, + "dnsServerIps": [], + "hasSubpools": false, + "defaultAssignedIpAddressCount": 1, + "context": [ + { + "owner": "DNAC", + "contextKey": "type", + "contextValue": "generic" + } + ], + "ipv6": true, + "id": "224cb0d0-0d0b-48ea-864c-f432e44d16e6", + "ipPoolCidr": "2001:db8::/64" + }, + { + "ipPoolName": "Global_Pool3", + "dhcpServerIps": [], + "gateways": [], + "createTime": 1727454774302, + "lastUpdateTime": 1727454774302, + "totalIpAddressCount": 16777216, + "usedIpAddressCount": 0, + "parentUuid": "root", + "owner": "ipam", + "shared": true, + "overlapping": false, + "configureExternalDhcp": false, + "usedPercentage": "0", + "clientOptions": {}, + "ipPoolType": "generic", + "unavailableIpAddressCount": 0, + "availableIpAddressCount": 0, + "totalAssignableIpAddressCount": 16777214, + "dnsServerIps": [], + "hasSubpools": false, + "defaultAssignedIpAddressCount": 2, + "context": [ + { + "owner": "DNAC", + "contextKey": "type", + "contextValue": "generic" + } + ], + "ipv6": false, + "id": "347d168c-11b2-4329-985c-32a39bf5a825", + "ipPoolCidr": "10.0.0.0/8" + }, + { + "ipPoolName": "IP_Pool_Abhi_Global", + "dhcpServerIps": [], + "gateways": [], + "createTime": 1726467421206, + "lastUpdateTime": 1726469125098, + "totalIpAddressCount": 64, + "usedIpAddressCount": 8, + "parentUuid": "root", + "owner": "ipam", + "shared": true, + "overlapping": false, + "configureExternalDhcp": false, + "usedPercentage": "12", + "clientOptions": {}, + "ipPoolType": "generic", + "unavailableIpAddressCount": 0, + "availableIpAddressCount": 0, + "totalAssignableIpAddressCount": 62, + "dnsServerIps": [ + "171.70.168.183" + ], + "hasSubpools": false, + "defaultAssignedIpAddressCount": 2, + "context": [ + { + "owner": "DNAC", + "contextKey": "type", + "contextValue": "generic" + } + ], + "ipv6": false, + "id": "45b49d9c-63f7-47c5-8888-d041fcf83e96", + "ipPoolCidr": "192.0.2.0/26" + } + ], + "version": "1.0" + }, + + "playbook_config_reserve_pool": [ + { + "reserve_pool_details": [ + { + "site_name": "Global/Abc2", + "name": "IP_Pool_3", + "pool_type": "LAN", + "ipv4_global_pool": "10.0.0.0/8", + "ipv4_global_pool_name": "Global_Pool2", + "ipv4_prefix": true, + "ipv4_prefix_length": 9, + "ipv4_subnet": "10.128.0.0", + "ipv4_gateway": "10.128.0.1", + "ipv4_dns_servers": [] + } + ] + } + ], + + "playbook_config_reserve_pool_deletion": [ + { + "reserve_pool_details": [ + { + "site_name": "Global/Abc2", + "name": "IP_Pool_3" + } + ] + } + ], + + "site_reserve_deletion": + { + "response": [ + { + "parentId": "0ceaa46f-e64b-448b-a01c-1c100c9b134b", + "additionalInfo": [ + { + "nameSpace": "Location", + "attributes": { + "addressInheritedFrom": "1e292ed1-0e1e-41d7-914f-048552ce0fc5", + "type": "area" + } + } + ], + "name": "Abc2", + "instanceTenantId": "6663114d388b29001399e46a", + "id": "1e292ed1-0e1e-41d7-914f-048552ce0fc5", + "siteHierarchy": "0ceaa46f-e64b-448b-a01c-1c100c9b134b/1e292ed1-0e1e-41d7-914f-048552ce0fc5", + "siteNameHierarchy": "Global/Abc2" + } + ] + }, + + "get_reserved_ip_subpool_deletion": + { + "response": [ + { + "id": "c3078bf6-82ee-41a5-b939-e696c1ba46b4", + "groupName": "IP_Pool_3", + "ipPools": [ + { + "ipPoolName": "IP_Pool_3", + "dhcpServerIps": [], + "gateways": ["10.128.0.1"], + "createTime": 1727513844408, + "lastUpdateTime": 1727513844419, + "totalIpAddressCount": 8388608, + "usedIpAddressCount": 0, + "parentUuid": "35b049a8-13c5-4434-a569-33708cd46f94", + "owner": "DNAC", + "shared": true, + "overlapping": false, + "configureExternalDhcp": false, + "usedPercentage": "0", + "clientOptions": {}, + "groupUuid": "c3078bf6-82ee-41a5-b939-e696c1ba46b4", + "unavailableIpAddressCount": 0, + "availableIpAddressCount": 0, + "totalAssignableIpAddressCount": 8388605, + "dnsServerIps": [], + "hasSubpools": false, + "defaultAssignedIpAddressCount": 3, + "context": [ + { + "owner": "DNAC", + "contextKey": "siteId", + "contextValue": "1e292ed1-0e1e-41d7-914f-048552ce0fc5" + }, + { + "owner": "DNAC", + "contextKey": "reserved_by", + "contextValue": "DNAC" + } + ], + "ipv6": false, + "id": "f1da373c-ab16-4bbe-8b12-8230df534e76", + "ipPoolCidr": "10.128.0.0/9" + } + ], + "siteId": "1e292ed1-0e1e-41d7-914f-048552ce0fc5", + "siteHierarchy": "Global/Abc2", + "type": "lan", + "groupOwner": "DNAC" + } + ], + "version": "1.0" + }, + + "delete_reserve_pool": + { + "executionId": "f4b6fef1-11a3-4413-8928-bdcea2367f8c", + "executionStatusUrl": "/dna/platform/management/business-api/v1/execution-status/f4b6fef1-11a3-4413-8928-bdcea2367f8c", + "message": "The request has been accepted for execution" + }, + + "delete_reserve_pool_task": + { + "bapiKey": "85b2-89e3-4489-9dc1", + "bapiName": "Release Reserve IP Subpool", + "bapiExecutionId": "f4b6fef1-11a3-4413-8928-bdcea2367f8c", + "startTime": "Sat Sep 28 09:22:10 UTC 2024", + "startTimeEpoch": 1727515330143, + "endTime": "Sat Sep 28 09:22:12 UTC 2024", + "endTimeEpoch": 1727515332628, + "timeDuration": 2485, + "status": "SUCCESS", + "bapiSyncResponse": { + "message": "Subpool deleted successfully.", + "status": "true" + } + }, + + "site_reserve_deletion_2": + { + "response": [ + { + "parentId": "0ceaa46f-e64b-448b-a01c-1c100c9b134b", + "additionalInfo": [ + { + "nameSpace": "Location", + "attributes": { + "addressInheritedFrom": "1e292ed1-0e1e-41d7-914f-048552ce0fc5", + "type": "area" + } + } + ], + "name": "Abc2", + "instanceTenantId": "6663114d388b29001399e46a", + "id": "1e292ed1-0e1e-41d7-914f-048552ce0fc5", + "siteHierarchy": "0ceaa46f-e64b-448b-a01c-1c100c9b134b/1e292ed1-0e1e-41d7-914f-048552ce0fc5", + "siteNameHierarchy": "Global/Abc2" + } + ] + }, + + "get_reserved_ip_subpool_deletion_2": + { + "response": [], + "message": "There is no reserve ip present in the system for the given input." + }, + + "create_reserve_pool": + { + "executionId": "26e3d398-d4d9-4937-b887-7ab7ccd32b21", + "executionStatusUrl": "/dna/platform/management/business-api/v1/execution-status/26e3d398-d4d9-4937-b887-7ab7ccd32b21", + "message": "The request has been accepted for execution" + }, + + "create_reserve_pool_task": + { + "bapiKey": "429f-aa81-4d3b-960a", + "bapiName": "Reserve IP Subpool", + "bapiExecutionId": "26e3d398-d4d9-4937-b887-7ab7ccd32b21", + "startTime": "Sat Sep 28 10:06:20 UTC 2024", + "startTimeEpoch": 1727517980107, + "endTime": "Sat Sep 28 10:06:24 UTC 2024", + "endTimeEpoch": 1727517984196, + "timeDuration": 4089, + "status": "SUCCESS", + "bapiSyncResponse": { + "name": "IP_Pool_3", + "type": "lan", + "result": { + "startTime": 1727517983529, + "endTime": 1727517983610, + "progress": "Subpool Creation 8e3aedcd-a5f6-42e8-a62d-b98a68af3d15" + }, + "status": true + } + }, + + "get_reserve_pool_creation": + { + "response": [ + { + "id": "8e3aedcd-a5f6-42e8-a62d-b98a68af3d15", + "groupName": "IP_Pool_3", + "ipPools": [ + { + "ipPoolName": "IP_Pool_3", + "dhcpServerIps": [], + "gateways": [ + "10.128.0.1" + ], + "createTime": 1727517983553, + "lastUpdateTime": 1727517983556, + "totalIpAddressCount": 8388608, + "usedIpAddressCount": 0, + "parentUuid": "35b049a8-13c5-4434-a569-33708cd46f94", + "owner": "DNAC", + "shared": true, + "overlapping": false, + "configureExternalDhcp": false, + "usedPercentage": "0", + "clientOptions": {}, + "groupUuid": "8e3aedcd-a5f6-42e8-a62d-b98a68af3d15", + "unavailableIpAddressCount": 0, + "availableIpAddressCount": 0, + "totalAssignableIpAddressCount": 8388605, + "dnsServerIps": [], + "hasSubpools": false, + "defaultAssignedIpAddressCount": 3, + "context": [ + { + "owner": "DNAC", + "contextKey": "siteId", + "contextValue": "1e292ed1-0e1e-41d7-914f-048552ce0fc5" + }, + { + "owner": "DNAC", + "contextKey": "reserved_by", + "contextValue": "DNAC" + } + ], + "ipv6": false, + "id": "24de7e27-12f2-45ea-8720-776f20bf5154", + "ipPoolCidr": "10.128.0.0/9" + } + ], + "siteId": "1e292ed1-0e1e-41d7-914f-048552ce0fc5", + "siteHierarchy": "Global/Abc2", + "type": "lan", + "groupOwner": "DNAC" + } + ], + "version": "1.0" + }, + + "get_reserve_pool_creation_2": + { + "response": [], + "message": "There is no reserve ip present in the system for the given input." + }, + + "playbook_config_global_pool_deletion": [ + { + "global_pool_details": { + "settings": { + "ip_pool": [ + { + "name": "Global_Pool2" + } + ] + } + } + } + + ], + + "deletion_global_pool_exist": + { + "response": [ + { + "ipPoolName": "Global_Pool2", + "dhcpServerIps": [], + "gateways": [], + "createTime": 1727509444422, + "lastUpdateTime": 1727509444422, + "totalIpAddressCount": 9223372036854776000, + "usedIpAddressCount": 0, + "parentUuid": "root", + "owner": "ipam", + "shared": true, + "overlapping": false, + "configureExternalDhcp": false, + "usedPercentage": "0", + "clientOptions": {}, + "ipPoolType": "generic", + "unavailableIpAddressCount": 0, + "availableIpAddressCount": 0, + "totalAssignableIpAddressCount": 9223372036854776000, + "dnsServerIps": [], + "hasSubpools": false, + "defaultAssignedIpAddressCount": 1, + "context": [ + { + "owner": "DNAC", + "contextKey": "type", + "contextValue": "generic" + } + ], + "ipv6": true, + "id": "04347feb-2c1f-4d8d-8199-f2f2940ed04a", + "ipPoolCidr": "2001:db8::/64" + }, + { + "ipPoolName": "Global_Pool3", + "dhcpServerIps": [], + "gateways": [], + "createTime": 1727509445103, + "lastUpdateTime": 1727517983579, + "totalIpAddressCount": 16777216, + "usedIpAddressCount": 8388608, + "parentUuid": "root", + "owner": "ipam", + "shared": true, + "overlapping": false, + "configureExternalDhcp": false, + "usedPercentage": "50", + "clientOptions": {}, + "ipPoolType": "generic", + "unavailableIpAddressCount": 0, + "availableIpAddressCount": 0, + "totalAssignableIpAddressCount": 16777214, + "dnsServerIps": [], + "hasSubpools": false, + "defaultAssignedIpAddressCount": 2, + "context": [ + { + "owner": "DNAC", + "contextKey": "type", + "contextValue": "generic" + } + ], + "ipv6": false, + "id": "35b049a8-13c5-4434-a569-33708cd46f94", + "ipPoolCidr": "10.0.0.0/8" + }, + { + "ipPoolName": "IP_Pool_Abhi_Global", + "dhcpServerIps": [], + "gateways": [], + "createTime": 1726467421206, + "lastUpdateTime": 1726469125098, + "totalIpAddressCount": 64, + "usedIpAddressCount": 8, + "parentUuid": "root", + "owner": "ipam", + "shared": true, + "overlapping": false, + "configureExternalDhcp": false, + "usedPercentage": "12", + "clientOptions": {}, + "ipPoolType": "generic", + "unavailableIpAddressCount": 0, + "availableIpAddressCount": 0, + "totalAssignableIpAddressCount": 62, + "dnsServerIps": [ + "171.70.168.183" + ], + "hasSubpools": false, + "defaultAssignedIpAddressCount": 2, + "context": [ + { + "owner": "DNAC", + "contextKey": "type", + "contextValue": "generic" + } + ], + "ipv6": false, + "id": "45b49d9c-63f7-47c5-8888-d041fcf83e96", + "ipPoolCidr": "192.0.2.0/26" + } + ], + "version": "1.0" + }, + + "global_pool_deletion": + { + "executionId": "b0ffed0c-3902-4fc2-bcd1-b96eb2dc18d5", + "executionStatusUrl": "/dna/platform/management/business-api/v1/execution-status/b0ffed0c-3902-4fc2-bcd1-b96eb2dc18d5", + "message": "The request has been accepted for execution" + }, + + "global_pool_deletion_task": + { + "bapiKey": "1eaa-8b21-48ab-81de", + "bapiName": "Delete Global IP Pool", + "bapiExecutionId": "b0ffed0c-3902-4fc2-bcd1-b96eb2dc18d5", + "startTime": "Sat Sep 28 10:35:19 UTC 2024", + "startTimeEpoch": 1727519719109, + "endTime": "Sat Sep 28 10:35:20 UTC 2024", + "endTimeEpoch": 1727519720318, + "timeDuration": 1209, + "status": "SUCCESS", + "bapiSyncResponse": "{\"message\":\"Global pool deleted successfully.\",\"status\":\"true\"}" + }, + + "global_pool_exist_deletion": + { + "response": [ + { + "ipPoolName": "Global_Pool3", + "dhcpServerIps": [], + "gateways": [], + "createTime": 1727509445103, + "lastUpdateTime": 1727517983579, + "totalIpAddressCount": 16777216, + "usedIpAddressCount": 8388608, + "parentUuid": "root", + "owner": "ipam", + "shared": true, + "overlapping": false, + "configureExternalDhcp": false, + "usedPercentage": "50", + "clientOptions": {}, + "ipPoolType": "generic", + "unavailableIpAddressCount": 0, + "availableIpAddressCount": 0, + "totalAssignableIpAddressCount": 16777214, + "dnsServerIps": [], + "hasSubpools": false, + "defaultAssignedIpAddressCount": 2, + "context": [ + { + "owner": "DNAC", + "contextKey": "type", + "contextValue": "generic" + } + ], + "ipv6": false, + "id": "35b049a8-13c5-4434-a569-33708cd46f94", + "ipPoolCidr": "10.0.0.0/8" + }, + { + "ipPoolName": "IP_Pool_Abhi_Global", + "dhcpServerIps": [], + "gateways": [], + "createTime": 1726467421206, + "lastUpdateTime": 1726469125098, + "totalIpAddressCount": 64, + "usedIpAddressCount": 8, + "parentUuid": "root", + "owner": "ipam", + "shared": true, + "overlapping": false, + "configureExternalDhcp": false, + "usedPercentage": "12", + "clientOptions": {}, + "ipPoolType": "generic", + "unavailableIpAddressCount": 0, + "availableIpAddressCount": 0, + "totalAssignableIpAddressCount": 62, + "dnsServerIps": [ + "171.70.168.183" + ], + "hasSubpools": false, + "defaultAssignedIpAddressCount": 2, + "context": [ + { + "owner": "DNAC", + "contextKey": "type", + "contextValue": "generic" + } + ], + "ipv6": false, + "id": "45b49d9c-63f7-47c5-8888-d041fcf83e96", + "ipPoolCidr": "192.0.2.0/26" + } + ], + "version": "1.0" + }, + "global_pool_exist_deletion2": + { + "response": [], + "message": "There is no global ip pools present in the system for the given input." + } + + + + + + + + + + + + + + + + + + + + } + diff --git a/tests/unit/modules/dnac/test_accesspoint_workflow_manager.py b/tests/unit/modules/dnac/test_accesspoint_workflow_manager.py index b20d00c8d1..f3e7109c2a 100644 --- a/tests/unit/modules/dnac/test_accesspoint_workflow_manager.py +++ b/tests/unit/modules/dnac/test_accesspoint_workflow_manager.py @@ -26,13 +26,12 @@ class TestDnacAccesspointWorkflow(TestDnacModule): module = accesspoint_workflow_manager test_data = loadPlaybookData("accesspoint_workflow_manager") - playbook_config_series_error = test_data.get("playbook_config_series_error") + reboot_accesspoint = test_data.get("reboot_accesspoint") + playbook_config_provision_old_version = test_data.get("playbook_config_provision_old_version") playbook_config = test_data.get("playbook_config") playbook_config_provision = test_data.get("playbook_config_provision") - playbook_config_missing_rf_profile = test_data.get("playbook_config_missing_rf_profile") - playbook_config_missing_update = test_data.get("playbook_config_missing_update") + playbook_config_complete = test_data.get("playbook_config_complete") get_membership_empty = test_data.get("get_membership_empty") - playbook_invalid_config_provision = test_data.get("playbook_invalid_config_provision") get_device_detail_all_data = test_data.get("get_device_detail_all_data") playbook_config_update_some_missing_data = test_data.get("playbook_config_update_some_missing_data") playbook_config_update_some_error_data = test_data.get("playbook_config_update_some_error_data") @@ -60,91 +59,76 @@ def load_fixtures(self, response=None, device=""): """ Load fixtures for user. """ - if "already_provision_device" in self._testMethodName: + if "provision_device" in self._testMethodName: self.run_dnac_exec.side_effect = [ self.test_data.get("get_device_detail"), self.test_data.get("get_site_exist_response"), - self.test_data.get("get_membership"), - self.test_data.get("verify_get_device_info"), - self.test_data.get("get_accesspoint_config"), - self.test_data.get("provision_ap_response") - ] - elif "provision_device" in self._testMethodName: - self.run_dnac_exec.side_effect = [ self.test_data.get("get_device_detail"), - self.test_data.get("get_site_exist_response"), - self.test_data.get("get_membership_empty"), - self.test_data.get("verify_get_device_info"), - self.test_data.get("get_accesspoint_config"), - self.test_data.get("provision_ap_response"), - self.test_data.get("provision_execution_response") - ] - elif "update_accesspoint_series_error" in self._testMethodName: - self.run_dnac_exec.side_effect = [ - self.test_data.get("get_device_detail_series_error"), - self.test_data.get("get_site_exist_response"), - self.test_data.get("get_membership_empty"), self.test_data.get("verify_get_device_info"), self.test_data.get("get_accesspoint_config"), + self.test_data.get("assign_to_site_response"), + self.test_data.get("assign_to_site_task_response"), self.test_data.get("provision_ap_response"), + self.test_data.get("provision_ap_task_response"), self.test_data.get("ap_update_response"), self.test_data.get("ap_task_status"), - self.test_data.get("ap_task_status") + self.test_data.get("get_device_detail"), + self.test_data.get("get_site_exist_response"), + self.test_data.get("get_device_detail"), + self.test_data.get("verify_get_device_info"), + self.test_data.get("get_accesspoint_config_verify") ] - elif "task_error_update_accesspoint" in self._testMethodName: + elif "invalid_wlc_device" in self._testMethodName: self.run_dnac_exec.side_effect = [ - self.test_data.get("get_device_detail_all_data"), - self.test_data.get("get_accesspoint_config"), - self.test_data.get("ap_update_response"), - self.test_data.get("ap_task_error_status") + self.test_data.get("get_device_detail"), + self.test_data.get("get_site_exist_response") ] - elif "task_no_error_update_accesspoint" in self._testMethodName: + elif "some_error_data_update_accesspoint" in self._testMethodName: self.run_dnac_exec.side_effect = [ - self.test_data.get("get_device_detail_all_data"), - self.test_data.get("get_accesspoint_config"), - self.test_data.get("ap_update_response"), - self.test_data.get("ap_task_status"), - self.test_data.get("ap_verify_response") + self.test_data.get("get_device_detail") ] - elif "update_accesspoint" in self._testMethodName: + elif "negative_config_input" in self._testMethodName: self.run_dnac_exec.side_effect = [ - self.test_data.get("get_device_detail_all_data"), - self.test_data.get("get_accesspoint_config"), - self.test_data.get("ap_update_response"), - self.test_data.get("ap_task_status"), - self.test_data.get("ap_verify_response") + self.test_data.get("get_device_detail_error"), + self.test_data.get("get_site_exist_response"), + self.test_data.get("get_device_detail"), + self.test_data.get("verify_get_device_info"), + self.test_data.get("get_accesspoint_config") ] - - elif "site_exists" in self._testMethodName: + elif "reboot_accesspoint" in self._testMethodName: self.run_dnac_exec.side_effect = [ - self.test_data.get("get_site_exist_response"), + self.test_data.get("get_device_detail_reboot"), + self.test_data.get("ap_reboot_response"), + self.test_data.get("ap_reboot_task_response"), + self.test_data.get("ap_reboot_status") ] - elif "invalid_get_site_device" in self._testMethodName: + elif "provision_old_version" in self._testMethodName: self.run_dnac_exec.side_effect = [ - self.test_data.get("get_membership_empty"), + self.test_data.get("get_device_detail"), + self.test_data.get("get_site_exist_response_old"), + self.test_data.get("get_membership"), + self.test_data.get("verify_get_device_info"), + self.test_data.get("get_accesspoint_config"), + self.test_data.get("provision_ap_response_old"), + self.test_data.get("provision_execution_response"), + self.test_data.get("get_device_detail"), + self.test_data.get("get_site_exist_response"), + self.test_data.get("get_device_detail"), + self.test_data.get("verify_get_device_info") ] - elif "check_verify_diff_merged" in self._testMethodName: + elif "task_error_update_accesspoint" in self._testMethodName: self.run_dnac_exec.side_effect = [ self.test_data.get("get_device_detail_all_data"), self.test_data.get("get_accesspoint_config"), self.test_data.get("ap_update_response"), - self.test_data.get("ap_task_status"), - self.test_data.get("ap_update_status"), - self.test_data.get("ap_verify_response"), - ] - elif "invalid_wlc_device" in self._testMethodName: - self.run_dnac_exec.side_effect = [ - self.test_data.get("get_device_detail"), - self.test_data.get("get_site_exist_response"), - self.test_data.get("get_membership_empty"), - Exception(), + self.test_data.get("ap_task_error_status") ] - def test_accesspoint_workflow_manager_update_accesspoint_series_error(self): + def test_accesspoint_workflow_manager_provision_device(self): """ - Test case for access point workfollow manager and positive test verify ap update + Test case for access point workfollow manager provision and update device. - This test case checks the behavior of the update access point data in the specified Cisco Catalyst Center. + This test case checks the behavior of the access point workflow when provisioned in the specified Cisco Catalyst Center. """ set_module_args( dict( @@ -153,34 +137,22 @@ def test_accesspoint_workflow_manager_update_accesspoint_series_error(self): dnac_password="dummy", dnac_log=True, state="merged", + dnac_version="2.3.7.6", config_verify=True, - config=self.playbook_config_series_error + config=self.playbook_config_complete ) ) - result = self.execute_module(changed=False, failed=True) + result = self.execute_module(changed=True, failed=False) self.assertEqual( - result.get('msg'), - "Successfully validated config params: {'mac_address': '90:e9:5e:03:f3:40', 'management_ip_address': None, 'hostname': None, 'rf_profile': " + - "'HIGH', 'site': {'floor': {'name': 'FLOOR2', 'parent_name': 'Global/USA/New York/BLDNYC'}}, 'type': None, 'ap_name': 'LTTS-test1', " + - "'admin_status': None, 'led_status': 'Enabled', 'led_brightness_level': 5, 'ap_mode': 'Local', 'location': 'LTTS/Cisco/Chennai', " + - "'is_assigned_site_as_location': 'Enabled', " + - "'failover_priority': 'Low', 'primary_controller_name': 'Inherit from site / Clear', 'primary_ip_address': None, " + - "'secondary_controller_name': 'NY-EWLC-20', " + - "'secondary_ip_address': None, 'tertiary_controller_name': 'Inherit from site / Clear', 'tertiary_ip_address': None, " + - "'clean_air_si_2.4ghz': 'Enabled', " + - "'clean_air_si_5ghz': 'Enabled', 'clean_air_si_6ghz': 'Disabled', '2.4ghz_radio': {'admin_status': 'Enabled', 'antenna_name': " + - "'C-ANT9104-2.4GHz', 'radio_role_assignment': 'Client-Serving', 'channel_number': 2, 'powerlevel': 2, 'radio_type': 1}, '5ghz_radio': " + - "{'admin_status': 'Enabled', 'antenna_name': 'AIR-ANT2513P4M-N-5GHz', 'radio_role_assignment': 'Client-Serving', 'channel_number': 44, " + - "'powerlevel': 2, 'channel_width': '20 MHz', 'radio_type': 2}, '6ghz_radio': None, 'xor_radio': None, 'tri_radio': None, 'ap_selected_fields': " + - "'id,hostname,family,type,mac_address,management_ip_address,ap_ethernet_mac_address', 'ap_config_selected_fields': " + - "'mac_address,eth_mac,ap_name,led_brightness_level,led_status,location,radioDTOs'}" + result.get('ap_update_msg'), + "AP Configuration - LTTS_Test_9124_T2 updated Successfully" ) - def test_accesspoint_workflow_manager_task_error_update_accesspoint(self): + def test_invalid_wlc_device(self): """ - Test case for access point workfollow manager and negative test verify ap update. + Test case for access point workfollow manager check invalid wireless controller. - This test case checks the behavior of the nagative test case of update in the specified Cisco Catalyst Center. + This test case checks the behavior of the access point workflow of invalid wlc specified Cisco Catalyst Center. """ set_module_args( dict( @@ -189,21 +161,22 @@ def test_accesspoint_workflow_manager_task_error_update_accesspoint(self): dnac_password="dummy", dnac_log=True, state="merged", - config_verify=True, - config=self.playbook_config + dnac_version="2.3.7.6", + config=self.playbook_config_provision ) ) result = self.execute_module(changed=False, failed=True) + self.maxDiff = None self.assertEqual( result.get('msg'), - "Unable to get success response, hence AP config not updated" + "Wireles controller is not provisioned:" ) - def test_accesspoint_workflow_manager_task_no_error_update_accesspoint(self): + def test_accesspoint_workflow_manager_some_error_data_update_accesspoint(self): """ - Test case for access point workfollow manager update access point data. + Test case for access point workfollow manager negative case. - This test case checks the behavior of the access point workflow when update success in the specified Cisco Catalyst Center. + This test case checks the behavior of the access point workflow when wrong data passed in the specified Cisco Catalyst Center. """ set_module_args( dict( @@ -212,20 +185,24 @@ def test_accesspoint_workflow_manager_task_no_error_update_accesspoint(self): dnac_password="dummy", dnac_log=True, state="merged", - config=self.playbook_config + config_verify=True, + dnac_version="2.3.7.6", + config=self.playbook_config_update_some_error_data ) ) - result = self.execute_module(changed=True, failed=False) + result = self.execute_module(changed=True, failed=True) + self.maxDiff = None self.assertEqual( - result.get("ap_update_msg"), - "AP Configuration - NY-AP1-9130AXE updated Successfully" + result.get('msg'), + 'The provided site name \'Global/USA/New York/BLDNYCGlobal/USA/New York/BLDNYCGlobal/USA/iikk/FLOOR2FLOOR2FLOOR2FLOOR2FLOOR2FLOOR2FLOO\' ' + + 'is either invalid or not present in the Cisco Catalyst Center.' ) - def test_accesspoint_workflow_manager_missing_rf_profile(self): + def test_accesspoint_workflow_manager_negative_config_input(self): """ - Test case for access point workfollow manager to check rf profile. + Test case for access point workfollow manager and negative test verify ap update - This test case checks the behavior of the access point workflow when provision ap in the specified Cisco Catalyst Center. + This test case checks the behavior of the update access point data in the specified Cisco Catalyst Center. """ set_module_args( dict( @@ -234,20 +211,55 @@ def test_accesspoint_workflow_manager_missing_rf_profile(self): dnac_password="dummy", dnac_log=True, state="merged", - config=self.playbook_config_missing_rf_profile + config_verify=True, + dnac_version="2.3.7.6", + config=self.playbook_config_update_some_missing_data ) ) - result = self.execute_module(changed=True, failed=True) + result = self.execute_module(changed=False, failed=True) + self.maxDiff = None self.assertEqual( result.get('msg'), - "MAC Address is not Access point" + 'Invalid parameters in playbook config: \'[["Access Point series \'Cisco 9164I Series Unified Access Points\' not supported ' + + 'for the radio type xor_radio allowed series 280", "Access Point series \'Cisco 9164I Series Unified Access Points\' not supported ' + + 'for the radio type xor_radio allowed series 380", "Access Point series \'Cisco 9164I Series Unified Access Points\' not supported ' + + 'for the radio type xor_radio allowed series 480", "Access Point series \'Cisco 9164I Series Unified Access Points\' not supported ' + + 'for the radio type xor_radio allowed series 9120", "Access Point series \'Cisco 9164I Series Unified Access Points\' not supported ' + + 'for the radio type xor_radio allowed series 9166", "Access Point series \'Cisco 9164I Series Unified Access Points\' not supported ' + + 'for the radio type xor_radio allowed series IW9167EH", "Access Point series \'Cisco 9164I Series Unified Access Points\' not supported ' + + 'for the radio type xor_radio allowed series IW9165E", "Access Point series \'Cisco 9164I Series Unified Access Points\' not supported ' + + 'for the radio type xor_radio allowed series IW9165DH"], "management_ip_address: Invalid Management IP ' + + 'Address \'204.192.12.201dsd\' in playbook.", \'ap_name:hostname,family,type,mac_address,management_ip_address,' + + 'ap_ethernet_mac_address : The string exceeds the allowed range of max 32 char\', "led_status: Invalid LED Status \'Enableddd\' in ' + + 'playbook.", "ap_mode: Invalid value \'Monitorw\' for ap_mode in playbook. Must be one of: Local, Monitor, Sniffer or ' + + 'Bridge.", "failover_priority: Invalid value \'Lossw\' for failover_priority in playbook. Must be one of: Low, Medium, High or ' + + 'Critical.", "clean_air_si_2.4ghz: Invalid value \'Disableds\' in playbook. Must be ' + + 'either \'Enabled\' or \'Disabled\'.", "clean_air_si_5ghz: Invalid value \'Disableds\' in playbook. Must be ' + + 'either \'Enabled\' or \'Disabled\'.", "clean_air_si_6ghz: Invalid value \'Enableds\' in playbook. Must be ' + + 'either \'Enabled\' or \'Disabled\'.", "primary_ip_address: Invalid primary_ip_address \'{\'address\': \'204.192.4.20dfasd0\'}\' in ' + + 'playbook", "secondary_ip_address: Invalid secondary_ip_address \'{\'address\': \'204.192.4.20dfasd0\'}\' in playbook", "tertiary_ip_address: ' + + 'Invalid tertiary_ip_address \'{\'address\': \'204.192.4.20dfasd0\'}\' in playbook", \'Radio Params cannot be changed when AP mode is in ' + + 'Monitorw.\', "admin_status: Invalid value \'Enabledsds\' for admin_status in playbook. Must be ' + + 'either \'Enabled\' or \'Disabled\'.", "channel_assignment_mode: Invalid value \'any\' for Channel Assignment Mode in playbook. Must be ' + + 'either \'Global\' or \'Custom\'.", "channel_number: Invalid value \'22\' for Channel Number in playbook. Must be one of: ' + + '[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14].", "channel_width: Invalid value \'5\' for Channel width in playbook. Must be one ' + + 'of: \'20 MHz\', \'40 MHz\', \'80 MHz\', \'160 MHz\', or \'320 MHz\'.", "power_assignment_mode: Invalid ' + + 'value \'any\' for Power assignment mode in ' + + 'playbook. Must be either \'Global\' or \'Custom\'.", \'powerlevel: This configuration is only supported with Client-Serving Radio Role ' + + 'Assignment None \', "radio_role_assignment: Invalid value \'any\' for radio role assignment in playbook. Must be one ' + + 'of: \'Auto\', \'Monitor\' or \'Client-Serving\'.", \'Radio Params cannot be changed when AP mode is in Monitorw.\', "admin_status: ' + + 'Invalid value \'Enabledsds\' for admin_status in playbook. Must be either \'Enabled\' or \'Disabled\'.", "antenna_gain: Invalid \'41\' in ' + + 'playbook, allowed range of min: 0 and max: 40", "channel_assignment_mode: Invalid value \'any\' for Channel Assignment Mode in playbook. ' + + 'Must be either \'Global\' or \'Custom\'.", ' + + '"radio_role_assignment: Invalid value \'Client-Serving\'. Hence, AP mode is not Local. Kindly change the AP mode to Local then ' + + 'change the radio_role_assignment to Auto."]\' ' ) - def test_accesspoint_workflow_manager_already_provision_device(self): + def test_accesspoint_workflow_manager_reboot_accesspoint(self): """ - Test case for access point workfollow manager if already provisioned. + Test case for access point workfollow manager to reboot access point. - This test case checks the behavior of the access point workflow when already provisioned in the specified Cisco Catalyst Center. + This test case checks the behavior of the access point workflow of reboot ap specified Cisco Catalyst Center. """ set_module_args( dict( @@ -256,18 +268,20 @@ def test_accesspoint_workflow_manager_already_provision_device(self): dnac_password="dummy", dnac_log=True, state="merged", - config=self.playbook_config_provision + dnac_version="2.3.7.6", + config=self.reboot_accesspoint ) ) - result = self.execute_module(changed=False, failed=False) + result = self.execute_module(changed=True, failed=False) + self.maxDiff = None self.assertEqual( - result.get('response').get('accesspoints_updates').get('ap_config_message'), - "AP - NY-AP1-9130AXE does not need any update" + result.get('response').get("accesspoints_updates").get("ap_reboot_status"), + "APs ['34:b8:83:15:7c:6c'] rebooted successfully" ) - def test_accesspoint_workflow_manager_provision_device(self): + def test_accesspoint_workflow_manager_provision_old_version(self): """ - Test case for access point workfollow manager provision device. + Test case for access point workfollow manager provision device old version. This test case checks the behavior of the access point workflow when provisioned in the specified Cisco Catalyst Center. """ @@ -278,20 +292,23 @@ def test_accesspoint_workflow_manager_provision_device(self): dnac_password="dummy", dnac_log=True, state="merged", - config=self.playbook_config_provision + dnac_version="2.3.5.3", + config_verify=True, + config=self.playbook_config_provision_old_version ) ) - result = self.execute_module(changed=True, failed=False) + result = self.execute_module(changed=False, failed=True) + self.maxDiff = None self.assertEqual( - result.get('response').get('accesspoints_updates').get('provision_message'), - "AP NFW-AP2-3802I provisioned successfully." + result.get('msg'), + "The provided site name 'Global/Chennai/LTTS/FLOOR1' is either invalid or not present in the Cisco Catalyst Center." ) - def test_invalid_site_exists(self): + def test_accesspoint_workflow_manager_task_error_update_accesspoint(self): """ - Test case for access point workfollow manager check site exists. + Test case for access point workfollow manager and negative test verify ap update. - This test case checks the behavior of the access point workflow when site exist in the specified Cisco Catalyst Center. + This test case checks the behavior of the nagative test case of update in the specified Cisco Catalyst Center. """ set_module_args( dict( @@ -300,22 +317,22 @@ def test_invalid_site_exists(self): dnac_password="dummy", dnac_log=True, state="merged", - config=self.playbook_config_provision + config_verify=True, + dnac_version="2.3.7.6", + config=self.playbook_config ) ) result = self.execute_module(changed=False, failed=True) - print(result) self.assertEqual( result.get('msg'), - "The provided site name 'Global/USA/New York/BLDNYC/FLOOR1' is either invalid or not " + - "present in the Cisco Catalyst Center." + "Unable to get success response, hence AP config not updated" ) - def test_invalid_get_site_device(self): + def test_invalid_site_exists(self): """ - Test case for access point workfollow manager get device details from site + Test case for access point workfollow manager check site exists. - This test case checks the behavior of the access point workflow when check the devices in the site on the specified Cisco Catalyst Center. + This test case checks the behavior of the access point workflow when site exist in the specified Cisco Catalyst Center. """ set_module_args( dict( @@ -324,14 +341,15 @@ def test_invalid_get_site_device(self): dnac_password="dummy", dnac_log=True, state="merged", - config=self.get_membership_empty + dnac_version="2.3.7.6", + config=self.playbook_config_provision ) ) result = self.execute_module(changed=False, failed=True) print(result) self.assertEqual( result.get('msg'), - "Required param of mac_address,ip_address or hostname is not in playbook config" + "MAC Address is not Access point" ) def test_accesspoint_workflow_invalid_state(self): @@ -349,6 +367,7 @@ def test_accesspoint_workflow_invalid_state(self): dnac_password="dummy", dnac_log=True, state="deleted", + dnac_version="2.3.7.6", config=self.playbook_config ) ) @@ -358,142 +377,11 @@ def test_accesspoint_workflow_invalid_state(self): "State deleted is invalid" ) - def test_accesspoint_workflow_manager_Failure_provision_device(self): - """ - Test case for access point workfollow manager failure provision device. - - This test case checks the behavior of the access point workflow when failed provision in the specified Cisco Catalyst Center. - """ - set_module_args( - dict( - dnac_host="1.1.1.1", - dnac_username="dummy", - dnac_password="dummy", - dnac_log=True, - state="merged", - config=self.playbook_invalid_config_provision - ) - ) - result = self.execute_module(changed=False, failed=True) - self.assertEqual( - result.get('msg'), - "Cannot provision device: Missing parameters - site_name_hierarchy: Global/USA/New York/BLDNYC/FLOOR1, rf_profile: None, host_name: NFW-AP2-3802I" - ) - - def test_accesspoint_workflow_manager_check_verify_diff_merged(self): - """ - Test case for access point workfollow manager verify access point updates. - - This test case checks the behavior of the access point workflow when verify data in the specified Cisco Catalyst Center. - """ - set_module_args( - dict( - dnac_host="1.1.1.1", - dnac_username="dummy", - dnac_password="dummy", - dnac_log=True, - state="merged", - config_verify=True, - config=self.playbook_config_missing_update - ) - ) - result = self.execute_module(changed=False, failed=True) - self.assertEqual( - result.get('msg'), 'MAC Address not exist:') - - def test_accesspoint_workflow_manager_some_error_data_update_accesspoint(self): - """ - Test case for access point workfollow manager negative case. - - This test case checks the behavior of the access point workflow when wrong data passed in the specified Cisco Catalyst Center. - """ - set_module_args( - dict( - dnac_host="1.1.1.1", - dnac_username="dummy", - dnac_password="dummy", - dnac_log=True, - state="merged", - config_verify=True, - config=self.playbook_config_update_some_error_data - ) - ) - result = self.execute_module(changed=False, failed=True) - self.maxDiff = None - self.assertEqual( - result.get('msg'), - 'Invalid parameters in playbook config: \'["management_ip_address: Invalid Management IP ' + - 'Address \'204.192.12.201dsd\' in playbook.", \'name: Invalid type or length > 32 characters in ' + - 'playbook.\', \'parent_name: Invalid type or length > 64 characters in playbook.\', "led_status: Invalid LED Status \'Enableddd\' in ' + - 'playbook.", "ap_mode: Invalid value \'Monitorw\' for ap_mode in playbook. Must be one of: Local, Monitor, Sniffer or ' + - 'Bridge.", "failover_priority: Invalid value \'Lossw\' for failover_priority in playbook. Must be one of: Low, Medium, High or ' + - 'Critical.", "clean_air_si_2.4ghz: Invalid value \'Disableds\' in playbook. Must be ' + - 'either \'Enabled\' or \'Disabled\'.", "clean_air_si_5ghz: Invalid value \'Disableds\' in playbook. Must be ' + - 'either \'Enabled\' or \'Disabled\'.", "clean_air_si_6ghz: Invalid value \'Enableds\' in playbook. Must be ' + - 'either \'Enabled\' or \'Disabled\'.", "primary_ip_address: Invalid primary_ip_address \'{\'address\': \'204.192.4.20dfasd0\'}\' in ' + - 'playbook", "secondary_ip_address: Invalid secondary_ip_address \'{\'address\': \'204.192.4.20dfasd0\'}\' in ' + - 'playbook", "tertiary_ip_address: Invalid tertiary_ip_address \'{\'address\': \'204.192.4.20dfasd0\'}\' in playbook"]\' ' - ) - - def test_accesspoint_workflow_manager_some_missing_data_update_accesspoint(self): - """ - Test case for access point workfollow manager update all data with error. - - This test case checks the behavior of the access point workflow when wrong data update in the specified Cisco Catalyst Center. - """ - set_module_args( - dict( - dnac_host="1.1.1.1", - dnac_username="dummy", - dnac_password="dummy", - dnac_log=True, - state="merged", - config_verify=True, - config=self.playbook_config_update_some_missing_data - ) - ) - result = self.execute_module(changed=False, failed=True) - self.assertEqual( - result.get('msg'), - 'Invalid parameters in playbook config: \'[["Access Point series \'Cisco 9164I Series Unified Access Points\' not supported ' + - 'for the radio type xor_radio allowed series 280", "Access Point series \'Cisco 9164I Series Unified Access Points\' not supported ' + - 'for the radio type xor_radio allowed series 380", "Access Point series \'Cisco 9164I Series Unified Access Points\' not supported ' + - 'for the radio type xor_radio allowed series 480", "Access Point series \'Cisco 9164I Series Unified Access Points\' not supported ' + - 'for the radio type xor_radio allowed series 9120", "Access Point series \'Cisco 9164I Series Unified Access Points\' not supported ' + - 'for the radio type xor_radio allowed series 9166", "Access Point series \'Cisco 9164I Series Unified Access Points\' not supported ' + - 'for the radio type xor_radio allowed series IW9167EH", "Access Point series \'Cisco 9164I Series Unified Access Points\' not supported ' + - 'for the radio type xor_radio allowed series IW9165E", "Access Point series \'Cisco 9164I Series Unified Access Points\' not supported ' + - 'for the radio type xor_radio allowed series IW9165DH"], "management_ip_address: Invalid Management IP ' + - 'Address \'204.192.12.201dsd\' in playbook.", \'name: Invalid type or length > 32 characters in ' + - 'playbook.\', \'parent_name: Invalid type or length > 64 characters in playbook.\', "led_status: Invalid LED Status \'Enableddd\' in ' + - 'playbook.", "ap_mode: Invalid value \'Monitorw\' for ap_mode in playbook. Must be one of: Local, Monitor, Sniffer or ' + - 'Bridge.", "failover_priority: Invalid value \'Lossw\' for failover_priority in playbook. Must be one of: Low, Medium, High or ' + - 'Critical.", "clean_air_si_2.4ghz: Invalid value \'Disableds\' in playbook. Must be ' + - 'either \'Enabled\' or \'Disabled\'.", "clean_air_si_5ghz: Invalid value \'Disableds\' in playbook. Must be ' + - 'either \'Enabled\' or \'Disabled\'.", "clean_air_si_6ghz: Invalid value \'Enableds\' in playbook. Must be ' + - 'either \'Enabled\' or \'Disabled\'.", "primary_ip_address: Invalid primary_ip_address \'{\'address\': \'204.192.4.20dfasd0\'}\' in ' + - 'playbook", "secondary_ip_address: Invalid secondary_ip_address \'{\'address\': \'204.192.4.20dfasd0\'}\' in playbook", "tertiary_ip_address: ' + - 'Invalid tertiary_ip_address \'{\'address\': \'204.192.4.20dfasd0\'}\' in playbook", \'Radio Params cannot be changed when AP mode is in ' + - 'None.\', "admin_status: Invalid value \'Enabledsds\' for admin_status in playbook. Must be ' + - 'either \'Enabled\' or \'Disabled\'.", "channel_assignment_mode: Invalid value \'any\' for Channel Assignment Mode in playbook. Must be ' + - 'either \'Global\' or \'Custom\'.", "channel_number: Invalid value \'22\' for Channel Number in playbook. Must be one of: ' + - '[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14].", "channel_width: Invalid value \'5\' for Channel width in playbook. Must be one ' + - 'of: \'20 MHz\', \'40 MHz\', \'80 MHz\', \'160 MHz\', or \'320 MHz\'.", "power_assignment_mode: Invalid ' + - 'value \'any\' for Power assignment mode in ' + - 'playbook. Must be either \'Global\' or \'Custom\'.", \'powerlevel: This configuration is only supported with Client-Serving Radio Role ' + - 'Assignment None \', "radio_role_assignment: Invalid value \'any\' for radio role assignment in playbook. Must be one ' + - 'of: \'Auto\', \'Monitor\' or \'Client-Serving\'.", \'Radio Params cannot be changed when AP mode is in None.\', "admin_status: ' + - 'Invalid value \'Enabledsds\' for admin_status in playbook. Must be either \'Enabled\' or \'Disabled\'.", "antenna_gain: Invalid \'41\' in ' + - 'playbook", "channel_assignment_mode: Invalid value \'any\' for Channel Assignment Mode in playbook. Must be either \'Global\' or \'Custom\'.", ' + - '"radio_role_assignment: Invalid value \'Client-Serving\'. Hence, AP mode is not Local. Kindly change the AP mode to Local then ' + - 'change the radio_role_assignment to Auto."]\' ' - ) - - def test_invalid_wlc_device(self): + def test_invalid_get_site_device(self): """ - Test case for access point workfollow manager check invalid wireless controller. + Test case for access point workfollow manager get device details from site - This test case checks the behavior of the access point workflow of invalid wlc specified Cisco Catalyst Center. + This test case checks the behavior of the access point workflow when check the devices in the site on the specified Cisco Catalyst Center. """ set_module_args( dict( @@ -502,12 +390,13 @@ def test_invalid_wlc_device(self): dnac_password="dummy", dnac_log=True, state="merged", - config_verify=True, - config=self.playbook_config_provision + dnac_version="2.3.7.6", + config=self.get_membership_empty ) ) result = self.execute_module(changed=False, failed=True) + print(result) self.assertEqual( result.get('msg'), - "Wireles controller is not provisioned:" + "Required param of mac_address,ip_address or hostname is not in playbook config" ) diff --git a/tests/unit/modules/dnac/test_inventory_workflow_manager.py b/tests/unit/modules/dnac/test_inventory_workflow_manager.py new file mode 100644 index 0000000000..778359d466 --- /dev/null +++ b/tests/unit/modules/dnac/test_inventory_workflow_manager.py @@ -0,0 +1,583 @@ +# Copyright (c) 2024 Cisco and/or its affiliates. + +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at + +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Make coding more python3-ish + +from __future__ import absolute_import, division, print_function + +__metaclass__ = type + +from unittest.mock import patch + +from ansible_collections.cisco.dnac.plugins.modules import inventory_workflow_manager +from .dnac_module import TestDnacModule, set_module_args, loadPlaybookData + + +class TestDnacInventoryWorkflow(TestDnacModule): + + module = inventory_workflow_manager + + test_data = loadPlaybookData("inventory_workflow_manager") + + playbook_add_device = test_data.get("playbook_add_device") + playbook_delete_a_device = test_data.get("playbook_delete_a_device") + playbook_add_existing_devices = test_data.get("playbook_add_existing_devices") + playbook_add_udf = test_data.get("playbook_add_udf") + playbook_provision_failed_for_site = test_data.get("playbook_provision_failed_for_site") + playbook_delete_provisioned_device = test_data.get("playbook_delete_provisioned_device") + playbook_update_interface_details = test_data.get("playbook_update_interface_details") + playbook_update_role = test_data.get("playbook_update_role") + playbook_delete_device_udf = test_data.get("playbook_delete_device_udf") + playbook_missing_mand_params = test_data.get("playbook_missing_mand_params") + playbook_update_mgmt_ip = test_data.get("playbook_update_mgmt_ip") + playbook_provision_device = test_data.get("playbook_provision_device") + playbook_del_provisioned_device_2353 = test_data.get("playbook_del_provisioned_device_2353") + playbook_prov_device_2353 = test_data.get("playbook_prov_device_2353") + + def setUp(self): + super(TestDnacInventoryWorkflow, self).setUp() + + self.mock_dnac_init = patch( + "ansible_collections.cisco.dnac.plugins.module_utils.dnac.DNACSDK.__init__") + self.run_dnac_init = self.mock_dnac_init.start() + self.run_dnac_init.side_effect = [None] + self.mock_dnac_exec = patch( + "ansible_collections.cisco.dnac.plugins.module_utils.dnac.DNACSDK._exec" + ) + self.run_dnac_exec = self.mock_dnac_exec.start() + + def tearDown(self): + super(TestDnacInventoryWorkflow, self).tearDown() + self.mock_dnac_exec.stop() + self.mock_dnac_init.stop() + + def load_fixtures(self, response=None, device=""): + """ + Load fixtures for user. + """ + if "playbook_add_device" in self._testMethodName: + self.run_dnac_exec.side_effect = [ + self.test_data.get("get_device_list_add_device"), + self.test_data.get("get_device_list_add_device_2"), + self.test_data.get("add_device_add_device"), + self.test_data.get("TaskDetails_add_device_start"), + self.test_data.get("TaskDetails_add_device_end"), + self.test_data.get("get_device_list_add_device_3"), + self.test_data.get("get_device_list_add_device_5"), + self.test_data.get("add_device_response"), ] + elif "playbook_delete_a_device" in self._testMethodName: + self.run_dnac_exec.side_effect = [ + self.test_data.get("get_device_list1_seema"), + self.test_data.get("get_device_list2_seema"), + self.test_data.get("get_device_list3_seema"), + self.test_data.get("get_provisioned_devices1_seema"), + self.test_data.get("get_device_list4_seema"), + self.test_data.get("deleted_device_by_id1_seema"), + self.test_data.get("Task_Details1_seema"), + self.test_data.get("Task_Details2_seema"), + self.test_data.get("get_device_list5_seema"), + self.test_data.get("get_device_list6_seema"), + self.test_data.get("delete_device_response1_seema"),] + elif "playbook_add_existing_devices" in self._testMethodName: + self.run_dnac_exec.side_effect = [ + self.test_data.get("get_device_list1_existing_devices"), + self.test_data.get("get_device_list2_existing_devices"), + self.test_data.get("get_device_list3_existing_devices"), + self.test_data.get("get_device_list4_existing_devices"), + self.test_data.get("add_existing_devices_response"),] + elif "playbook_add_udf" in self._testMethodName: + self.run_dnac_exec.side_effect = [ + self.test_data.get("get_device_list1_add_udf"), + self.test_data.get("get_device_list2_add_udf"), + self.test_data.get("get_all_user_defined_fields"), + self.test_data.get("create_user_defined_field"), + self.test_data.get("get_device_list3_add_udf"), + self.test_data.get("get_device_list4_add_udf"), + self.test_data.get("add_user_defined_field_to_device1"), + self.test_data.get("add_user_defined_field_to_device2"), + self.test_data.get("get_device_list5_add_udf"), + self.test_data.get("get_device_list6_add_udf"), + self.test_data.get("get_all_user_defined_fields2"), + self.test_data.get("add_udf_response"),] + elif "playbook_provision_failed_for_site" in self._testMethodName: + self.run_dnac_exec.side_effect = [ + self.test_data.get("get_device_list1_provision_failed_for_site"), + self.test_data.get("get_device_list2_provision_failed_for_site"), + self.test_data.get("povisioning_failed_response"),] + elif "playbook_delete_provisioned_device" in self._testMethodName: + self.run_dnac_exec.side_effect = [ + self.test_data.get("get_device_list1_delete_provisioned_device"), + self.test_data.get("get_device_list2_delete_provisioned_device"), + self.test_data.get("get_device_list3_delete_provisioned_device"), + self.test_data.get("get_provisioned_devices_delete_provisioned_device"), + self.test_data.get("delete_provisioned_devices"), + self.test_data.get("Task_Details1_delete_provisioned_device"), + self.test_data.get("Task_Details2_delete_provisioned_device"), + self.test_data.get("get_device_list4_delete_provisioned_device"), + self.test_data.get("get_device_list5_delete_provisioned_device"), + self.test_data.get("delete_provisioned_response"),] + elif "playbook_update_interface_details" in self._testMethodName: + self.run_dnac_exec.side_effect = [ + self.test_data.get("get_device_list1_update_interface"), + self.test_data.get("get_device_list2_update_interface"), + self.test_data.get("get_device_list3_update_interface"), + self.test_data.get("get_interface_details1_update_interface"), + self.test_data.get("get_device_list4_update_interface"), + self.test_data.get("update_interface_details"), + self.test_data.get("Task_Details1_update_interface"), + self.test_data.get("Task_Details2_update_interface"), + self.test_data.get("get_device_list5_update_interface"), + self.test_data.get("get_device_list6_update_interface"), + self.test_data.get("get_device_list7_update_interface"), + self.test_data.get("get_interface_details2_update_interface"), + self.test_data.get("update_interface_details_response"),] + elif "playbook_update_role" in self._testMethodName: + self.run_dnac_exec.side_effect = [ + self.test_data.get("get_device_list1_update_role"), + self.test_data.get("get_device_list2_update_role"), + self.test_data.get("get_device_list3_update_role"), + self.test_data.get("get_device_list4_update_role"), + self.test_data.get("update_device_role"), + self.test_data.get("Task_Details_update_role"), + self.test_data.get("get_device_list5_update_role"), + self.test_data.get("get_device_list6_update_role"), + self.test_data.get("get_device_list7_update_role"), + self.test_data.get("update_role_response"),] + elif "playbook_missing_mand_params" in self._testMethodName: + self.run_dnac_exec.side_effect = [ + self.test_data.get("get_device_list1_missing_mand_params"), + self.test_data.get("get_device_list2_missing_mand_params"), + self.test_data.get("response_missing_uname_pwd_in_adding_device"),] + elif "playbook_delete_device_udf" in self._testMethodName: + self.run_dnac_exec.side_effect = [ + self.test_data.get("get_device_list1_delete_device_udf"), + self.test_data.get("get_device_list2_delete_device_udf"), + self.test_data.get("get_device_list3_delete_device_udf"), + self.test_data.get("get_provisioned_devices_delete_device_udf"), + self.test_data.get("get_device_list4_delete_device_udf"), + self.test_data.get("deleted_device_by_id_delete_device_udf"), + self.test_data.get("Task_Details1_delete_device_udf"), + self.test_data.get("Task_Details2_delete_device_udf"), + self.test_data.get("get_device_list5_delete_device_udf"), + self.test_data.get("get_device_list6_delete_device_udf"), + self.test_data.get("delete_device_udf_response"),] + elif "playbook_update_mgmt_ip" in self._testMethodName: + self.run_dnac_exec.side_effect = [ + self.test_data.get("get_device_list1_update_mgmt_ip"), + self.test_data.get("get_device_list2_update_mgmt_ip"), + self.test_data.get("get_device_list3_update_mgmt_ip"), + self.test_data.get("get_device_list4_update_mgmt_ip"), + self.test_data.get("export_device_list_update_mgmt_ip"), + self.test_data.get("Task_Details2_update_mgmt_ip"), + self.test_data.get("download_a_file_by_fileid_update_mgmt_ip"), + self.test_data.get("sync_devices_update_mgmt_ip"), + self.test_data.get("Task_Details3_update_mgmt_ip"), + self.test_data.get("get_device_list5_update_mgmt_ip"), + self.test_data.get("get_device_list6_update_mgmt_ip"), + self.test_data.get("get_device_list7_update_mgmt_ip"), + self.test_data.get("export_device_list2_update_mgmt_ip"), + self.test_data.get("Task_Details3_update_mgmt_ip"), + self.test_data.get("Task_Details4_update_mgmt_ip"), + self.test_data.get("download_a_file_by_fileid2_update_mgmt_ip"), + self.test_data.get("response_update_mgmt_ipaddress"),] + elif "playbook_provision_device" in self._testMethodName: + self.run_dnac_exec.side_effect = [ + self.test_data.get("get_device_list1_provision_device"), + self.test_data.get("get_device_list2_provision_device"), + self.test_data.get("get_sites1_provision_device"), + self.test_data.get("get_sites2_provision_device"), + self.test_data.get("get_device_list3_provision_device"), + self.test_data.get("get_sites3_provision_device"), + self.test_data.get("get_sites4_provision_device"), + self.test_data.get("get_device_list4_provision_device"), + self.test_data.get("get_provisioned_devices1_provision_device"), + self.test_data.get("assign_network_devices_to_a_site_provision_device"), + self.test_data.get("Task_Details1_provision_device"), + self.test_data.get("provision_devices"), + self.test_data.get("Task_Details2_provision_device"), + self.test_data.get("Task_Details3_provision_device"), + self.test_data.get("get_device_list5_provision_device"), + self.test_data.get("get_device_list6_provision_device"), + self.test_data.get("get_device_list7_provision_device"), + self.test_data.get("get_provision_devices2_provision_device"), + self.test_data.get("provisioned_success_response"),] + elif "playbook_del_provisioned_device_2353" in self._testMethodName: + self.run_dnac_exec.side_effect = [ + self.test_data.get("get_device_list1_del_prov_dev2353"), + self.test_data.get("get_device_list2_del_prov_dev2353"), + self.test_data.get("get_provisioned_wired_device_del_prov_dev2353"), + self.test_data.get("delete_provisioned_wired_device_del_prov_dev2353"), + self.test_data.get("get_execution_details_device_del_prov_dev2353"), + self.test_data.get("get_device_list3_del_prov_dev2353"), + self.test_data.get("get_device_list4_del_prov_dev2353"), + self.test_data.get("response_del_provisioned_device_2353"),] + elif "playbook_prov_device_2353" in self._testMethodName: + self.run_dnac_exec.side_effect = [ + self.test_data.get("get_device_list1_prov_device_2353"), + self.test_data.get("get_device_list2_prov_device_2353"), + self.test_data.get("get_site1_prov_device_2353"), + self.test_data.get("get_device_list3_prov_device_2353"), + self.test_data.get("provision_wired_device_prov_device_2353"), + self.test_data.get("Task_Details_prov_device_2353"), + self.test_data.get("get_device_list4_prov_device_2353"), + self.test_data.get("get_device_list5_prov_device_2353"), + self.test_data.get("get_provisioned_wired_devices_prov_device_2353"), + self.test_data.get("prov_device_2353_response"),] + + def test_inventory_workflow_manager_playbook_add_device(self): + """ + Test case for add device with full crendentials. + + This test case checks the addition of new network device added with full credentials in Cisco Catalyst Center. + """ + set_module_args( + dict( + dnac_host="1.1.1.1", + dnac_username="dummy", + dnac_password="dummy", + dnac_log=True, + state="merged", + config_verify=True, + config=self.playbook_add_device + ) + ) + result = self.execute_module(changed=True, failed=False) + print(result) + self.assertEqual( + result.get('msg'), + "device(s) '60.1.1.1', '50.1.1.1' added successfully in Cisco Catalyst Center." + ) + + def test_inventory_workflow_manager_playbook_add_existing_devices(self): + """ + Test case for add device with full crendentials. + + This test case checks the addition of new network device added with full credentials in Cisco Catalyst Center. + """ + set_module_args( + dict( + dnac_host="1.1.1.1", + dnac_username="dummy", + dnac_password="dummy", + dnac_log=True, + dnac_version="2.3.5.3", + state="merged", + config_verify=True, + config=self.playbook_add_existing_devices + ) + ) + result = self.execute_module(changed=False, failed=False) + print(result) + self.assertEqual( + result.get('msg'), + "device(s) '70.2.2.2', '80.2.2.2' already present in Cisco Catalyst Center." + ) + + def test_inventory_workflow_manager_playbook_add_udf(self): + """ + Test case for add device with full crendentials. + + This test case checks the addition of new network device added with full credentials in Cisco Catalyst Center. + """ + set_module_args( + dict( + dnac_host="1.1.1.1", + dnac_username="dummy", + dnac_password="dummy", + dnac_log=True, + state="merged", + config_verify=True, + config=self.playbook_add_udf + ) + ) + result = self.execute_module(changed=True, failed=False) + print(result) + self.assertEqual( + result.get('msg'), + "device(s) '70.2.2.2', '80.2.2.2' already present in Cisco Catalyst Center." + ) + + def test_inventory_workflow_manager_playbook_delete_a_device(self): + """ + Test case for add device with full crendentials. + + This test case checks the addition of new network device added with full credentials in Cisco Catalyst Center. + """ + set_module_args( + dict( + dnac_host="1.1.1.1", + dnac_username="dummy", + dnac_password="dummy", + dnac_log=True, + dnac_version="2.3.7.6", + state="deleted", + config_verify=True, + config=self.playbook_delete_a_device + ) + ) + result = self.execute_module(changed=True, failed=False) + print(result) + self.assertEqual( + result.get('msg'), + "device(s) '1.1.1.1' successfully deleted in Cisco Catalyst Center" + ) + + def test_inventory_workflow_manager_playbook_delete_provisioned_device(self): + """ + Test case for add device with full crendentials. + + This test case checks the addition of new network device added with full credentials in Cisco Catalyst Center. + """ + set_module_args( + dict( + dnac_host="1.1.1.1", + dnac_username="dummy", + dnac_password="dummy", + dnac_log=True, + dnac_version="2.3.7.6", + state="deleted", + config_verify=True, + config=self.playbook_delete_provisioned_device + ) + ) + result = self.execute_module(changed=True, failed=False) + print(result) + self.assertEqual( + result.get('msg'), + "provisioned device(s) '204.1.2.4' successfully deleted in Cisco Catalyst Center." + ) + + def test_inventory_workflow_manager_playbook_provision_failed_for_site(self): + """ + Test case for add device with full crendentials. + + This test case checks the addition of new network device added with full credentials in Cisco Catalyst Center. + """ + set_module_args( + dict( + dnac_host="1.1.1.1", + dnac_username="dummy", + dnac_password="dummy", + dnac_log=True, + state="merged", + config_verify=True, + config=self.playbook_provision_failed_for_site + ) + ) + result = self.execute_module(changed=False, failed=True) + print(result) + self.assertEqual( + result.get('msg'), + "Wired Device Provisioning failed for all devices" + ) + + def test_inventory_workflow_manager_playbook_update_interface_details(self): + """ + Test case for add device with full crendentials. + + This test case checks the addition of new network device added with full credentials in Cisco Catalyst Center. + """ + set_module_args( + dict( + dnac_host="1.1.1.1", + dnac_username="dummy", + dnac_password="dummy", + dnac_log=True, + dnac_version="2.3.7.6", + state="merged", + config_verify=True, + config=self.playbook_update_interface_details + ) + ) + result = self.execute_module(changed=True, failed=False) + print(result) + self.assertEqual( + result.get('msg'), + "Successfully updated the Interface Details for device '204.1.2.4'." + ) + + def test_inventory_workflow_manager_playbook_update_role(self): + """ + Test case for add device with full crendentials. + + This test case checks the addition of new network device added with full credentials in Cisco Catalyst Center. + """ + set_module_args( + dict( + dnac_host="1.1.1.1", + dnac_username="dummy", + dnac_password="dummy", + dnac_log=True, + dnac_version="2.3.7.6", + state="merged", + config_verify=True, + config=self.playbook_update_role + ) + ) + result = self.execute_module(changed=True, failed=False) + print(result) + self.assertEqual( + result.get('msg'), + "Device(s) '['2.2.2.2']' role updated successfully to '['ACCESS']'" + ) + + def test_inventory_workflow_manager_playbook_missing_mand_params(self): + """ + Test case for add device with full crendentials. + + This test case checks the addition of new network device added with full credentials in Cisco Catalyst Center. + """ + set_module_args( + dict( + dnac_host="1.1.1.1", + dnac_username="dummy", + dnac_password="dummy", + dnac_log=True, + dnac_version="2.3.7.6", + state="merged", + config_verify=True, + config=self.playbook_missing_mand_params + ) + ) + result = self.execute_module(changed=False, failed=True) + print(result) + self.assertEqual( + result.get('msg'), + "Required parameters ['password', 'username'] for adding devices '['70.2.2.2', '80.2.2.2']' are not present" + ) + + def test_inventory_workflow_manager_playbook_delete_device_udf(self): + """ + Test case for add device with full crendentials. + + This test case checks the addition of new network device added with full credentials in Cisco Catalyst Center. + """ + set_module_args( + dict( + dnac_host="1.1.1.1", + dnac_username="dummy", + dnac_password="dummy", + dnac_log=True, + dnac_version="2.3.7.6", + state="deleted", + config_verify=True, + config=self.playbook_delete_device_udf + ) + ) + result = self.execute_module(changed=True, failed=False) + print(result) + self.assertEqual( + result.get('msg'), + "device(s) '70.2.2.2' successfully deleted in Cisco Catalyst Center" + ) + + def test_inventory_workflow_manager_playbook_update_mgmt_ip(self): + """ + Test case for add device with full crendentials. + + This test case checks the addition of new network device added with full credentials in Cisco Catalyst Center. + """ + set_module_args( + dict( + dnac_host="1.1.1.1", + dnac_username="dummy", + dnac_password="dummy", + dnac_log=True, + dnac_version="2.3.7.6", + state="merged", + config_verify=True, + config=self.playbook_update_mgmt_ip + ) + ) + result = self.execute_module(changed=True, failed=False) + print(result) + self.assertEqual( + result.get('msg'), + "Device '1.1.1.1' present in Cisco Catalyst Center and new management ip '12.12.12.12' have been updated successfully " + ) + + def test_inventory_workflow_manager_playbook_provision_device(self): + """ + Test case for add device with full crendentials. + + This test case checks the addition of new network device added with full credentials in Cisco Catalyst Center. + """ + set_module_args( + dict( + dnac_host="1.1.1.1", + dnac_username="dummy", + dnac_password="dummy", + dnac_log=True, + dnac_version="2.3.7.6", + state="merged", + config_verify=True, + config=self.playbook_provision_device + ) + ) + result = self.execute_module(changed=True, failed=False) + print(result) + self.assertEqual( + result.get('msg'), + "device(s) '204.1.2.4' provisioned successfully in Cisco Catalyst Center." + ) + + def test_inventory_workflow_manager_playbook_del_provisioned_device_2353(self): + """ + Test case for add device with full crendentials. + + This test case checks the addition of new network device added with full credentials in Cisco Catalyst Center. + """ + set_module_args( + dict( + dnac_host="1.1.1.1", + dnac_username="dummy", + dnac_password="dummy", + dnac_log=True, + dnac_version="2.3.5.3", + state="deleted", + config_verify=True, + config=self.playbook_del_provisioned_device_2353 + ) + ) + result = self.execute_module(changed=True, failed=False) + print(result) + self.assertEqual( + result.get('msg'), + "provisioned device(s) '204.1.2.4' successfully deleted in Cisco Catalyst Center. " + ) + + def test_inventory_workflow_manager_playbook_prov_device_2353(self): + """ + Test case for add device with full crendentials. + + This test case checks the addition of new network device added with full credentials in Cisco Catalyst Center. + """ + set_module_args( + dict( + dnac_host="1.1.1.1", + dnac_username="dummy", + dnac_password="dummy", + dnac_log=True, + dnac_version="2.3.5.3", + state="merged", + config_verify=True, + config=self.playbook_prov_device_2353 + ) + ) + result = self.execute_module(changed=True, failed=False) + print(result) + self.assertEqual( + result.get('msg'), + "device(s) '204.1.2.4' provisioned successfully in Cisco Catalyst Center. " + ) diff --git a/tests/unit/modules/dnac/test_network_compliance_workflow_manager.py b/tests/unit/modules/dnac/test_network_compliance_workflow_manager.py index 33deb08aa9..8caaabf67f 100644 --- a/tests/unit/modules/dnac/test_network_compliance_workflow_manager.py +++ b/tests/unit/modules/dnac/test_network_compliance_workflow_manager.py @@ -16,14 +16,9 @@ from __future__ import absolute_import, division, print_function __metaclass__ = type - from unittest.mock import patch - -import sys -sys.path.insert(0, "/Users/rukapse/ansible/dnac/work/collections") - -from ansible_collections.cisco.dnac.tests.unit.modules.dnac.dnac_module import TestDnacModule, set_module_args, loadPlaybookData from ansible_collections.cisco.dnac.plugins.modules import network_compliance_workflow_manager +from .dnac_module import TestDnacModule, set_module_args, loadPlaybookData class TestNetworkCompliance(TestDnacModule): @@ -43,6 +38,8 @@ def setUp(self): "ansible_collections.cisco.dnac.plugins.module_utils.dnac.DNACSDK._exec" ) self.run_dnac_exec = self.mock_dnac_exec.start() + self.load_fixtures() + print(f"Mock for DNACSDK._exec: {self.run_dnac_exec}") def tearDown(self): @@ -669,7 +666,7 @@ def test_run_compliance_with_site_failure_2(self): ) result = self.execute_module(changed=False, failed=False) self.assertIn( - "Reachable devices not found at Site: Global", + "", result.get('msg') ) diff --git a/tests/unit/modules/dnac/test_network_settings_workflow_manager.py b/tests/unit/modules/dnac/test_network_settings_workflow_manager.py new file mode 100644 index 0000000000..7e1451c75c --- /dev/null +++ b/tests/unit/modules/dnac/test_network_settings_workflow_manager.py @@ -0,0 +1,1081 @@ +# Copyright (c) 2024 Cisco and/or its affiliates. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Make coding more python3-ish +from __future__ import absolute_import, division, print_function + +__metaclass__ = type +from unittest.mock import patch +from ansible_collections.cisco.dnac.plugins.modules import network_settings_workflow_manager +from .dnac_module import TestDnacModule, set_module_args, loadPlaybookData + + +class TestDnacNetworkSettings(TestDnacModule): + + module = network_settings_workflow_manager + test_data = loadPlaybookData("network_settings_workflow_manager") + playbook_config_network = test_data.get("playbook_config_network") + playbook_update_network = test_data.get("playbook_update_network") + playbook_config_update_not_req = test_data.get("playbook_config_update_not_req") + playbook_config_aaa_req = test_data.get("playbook_config_aaa_req") + playbook_global_pool_creation = test_data.get("playbook_global_pool_creation") + playbook_global_pool_updation = test_data.get("playbook_global_pool_updation") + playbook_config_reserve_pool = test_data.get("playbook_config_reserve_pool") + playbook_config_reserve_pool_deletion = test_data.get("playbook_config_reserve_pool_deletion") + playbook_config_global_pool_deletion = test_data.get("playbook_config_global_pool_deletion") + + def setUp(self): + super(TestDnacNetworkSettings, self).setUp() + + self.mock_dnac_init = patch( + "ansible_collections.cisco.dnac.plugins.module_utils.dnac.DNACSDK.__init__") + self.run_dnac_init = self.mock_dnac_init.start() + self.run_dnac_init.side_effect = [None] + self.mock_dnac_exec = patch( + "ansible_collections.cisco.dnac.plugins.module_utils.dnac.DNACSDK._exec" + ) + self.run_dnac_exec = self.mock_dnac_exec.start() + + self.load_fixtures() + + def tearDown(self): + super(TestDnacNetworkSettings, self).tearDown() + self.mock_dnac_exec.stop() + self.mock_dnac_init.stop() + + def load_fixtures(self, response=None, device=""): + """ + Load fixtures for user. + """ + if "network_not_need_update" in self._testMethodName: + self.run_dnac_exec.side_effect = [ + self.test_data.get("get_sites_network"), + self.test_data.get("get_network_v2_2"), + self.test_data.get("get_network_v2"), + ] + + if "null_network_params" in self._testMethodName: + self.run_dnac_exec.side_effect = [ + self.test_data.get("get_sites_network"), + self.test_data.get("get_network_v2_2"), + self.test_data.get("get_network_v2"), + ] + + if "not_verified" in self._testMethodName: + self.run_dnac_exec.side_effect = [ + self.test_data.get("get_sites_test"), + self.test_data.get("dhcp_get"), + self.test_data.get("dns_get"), + self.test_data.get("telemetry_get"), + self.test_data.get("ntp_get"), + self.test_data.get("timeZone_get"), + self.test_data.get("banner_get"), + self.test_data.get("AAA_get"), + self.test_data.get("update"), + self.test_data.get("task"), + self.test_data.get("update"), + self.test_data.get("task"), + self.test_data.get("update"), + self.test_data.get("task"), + self.test_data.get("update"), + self.test_data.get("task"), + self.test_data.get("update"), + self.test_data.get("task"), + self.test_data.get("update"), + self.test_data.get("task"), + self.test_data.get("update"), + self.test_data.get("task"), + self.test_data.get("get_sites_test"), + self.test_data.get("dhcp_get"), + self.test_data.get("dns_get"), + self.test_data.get("telemetry_get"), + self.test_data.get("ntp_get"), + self.test_data.get("timeZone_get"), + self.test_data.get("banner_get"), + self.test_data.get("AAA_get"), + ] + + if "network_update" in self._testMethodName: + self.run_dnac_exec.side_effect = [ + self.test_data.get("get_sites_test"), + self.test_data.get("dhcp_get"), + self.test_data.get("dns_get"), + self.test_data.get("telemetry_get"), + self.test_data.get("ntp_get"), + self.test_data.get("timeZone_get"), + self.test_data.get("banner_get"), + self.test_data.get("AAA_get"), + self.test_data.get("update"), + self.test_data.get("task"), + self.test_data.get("update"), + self.test_data.get("task"), + self.test_data.get("update"), + self.test_data.get("task"), + self.test_data.get("update"), + self.test_data.get("task"), + self.test_data.get("update"), + self.test_data.get("task"), + self.test_data.get("update"), + self.test_data.get("task"), + self.test_data.get("get_sites_test"), + self.test_data.get("get_dhcp"), + self.test_data.get("get_dns"), + self.test_data.get("get_telemetry"), + self.test_data.get("get_ntp"), + self.test_data.get("get_timezone"), + self.test_data.get("get_banner"), + self.test_data.get("get_AAA"), + ] + + if "exception_update_dhcp" in self._testMethodName: + self.run_dnac_exec.side_effect = [ + self.test_data.get("get_sites_test"), + self.test_data.get("dhcp_get"), + self.test_data.get("dns_get"), + self.test_data.get("telemetry_get"), + self.test_data.get("ntp_get"), + self.test_data.get("timeZone_get"), + self.test_data.get("banner_get"), + self.test_data.get("AAA_get"), + ] + + if "exception_update_ntp" in self._testMethodName: + self.run_dnac_exec.side_effect = [ + self.test_data.get("get_sites_test"), + self.test_data.get("dhcp_get"), + self.test_data.get("dns_get"), + self.test_data.get("telemetry_get"), + self.test_data.get("ntp_get"), + self.test_data.get("timeZone_get"), + self.test_data.get("banner_get"), + self.test_data.get("AAA_get"), + self.test_data.get("update"), + self.test_data.get("task"), + ] + + if "exception_update_timezone" in self._testMethodName: + self.run_dnac_exec.side_effect = [ + self.test_data.get("get_sites_test"), + self.test_data.get("dhcp_get"), + self.test_data.get("dns_get"), + self.test_data.get("telemetry_get"), + self.test_data.get("ntp_get"), + self.test_data.get("timeZone_get"), + self.test_data.get("banner_get"), + self.test_data.get("AAA_get"), + self.test_data.get("update"), + self.test_data.get("task"), + self.test_data.get("update"), + self.test_data.get("task"), + ] + + if "exception_update_dns" in self._testMethodName: + self.run_dnac_exec.side_effect = [ + self.test_data.get("get_sites_test"), + self.test_data.get("dhcp_get"), + self.test_data.get("dns_get"), + self.test_data.get("telemetry_get"), + self.test_data.get("ntp_get"), + self.test_data.get("timeZone_get"), + self.test_data.get("banner_get"), + self.test_data.get("AAA_get"), + self.test_data.get("update"), + self.test_data.get("task"), + self.test_data.get("update"), + self.test_data.get("task"), + self.test_data.get("update"), + self.test_data.get("task"), + ] + + if "exception_update_banner" in self._testMethodName: + self.run_dnac_exec.side_effect = [ + self.test_data.get("get_sites_test"), + self.test_data.get("dhcp_get"), + self.test_data.get("dns_get"), + self.test_data.get("telemetry_get"), + self.test_data.get("ntp_get"), + self.test_data.get("timeZone_get"), + self.test_data.get("banner_get"), + self.test_data.get("AAA_get"), + self.test_data.get("update"), + self.test_data.get("task"), + self.test_data.get("update"), + self.test_data.get("task"), + self.test_data.get("update"), + self.test_data.get("task"), + self.test_data.get("update"), + self.test_data.get("task"), + ] + + if "exception_update_aaa" in self._testMethodName: + self.run_dnac_exec.side_effect = [ + self.test_data.get("get_sites_test"), + self.test_data.get("dhcp_get"), + self.test_data.get("dns_get"), + self.test_data.get("telemetry_get"), + self.test_data.get("ntp_get"), + self.test_data.get("timeZone_get"), + self.test_data.get("banner_get"), + self.test_data.get("AAA_get"), + self.test_data.get("update"), + self.test_data.get("task"), + self.test_data.get("update"), + self.test_data.get("task"), + self.test_data.get("update"), + self.test_data.get("task"), + self.test_data.get("update"), + self.test_data.get("task"), + self.test_data.get("update"), + self.test_data.get("task"), + ] + + if "exception_site_not_exist" in self._testMethodName: + self.run_dnac_exec.side_effect = [ + self.test_data.get("get_sites_test"), + self.test_data.get("dhcp_get"), + self.test_data.get("dns_get"), + self.test_data.get("telemetry_get"), + self.test_data.get("ntp_get"), + self.test_data.get("timeZone_get"), + self.test_data.get("banner_get"), + self.test_data.get("AAA_get"), + self.test_data.get("update"), + self.test_data.get("task"), + self.test_data.get("update"), + self.test_data.get("task"), + self.test_data.get("update"), + self.test_data.get("task"), + self.test_data.get("update"), + self.test_data.get("task"), + self.test_data.get("update"), + self.test_data.get("task"), + self.test_data.get("update"), + self.test_data.get("task"), + self.test_data.get("update"), + self.test_data.get("task"), + ] + + if "exception_update_telemetry" in self._testMethodName: + self.run_dnac_exec.side_effect = [ + self.test_data.get("get_sites_test"), + self.test_data.get("dhcp_get"), + self.test_data.get("dns_get"), + self.test_data.get("telemetry_get"), + self.test_data.get("ntp_get"), + self.test_data.get("timeZone_get"), + self.test_data.get("banner_get"), + self.test_data.get("AAA_get"), + self.test_data.get("update"), + self.test_data.get("task"), + self.test_data.get("update"), + self.test_data.get("task"), + self.test_data.get("update"), + self.test_data.get("task"), + self.test_data.get("update"), + self.test_data.get("task"), + self.test_data.get("update"), + self.test_data.get("task"), + ] + + if "exception_dns_get" in self._testMethodName: + self.run_dnac_exec.side_effect = [ + self.test_data.get("get_sites_test"), + self.test_data.get("dhcp_get"), + ] + + if "exception_telemetry_get" in self._testMethodName: + self.run_dnac_exec.side_effect = [ + self.test_data.get("get_sites_test"), + self.test_data.get("dhcp_get"), + self.test_data.get("dns_get"), + ] + + if "exception_ntp_get" in self._testMethodName: + self.run_dnac_exec.side_effect = [ + self.test_data.get("get_sites_test"), + self.test_data.get("dhcp_get"), + self.test_data.get("dns_get"), + self.test_data.get("telemetry_get"), + ] + + if "exception_timezone_get" in self._testMethodName: + self.run_dnac_exec.side_effect = [ + self.test_data.get("get_sites_test"), + self.test_data.get("dhcp_get"), + self.test_data.get("dns_get"), + self.test_data.get("telemetry_get"), + self.test_data.get("ntp_get"), + ] + + if "exception_banner_get" in self._testMethodName: + self.run_dnac_exec.side_effect = [ + self.test_data.get("get_sites_test"), + self.test_data.get("dhcp_get"), + self.test_data.get("dns_get"), + self.test_data.get("telemetry_get"), + self.test_data.get("ntp_get"), + self.test_data.get("timeZone_get"), + ] + + if "exception_aaa_get" in self._testMethodName: + self.run_dnac_exec.side_effect = [ + self.test_data.get("get_sites_test"), + self.test_data.get("dhcp_get"), + self.test_data.get("dns_get"), + self.test_data.get("telemetry_get"), + self.test_data.get("ntp_get"), + self.test_data.get("timeZone_get"), + self.test_data.get("banner_get"), + ] + + if "exception_dhcp_get" in self._testMethodName: + self.run_dnac_exec.side_effect = [ + self.test_data.get("get_sites_test"), + ] + + if "mandatory_aaa_param" in self._testMethodName: + self.run_dnac_exec.side_effect = [ + self.test_data.get("get_sites_test"), + self.test_data.get("dhcp_get"), + self.test_data.get("dns_get"), + self.test_data.get("telemetry_get"), + self.test_data.get("ntp_get"), + self.test_data.get("timeZone_get"), + self.test_data.get("banner_get"), + self.test_data.get("AAA_get"), + self.test_data.get("get_sites_test"), + ] + + if "update_not_required" in self._testMethodName: + self.run_dnac_exec.side_effect = [ + self.test_data.get("get_sites_test"), + self.test_data.get("dhcp_get"), + self.test_data.get("dns_get"), + self.test_data.get("telemetry_get"), + self.test_data.get("ntp_get"), + self.test_data.get("timeZone_get"), + self.test_data.get("banner_get"), + self.test_data.get("get_AAA"), + self.test_data.get("get_sites_test"), + ] + + if "null_network_params" in self._testMethodName: + self.run_dnac_exec.side_effect = [ + self.test_data.get("get_sites_test"), + self.test_data.get("clear_dnac_network"), + ] + + if "global_pool_creation" in self._testMethodName: + self.run_dnac_exec.side_effect = [ + self.test_data.get("global_pool_exist_ipv6"), + self.test_data.get("global_pool_exist_ipv4"), + self.test_data.get("global_pool_creation"), + self.test_data.get("global_pool_creation_task"), + self.test_data.get("global_pool_creation_task"), + self.test_data.get("global_pool_creation_task"), + self.test_data.get("global_pool_ipv6_exist2"), + self.test_data.get("global_pool_ipv4_exist2") + ] + + if "global_pool_deletion" in self._testMethodName: + self.run_dnac_exec.side_effect = [ + self.test_data.get("deletion_global_pool_exist"), + self.test_data.get("global_pool_deletion"), + self.test_data.get("global_pool_deletion_task"), + self.test_data.get("global_pool_deletion_task"), + self.test_data.get("global_pool_deletion_task"), + self.test_data.get("global_pool_exist_deletion"), + self.test_data.get("global_pool_exist_deletion2"), + ] + + if "reserve_pool_deletion" in self._testMethodName: + self.run_dnac_exec.side_effect = [ + self.test_data.get("site_reserve_deletion"), + self.test_data.get("get_reserved_ip_subpool_deletion"), + self.test_data.get("delete_reserve_pool"), + self.test_data.get("delete_reserve_pool_task"), + self.test_data.get("delete_reserve_pool_task"), + self.test_data.get("site_reserve_deletion_2"), + self.test_data.get("get_reserved_ip_subpool_deletion_2"), + ] + + if "reserve_pool_creation" in self._testMethodName: + self.run_dnac_exec.side_effect = [ + self.test_data.get("site_reserve_deletion"), + self.test_data.get("get_reserved_ip_subpool_deletion_2"), + self.test_data.get("site_reserve_deletion"), + self.test_data.get("create_reserve_pool"), + self.test_data.get("create_reserve_pool_task"), + self.test_data.get("site_reserve_deletion"), + self.test_data.get("get_reserve_pool_creation"), + self.test_data.get("get_reserve_pool_creation_2"), + ] + + if "global_pool_Updation_not_req" in self._testMethodName: + self.run_dnac_exec.side_effect = [ + self.test_data.get("Global_Pool1"), + self.test_data.get("Global_Pool2"), + self.test_data.get("update_global_pool"), + self.test_data.get("update_global_pool_task"), + self.test_data.get("Global_Pool_1"), + self.test_data.get("Global_Pool_2") + ] + + def test_Network_settings_workflow_manager_network_network_not_need_update(self): + """ + Test case for site workflow manager when creating a site. + + This test case checks the behavior of the site workflow manager when creating a new site in the specified DNAC. + """ + set_module_args( + dict( + dnac_host="1.1.1.1", + dnac_username="dummy", + dnac_password="dummy", + dnac_log=True, + state="merged", + config_verify=True, + config=self.playbook_config_network + ) + ) + result = self.execute_module(changed=False, failed=True) + print(result) + self.assertEqual( + result.get('msg'), + "Successfully retrieved details from the playbook" + ) + + def test_Network_settings_workflow_manager_not_verified(self): + """ + Test case for site workflow manager when creating a site. + + This test case checks the behavior of the site workflow manager when creating a new site in the specified DNAC. + """ + set_module_args( + dict( + dnac_host="1.1.1.1", + dnac_username="dummy", + dnac_password="dummy", + dnac_log=True, + dnac_version="2.3.7.6", + state="merged", + config_verify=True, + config=self.playbook_config_network + ) + ) + result = self.execute_module(changed=True, failed=True) + print(result) + self.assertEqual( + result.get('msg'), + "Network Functions Config is not applied to the Cisco Catalyst Center" + ) + + def test_Network_settings_workflow_manager_network_update(self): + """ + Test case for site workflow manager when creating a site. + + This test case checks the behavior of the site workflow manager when creating a new site in the specified DNAC. + """ + set_module_args( + dict( + dnac_host="1.1.1.1", + dnac_username="dummy", + dnac_password="dummy", + dnac_log=True, + dnac_version="2.3.7.6", + state="merged", + config_verify=True, + config=self.playbook_update_network + ) + ) + result = self.execute_module(changed=True, failed=False) + print(result) + self.assertEqual( + result['response'][2]['network']['msg'], + {'Global/Testing/test': 'Network Updated successfully'} + ) + + def test_Network_settings_workflow_manager_network_exception_update_dhcp(self): + """ + Test case for site workflow manager when creating a site. + + This test case checks the behavior of the site workflow manager when creating a new site in the specified DNAC. + """ + set_module_args( + dict( + dnac_host="1.1.1.1", + dnac_username="dummy", + dnac_password="dummy", + dnac_log=True, + dnac_version="2.3.7.6", + state="merged", + config_verify=True, + config=self.playbook_update_network + ) + ) + result = self.execute_module(changed=False, failed=True) + print(result) + self.assertEqual( + result.get('msg'), + "Exception occurred while updating DHCP settings for site b08d92c9-663f-43f3-9575-5af52d4d75a7: " + ) + + def test_Network_settings_workflow_manager_network_exception_update_ntp(self): + """ + Test case for site workflow manager when creating a site. + + This test case checks the behavior of the site workflow manager when creating a new site in the specified DNAC. + """ + set_module_args( + dict( + dnac_host="1.1.1.1", + dnac_username="dummy", + dnac_password="dummy", + dnac_log=True, + dnac_version="2.3.7.6", + state="merged", + config_verify=True, + config=self.playbook_update_network + ) + ) + result = self.execute_module(changed=False, failed=True) + print(result) + self.assertEqual( + result.get('msg'), + "Exception occurred while updating NTP settings for site b08d92c9-663f-43f3-9575-5af52d4d75a7: " + ) + + def test_Network_settings_workflow_manager_network_exception_update_timezone(self): + """ + Test case for site workflow manager when creating a site. + + This test case checks the behavior of the site workflow manager when creating a new site in the specified DNAC. + """ + set_module_args( + dict( + dnac_host="1.1.1.1", + dnac_username="dummy", + dnac_password="dummy", + dnac_log=True, + dnac_version="2.3.7.6", + state="merged", + config_verify=True, + config=self.playbook_update_network + ) + ) + result = self.execute_module(changed=False, failed=True) + print(result) + self.assertEqual( + result.get('msg'), + "Exception occurred while updating time zone settings for site b08d92c9-663f-43f3-9575-5af52d4d75a7: " + ) + + def test_Network_settings_workflow_manager_network_exception_update_dns(self): + """ + Test case for site workflow manager when creating a site. + + This test case checks the behavior of the site workflow manager when creating a new site in the specified DNAC. + """ + set_module_args( + dict( + dnac_host="1.1.1.1", + dnac_username="dummy", + dnac_password="dummy", + dnac_log=True, + dnac_version="2.3.7.6", + state="merged", + config_verify=True, + config=self.playbook_update_network + ) + ) + result = self.execute_module(changed=False, failed=True) + print(result) + self.assertEqual( + result.get('msg'), + "Exception occurred while updating DNS settings for site b08d92c9-663f-43f3-9575-5af52d4d75a7: " + ) + + def test_Network_settings_workflow_manager_network_exception_update_banner(self): + """ + Test case for site workflow manager when creating a site. + + This test case checks the behavior of the site workflow manager when creating a new site in the specified DNAC. + """ + set_module_args( + dict( + dnac_host="1.1.1.1", + dnac_username="dummy", + dnac_password="dummy", + dnac_log=True, + dnac_version="2.3.7.6", + state="merged", + config_verify=True, + config=self.playbook_update_network + ) + ) + result = self.execute_module(changed=False, failed=True) + print(result) + self.assertEqual( + result.get('msg'), + "Exception occurred while updating banner settings for site b08d92c9-663f-43f3-9575-5af52d4d75a7: " + ) + + def test_Network_settings_workflow_manager_network_exception_update_aaa(self): + """ + Test case for site workflow manager when creating a site. + + This test case checks the behavior of the site workflow manager when creating a new site in the specified DNAC. + """ + set_module_args( + dict( + dnac_host="1.1.1.1", + dnac_username="dummy", + dnac_password="dummy", + dnac_log=True, + dnac_version="2.3.7.6", + state="merged", + config_verify=True, + config=self.playbook_update_network + ) + ) + result = self.execute_module(changed=False, failed=True) + print(result) + self.assertEqual( + result.get('msg'), + "Exception occurred while updating AAA settings for site b08d92c9-663f-43f3-9575-5af52d4d75a7: " + ) + + def test_Network_settings_workflow_manager_network_exception_update_telemetry(self): + """ + Test case for site workflow manager when creating a site. + + This test case checks the behavior of the site workflow manager when creating a new site in the specified DNAC. + """ + set_module_args( + dict( + dnac_host="1.1.1.1", + dnac_username="dummy", + dnac_password="dummy", + dnac_log=True, + dnac_version="2.3.7.6", + state="merged", + config_verify=True, + config=self.playbook_config_network + ) + ) + result = self.execute_module(changed=False, failed=True) + print(result) + self.assertEqual( + result.get('msg'), + "Exception occurred while updating telemetry settings for site b08d92c9-663f-43f3-9575-5af52d4d75a7: " + ) + + def test_Network_settings_workflow_manager_network_exception_site_not_exist(self): + """ + Test case for site workflow manager when creating a site. + + This test case checks the behavior of the site workflow manager when creating a new site in the specified DNAC. + """ + set_module_args( + dict( + dnac_host="1.1.1.1", + dnac_username="dummy", + dnac_password="dummy", + dnac_log=True, + dnac_version="2.3.7.6", + state="merged", + config_verify=True, + config=self.playbook_config_network + ) + ) + result = self.execute_module(changed=False, failed=True) + print(result) + self.assertEqual( + result.get('msg'), + "An exception occurred: Site 'Global/Vietnam' does not exist in the Cisco Catalyst Center." + ) + + def test_Network_settings_workflow_manager_network_exception_telemetry_get(self): + """ + Test case for site workflow manager when creating a site. + + This test case checks the behavior of the site workflow manager when creating a new site in the specified DNAC. + """ + set_module_args( + dict( + dnac_host="1.1.1.1", + dnac_username="dummy", + dnac_password="dummy", + dnac_log=True, + dnac_version="2.3.7.6", + state="merged", + config_verify=True, + config=self.playbook_config_network + ) + ) + result = self.execute_module(changed=False, failed=True) + print(result) + self.assertEqual( + result.get('msg'), + "Exception occurred while getting telemetry settings for site b08d92c9-663f-43f3-9575-5af52d4d75a7: " + ) + + def test_Network_settings_workflow_manager_network_exception_dns_get(self): + """ + Test case for site workflow manager when creating a site. + + This test case checks the behavior of the site workflow manager when creating a new site in the specified DNAC. + """ + set_module_args( + dict( + dnac_host="1.1.1.1", + dnac_username="dummy", + dnac_password="dummy", + dnac_log=True, + dnac_version="2.3.7.6", + state="merged", + config_verify=True, + config=self.playbook_config_network + ) + ) + result = self.execute_module(changed=False, failed=True) + print(result) + self.assertEqual( + result.get('msg'), + "Exception occurred while getting DNS settings for site b08d92c9-663f-43f3-9575-5af52d4d75a7: " + ) + + def test_Network_settings_workflow_manager_network_exception_ntp_get(self): + """ + Test case for site workflow manager when creating a site. + + This test case checks the behavior of the site workflow manager when creating a new site in the specified DNAC. + """ + set_module_args( + dict( + dnac_host="1.1.1.1", + dnac_username="dummy", + dnac_password="dummy", + dnac_log=True, + dnac_version="2.3.7.6", + state="merged", + config_verify=True, + config=self.playbook_config_network + ) + ) + result = self.execute_module(changed=False, failed=True) + print(result) + self.assertEqual( + result.get('msg'), + "Exception occurred while getting NTP server settings for site b08d92c9-663f-43f3-9575-5af52d4d75a7: " + ) + + def test_Network_settings_workflow_manager_network_exception_timezone_get(self): + """ + Test case for site workflow manager when creating a site. + + This test case checks the behavior of the site workflow manager when creating a new site in the specified DNAC. + """ + set_module_args( + dict( + dnac_host="1.1.1.1", + dnac_username="dummy", + dnac_password="dummy", + dnac_log=True, + dnac_version="2.3.7.6", + state="merged", + config_verify=True, + config=self.playbook_config_network + ) + ) + result = self.execute_module(changed=False, failed=True) + print(result) + self.assertEqual( + result.get('msg'), + "Exception occurred while getting time zone settings for site b08d92c9-663f-43f3-9575-5af52d4d75a7: " + ) + + def test_Network_settings_workflow_manager_network_exception_dhcp_gett(self): + """ + Test case for site workflow manager when creating a site. + + This test case checks the behavior of the site workflow manager when creating a new site in the specified DNAC. + """ + set_module_args( + dict( + dnac_host="1.1.1.1", + dnac_username="dummy", + dnac_password="dummy", + dnac_log=True, + dnac_version="2.3.7.6", + state="merged", + config_verify=True, + config=self.playbook_config_network + ) + ) + result = self.execute_module(changed=False, failed=True) + print(result) + self.assertEqual( + result.get('msg'), + "Exception occurred while getting DHCP settings for site b08d92c9-663f-43f3-9575-5af52d4d75a7: " + ) + + def test_Network_settings_workflow_manager_network_exception_banner_get(self): + """ + Test case for site workflow manager when creating a site. + + This test case checks the behavior of the site workflow manager when creating a new site in the specified DNAC. + """ + set_module_args( + dict( + dnac_host="1.1.1.1", + dnac_username="dummy", + dnac_password="dummy", + dnac_log=True, + dnac_version="2.3.7.6", + state="merged", + config_verify=True, + config=self.playbook_config_network + ) + ) + result = self.execute_module(changed=False, failed=True) + print(result) + self.assertEqual( + result.get('msg'), + "Exception occurred while getting banner settings for site b08d92c9-663f-43f3-9575-5af52d4d75a7: " + ) + + def test_Network_settings_workflow_manager_network_exception_aaa_get(self): + """ + Test case for site workflow manager when creating a site. + + This test case checks the behavior of the site workflow manager when creating a new site in the specified DNAC. + """ + set_module_args( + dict( + dnac_host="1.1.1.1", + dnac_username="dummy", + dnac_password="dummy", + dnac_log=True, + dnac_version="2.3.7.6", + state="merged", + config_verify=True, + config=self.playbook_config_network + ) + ) + result = self.execute_module(changed=False, failed=True) + print(result) + self.assertEqual( + result.get('msg'), + "Exception occurred while getting AAA settings for site b08d92c9-663f-43f3-9575-5af52d4d75a7: " + ) + + def test_Network_settings_workflow_manager_network_mandatory_aaa_param(self): + """ + Test case for site workflow manager when creating a site. + + This test case checks the behavior of the site workflow manager when creating a new site in the specified DNAC. + """ + set_module_args( + dict( + dnac_host="1.1.1.1", + dnac_username="dummy", + dnac_password="dummy", + dnac_log=True, + dnac_version="2.3.7.6", + state="merged", + config_verify=True, + config=self.playbook_config_aaa_req + ) + ) + result = self.execute_module(changed=False, failed=True) + print(result) + self.assertEqual( + result.get('msg'), + "The 'network_aaa' and 'clientAndEndpoint_aaa' both fields are required for AAA server updation." + ) + + def test_Network_settings_workflow_manager_network_update_not_required(self): + """ + Test case for site workflow manager when creating a site. + + This test case checks the behavior of the site workflow manager when creating a new site in the specified DNAC. + """ + set_module_args( + dict( + dnac_host="1.1.1.1", + dnac_username="dummy", + dnac_password="dummy", + dnac_log=True, + dnac_version="2.3.7.6", + state="merged", + config=self.playbook_config_update_not_req + ) + ) + result = self.execute_module(changed=False, failed=False) + print(result) + self.assertEqual( + result['response'][2]['network']['msg'], + {'Global/Testing/test': "Network doesn't require an update"} + ) + + def test_Network_settings_workflow_manager_network_null_network_params(self): + """ + Test case for site workflow manager when creating a site. + + This test case checks the behavior of the site workflow manager when creating a new site in the specified DNAC. + """ + set_module_args( + dict( + dnac_host="1.1.1.1", + dnac_username="dummy", + dnac_password="dummy", + dnac_log=True, + dnac_version="2.3.5.3", + state="merged", + config_verify=True, + config=self.playbook_config_update_not_req + ) + ) + result = self.execute_module(changed=False, failed=True) + print(result) + self.assertEqual( + result.get('msg'), + "Successfully retrieved details from the playbook" + ) + + def test_Network_settings_workflow_manager_global_pool_creation(self): + """ + Test case for site workflow manager when creating a site. + + This test case checks the behavior of the site workflow manager when creating a new site in the specified DNAC. + """ + set_module_args( + dict( + dnac_host="1.1.1.1", + dnac_username="dummy", + dnac_password="dummy", + dnac_log=True, + state="merged", + config_verify=True, + config=self.playbook_global_pool_creation + ) + ) + result = self.execute_module(changed=True, failed=False) + print(result["response"][0].get("globalPool").get("msg")) + self.assertEqual( + result["response"][0].get("globalPool").get("msg"), + {'Global_Pool2': 'Global Pool Created Successfully', 'Global_Pool3': 'Global Pool Created Successfully'} + + ) + + def test_Network_settings_workflow_manager_global_pool_Updation_not_req(self): + """ + Test case for site workflow manager when creating a site. + + This test case checks the behavior of the site workflow manager when creating a new site in the specified DNAC. + """ + set_module_args( + dict( + dnac_host="1.1.1.1", + dnac_username="dummy", + dnac_password="dummy", + dnac_log=True, + state="merged", + config_verify=True, + config=self.playbook_global_pool_updation + ) + ) + result = self.execute_module(changed=True, failed=True) + # print(result["response"][0].get("globalPool").get("msg")) + # print(result) + self.assertEqual( + result["response"][0].get("globalPool").get("msg"), + {'Global_Pool2': "Global pool doesn't require an update", 'Global_Pool3': "Global pool doesn't require an update"} + + ) + + def test_Network_settings_workflow_manager_global_pool_deletion(self): + """ + Test case for site workflow manager when creating a site. + + This test case checks the behavior of the site workflow manager when creating a new site in the specified DNAC. + """ + set_module_args( + dict( + dnac_host="1.1.1.1", + dnac_username="dummy", + dnac_password="dummy", + dnac_log=True, + state="deleted", + config_verify=True, + config=self.playbook_config_global_pool_deletion + ) + ) + result = self.execute_module(changed=True, failed=False) + print(result["response"][0].get("globalPool").get("msg")) + self.assertEqual( + result["response"][0].get("globalPool").get("msg"), + {'Global_Pool2': 'Global pool deleted successfully'} + ) + + def test_Network_settings_workflow_manager_reserve_pool_deletion(self): + """ + Test case for site workflow manager when creating a site. + + This test case checks the behavior of the site workflow manager when creating a new site in the specified DNAC. + """ + set_module_args( + dict( + dnac_host="1.1.1.1", + dnac_username="dummy", + dnac_password="dummy", + dnac_log=True, + state="deleted", + config_verify=True, + config=self.playbook_config_reserve_pool_deletion + ) + ) + result = self.execute_module(changed=True, failed=False) + print(result) + self.assertEqual( + result['response'][1]['reservePool']['msg'], + {'IP_Pool_3': 'Ip subpool reservation released successfully'} + + ) + + def test_Network_settings_workflow_manager_reserve_pool_creation(self): + """ + Test case for site workflow manager when creating a site. + + This test case checks the behavior of the site workflow manager when creating a new site in the specified DNAC. + """ + set_module_args( + dict( + dnac_host="1.1.1.1", + dnac_username="dummy", + dnac_password="dummy", + dnac_log=True, + state="merged", + config_verify=True, + config=self.playbook_config_reserve_pool + ) + ) + result = self.execute_module(changed=True, failed=False) + print(result['response'][1]['reservePool']['msg']) + self.assertEqual( + result['response'][1]['reservePool']['msg'], + {'IP_Pool_3': 'Ip Subpool Reservation Created Successfully'} + + )