diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-26 04:06:02 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-26 04:06:02 +0000 |
commit | e3eb94c23206603103f3c4faec6c227f59a1544c (patch) | |
tree | f2639459807ba88f55fc9c54d745bd7075d7f15c /ansible_collections/cisco/dnac/plugins | |
parent | Releasing progress-linux version 9.4.0+dfsg-1~progress7.99u1. (diff) | |
download | ansible-e3eb94c23206603103f3c4faec6c227f59a1544c.tar.xz ansible-e3eb94c23206603103f3c4faec6c227f59a1544c.zip |
Merging upstream version 9.5.1+dfsg.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'ansible_collections/cisco/dnac/plugins')
402 files changed, 1986 insertions, 1387 deletions
diff --git a/ansible_collections/cisco/dnac/plugins/module_utils/dnac.py b/ansible_collections/cisco/dnac/plugins/module_utils/dnac.py index a12e7eaf4..1d4b804cd 100644 --- a/ansible_collections/cisco/dnac/plugins/module_utils/dnac.py +++ b/ansible_collections/cisco/dnac/plugins/module_utils/dnac.py @@ -27,6 +27,7 @@ import json # import datetime import inspect import re +import socket class DnacBase(): @@ -485,6 +486,66 @@ class DnacBase(): return new_config + def is_valid_ipv4(self, ip_address): + """ + Validates an IPv4 address. + + Parameters: + ip_address - String denoting the IPv4 address passed. + + Returns: + bool - Returns true if the passed IP address value is correct or it returns + false if it is incorrect + """ + + try: + socket.inet_aton(ip_address) + octets = ip_address.split('.') + if len(octets) != 4: + return False + for octet in octets: + if not 0 <= int(octet) <= 255: + return False + return True + except socket.error: + return False + + def is_path_exists(self, file_path): + """ + Check if the file path 'file_path' exists or not. + + Parameters: + file_path (string) - Path of the provided file. + + Returns: + True/False (bool) - True if the file path exists, else False. + """ + + if not os.path.exists(file_path): + return False + + return True + + def is_json(self, file_path): + """ + Check if the file in the file path is JSON or not. + + Parameters: + file_path (string) - Path of the provided file. + + Returns: + True/False (bool) - True if the file is in JSON format, else False. + """ + + try: + with open(file_path, 'r') as file: + json.load(file) + return True + + except (ValueError, FileNotFoundError): + self.log("The provided file '{0}' is not in JSON format".format(file_path), "CRITICAL") + return False + def is_list_complex(x): return isinstance(x[0], dict) or isinstance(x[0], list) diff --git a/ansible_collections/cisco/dnac/plugins/modules/accesspoint_configuration_details_by_task_id_info.py b/ansible_collections/cisco/dnac/plugins/modules/accesspoint_configuration_details_by_task_id_info.py index 63bf5df7e..642034e5c 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/accesspoint_configuration_details_by_task_id_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/accesspoint_configuration_details_by_task_id_info.py @@ -24,8 +24,8 @@ options: - Task_id path parameter. Task id information of ap config. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Wireless GetAccessPointConfigurationTaskResult description: Complete reference of the GetAccessPointConfigurationTaskResult API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/app_policy_default_info.py b/ansible_collections/cisco/dnac/plugins/modules/app_policy_default_info.py index 3ad0878fb..921f7a095 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/app_policy_default_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/app_policy_default_info.py @@ -20,8 +20,8 @@ options: description: Additional headers. type: dict requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Application Policy GetApplicationPolicyDefault description: Complete reference of the GetApplicationPolicyDefault API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/app_policy_info.py b/ansible_collections/cisco/dnac/plugins/modules/app_policy_info.py index d70d8fd44..3479d1ede 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/app_policy_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/app_policy_info.py @@ -24,8 +24,8 @@ options: - PolicyScope query parameter. Policy scope name. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Application Policy GetApplicationPolicy description: Complete reference of the GetApplicationPolicy API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/app_policy_intent_create.py b/ansible_collections/cisco/dnac/plugins/modules/app_policy_intent_create.py index 6c1b46832..fd487ca0c 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/app_policy_intent_create.py +++ b/ansible_collections/cisco/dnac/plugins/modules/app_policy_intent_create.py @@ -226,8 +226,8 @@ options: type: dict type: list requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Application Policy ApplicationPolicyIntent description: Complete reference of the ApplicationPolicyIntent API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/app_policy_queuing_profile.py b/ansible_collections/cisco/dnac/plugins/modules/app_policy_queuing_profile.py index 769e87fc1..9260ffbf5 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/app_policy_queuing_profile.py +++ b/ansible_collections/cisco/dnac/plugins/modules/app_policy_queuing_profile.py @@ -89,8 +89,8 @@ options: type: str type: list requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Application Policy CreateApplicationPolicyQueuingProfile description: Complete reference of the CreateApplicationPolicyQueuingProfile API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/app_policy_queuing_profile_count_info.py b/ansible_collections/cisco/dnac/plugins/modules/app_policy_queuing_profile_count_info.py index 5f814ac1d..2a3b2c4df 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/app_policy_queuing_profile_count_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/app_policy_queuing_profile_count_info.py @@ -20,8 +20,8 @@ options: description: Additional headers. type: dict requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Application Policy GetApplicationPolicyQueuingProfileCount description: Complete reference of the GetApplicationPolicyQueuingProfileCount API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/app_policy_queuing_profile_info.py b/ansible_collections/cisco/dnac/plugins/modules/app_policy_queuing_profile_info.py index 860545f2c..bb89873a6 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/app_policy_queuing_profile_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/app_policy_queuing_profile_info.py @@ -24,8 +24,8 @@ options: - Name query parameter. Queuing profile name. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Application Policy GetApplicationPolicyQueuingProfile description: Complete reference of the GetApplicationPolicyQueuingProfile API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/application_sets.py b/ansible_collections/cisco/dnac/plugins/modules/application_sets.py index 1210f90d6..b4c5dd14c 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/application_sets.py +++ b/ansible_collections/cisco/dnac/plugins/modules/application_sets.py @@ -29,8 +29,8 @@ options: type: str type: list requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Application Policy CreateApplicationSet description: Complete reference of the CreateApplicationSet API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/application_sets_count_info.py b/ansible_collections/cisco/dnac/plugins/modules/application_sets_count_info.py index b71923719..bd6336fb7 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/application_sets_count_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/application_sets_count_info.py @@ -20,8 +20,8 @@ options: description: Additional headers. type: dict requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Application Policy GetApplicationSetsCount description: Complete reference of the GetApplicationSetsCount API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/application_sets_info.py b/ansible_collections/cisco/dnac/plugins/modules/application_sets_info.py index 844341de0..168674c87 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/application_sets_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/application_sets_info.py @@ -32,8 +32,8 @@ options: - Name query parameter. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Application Policy GetApplicationSets description: Complete reference of the GetApplicationSets API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/applications.py b/ansible_collections/cisco/dnac/plugins/modules/applications.py index 22c309bd4..43c18a12b 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/applications.py +++ b/ansible_collections/cisco/dnac/plugins/modules/applications.py @@ -133,8 +133,8 @@ options: type: list type: list requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Application Policy CreateApplication description: Complete reference of the CreateApplication API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/applications_count_info.py b/ansible_collections/cisco/dnac/plugins/modules/applications_count_info.py index 1c725cb14..cf4eb7d8d 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/applications_count_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/applications_count_info.py @@ -20,8 +20,8 @@ options: description: Additional headers. type: dict requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Application Policy GetApplicationsCount description: Complete reference of the GetApplicationsCount API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/applications_health_info.py b/ansible_collections/cisco/dnac/plugins/modules/applications_health_info.py index 4bc998401..883fd5398 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/applications_health_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/applications_health_info.py @@ -64,8 +64,8 @@ options: - ApplicationName query parameter. The name of the application to get information on. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Applications Applications description: Complete reference of the Applications API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/applications_info.py b/ansible_collections/cisco/dnac/plugins/modules/applications_info.py index 431d62e37..6570ca75d 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/applications_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/applications_info.py @@ -32,8 +32,8 @@ options: - Name query parameter. Application's name. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Application Policy GetApplications description: Complete reference of the GetApplications API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/assign_device_to_site.py b/ansible_collections/cisco/dnac/plugins/modules/assign_device_to_site.py index fbd3cec3d..c1da97fe9 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/assign_device_to_site.py +++ b/ansible_collections/cisco/dnac/plugins/modules/assign_device_to_site.py @@ -31,8 +31,8 @@ options: description: SiteId path parameter. Site id to which site the device to assign. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for AssignDevicesToSite description: Complete reference of the AssignDevicesToSite API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/associate_site_to_network_profile.py b/ansible_collections/cisco/dnac/plugins/modules/associate_site_to_network_profile.py index 7a2aab8e5..b01851556 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/associate_site_to_network_profile.py +++ b/ansible_collections/cisco/dnac/plugins/modules/associate_site_to_network_profile.py @@ -23,8 +23,8 @@ options: description: SiteId path parameter. Site Id to be associated. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Site Design Associate description: Complete reference of the Associate API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/authentication_import_certificate.py b/ansible_collections/cisco/dnac/plugins/modules/authentication_import_certificate.py index 7cfca0c47..15cb6d2b6 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/authentication_import_certificate.py +++ b/ansible_collections/cisco/dnac/plugins/modules/authentication_import_certificate.py @@ -30,8 +30,8 @@ options: description: PkPassword query parameter. Private Key Passsword. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Authentication Management ImportCertificate description: Complete reference of the ImportCertificate API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/authentication_import_certificate_p12.py b/ansible_collections/cisco/dnac/plugins/modules/authentication_import_certificate_p12.py index ab19906f7..23d98d277 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/authentication_import_certificate_p12.py +++ b/ansible_collections/cisco/dnac/plugins/modules/authentication_import_certificate_p12.py @@ -30,8 +30,8 @@ options: description: PkPassword query parameter. Private Key Passsword. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Authentication Management ImportCertificateP12 description: Complete reference of the ImportCertificateP12 API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/authentication_policy_servers_info.py b/ansible_collections/cisco/dnac/plugins/modules/authentication_policy_servers_info.py index cb5124de7..d0366ecc2 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/authentication_policy_servers_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/authentication_policy_servers_info.py @@ -32,8 +32,8 @@ options: - Role query parameter. Authentication and Policy Server Role (Example primary, secondary). type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for System Settings GetAuthenticationAndPolicyServers description: Complete reference of the GetAuthenticationAndPolicyServers API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/buildings_planned_access_points_info.py b/ansible_collections/cisco/dnac/plugins/modules/buildings_planned_access_points_info.py index 07dda3ca9..20aaae21a 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/buildings_planned_access_points_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/buildings_planned_access_points_info.py @@ -36,8 +36,8 @@ options: - Radios query parameter. Inlcude planned radio details. type: bool requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Devices GetPlannedAccessPointsForBuilding description: Complete reference of the GetPlannedAccessPointsForBuilding API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/business_sda_hostonboarding_ssid_ippool.py b/ansible_collections/cisco/dnac/plugins/modules/business_sda_hostonboarding_ssid_ippool.py index daa0bbc00..53a47bdc9 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/business_sda_hostonboarding_ssid_ippool.py +++ b/ansible_collections/cisco/dnac/plugins/modules/business_sda_hostonboarding_ssid_ippool.py @@ -34,8 +34,8 @@ options: description: VLAN Name. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Fabric Wireless AddSSIDToIPPoolMapping description: Complete reference of the AddSSIDToIPPoolMapping API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/business_sda_hostonboarding_ssid_ippool_info.py b/ansible_collections/cisco/dnac/plugins/modules/business_sda_hostonboarding_ssid_ippool_info.py index 6ecfdd80f..7de5bd47f 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/business_sda_hostonboarding_ssid_ippool_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/business_sda_hostonboarding_ssid_ippool_info.py @@ -28,8 +28,8 @@ options: - SiteNameHierarchy query parameter. Site Name Heirarchy. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Fabric Wireless GetSSIDToIPPoolMapping description: Complete reference of the GetSSIDToIPPoolMapping API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/business_sda_virtual_network_summary_info.py b/ansible_collections/cisco/dnac/plugins/modules/business_sda_virtual_network_summary_info.py index 941822ad5..beb749da6 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/business_sda_virtual_network_summary_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/business_sda_virtual_network_summary_info.py @@ -24,8 +24,8 @@ options: - SiteNameHierarchy query parameter. Complete fabric siteNameHierarchy Path. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for GetVirtualNetworkSummary description: Complete reference of the GetVirtualNetworkSummary API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/business_sda_wireless_controller_create.py b/ansible_collections/cisco/dnac/plugins/modules/business_sda_wireless_controller_create.py index 1d9993a6c..9b1619f90 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/business_sda_wireless_controller_create.py +++ b/ansible_collections/cisco/dnac/plugins/modules/business_sda_wireless_controller_create.py @@ -23,8 +23,8 @@ options: description: Site Name Hierarchy. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Fabric Wireless AddWLCToFabricDomain description: Complete reference of the AddWLCToFabricDomain API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/business_sda_wireless_controller_delete.py b/ansible_collections/cisco/dnac/plugins/modules/business_sda_wireless_controller_delete.py index 4ca615500..3231a6e23 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/business_sda_wireless_controller_delete.py +++ b/ansible_collections/cisco/dnac/plugins/modules/business_sda_wireless_controller_delete.py @@ -23,8 +23,8 @@ options: description: Additional headers. type: dict requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Fabric Wireless RemoveWLCFromFabricDomain description: Complete reference of the RemoveWLCFromFabricDomain API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/cli_credential.py b/ansible_collections/cisco/dnac/plugins/modules/cli_credential.py index d7b542962..9a7c0e489 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/cli_credential.py +++ b/ansible_collections/cisco/dnac/plugins/modules/cli_credential.py @@ -45,8 +45,8 @@ options: description: Cli Credential's username. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Discovery CreateCLICredentials description: Complete reference of the CreateCLICredentials API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/client_detail_info.py b/ansible_collections/cisco/dnac/plugins/modules/client_detail_info.py index a823da7b5..5cc6ca6d9 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/client_detail_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/client_detail_info.py @@ -28,8 +28,8 @@ options: - MacAddress query parameter. MAC Address of the client. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Clients GetClientDetail description: Complete reference of the GetClientDetail API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/client_enrichment_details_info.py b/ansible_collections/cisco/dnac/plugins/modules/client_enrichment_details_info.py index da1fd47d2..54be2389a 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/client_enrichment_details_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/client_enrichment_details_info.py @@ -22,8 +22,8 @@ options: description: Additional headers. type: dict requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Clients GetClientEnrichmentDetails description: Complete reference of the GetClientEnrichmentDetails API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/client_health_info.py b/ansible_collections/cisco/dnac/plugins/modules/client_health_info.py index 2def53c98..f036bb5bd 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/client_health_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/client_health_info.py @@ -24,8 +24,8 @@ options: - Timestamp query parameter. Epoch time(in milliseconds) when the Client health data is required. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Clients GetOverallClientHealth description: Complete reference of the GetOverallClientHealth API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/client_proximity_info.py b/ansible_collections/cisco/dnac/plugins/modules/client_proximity_info.py index d65c51e09..7d30d7542 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/client_proximity_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/client_proximity_info.py @@ -40,8 +40,8 @@ options: with a minimum 5 minutes. type: int requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Clients ClientProximity description: Complete reference of the ClientProximity API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/command_runner_run_command.py b/ansible_collections/cisco/dnac/plugins/modules/command_runner_run_command.py index 34222b28f..5b12002ed 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/command_runner_run_command.py +++ b/ansible_collections/cisco/dnac/plugins/modules/command_runner_run_command.py @@ -34,8 +34,8 @@ options: description: Command Runner Run Command's timeout. type: int requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Command Runner RunReadOnlyCommandsOnDevicesToGetTheirRealTimeConfiguration description: Complete reference of the RunReadOnlyCommandsOnDevicesToGetTheirRealTimeConfiguration API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/compliance_check_run.py b/ansible_collections/cisco/dnac/plugins/modules/compliance_check_run.py index 6d9a5c6bc..c244f41f8 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/compliance_check_run.py +++ b/ansible_collections/cisco/dnac/plugins/modules/compliance_check_run.py @@ -28,8 +28,8 @@ options: description: TriggerFull flag. type: bool requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Compliance RunCompliance description: Complete reference of the RunCompliance API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/compliance_device_by_id_info.py b/ansible_collections/cisco/dnac/plugins/modules/compliance_device_by_id_info.py index 92e2f73bb..99d967c02 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/compliance_device_by_id_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/compliance_device_by_id_info.py @@ -46,8 +46,8 @@ options: - Value query parameter. Extended attribute value. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Compliance ComplianceDetailsOfDevice description: Complete reference of the ComplianceDetailsOfDevice API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/compliance_device_details_count_info.py b/ansible_collections/cisco/dnac/plugins/modules/compliance_device_details_count_info.py index 2bc29a305..a51939ed4 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/compliance_device_details_count_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/compliance_device_details_count_info.py @@ -32,8 +32,8 @@ options: 'IN_PROGRESS', 'NOT_AVAILABLE', 'NOT_APPLICABLE', 'ERROR'. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Compliance GetComplianceDetailCount description: Complete reference of the GetComplianceDetailCount API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/compliance_device_details_info.py b/ansible_collections/cisco/dnac/plugins/modules/compliance_device_details_info.py index 9eb00777b..bc06458f2 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/compliance_device_details_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/compliance_device_details_info.py @@ -44,8 +44,8 @@ options: - Limit query parameter. Number of records to be retrieved. type: int requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Compliance GetComplianceDetail description: Complete reference of the GetComplianceDetail API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/compliance_device_info.py b/ansible_collections/cisco/dnac/plugins/modules/compliance_device_info.py index d256f41d8..38eaafb12 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/compliance_device_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/compliance_device_info.py @@ -40,8 +40,8 @@ options: - Limit query parameter. Number of records to be retrieved. type: int requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Compliance DeviceComplianceStatus description: Complete reference of the DeviceComplianceStatus API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/compliance_device_status_count_info.py b/ansible_collections/cisco/dnac/plugins/modules/compliance_device_status_count_info.py index ef33aae08..6c7897f94 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/compliance_device_status_count_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/compliance_device_status_count_info.py @@ -26,8 +26,8 @@ options: 'IN_PROGRESS', 'NOT_AVAILABLE', 'NOT_APPLICABLE', 'ERROR'. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Compliance GetComplianceStatusCount description: Complete reference of the GetComplianceStatusCount API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/configuration_template.py b/ansible_collections/cisco/dnac/plugins/modules/configuration_template.py index 35dc21ac5..05e7acf35 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/configuration_template.py +++ b/ansible_collections/cisco/dnac/plugins/modules/configuration_template.py @@ -512,8 +512,8 @@ options: description: Current version of template. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Configuration Templates DeletesTheTemplate description: Complete reference of the DeletesTheTemplate API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/configuration_template_clone.py b/ansible_collections/cisco/dnac/plugins/modules/configuration_template_clone.py index be0a5c1cb..c21257ba4 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/configuration_template_clone.py +++ b/ansible_collections/cisco/dnac/plugins/modules/configuration_template_clone.py @@ -28,8 +28,8 @@ options: description: TemplateId path parameter. UUID of the template to clone it. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Configuration Templates CreatesACloneOfTheGivenTemplate description: Complete reference of the CreatesACloneOfTheGivenTemplate API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/configuration_template_create.py b/ansible_collections/cisco/dnac/plugins/modules/configuration_template_create.py index 4bb6a9a7b..f5beee649 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/configuration_template_create.py +++ b/ansible_collections/cisco/dnac/plugins/modules/configuration_template_create.py @@ -508,8 +508,8 @@ options: description: Current version of template. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Configuration Templates CreateTemplate description: Complete reference of the CreateTemplate API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/configuration_template_deploy.py b/ansible_collections/cisco/dnac/plugins/modules/configuration_template_deploy.py index 537fa850c..a1b1b5265 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/configuration_template_deploy.py +++ b/ansible_collections/cisco/dnac/plugins/modules/configuration_template_deploy.py @@ -55,8 +55,8 @@ options: description: UUID of template to be provisioned. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Configuration Templates DeployTemplate description: Complete reference of the DeployTemplate API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/configuration_template_deploy_status_info.py b/ansible_collections/cisco/dnac/plugins/modules/configuration_template_deploy_status_info.py index 21fd83a51..46c7439eb 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/configuration_template_deploy_status_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/configuration_template_deploy_status_info.py @@ -24,8 +24,8 @@ options: - DeploymentId path parameter. UUID of deployment to retrieve template deployment status. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Configuration Templates StatusOfTemplateDeployment description: Complete reference of the StatusOfTemplateDeployment API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/configuration_template_deploy_v2.py b/ansible_collections/cisco/dnac/plugins/modules/configuration_template_deploy_v2.py index 399441706..af7f1094d 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/configuration_template_deploy_v2.py +++ b/ansible_collections/cisco/dnac/plugins/modules/configuration_template_deploy_v2.py @@ -55,8 +55,8 @@ options: description: UUID of template to be provisioned. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Configuration Templates DeployTemplateV2 description: Complete reference of the DeployTemplateV2 API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/configuration_template_export_project.py b/ansible_collections/cisco/dnac/plugins/modules/configuration_template_export_project.py index 377f4fbeb..f41475005 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/configuration_template_export_project.py +++ b/ansible_collections/cisco/dnac/plugins/modules/configuration_template_export_project.py @@ -21,8 +21,8 @@ options: elements: dict type: list requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Configuration Templates ExportsTheProjectsForAGivenCriteria description: Complete reference of the ExportsTheProjectsForAGivenCriteria API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/configuration_template_export_template.py b/ansible_collections/cisco/dnac/plugins/modules/configuration_template_export_template.py index df4a58323..d460cef40 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/configuration_template_export_template.py +++ b/ansible_collections/cisco/dnac/plugins/modules/configuration_template_export_template.py @@ -21,8 +21,8 @@ options: elements: dict type: list requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Configuration Templates ExportsTheTemplatesForAGivenCriteria description: Complete reference of the ExportsTheTemplatesForAGivenCriteria API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/configuration_template_import_project.py b/ansible_collections/cisco/dnac/plugins/modules/configuration_template_import_project.py index 284665863..37b2096e4 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/configuration_template_import_project.py +++ b/ansible_collections/cisco/dnac/plugins/modules/configuration_template_import_project.py @@ -23,8 +23,8 @@ options: fails with 'Template already exists' error. type: bool requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Configuration Templates ImportsTheProjectsProvided description: Complete reference of the ImportsTheProjectsProvided API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/configuration_template_import_template.py b/ansible_collections/cisco/dnac/plugins/modules/configuration_template_import_template.py index fc612c50f..7f9cf31f6 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/configuration_template_import_template.py +++ b/ansible_collections/cisco/dnac/plugins/modules/configuration_template_import_template.py @@ -523,8 +523,8 @@ options: project. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Configuration Templates ImportsTheTemplatesProvided description: Complete reference of the ImportsTheTemplatesProvided API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/configuration_template_info.py b/ansible_collections/cisco/dnac/plugins/modules/configuration_template_info.py index 993d2e0b5..ad9e264cf 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/configuration_template_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/configuration_template_info.py @@ -76,8 +76,8 @@ options: - LatestVersion query parameter. LatestVersion flag to get the latest versioned template. type: bool requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Configuration Templates GetsDetailsOfAGivenTemplate description: Complete reference of the GetsDetailsOfAGivenTemplate API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/configuration_template_project.py b/ansible_collections/cisco/dnac/plugins/modules/configuration_template_project.py index 518ac61f9..7678e283c 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/configuration_template_project.py +++ b/ansible_collections/cisco/dnac/plugins/modules/configuration_template_project.py @@ -546,8 +546,8 @@ options: type: str type: list requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Configuration Templates CreateProject description: Complete reference of the CreateProject API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/configuration_template_project_info.py b/ansible_collections/cisco/dnac/plugins/modules/configuration_template_project_info.py index d5d60407f..f200203db 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/configuration_template_project_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/configuration_template_project_info.py @@ -34,8 +34,8 @@ options: - ProjectId path parameter. ProjectId(UUID) of project to get project details. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Configuration Templates GetsAListOfProjects description: Complete reference of the GetsAListOfProjects API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/configuration_template_version_create.py b/ansible_collections/cisco/dnac/plugins/modules/configuration_template_version_create.py index b3210a7c4..d0317ea84 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/configuration_template_version_create.py +++ b/ansible_collections/cisco/dnac/plugins/modules/configuration_template_version_create.py @@ -23,8 +23,8 @@ options: description: UUID of template. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Configuration Templates VersionTemplate description: Complete reference of the VersionTemplate API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/configuration_template_version_info.py b/ansible_collections/cisco/dnac/plugins/modules/configuration_template_version_info.py index 0f6956651..0dfdb8a93 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/configuration_template_version_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/configuration_template_version_info.py @@ -24,8 +24,8 @@ options: - TemplateId path parameter. TemplateId(UUID) to get list of versioned templates. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Configuration Templates GetsAllTheVersionsOfAGivenTemplate description: Complete reference of the GetsAllTheVersionsOfAGivenTemplate API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/credential_to_site_by_siteid_create_v2.py b/ansible_collections/cisco/dnac/plugins/modules/credential_to_site_by_siteid_create_v2.py index 44f2a99db..1ee9e33a9 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/credential_to_site_by_siteid_create_v2.py +++ b/ansible_collections/cisco/dnac/plugins/modules/credential_to_site_by_siteid_create_v2.py @@ -38,8 +38,8 @@ options: description: SNMPv3 Credential Id. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Network Settings AssignDeviceCredentialToSiteV2 description: Complete reference of the AssignDeviceCredentialToSiteV2 API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/device_configurations_export.py b/ansible_collections/cisco/dnac/plugins/modules/device_configurations_export.py index 8f761afc2..4d7ba14db 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/device_configurations_export.py +++ b/ansible_collections/cisco/dnac/plugins/modules/device_configurations_export.py @@ -24,8 +24,8 @@ options: description: Password. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Configuration Archive ExportDeviceConfigurations description: Complete reference of the ExportDeviceConfigurations API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/device_credential_create.py b/ansible_collections/cisco/dnac/plugins/modules/device_credential_create.py index d5732808b..b26ec83a0 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/device_credential_create.py +++ b/ansible_collections/cisco/dnac/plugins/modules/device_credential_create.py @@ -120,8 +120,8 @@ options: type: list type: dict requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Network Settings CreateDeviceCredentials description: Complete reference of the CreateDeviceCredentials API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/device_credential_delete.py b/ansible_collections/cisco/dnac/plugins/modules/device_credential_delete.py index 42cd7bf9a..73d144997 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/device_credential_delete.py +++ b/ansible_collections/cisco/dnac/plugins/modules/device_credential_delete.py @@ -20,8 +20,8 @@ options: description: Id path parameter. Global credential id. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Network Settings DeleteDeviceCredential description: Complete reference of the DeleteDeviceCredential API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/device_credential_info.py b/ansible_collections/cisco/dnac/plugins/modules/device_credential_info.py index 184d82056..27175a669 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/device_credential_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/device_credential_info.py @@ -24,8 +24,8 @@ options: - SiteId query parameter. Site id to retrieve the credential details associated with the site. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Network Settings GetDeviceCredentialDetails description: Complete reference of the GetDeviceCredentialDetails API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/device_credential_intent.py b/ansible_collections/cisco/dnac/plugins/modules/device_credential_intent.py index 8e2f41384..3b887aa8d 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/device_credential_intent.py +++ b/ansible_collections/cisco/dnac/plugins/modules/device_credential_intent.py @@ -298,8 +298,8 @@ options: description: snmp_v3 Credential Id. Use Description or Id. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Discovery CreateGlobalCredentialsV2 description: Complete reference of the CreateGlobalCredentialsV2 API. @@ -881,6 +881,7 @@ class DnacCredential(DnacBase): 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") @@ -891,9 +892,9 @@ class DnacCredential(DnacBase): _id = response.get("response")[0].get("id") self.log("Site ID for the site name {0}: {1}".format(site_name, _id), "INFO") - except Exception as exec: + except Exception as e: self.log("Exception occurred while getting site_id from the site_name: {0}" - .format(exec), "CRITICAL") + .format(e), "CRITICAL") return None return _id @@ -917,9 +918,9 @@ class DnacCredential(DnacBase): global_credentials = global_credentials.get("response") self.log("All global device credentials details: {0}" .format(global_credentials), "DEBUG") - except Exception as exec: + except Exception as e: self.log("Exception occurred while getting global device credentials: {0}" - .format(exec), "CRITICAL") + .format(e), "CRITICAL") return None return global_credentials @@ -2209,6 +2210,7 @@ class DnacCredential(DnacBase): response = self.dnac._exec( family="discovery", function='create_global_credentials_v2', + op_modifies=True, params=credential_params, ) self.log("Received API response from 'create_global_credentials_v2': {0}" @@ -2273,6 +2275,7 @@ class DnacCredential(DnacBase): response = self.dnac._exec( family="discovery", function='update_global_credentials_v2', + op_modifies=True, params=credential_params, ) self.log("Received API response for 'update_global_credentials_v2': {0}" @@ -2328,6 +2331,7 @@ class DnacCredential(DnacBase): response = self.dnac._exec( family="network_settings", function='assign_device_credential_to_site_v2', + op_modifies=True, params=credential_params, ) self.log("Received API response for 'assign_device_credential_to_site_v2': {0}" @@ -2414,6 +2418,7 @@ class DnacCredential(DnacBase): response = self.dnac._exec( family="discovery", function="delete_global_credential_v2", + op_modifies=True, params={"id": _id}, ) self.log("Received API response for 'delete_global_credential_v2': {0}" diff --git a/ansible_collections/cisco/dnac/plugins/modules/device_credential_update.py b/ansible_collections/cisco/dnac/plugins/modules/device_credential_update.py index f17c18fbd..7c5cafd5b 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/device_credential_update.py +++ b/ansible_collections/cisco/dnac/plugins/modules/device_credential_update.py @@ -132,8 +132,8 @@ options: type: dict type: dict requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Network Settings UpdateDeviceCredentials description: Complete reference of the UpdateDeviceCredentials API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/device_credential_workflow_manager.py b/ansible_collections/cisco/dnac/plugins/modules/device_credential_workflow_manager.py index 3db97ce05..a6d188de4 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/device_credential_workflow_manager.py +++ b/ansible_collections/cisco/dnac/plugins/modules/device_credential_workflow_manager.py @@ -298,8 +298,8 @@ options: description: snmp_v3 Credential Id. Use Description or Id. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco Catalyst Center documentation for Discovery CreateGlobalCredentialsV2 description: Complete reference of the CreateGlobalCredentialsV2 API. @@ -880,6 +880,7 @@ class DeviceCredential(DnacBase): 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") @@ -890,9 +891,9 @@ class DeviceCredential(DnacBase): _id = response.get("response")[0].get("id") self.log("Site ID for the site name {0}: {1}".format(site_name, _id), "INFO") - except Exception as exec: + except Exception as e: self.log("Exception occurred while getting site_id from the site_name: {0}" - .format(exec), "CRITICAL") + .format(e), "CRITICAL") return None return _id @@ -916,9 +917,9 @@ class DeviceCredential(DnacBase): global_credentials = global_credentials.get("response") self.log("All global device credentials details: {0}" .format(global_credentials), "DEBUG") - except Exception as exec: + except Exception as e: self.log("Exception occurred while getting global device credentials: {0}" - .format(exec), "CRITICAL") + .format(e), "CRITICAL") return None return global_credentials @@ -2208,6 +2209,7 @@ class DeviceCredential(DnacBase): response = self.dnac._exec( family="discovery", function='create_global_credentials_v2', + op_modifies=True, params=credential_params, ) self.log("Received API response from 'create_global_credentials_v2': {0}" @@ -2272,6 +2274,7 @@ class DeviceCredential(DnacBase): response = self.dnac._exec( family="discovery", function='update_global_credentials_v2', + op_modifies=True, params=credential_params, ) self.log("Received API response for 'update_global_credentials_v2': {0}" @@ -2327,6 +2330,7 @@ class DeviceCredential(DnacBase): response = self.dnac._exec( family="network_settings", function='assign_device_credential_to_site_v2', + op_modifies=True, params=credential_params, ) self.log("Received API response for 'assign_device_credential_to_site_v2': {0}" @@ -2413,6 +2417,7 @@ class DeviceCredential(DnacBase): response = self.dnac._exec( family="discovery", function="delete_global_credential_v2", + op_modifies=True, params={"id": _id}, ) self.log("Received API response for 'delete_global_credential_v2': {0}" diff --git a/ansible_collections/cisco/dnac/plugins/modules/device_details_info.py b/ansible_collections/cisco/dnac/plugins/modules/device_details_info.py index 108be2c42..05793acd2 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/device_details_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/device_details_info.py @@ -32,8 +32,8 @@ options: - Identifier query parameter. One of keywords macAddress or uuid or nwDeviceName. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Devices GetDeviceDetail description: Complete reference of the GetDeviceDetail API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/device_enrichment_details_info.py b/ansible_collections/cisco/dnac/plugins/modules/device_enrichment_details_info.py index c0be8c613..37a46f792 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/device_enrichment_details_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/device_enrichment_details_info.py @@ -22,8 +22,8 @@ options: description: Additional headers. type: dict requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Devices GetDeviceEnrichmentDetails description: Complete reference of the GetDeviceEnrichmentDetails API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/device_family_identifiers_details_info.py b/ansible_collections/cisco/dnac/plugins/modules/device_family_identifiers_details_info.py index 515a0d94a..97736aa74 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/device_family_identifiers_details_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/device_family_identifiers_details_info.py @@ -20,8 +20,8 @@ options: description: Additional headers. type: dict requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Software Image Management (SWIM) GetDeviceFamilyIdentifiers description: Complete reference of the GetDeviceFamilyIdentifiers API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/device_health_info.py b/ansible_collections/cisco/dnac/plugins/modules/device_health_info.py index 9b329a7ab..7b0775f33 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/device_health_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/device_health_info.py @@ -50,8 +50,8 @@ options: - Offset query parameter. The offset of the first device in the returned data. type: int requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Devices Devices description: Complete reference of the Devices API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/device_interface_by_ip_info.py b/ansible_collections/cisco/dnac/plugins/modules/device_interface_by_ip_info.py index 7d5d984f5..df7223b15 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/device_interface_by_ip_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/device_interface_by_ip_info.py @@ -24,8 +24,8 @@ options: - IpAddress path parameter. IP address of the interface. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Devices GetInterfaceByIP description: Complete reference of the GetInterfaceByIP API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/device_interface_count_info.py b/ansible_collections/cisco/dnac/plugins/modules/device_interface_count_info.py index 24e0290a6..01d3361fb 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/device_interface_count_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/device_interface_count_info.py @@ -20,8 +20,8 @@ options: description: Additional headers. type: dict requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Devices GetDeviceInterfaceCount description: Complete reference of the GetDeviceInterfaceCount API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/device_interface_info.py b/ansible_collections/cisco/dnac/plugins/modules/device_interface_info.py index 5f484a520..31b2bc4c6 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/device_interface_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/device_interface_info.py @@ -42,8 +42,8 @@ options: - Id path parameter. Interface ID. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Devices GetAllInterfaces description: Complete reference of the GetAllInterfaces API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/device_interface_isis_info.py b/ansible_collections/cisco/dnac/plugins/modules/device_interface_isis_info.py index 242344a18..798c47821 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/device_interface_isis_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/device_interface_isis_info.py @@ -20,8 +20,8 @@ options: description: Additional headers. type: dict requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Devices GetISISInterfaces description: Complete reference of the GetISISInterfaces API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/device_interface_ospf_info.py b/ansible_collections/cisco/dnac/plugins/modules/device_interface_ospf_info.py index 759f4584a..ed87a4b0c 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/device_interface_ospf_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/device_interface_ospf_info.py @@ -20,8 +20,8 @@ options: description: Additional headers. type: dict requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Devices GetOSPFInterfaces description: Complete reference of the GetOSPFInterfaces API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/device_reboot_apreboot.py b/ansible_collections/cisco/dnac/plugins/modules/device_reboot_apreboot.py index 78a33dfd4..92e7c41ee 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/device_reboot_apreboot.py +++ b/ansible_collections/cisco/dnac/plugins/modules/device_reboot_apreboot.py @@ -21,8 +21,8 @@ options: elements: str type: list requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Wireless RebootAccessPoints description: Complete reference of the RebootAccessPoints API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/device_reboot_apreboot_info.py b/ansible_collections/cisco/dnac/plugins/modules/device_reboot_apreboot_info.py index 09203ba5e..c4e500062 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/device_reboot_apreboot_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/device_reboot_apreboot_info.py @@ -24,8 +24,8 @@ options: - ParentTaskId query parameter. Task id of ap reboot request. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Wireless GetAccessPointRebootTaskResult description: Complete reference of the GetAccessPointRebootTaskResult API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/device_replacement.py b/ansible_collections/cisco/dnac/plugins/modules/device_replacement.py index e6ec8cbdc..a5353ddd0 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/device_replacement.py +++ b/ansible_collections/cisco/dnac/plugins/modules/device_replacement.py @@ -65,8 +65,8 @@ options: type: str type: list requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Device Replacement MarkDeviceForReplacement description: Complete reference of the MarkDeviceForReplacement API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/device_replacement_count_info.py b/ansible_collections/cisco/dnac/plugins/modules/device_replacement_count_info.py index c15cf18df..8aae86979 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/device_replacement_count_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/device_replacement_count_info.py @@ -27,8 +27,8 @@ options: elements: str type: list requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Device Replacement ReturnReplacementDevicesCount description: Complete reference of the ReturnReplacementDevicesCount API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/device_replacement_deploy.py b/ansible_collections/cisco/dnac/plugins/modules/device_replacement_deploy.py index 14f591d2d..81dfc9251 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/device_replacement_deploy.py +++ b/ansible_collections/cisco/dnac/plugins/modules/device_replacement_deploy.py @@ -25,8 +25,8 @@ options: description: Device Replacement Deploy's replacementDeviceSerialNumber. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Device Replacement DeployDeviceReplacementWorkflow description: Complete reference of the DeployDeviceReplacementWorkflow API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/device_replacement_info.py b/ansible_collections/cisco/dnac/plugins/modules/device_replacement_info.py index 91977952a..4dd9756d5 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/device_replacement_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/device_replacement_info.py @@ -71,8 +71,8 @@ options: - Limit query parameter. type: int requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Device Replacement ReturnListOfReplacementDevicesWithReplacementDetails description: Complete reference of the ReturnListOfReplacementDevicesWithReplacementDetails API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/disassociate_site_to_network_profile.py b/ansible_collections/cisco/dnac/plugins/modules/disassociate_site_to_network_profile.py index de80f579b..2972ac7f2 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/disassociate_site_to_network_profile.py +++ b/ansible_collections/cisco/dnac/plugins/modules/disassociate_site_to_network_profile.py @@ -23,8 +23,8 @@ options: description: SiteId path parameter. Site Id to be associated. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Site Design Disassociate description: Complete reference of the Disassociate API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/disasterrecovery_system_operationstatus_info.py b/ansible_collections/cisco/dnac/plugins/modules/disasterrecovery_system_operationstatus_info.py index 8e05a778e..1c6621afe 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/disasterrecovery_system_operationstatus_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/disasterrecovery_system_operationstatus_info.py @@ -20,8 +20,8 @@ options: description: Additional headers. type: dict requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 notes: - SDK Method used are disaster_recovery.DisasterRecovery.disaster_recovery_operational_status, diff --git a/ansible_collections/cisco/dnac/plugins/modules/disasterrecovery_system_status_info.py b/ansible_collections/cisco/dnac/plugins/modules/disasterrecovery_system_status_info.py index 40356c0f7..f1c3c318c 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/disasterrecovery_system_status_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/disasterrecovery_system_status_info.py @@ -20,8 +20,8 @@ options: description: Additional headers. type: dict requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 notes: - SDK Method used are disaster_recovery.DisasterRecovery.disaster_recovery_status, diff --git a/ansible_collections/cisco/dnac/plugins/modules/discovery.py b/ansible_collections/cisco/dnac/plugins/modules/discovery.py index 10e7e37a9..94fca37e0 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/discovery.py +++ b/ansible_collections/cisco/dnac/plugins/modules/discovery.py @@ -214,8 +214,8 @@ options: description: Discovery's userNameList. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Discovery StartDiscovery description: Complete reference of the StartDiscovery API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/discovery_count_info.py b/ansible_collections/cisco/dnac/plugins/modules/discovery_count_info.py index 6622742f7..59f92499a 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/discovery_count_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/discovery_count_info.py @@ -20,8 +20,8 @@ options: description: Additional headers. type: dict requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Discovery GetCountOfAllDiscoveryJobs description: Complete reference of the GetCountOfAllDiscoveryJobs API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/discovery_device_count_info.py b/ansible_collections/cisco/dnac/plugins/modules/discovery_device_count_info.py index b258a513d..51da8df80 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/discovery_device_count_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/discovery_device_count_info.py @@ -30,8 +30,8 @@ options: - TaskId query parameter. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Discovery GetDevicesDiscoveredById description: Complete reference of the GetDevicesDiscoveredById API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/discovery_device_info.py b/ansible_collections/cisco/dnac/plugins/modules/discovery_device_info.py index 345000ca0..2bc42ae22 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/discovery_device_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/discovery_device_info.py @@ -30,8 +30,8 @@ options: - TaskId query parameter. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Discovery GetDiscoveredNetworkDevicesByDiscoveryId description: Complete reference of the GetDiscoveredNetworkDevicesByDiscoveryId API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/discovery_device_range_info.py b/ansible_collections/cisco/dnac/plugins/modules/discovery_device_range_info.py index 47dcb0871..ade1f2828 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/discovery_device_range_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/discovery_device_range_info.py @@ -38,8 +38,8 @@ options: - TaskId query parameter. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Discovery GetDiscoveredDevicesByRange description: Complete reference of the GetDiscoveredDevicesByRange API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/discovery_info.py b/ansible_collections/cisco/dnac/plugins/modules/discovery_info.py index 689226938..68d1cc74f 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/discovery_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/discovery_info.py @@ -24,8 +24,8 @@ options: - Id path parameter. Discovery ID. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Discovery GetDiscoveryById description: Complete reference of the GetDiscoveryById API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/discovery_intent.py b/ansible_collections/cisco/dnac/plugins/modules/discovery_intent.py index 96759bb9c..a71ef6be8 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/discovery_intent.py +++ b/ansible_collections/cisco/dnac/plugins/modules/discovery_intent.py @@ -59,7 +59,8 @@ options: pass a list with single element like - 10.197.156.22. For CIDR based discovery, we should pass a list with single element like - 10.197.156.22/22. For RANGE based discovery, we should pass a list with single element and range like - 10.197.156.1-10.197.156.100. For MULTI RANGE based discovery, we should pass a list with multiple - elementd like - 10.197.156.1-10.197.156.100 and in next line - 10.197.157.1-10.197.157.100. + elementd like - 10.197.156.1-10.197.156.100 and in next line - 10.197.157.1-10.197.157.100. Maximum of 8 IP address ranges + are allowed. type: list elements: str required: true @@ -328,7 +329,7 @@ options: default: False requirements: - dnacentersdk == 2.6.10 -- python >= 3.5 +- python >= 3.9 notes: - SDK Method used are discovery.Discovery.get_all_global_credentials_v2, @@ -721,6 +722,43 @@ class Discovery(DnacBase): self.status = "success" return self + def validate_ip4_address_list(self): + """ + Validates each ip adress paased in the IP_address_list passed by the user before preprocessing it + """ + + ip_address_list = self.validated_config[0].get('ip_address_list') + for ip in ip_address_list: + if '/' in ip: + ip = ip.split("/")[0] + if '-' in ip: + if len(ip.split('-')) == 2: + ip1, ip2 = ip.split('-') + if self.is_valid_ipv4(ip1) is False: + msg = "IP address {0} is not valid".format(ip1) + self.log(msg, "CRITICAL") + self.module.fail_json(msg=msg) + if self.is_valid_ipv4(ip2) is False: + msg = "IP address {0} is not valid".format(ip2) + self.log(msg, "CRITICAL") + self.module.fail_json(msg=msg) + ip1_parts = list(map(int, ip1.split('.'))) + ip2_parts = list(map(int, ip2.split('.'))) + for part in range(4): + if ip1_parts[part] > ip2_parts[part]: + msg = "Incorrect range passed: {0}. Please pass correct IP address range".format(ip) + self.log(msg, "CRITICAL") + self.module.fail_json(msg=msg) + else: + msg = "Provided range '{0}' is incorrect. IP address range should have only upper and lower limit values".format(ip) + self.log(msg, "CRITICAL") + self.module.fail_json(msg=msg) + if self.is_valid_ipv4(ip) is False and '-' not in ip: + msg = "IP address {0} is not valid".format(ip) + self.log(msg, "CRITICAL") + self.module.fail_json(msg=msg) + self.log("All the IP addresses passed are correct", "INFO") + def get_creds_ids_list(self): """ Retrieve the list of credentials IDs associated with class instance. @@ -934,6 +972,7 @@ class Discovery(DnacBase): family="discovery", function='get_all_global_credentials_v2', params=self.validated_config[0].get('headers'), + op_modifies=True ) response = response.get('response') self.log("The Global credentials response from 'get all global credentials v2' API is {0}".format(str(response)), "DEBUG") @@ -1022,6 +1061,10 @@ class Discovery(DnacBase): else: self.preprocess_device_discovery_handle_error() else: + if len(ip_address_list) > 8: + msg = "Maximum of 8 IP ranges are allowed." + self.log(msg, "CRITICAL") + self.module.fail_json(msg=msg) new_ip_collected = [] for ip in ip_address_list: if len(str(ip).split("-")) != 2: @@ -1267,11 +1310,11 @@ class Discovery(DnacBase): self.log("Task Id of the API task created is {0}".format(result.response.get('taskId')), "INFO") return result.response.get('taskId') - def get_task_status(self, task_id=None): + def get_merged_task_status(self, task_id=None): """ - Monitor the status of a task in the Cisco Catalyst Center. It checks the task - status periodically until the task is no longer 'In Progress'. - If the task encounters an error or fails, it immediately fails the + Monitor the status of a task of creation of dicovery in the Cisco Catalyst Center. + It checks the task status periodically until the task is no longer 'In Progress' + or other states. If the task encounters an error or fails, it immediately fails the module and returns False. Parameters: @@ -1288,9 +1331,10 @@ class Discovery(DnacBase): family="task", function='get_task_by_id', params=params, + op_modifies=True, ) response = response.response - self.log("Task status for the task id {0} is {1}".format(str(task_id), str(response)), "INFO") + self.log("Task status for the task id {0} is {1}, is_error: {2}".format(str(task_id), str(response), str(response.get('isError'))), "INFO") if response.get('isError') or re.search( 'failed', response.get('progress'), flags=re.IGNORECASE ): @@ -1299,17 +1343,62 @@ class Discovery(DnacBase): self.log(msg, "CRITICAL") self.module.fail_json(msg=msg) return False + self.log("Task status for the task id (before checking status) {0} is {1}".format(str(task_id), str(response)), "INFO") progress = response.get('progress') - if progress in ('In Progress', 'Inventory service initiating discovery'): + try: + progress_value = int(progress) + result = True + self.log("The discovery process is completed", "INFO") + self.result.update(dict(discovery_task=response)) + return result + except Exception: + self.log("The progress status is {0}, continue to check the status after 3 seconds. Putting into sleep for 3 seconds".format(progress)) time.sleep(3) - continue - else: + + def get_deleted_task_status(self, task_id=None): + """ + Monitor the status of a task of deletion of dicovery in the Cisco Catalyst Center. + It checks the itask status periodically until the task is 'Discovery deleted successfully'. + If the task encounters an error or fails, it immediately fails the module and returns False. + + Parameters: + - task_id: The ID of the task to monitor. + + Returns: + - result: True if the task completed successfully, False otherwise. + """ + + result = False + params = dict(task_id=task_id) + while True: + response = self.dnac_apply['exec']( + family="task", + function='get_task_by_id', + params=params, + op_modifies=True, + ) + response = response.response + self.log("Task status for the task id {0} is {1}, is_error: {2}".format(str(task_id), str(response), str(response.get('isError'))), "INFO") + if response.get('isError') or re.search( + 'failed', response.get('progress'), flags=re.IGNORECASE + ): + msg = 'Discovery task with id {0} has not completed - Reason: {1}'.format( + task_id, response.get("failureReason")) + self.log(msg, "CRITICAL") + self.module.fail_json(msg=msg) + return False + + self.log("Task status for the task id (before checking status) {0} is {1}".format(str(task_id), str(response)), "INFO") + progress = response.get('progress') + if re.search('Discovery deleted successfully.', response.get('progress')): result = True - self.log("The Process is completed", "INFO") - break - self.result.update(dict(discovery_task=response)) - return result + self.log("The discovery process is completed", "INFO") + self.result.update(dict(discovery_task=response)) + return result + + self.log("The progress status is {0}, continue to check the status after 3 seconds. Putting into sleep for 3 seconds".format(progress)) + time.sleep(3) def lookup_discovery_by_range_via_name(self): """ @@ -1336,7 +1425,8 @@ class Discovery(DnacBase): response_part = self.dnac_apply['exec']( family="discovery", function='get_discoveries_by_range', - params=params + params=params, + op_modifies=True, ) response["response"].extend(response_part["response"]) else: @@ -1349,7 +1439,8 @@ class Discovery(DnacBase): response = self.dnac_apply['exec']( family="discovery", function='get_discoveries_by_range', - params=params + params=params, + op_modifies=True, ) self.log("Response of the get discoveries via range API is {0}".format(str(response)), "DEBUG") @@ -1373,6 +1464,7 @@ class Discovery(DnacBase): """ result = False + aborted = False discovery = self.lookup_discovery_by_range_via_name() if not discovery: @@ -1383,17 +1475,25 @@ class Discovery(DnacBase): while True: discovery = self.lookup_discovery_by_range_via_name() - if discovery.get('discoveryCondition') == 'Complete': + discovery_condition = discovery.get('discoveryCondition') + if discovery_condition == 'Complete': result = True break - + elif discovery_condition == 'Aborted': + aborted = True + break time.sleep(3) if not result: - msg = 'Cannot find any discovery task with name {0} -- Discovery result: {1}'.format( - str(self.validated_config[0].get("discovery_name")), str(discovery)) - self.log(msg, "CRITICAL") - self.module.fail_json(msg=msg) + if aborted is True: + msg = 'Discovery with name {0} is aborted by the user on the GUI'.format(str(self.validated_config[0].get("discovery_name"))) + self.log(msg, "CRITICAL") + self.module.fail_json(msg=msg) + else: + msg = 'Cannot find any discovery task with name {0} -- Discovery result: {1}'.format( + str(self.validated_config[0].get("discovery_name")), str(discovery)) + self.log(msg, "CRITICAL") + self.module.fail_json(msg=msg) self.result.update(dict(discovery_range=discovery)) return discovery @@ -1425,6 +1525,7 @@ class Discovery(DnacBase): family="discovery", function='get_discovered_network_devices_by_discovery_id', params=params, + op_modifies=True, ) devices = response.response @@ -1495,6 +1596,7 @@ class Discovery(DnacBase): family="discovery", function="delete_discovery_by_id", params=params, + op_modifies=True, ) self.log("Response collected from API 'delete_discovery_by_id': {0}".format(str(response)), "DEBUG") @@ -1513,17 +1615,18 @@ class Discovery(DnacBase): - self: The instance of the class with updated attributes. """ + self.validate_ip4_address_list() devices_list_info = self.get_devices_list_info() ip_address_list = self.preprocess_device_discovery(devices_list_info) exist_discovery = self.get_exist_discovery() if exist_discovery: params = dict(id=exist_discovery.get('id')) discovery_task_id = self.delete_exist_discovery(params=params) - complete_discovery = self.get_task_status(task_id=discovery_task_id) + complete_discovery = self.get_deleted_task_status(task_id=discovery_task_id) discovery_task_id = self.create_discovery( ip_address_list=ip_address_list) - complete_discovery = self.get_task_status(task_id=discovery_task_id) + complete_discovery = self.get_merged_task_status(task_id=discovery_task_id) discovery_task_info = self.get_discoveries_by_range_until_success() result = self.get_discovery_device_info(discovery_id=discovery_task_info.get('id')) self.result["changed"] = True @@ -1576,7 +1679,7 @@ class Discovery(DnacBase): params = dict(id=exist_discovery.get('id')) discovery_task_id = self.delete_exist_discovery(params=params) - complete_discovery = self.get_task_status(task_id=discovery_task_id) + complete_discovery = self.get_deleted_task_status(task_id=discovery_task_id) self.result["changed"] = True self.result['msg'] = "Successfully deleted discovery" self.result['diff'] = self.validated_config @@ -1611,7 +1714,8 @@ class Discovery(DnacBase): response = self.dnac_apply['exec']( family="discovery", function='get_discovery_by_id', - params=params + params=params, + op_modifies=True, ) discovery_name = config.get('discovery_name') if response: diff --git a/ansible_collections/cisco/dnac/plugins/modules/discovery_job_info.py b/ansible_collections/cisco/dnac/plugins/modules/discovery_job_info.py index 202f57c80..2e6de4f14 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/discovery_job_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/discovery_job_info.py @@ -44,8 +44,8 @@ options: - Id path parameter. Discovery ID. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Discovery GetDiscoveryJobsByIP description: Complete reference of the GetDiscoveryJobsByIP API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/discovery_range_delete.py b/ansible_collections/cisco/dnac/plugins/modules/discovery_range_delete.py index 07c380a17..876881242 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/discovery_range_delete.py +++ b/ansible_collections/cisco/dnac/plugins/modules/discovery_range_delete.py @@ -23,8 +23,8 @@ options: description: StartIndex path parameter. Start index. type: int requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Discovery DeleteDiscoveryBySpecifiedRange description: Complete reference of the DeleteDiscoveryBySpecifiedRange API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/discovery_range_info.py b/ansible_collections/cisco/dnac/plugins/modules/discovery_range_info.py index c08902f8b..c4fc60ba7 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/discovery_range_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/discovery_range_info.py @@ -28,8 +28,8 @@ options: - RecordsToReturn path parameter. Number of records to return. type: int requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Discovery GetDiscoveriesByRange description: Complete reference of the GetDiscoveriesByRange API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/discovery_summary_info.py b/ansible_collections/cisco/dnac/plugins/modules/discovery_summary_info.py index bd8e6dcf6..9cff8b3ee 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/discovery_summary_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/discovery_summary_info.py @@ -68,8 +68,8 @@ options: elements: str type: list requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Discovery GetNetworkDevicesFromDiscovery description: Complete reference of the GetNetworkDevicesFromDiscovery API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/discovery_workflow_manager.py b/ansible_collections/cisco/dnac/plugins/modules/discovery_workflow_manager.py index 88ce124a3..758d3cc75 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/discovery_workflow_manager.py +++ b/ansible_collections/cisco/dnac/plugins/modules/discovery_workflow_manager.py @@ -59,7 +59,8 @@ options: pass a list with single element like - 10.197.156.22. For CIDR based discovery, we should pass a list with single element like - 10.197.156.22/22. For RANGE based discovery, we should pass a list with single element and range like - 10.197.156.1-10.197.156.100. For MULTI RANGE based discovery, we should pass a list with multiple - elementd like - 10.197.156.1-10.197.156.100 and in next line - 10.197.157.1-10.197.157.100. + elementd like - 10.197.156.1-10.197.156.100 and in next line - 10.197.157.1-10.197.157.100. Maximum of 8 IP address ranges + are allowed. type: list elements: str required: true @@ -328,7 +329,7 @@ options: default: False requirements: - dnacentersdk == 2.6.10 -- python >= 3.5 +- python >= 3.9 notes: - SDK Method used are discovery.Discovery.get_all_global_credentials_v2, @@ -721,6 +722,43 @@ class Discovery(DnacBase): self.status = "success" return self + def validate_ip4_address_list(self): + """ + Validates each ip adress paased in the IP_address_list passed by the user before preprocessing it + """ + + ip_address_list = self.validated_config[0].get('ip_address_list') + for ip in ip_address_list: + if '/' in ip: + ip = ip.split("/")[0] + if '-' in ip: + if len(ip.split('-')) == 2: + ip1, ip2 = ip.split('-') + if self.is_valid_ipv4(ip1) is False: + msg = "IP address {0} is not valid".format(ip1) + self.log(msg, "CRITICAL") + self.module.fail_json(msg=msg) + if self.is_valid_ipv4(ip2) is False: + msg = "IP address {0} is not valid".format(ip2) + self.log(msg, "CRITICAL") + self.module.fail_json(msg=msg) + ip1_parts = list(map(int, ip1.split('.'))) + ip2_parts = list(map(int, ip2.split('.'))) + for part in range(4): + if ip1_parts[part] > ip2_parts[part]: + msg = "Incorrect range passed: {0}. Please pass correct IP address range".format(ip) + self.log(msg, "CRITICAL") + self.module.fail_json(msg=msg) + else: + msg = "Provided range '{0}' is incorrect. IP address range should have only upper and lower limit values".format(ip) + self.log(msg, "CRITICAL") + self.module.fail_json(msg=msg) + if self.is_valid_ipv4(ip) is False and '-' not in ip: + msg = "IP address {0} is not valid".format(ip) + self.log(msg, "CRITICAL") + self.module.fail_json(msg=msg) + self.log("All the IP addresses passed are correct", "INFO") + def get_creds_ids_list(self): """ Retrieve the list of credentials IDs associated with class instance. @@ -934,6 +972,7 @@ class Discovery(DnacBase): family="discovery", function='get_all_global_credentials_v2', params=self.validated_config[0].get('headers'), + op_modifies=True ) response = response.get('response') self.log("The Global credentials response from 'get all global credentials v2' API is {0}".format(str(response)), "DEBUG") @@ -1022,6 +1061,10 @@ class Discovery(DnacBase): else: self.preprocess_device_discovery_handle_error() else: + if len(ip_address_list) > 8: + msg = "Maximum of 8 IP ranges are allowed." + self.log(msg, "CRITICAL") + self.module.fail_json(msg=msg) new_ip_collected = [] for ip in ip_address_list: if len(str(ip).split("-")) != 2: @@ -1267,11 +1310,11 @@ class Discovery(DnacBase): self.log("Task Id of the API task created is {0}".format(result.response.get('taskId')), "INFO") return result.response.get('taskId') - def get_task_status(self, task_id=None): + def get_merged_task_status(self, task_id=None): """ - Monitor the status of a task in the Cisco Catalyst Center. It checks the task - status periodically until the task is no longer 'In Progress'. - If the task encounters an error or fails, it immediately fails the + Monitor the status of a task of creation of dicovery in the Cisco Catalyst Center. + It checks the task status periodically until the task is no longer 'In Progress' + or other states. If the task encounters an error or fails, it immediately fails the module and returns False. Parameters: @@ -1288,9 +1331,10 @@ class Discovery(DnacBase): family="task", function='get_task_by_id', params=params, + op_modifies=True, ) response = response.response - self.log("Task status for the task id {0} is {1}".format(str(task_id), str(response)), "INFO") + self.log("Task status for the task id {0} is {1}, is_error: {2}".format(str(task_id), str(response), str(response.get('isError'))), "INFO") if response.get('isError') or re.search( 'failed', response.get('progress'), flags=re.IGNORECASE ): @@ -1299,17 +1343,62 @@ class Discovery(DnacBase): self.log(msg, "CRITICAL") self.module.fail_json(msg=msg) return False + self.log("Task status for the task id (before checking status) {0} is {1}".format(str(task_id), str(response)), "INFO") progress = response.get('progress') - if progress in ('In Progress', 'Inventory service initiating discovery'): + try: + progress_value = int(progress) + result = True + self.log("The discovery process is completed", "INFO") + self.result.update(dict(discovery_task=response)) + return result + except Exception: + self.log("The progress status is {0}, continue to check the status after 3 seconds. Putting into sleep for 3 seconds".format(progress)) time.sleep(3) - continue - else: + + def get_deleted_task_status(self, task_id=None): + """ + Monitor the status of a task of deletion of dicovery in the Cisco Catalyst Center. + It checks the itask status periodically until the task is 'Discovery deleted successfully'. + If the task encounters an error or fails, it immediately fails the module and returns False. + + Parameters: + - task_id: The ID of the task to monitor. + + Returns: + - result: True if the task completed successfully, False otherwise. + """ + + result = False + params = dict(task_id=task_id) + while True: + response = self.dnac_apply['exec']( + family="task", + function='get_task_by_id', + params=params, + op_modifies=True, + ) + response = response.response + self.log("Task status for the task id {0} is {1}, is_error: {2}".format(str(task_id), str(response), str(response.get('isError'))), "INFO") + if response.get('isError') or re.search( + 'failed', response.get('progress'), flags=re.IGNORECASE + ): + msg = 'Discovery task with id {0} has not completed - Reason: {1}'.format( + task_id, response.get("failureReason")) + self.log(msg, "CRITICAL") + self.module.fail_json(msg=msg) + return False + + self.log("Task status for the task id (before checking status) {0} is {1}".format(str(task_id), str(response)), "INFO") + progress = response.get('progress') + if re.search('Discovery deleted successfully.', response.get('progress')): result = True - self.log("The Process is completed", "INFO") - break - self.result.update(dict(discovery_task=response)) - return result + self.log("The discovery process is completed", "INFO") + self.result.update(dict(discovery_task=response)) + return result + + self.log("The progress status is {0}, continue to check the status after 3 seconds. Putting into sleep for 3 seconds".format(progress)) + time.sleep(3) def lookup_discovery_by_range_via_name(self): """ @@ -1336,7 +1425,8 @@ class Discovery(DnacBase): response_part = self.dnac_apply['exec']( family="discovery", function='get_discoveries_by_range', - params=params + params=params, + op_modifies=True, ) response["response"].extend(response_part["response"]) else: @@ -1349,7 +1439,8 @@ class Discovery(DnacBase): response = self.dnac_apply['exec']( family="discovery", function='get_discoveries_by_range', - params=params + params=params, + op_modifies=True, ) self.log("Response of the get discoveries via range API is {0}".format(str(response)), "DEBUG") @@ -1373,6 +1464,7 @@ class Discovery(DnacBase): """ result = False + aborted = False discovery = self.lookup_discovery_by_range_via_name() if not discovery: @@ -1383,17 +1475,25 @@ class Discovery(DnacBase): while True: discovery = self.lookup_discovery_by_range_via_name() - if discovery.get('discoveryCondition') == 'Complete': + discovery_condition = discovery.get('discoveryCondition') + if discovery_condition == 'Complete': result = True break - + elif discovery_condition == 'Aborted': + aborted = True + break time.sleep(3) if not result: - msg = 'Cannot find any discovery task with name {0} -- Discovery result: {1}'.format( - str(self.validated_config[0].get("discovery_name")), str(discovery)) - self.log(msg, "CRITICAL") - self.module.fail_json(msg=msg) + if aborted is True: + msg = 'Discovery with name {0} is aborted by the user on the GUI'.format(str(self.validated_config[0].get("discovery_name"))) + self.log(msg, "CRITICAL") + self.module.fail_json(msg=msg) + else: + msg = 'Cannot find any discovery task with name {0} -- Discovery result: {1}'.format( + str(self.validated_config[0].get("discovery_name")), str(discovery)) + self.log(msg, "CRITICAL") + self.module.fail_json(msg=msg) self.result.update(dict(discovery_range=discovery)) return discovery @@ -1425,6 +1525,7 @@ class Discovery(DnacBase): family="discovery", function='get_discovered_network_devices_by_discovery_id', params=params, + op_modifies=True, ) devices = response.response @@ -1495,6 +1596,7 @@ class Discovery(DnacBase): family="discovery", function="delete_discovery_by_id", params=params, + op_modifies=True, ) self.log("Response collected from API 'delete_discovery_by_id': {0}".format(str(response)), "DEBUG") @@ -1513,17 +1615,18 @@ class Discovery(DnacBase): - self: The instance of the class with updated attributes. """ + self.validate_ip4_address_list() devices_list_info = self.get_devices_list_info() ip_address_list = self.preprocess_device_discovery(devices_list_info) exist_discovery = self.get_exist_discovery() if exist_discovery: params = dict(id=exist_discovery.get('id')) discovery_task_id = self.delete_exist_discovery(params=params) - complete_discovery = self.get_task_status(task_id=discovery_task_id) + complete_discovery = self.get_deleted_task_status(task_id=discovery_task_id) discovery_task_id = self.create_discovery( ip_address_list=ip_address_list) - complete_discovery = self.get_task_status(task_id=discovery_task_id) + complete_discovery = self.get_merged_task_status(task_id=discovery_task_id) discovery_task_info = self.get_discoveries_by_range_until_success() result = self.get_discovery_device_info(discovery_id=discovery_task_info.get('id')) self.result["changed"] = True @@ -1576,7 +1679,7 @@ class Discovery(DnacBase): params = dict(id=exist_discovery.get('id')) discovery_task_id = self.delete_exist_discovery(params=params) - complete_discovery = self.get_task_status(task_id=discovery_task_id) + complete_discovery = self.get_deleted_task_status(task_id=discovery_task_id) self.result["changed"] = True self.result['msg'] = "Successfully deleted discovery" self.result['diff'] = self.validated_config @@ -1611,7 +1714,8 @@ class Discovery(DnacBase): response = self.dnac_apply['exec']( family="discovery", function='get_discovery_by_id', - params=params + params=params, + op_modifies=True, ) discovery_name = config.get('discovery_name') if response: diff --git a/ansible_collections/cisco/dnac/plugins/modules/dna_command_runner_keywords_info.py b/ansible_collections/cisco/dnac/plugins/modules/dna_command_runner_keywords_info.py index dee8c3ff2..1e63e6b13 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/dna_command_runner_keywords_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/dna_command_runner_keywords_info.py @@ -20,8 +20,8 @@ options: description: Additional headers. type: dict requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Command Runner GetAllKeywordsOfCLIsAcceptedByCommandRunner description: Complete reference of the GetAllKeywordsOfCLIsAcceptedByCommandRunner API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/dnac_packages_info.py b/ansible_collections/cisco/dnac/plugins/modules/dnac_packages_info.py index 2d0a0e0dd..ebc2481a5 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/dnac_packages_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/dnac_packages_info.py @@ -20,8 +20,8 @@ options: description: Additional headers. type: dict requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Platform CiscoDNACenterPackagesSummary description: Complete reference of the CiscoDNACenterPackagesSummary API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/dnacaap_management_execution_status_info.py b/ansible_collections/cisco/dnac/plugins/modules/dnacaap_management_execution_status_info.py index 1afb01dff..3fc122f4d 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/dnacaap_management_execution_status_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/dnacaap_management_execution_status_info.py @@ -24,8 +24,8 @@ options: - ExecutionId path parameter. Execution Id of API. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Task GetBusinessAPIExecutionDetails description: Complete reference of the GetBusinessAPIExecutionDetails API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/endpoint_analytics_profiling_rules.py b/ansible_collections/cisco/dnac/plugins/modules/endpoint_analytics_profiling_rules.py index 38e2f47ec..43633824b 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/endpoint_analytics_profiling_rules.py +++ b/ansible_collections/cisco/dnac/plugins/modules/endpoint_analytics_profiling_rules.py @@ -114,8 +114,8 @@ options: elements: str type: list requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 notes: - SDK Method used are policy.Policy.create_a_profiling_rule, diff --git a/ansible_collections/cisco/dnac/plugins/modules/endpoint_analytics_profiling_rules_info.py b/ansible_collections/cisco/dnac/plugins/modules/endpoint_analytics_profiling_rules_info.py index 9c42ee1ea..1e3ca88c2 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/endpoint_analytics_profiling_rules_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/endpoint_analytics_profiling_rules_info.py @@ -60,8 +60,8 @@ options: - RuleId path parameter. Unique rule identifier. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 notes: - SDK Method used are policy.Policy.get_details_of_a_single_profiling_rule, diff --git a/ansible_collections/cisco/dnac/plugins/modules/eox_status_device_info.py b/ansible_collections/cisco/dnac/plugins/modules/eox_status_device_info.py index 6843843e8..dc1073450 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/eox_status_device_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/eox_status_device_info.py @@ -26,8 +26,8 @@ options: - DeviceId path parameter. Device instance UUID. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for EoX GetEoXDetailsPerDevice description: Complete reference of the GetEoXDetailsPerDevice API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/eox_status_summary_info.py b/ansible_collections/cisco/dnac/plugins/modules/eox_status_summary_info.py index 0ec817750..26dc6d99d 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/eox_status_summary_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/eox_status_summary_info.py @@ -20,8 +20,8 @@ options: description: Additional headers. type: dict requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for EoX GetEoXSummary description: Complete reference of the GetEoXSummary API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/event_api_status_info.py b/ansible_collections/cisco/dnac/plugins/modules/event_api_status_info.py index 4ddaaca0a..8c6cf8d13 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/event_api_status_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/event_api_status_info.py @@ -24,8 +24,8 @@ options: - ExecutionId path parameter. Execution ID. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Event Management GetStatusAPIForEvents description: Complete reference of the GetStatusAPIForEvents API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/event_artifact_count_info.py b/ansible_collections/cisco/dnac/plugins/modules/event_artifact_count_info.py index f34e77fe8..fb7d3ab7d 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/event_artifact_count_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/event_artifact_count_info.py @@ -20,8 +20,8 @@ options: description: Additional headers. type: dict requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Event Management EventArtifactCount description: Complete reference of the EventArtifactCount API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/event_artifact_info.py b/ansible_collections/cisco/dnac/plugins/modules/event_artifact_info.py index 6e4f14b6a..196b1233c 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/event_artifact_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/event_artifact_info.py @@ -48,8 +48,8 @@ options: - Search query parameter. Findd matches in name, description, eventId, type, category. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Event Management GetEventArtifacts description: Complete reference of the GetEventArtifacts API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/event_config_connector_types_info.py b/ansible_collections/cisco/dnac/plugins/modules/event_config_connector_types_info.py index 8c0958e7e..b30a9659a 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/event_config_connector_types_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/event_config_connector_types_info.py @@ -20,8 +20,8 @@ options: description: Additional headers. type: dict requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Event Management GetConnectorTypes description: Complete reference of the GetConnectorTypes API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/event_count_info.py b/ansible_collections/cisco/dnac/plugins/modules/event_count_info.py index 131712342..864364655 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/event_count_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/event_count_info.py @@ -28,8 +28,8 @@ options: - Tags query parameter. The registered Tags should be provided. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Event Management CountOfEvents description: Complete reference of the CountOfEvents API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/event_email_config.py b/ansible_collections/cisco/dnac/plugins/modules/event_email_config.py index 3b9de49a1..fd5fdb882 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/event_email_config.py +++ b/ansible_collections/cisco/dnac/plugins/modules/event_email_config.py @@ -62,8 +62,8 @@ options: description: To Email. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Event Management CreateEmailDestination description: Complete reference of the CreateEmailDestination API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/event_email_config_create.py b/ansible_collections/cisco/dnac/plugins/modules/event_email_config_create.py index b207dde21..4be4ec362 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/event_email_config_create.py +++ b/ansible_collections/cisco/dnac/plugins/modules/event_email_config_create.py @@ -61,8 +61,8 @@ options: description: To Email. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Event Management CreateEmailDestination description: Complete reference of the CreateEmailDestination API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/event_email_config_info.py b/ansible_collections/cisco/dnac/plugins/modules/event_email_config_info.py index 6aa855855..272118cd7 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/event_email_config_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/event_email_config_info.py @@ -20,8 +20,8 @@ options: description: Additional headers. type: dict requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Event Management GetEmailDestination description: Complete reference of the GetEmailDestination API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/event_email_config_update.py b/ansible_collections/cisco/dnac/plugins/modules/event_email_config_update.py index 2234ae907..c471ff807 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/event_email_config_update.py +++ b/ansible_collections/cisco/dnac/plugins/modules/event_email_config_update.py @@ -61,8 +61,8 @@ options: description: To Email. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Event Management UpdateEmailDestination description: Complete reference of the UpdateEmailDestination API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/event_info.py b/ansible_collections/cisco/dnac/plugins/modules/event_info.py index ac34fbf25..a3eafb297 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/event_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/event_info.py @@ -44,8 +44,8 @@ options: - Order query parameter. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Event Management GetEvents description: Complete reference of the GetEvents API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/event_series_audit_logs_info.py b/ansible_collections/cisco/dnac/plugins/modules/event_series_audit_logs_info.py index dbb7b5320..b5fa297d9 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/event_series_audit_logs_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/event_series_audit_logs_info.py @@ -122,8 +122,8 @@ options: values asc, desc. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Event Management GetAuditLogRecords description: Complete reference of the GetAuditLogRecords API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/event_series_audit_logs_parent_records_info.py b/ansible_collections/cisco/dnac/plugins/modules/event_series_audit_logs_parent_records_info.py index 6f6a2b616..26bd96d29 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/event_series_audit_logs_parent_records_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/event_series_audit_logs_parent_records_info.py @@ -118,8 +118,8 @@ options: values asc, desc. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Event Management GetAuditLogParentRecords description: Complete reference of the GetAuditLogParentRecords API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/event_series_audit_logs_summary_info.py b/ansible_collections/cisco/dnac/plugins/modules/event_series_audit_logs_summary_info.py index ee2063fa0..2e0d2e133 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/event_series_audit_logs_summary_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/event_series_audit_logs_summary_info.py @@ -106,8 +106,8 @@ options: mandatory). type: int requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Event Management GetAuditLogSummary description: Complete reference of the GetAuditLogSummary API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/event_series_count_info.py b/ansible_collections/cisco/dnac/plugins/modules/event_series_count_info.py index 6fd07cf4a..ebd6576f0 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/event_series_count_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/event_series_count_info.py @@ -56,8 +56,8 @@ options: - Source query parameter. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Event Management CountOfNotifications description: Complete reference of the CountOfNotifications API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/event_series_info.py b/ansible_collections/cisco/dnac/plugins/modules/event_series_info.py index 523e5a708..982aa0cbc 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/event_series_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/event_series_info.py @@ -84,8 +84,8 @@ options: - SiteId query parameter. Site Id. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Event Management GetNotifications description: Complete reference of the GetNotifications API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/event_snmp_config_info.py b/ansible_collections/cisco/dnac/plugins/modules/event_snmp_config_info.py index 6ae23c7f3..b87081672 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/event_snmp_config_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/event_snmp_config_info.py @@ -40,8 +40,8 @@ options: - Order query parameter. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Event Management GetSNMPDestination description: Complete reference of the GetSNMPDestination API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/event_subscription.py b/ansible_collections/cisco/dnac/plugins/modules/event_subscription.py index 38c2899ae..0aca4d2db 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/event_subscription.py +++ b/ansible_collections/cisco/dnac/plugins/modules/event_subscription.py @@ -94,8 +94,8 @@ options: description: Subscriptions query parameter. List of EventSubscriptionId's for removal. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Event Management CreateEventSubscriptions description: Complete reference of the CreateEventSubscriptions API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/event_subscription_count_info.py b/ansible_collections/cisco/dnac/plugins/modules/event_subscription_count_info.py index e9eb3e432..daf1a6fdf 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/event_subscription_count_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/event_subscription_count_info.py @@ -24,8 +24,8 @@ options: - EventIds query parameter. List of subscriptions related to the respective eventIds. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Event Management CountOfEventSubscriptions description: Complete reference of the CountOfEventSubscriptions API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/event_subscription_details_email_info.py b/ansible_collections/cisco/dnac/plugins/modules/event_subscription_details_email_info.py index 7109b1ac1..b6487d13f 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/event_subscription_details_email_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/event_subscription_details_email_info.py @@ -44,8 +44,8 @@ options: - Order query parameter. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Event Management GetEmailSubscriptionDetails description: Complete reference of the GetEmailSubscriptionDetails API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/event_subscription_details_rest_info.py b/ansible_collections/cisco/dnac/plugins/modules/event_subscription_details_rest_info.py index cde6348bf..ee793eff1 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/event_subscription_details_rest_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/event_subscription_details_rest_info.py @@ -48,8 +48,8 @@ options: - Order query parameter. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Event Management GetRestWebhookSubscriptionDetails description: Complete reference of the GetRestWebhookSubscriptionDetails API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/event_subscription_details_syslog_info.py b/ansible_collections/cisco/dnac/plugins/modules/event_subscription_details_syslog_info.py index 2d3676759..18e68fa77 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/event_subscription_details_syslog_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/event_subscription_details_syslog_info.py @@ -46,8 +46,8 @@ options: - Order query parameter. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Event Management GetSyslogSubscriptionDetails description: Complete reference of the GetSyslogSubscriptionDetails API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/event_subscription_email.py b/ansible_collections/cisco/dnac/plugins/modules/event_subscription_email.py index 56b82b4a8..13dc4cfe8 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/event_subscription_email.py +++ b/ansible_collections/cisco/dnac/plugins/modules/event_subscription_email.py @@ -106,8 +106,8 @@ options: type: str type: list requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Event Management CreateEmailEventSubscription description: Complete reference of the CreateEmailEventSubscription API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/event_subscription_email_info.py b/ansible_collections/cisco/dnac/plugins/modules/event_subscription_email_info.py index 5d20ef478..3eab8992b 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/event_subscription_email_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/event_subscription_email_info.py @@ -62,8 +62,8 @@ options: - Name query parameter. List of email subscriptions related to the respective name. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Event Management GetEmailEventSubscriptions description: Complete reference of the GetEmailEventSubscriptions API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/event_subscription_info.py b/ansible_collections/cisco/dnac/plugins/modules/event_subscription_info.py index 7655d9676..9349d81e7 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/event_subscription_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/event_subscription_info.py @@ -40,8 +40,8 @@ options: - Order query parameter. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Event Management GetEventSubscriptions description: Complete reference of the GetEventSubscriptions API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/event_subscription_rest.py b/ansible_collections/cisco/dnac/plugins/modules/event_subscription_rest.py index acfc5f9e4..81eea1f2e 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/event_subscription_rest.py +++ b/ansible_collections/cisco/dnac/plugins/modules/event_subscription_rest.py @@ -90,8 +90,8 @@ options: type: str type: list requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Event Management CreateRestWebhookEventSubscription description: Complete reference of the CreateRestWebhookEventSubscription API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/event_subscription_rest_info.py b/ansible_collections/cisco/dnac/plugins/modules/event_subscription_rest_info.py index a26bf7473..06e8dab61 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/event_subscription_rest_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/event_subscription_rest_info.py @@ -60,8 +60,8 @@ options: - Name query parameter. List of subscriptions related to the respective name. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Event Management GetRestWebhookEventSubscriptions description: Complete reference of the GetRestWebhookEventSubscriptions API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/event_subscription_syslog.py b/ansible_collections/cisco/dnac/plugins/modules/event_subscription_syslog.py index 802664038..aeff30dd3 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/event_subscription_syslog.py +++ b/ansible_collections/cisco/dnac/plugins/modules/event_subscription_syslog.py @@ -90,8 +90,8 @@ options: type: str type: list requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Event Management CreateSyslogEventSubscription description: Complete reference of the CreateSyslogEventSubscription API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/event_subscription_syslog_info.py b/ansible_collections/cisco/dnac/plugins/modules/event_subscription_syslog_info.py index dcd077007..ef6ffb044 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/event_subscription_syslog_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/event_subscription_syslog_info.py @@ -60,8 +60,8 @@ options: - Name query parameter. List of subscriptions related to the respective name. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Event Management GetSyslogEventSubscriptions description: Complete reference of the GetSyslogEventSubscriptions API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/event_syslog_config.py b/ansible_collections/cisco/dnac/plugins/modules/event_syslog_config.py index a59316f39..11c6d9508 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/event_syslog_config.py +++ b/ansible_collections/cisco/dnac/plugins/modules/event_syslog_config.py @@ -36,8 +36,8 @@ options: description: Protocol. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Event Management CreateSyslogDestination description: Complete reference of the CreateSyslogDestination API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/event_syslog_config_info.py b/ansible_collections/cisco/dnac/plugins/modules/event_syslog_config_info.py index 2c2617128..a2e6009c8 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/event_syslog_config_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/event_syslog_config_info.py @@ -48,8 +48,8 @@ options: - Order query parameter. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Event Management GetSyslogDestination description: Complete reference of the GetSyslogDestination API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/event_webhook_create.py b/ansible_collections/cisco/dnac/plugins/modules/event_webhook_create.py index b9c585ee9..2859b7615 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/event_webhook_create.py +++ b/ansible_collections/cisco/dnac/plugins/modules/event_webhook_create.py @@ -52,8 +52,8 @@ options: description: Required only for update webhook configuration. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Event Management CreateWebhookDestination description: Complete reference of the CreateWebhookDestination API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/event_webhook_update.py b/ansible_collections/cisco/dnac/plugins/modules/event_webhook_update.py index 91d70839b..0c50462ed 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/event_webhook_update.py +++ b/ansible_collections/cisco/dnac/plugins/modules/event_webhook_update.py @@ -52,8 +52,8 @@ options: description: Required only for update webhook configuration. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Event Management UpdateWebhookDestination description: Complete reference of the UpdateWebhookDestination API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/execute_suggested_actions_commands.py b/ansible_collections/cisco/dnac/plugins/modules/execute_suggested_actions_commands.py index 51df59677..43fce3203 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/execute_suggested_actions_commands.py +++ b/ansible_collections/cisco/dnac/plugins/modules/execute_suggested_actions_commands.py @@ -27,8 +27,8 @@ options: description: Contains the actual value for the entity type that has been defined. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Issues ExecuteSuggestedActionsCommands description: Complete reference of the ExecuteSuggestedActionsCommands API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/file_import.py b/ansible_collections/cisco/dnac/plugins/modules/file_import.py index f82598e0c..f9909eddd 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/file_import.py +++ b/ansible_collections/cisco/dnac/plugins/modules/file_import.py @@ -23,8 +23,8 @@ options: description: NameSpace path parameter. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for File UploadFile description: Complete reference of the UploadFile API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/file_info.py b/ansible_collections/cisco/dnac/plugins/modules/file_info.py index bf07d1072..b9bdba4b9 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/file_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/file_info.py @@ -36,8 +36,8 @@ options: - The filename used to save the download file. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for File DownloadAFileByFileId description: Complete reference of the DownloadAFileByFileId API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/file_namespace_files_info.py b/ansible_collections/cisco/dnac/plugins/modules/file_namespace_files_info.py index e28b10c8f..0e16dbc1a 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/file_namespace_files_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/file_namespace_files_info.py @@ -24,8 +24,8 @@ options: - NameSpace path parameter. A listing of fileId's. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for File GetListOfFiles description: Complete reference of the GetListOfFiles API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/file_namespaces_info.py b/ansible_collections/cisco/dnac/plugins/modules/file_namespaces_info.py index a0fc5682f..849268111 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/file_namespaces_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/file_namespaces_info.py @@ -20,8 +20,8 @@ options: description: Additional headers. type: dict requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for File GetListOfAvailableNamespaces description: Complete reference of the GetListOfAvailableNamespaces API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/global_credential_delete.py b/ansible_collections/cisco/dnac/plugins/modules/global_credential_delete.py index 13c9630c3..3dd9ad1d1 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/global_credential_delete.py +++ b/ansible_collections/cisco/dnac/plugins/modules/global_credential_delete.py @@ -20,8 +20,8 @@ options: description: GlobalCredentialId path parameter. ID of global-credential. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Discovery DeleteGlobalCredentialsById description: Complete reference of the DeleteGlobalCredentialsById API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/global_credential_info.py b/ansible_collections/cisco/dnac/plugins/modules/global_credential_info.py index 4fe317b6f..2d46ca10f 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/global_credential_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/global_credential_info.py @@ -40,8 +40,8 @@ options: - Id path parameter. Global Credential ID. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Discovery GetCredentialSubTypeByCredentialId description: Complete reference of the GetCredentialSubTypeByCredentialId API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/global_credential_update.py b/ansible_collections/cisco/dnac/plugins/modules/global_credential_update.py index 127504846..8f2ea144a 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/global_credential_update.py +++ b/ansible_collections/cisco/dnac/plugins/modules/global_credential_update.py @@ -24,8 +24,8 @@ options: elements: str type: list requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Discovery UpdateGlobalCredentials description: Complete reference of the UpdateGlobalCredentials API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/global_credential_v2.py b/ansible_collections/cisco/dnac/plugins/modules/global_credential_v2.py index 0679fed86..2d27cca33 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/global_credential_v2.py +++ b/ansible_collections/cisco/dnac/plugins/modules/global_credential_v2.py @@ -137,8 +137,8 @@ options: type: str type: dict requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Discovery CreateGlobalCredentialsV2 description: Complete reference of the CreateGlobalCredentialsV2 API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/global_credential_v2_info.py b/ansible_collections/cisco/dnac/plugins/modules/global_credential_v2_info.py index c746964cb..6b0bffd4d 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/global_credential_v2_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/global_credential_v2_info.py @@ -22,8 +22,8 @@ options: description: Additional headers. type: dict requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Discovery GetAllGlobalCredentialsV2 description: Complete reference of the GetAllGlobalCredentialsV2 API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/global_pool.py b/ansible_collections/cisco/dnac/plugins/modules/global_pool.py index 3c94f9c58..f52c316d6 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/global_pool.py +++ b/ansible_collections/cisco/dnac/plugins/modules/global_pool.py @@ -48,8 +48,8 @@ options: type: list type: dict requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Network Settings CreateGlobalPool description: Complete reference of the CreateGlobalPool API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/global_pool_info.py b/ansible_collections/cisco/dnac/plugins/modules/global_pool_info.py index ed95446be..4d95ba9ea 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/global_pool_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/global_pool_info.py @@ -28,8 +28,8 @@ options: - Limit query parameter. No of Global Pools to be retrieved. type: int requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Network Settings GetGlobalPool description: Complete reference of the GetGlobalPool API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/golden_image_create.py b/ansible_collections/cisco/dnac/plugins/modules/golden_image_create.py index 1f176f172..95385c59d 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/golden_image_create.py +++ b/ansible_collections/cisco/dnac/plugins/modules/golden_image_create.py @@ -30,8 +30,8 @@ options: description: SiteId in uuid format. For Global Site "-1" to be used. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Software Image Management (SWIM) TagAsGoldenImage description: Complete reference of the TagAsGoldenImage API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/golden_tag_image_delete.py b/ansible_collections/cisco/dnac/plugins/modules/golden_tag_image_delete.py index 8191e4915..392165663 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/golden_tag_image_delete.py +++ b/ansible_collections/cisco/dnac/plugins/modules/golden_tag_image_delete.py @@ -32,8 +32,8 @@ options: Global site. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Software Image Management (SWIM) RemoveGoldenTagForImage description: Complete reference of the RemoveGoldenTagForImage API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/golden_tag_image_details_info.py b/ansible_collections/cisco/dnac/plugins/modules/golden_tag_image_details_info.py index 9d41a7610..c92ed9503 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/golden_tag_image_details_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/golden_tag_image_details_info.py @@ -38,8 +38,8 @@ options: - ImageId path parameter. Image Id in uuid format. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Software Image Management (SWIM) GetGoldenTagStatusOfAnImage description: Complete reference of the GetGoldenTagStatusOfAnImage API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/http_read_credential.py b/ansible_collections/cisco/dnac/plugins/modules/http_read_credential.py index 63c19d5c4..89a5f7f47 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/http_read_credential.py +++ b/ansible_collections/cisco/dnac/plugins/modules/http_read_credential.py @@ -48,8 +48,8 @@ options: description: Http Read Credential's username. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Discovery CreateHTTPReadCredentials description: Complete reference of the CreateHTTPReadCredentials API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/http_write_credential.py b/ansible_collections/cisco/dnac/plugins/modules/http_write_credential.py index 2db38bb61..611f40716 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/http_write_credential.py +++ b/ansible_collections/cisco/dnac/plugins/modules/http_write_credential.py @@ -48,8 +48,8 @@ options: description: Http Write Credential's username. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Discovery CreateHTTPWriteCredentials description: Complete reference of the CreateHTTPWriteCredentials API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/integration_settings_instances_itsm.py b/ansible_collections/cisco/dnac/plugins/modules/integration_settings_instances_itsm.py index 1bc569d9f..86fa8bd76 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/integration_settings_instances_itsm.py +++ b/ansible_collections/cisco/dnac/plugins/modules/integration_settings_instances_itsm.py @@ -48,8 +48,8 @@ options: description: Name of the setting instance. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for ITSM Integration CreateITSMIntegrationSetting description: Complete reference of the CreateITSMIntegrationSetting API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/integration_settings_instances_itsm_info.py b/ansible_collections/cisco/dnac/plugins/modules/integration_settings_instances_itsm_info.py index fc6a5de7a..0519f5e5a 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/integration_settings_instances_itsm_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/integration_settings_instances_itsm_info.py @@ -24,8 +24,8 @@ options: - InstanceId path parameter. Instance Id of the Integration setting instance. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for ITSM Integration GetITSMIntegrationSettingById description: Complete reference of the GetITSMIntegrationSettingById API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/interface_info.py b/ansible_collections/cisco/dnac/plugins/modules/interface_info.py index 02d4dd14e..a6f0706ad 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/interface_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/interface_info.py @@ -24,8 +24,8 @@ options: - InterfaceUuid path parameter. Interface ID. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Devices LegitOperationsForInterface description: Complete reference of the LegitOperationsForInterface API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/interface_network_device_detail_info.py b/ansible_collections/cisco/dnac/plugins/modules/interface_network_device_detail_info.py index 344f22a2f..81a3203d6 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/interface_network_device_detail_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/interface_network_device_detail_info.py @@ -28,8 +28,8 @@ options: - Name query parameter. Interface name. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Devices GetInterfaceDetailsByDeviceIdAndInterfaceName description: Complete reference of the GetInterfaceDetailsByDeviceIdAndInterfaceName API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/interface_network_device_info.py b/ansible_collections/cisco/dnac/plugins/modules/interface_network_device_info.py index 8fdc0e226..62bb64e03 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/interface_network_device_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/interface_network_device_info.py @@ -24,8 +24,8 @@ options: - DeviceId path parameter. Device ID. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Devices GetInterfaceInfoById description: Complete reference of the GetInterfaceInfoById API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/interface_network_device_range_info.py b/ansible_collections/cisco/dnac/plugins/modules/interface_network_device_range_info.py index 0a3f1448b..2f2e3a6ea 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/interface_network_device_range_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/interface_network_device_range_info.py @@ -32,8 +32,8 @@ options: - RecordsToReturn path parameter. Number of records to return. type: int requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Devices GetDeviceInterfacesBySpecifiedRange description: Complete reference of the GetDeviceInterfacesBySpecifiedRange API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/interface_operation_create.py b/ansible_collections/cisco/dnac/plugins/modules/interface_operation_create.py index 98995c1dc..1bc065c31 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/interface_operation_create.py +++ b/ansible_collections/cisco/dnac/plugins/modules/interface_operation_create.py @@ -33,8 +33,8 @@ options: description: Payload. type: dict requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Devices ClearMacAddressTable description: Complete reference of the ClearMacAddressTable API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/interface_update.py b/ansible_collections/cisco/dnac/plugins/modules/interface_update.py index 20d7435e4..261703d48 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/interface_update.py +++ b/ansible_collections/cisco/dnac/plugins/modules/interface_update.py @@ -39,8 +39,8 @@ options: description: Voice Vlan Id. type: int requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Devices UpdateInterfaceDetails description: Complete reference of the UpdateInterfaceDetails API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/inventory_intent.py b/ansible_collections/cisco/dnac/plugins/modules/inventory_intent.py index 675c11c91..af2572486 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/inventory_intent.py +++ b/ansible_collections/cisco/dnac/plugins/modules/inventory_intent.py @@ -307,8 +307,8 @@ options: version_added: 6.12.0 requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco Catalyst Center documentation for Devices AddDevice2 description: Complete reference of the AddDevice2 API. @@ -522,7 +522,7 @@ EXAMPLES = r""" - device_ip: "1.1.1.1" site_name: "Global/USA/San Francisco/BGL_18/floor_pnp" resync_retry_count: 200 - resync_interval: 2 + resync_retry_interval: 2 - device_ip: "2.2.2.2" site_name: "Global/USA/San Francisco/BGL_18/floor_test" resync_retry_count: 200 @@ -913,6 +913,7 @@ class DnacDevice(DnacBase): response = self.dnac._exec( family="devices", function='get_all_user_defined_fields', + op_modifies=True, params={"name": field_name}, ) @@ -943,6 +944,7 @@ class DnacDevice(DnacBase): response = self.dnac._exec( family="devices", function='create_user_defined_field', + op_modifies=True, params=udf, ) self.log("Received API response from 'create_user_defined_field': {0}".format(str(response)), "DEBUG") @@ -986,6 +988,7 @@ class DnacDevice(DnacBase): response = self.dnac._exec( family="devices", function='add_user_defined_field_to_device', + op_modifies=True, params=udf_param_dict, ) self.log("Received API response from 'add_user_defined_field_to_device': {0}".format(str(response)), "DEBUG") @@ -1226,6 +1229,7 @@ class DnacDevice(DnacBase): response = self.dnac._exec( family="devices", function='get_device_list', + op_modifies=True, params={"managementIpAddress": device_ip} ) response = response.get('response', []) @@ -1360,6 +1364,7 @@ class DnacDevice(DnacBase): response = self.dnac._exec( family="devices", function='get_device_list', + op_modifies=True, params={"managementIpAddress": device_ip} ) response = response.get('response') @@ -1905,6 +1910,7 @@ class DnacDevice(DnacBase): response = self.dnac._exec( family="devices", function='get_all_user_defined_fields', + op_modifies=True, params={"name": field_name}, ) self.log("Received API response from 'get_all_user_defined_fields': {0}".format(str(response)), "DEBUG") @@ -1918,11 +1924,12 @@ class DnacDevice(DnacBase): return udf_id - def mandatory_parameter(self): + def mandatory_parameter(self, device_to_add_in_ccc): """ Check for and validate mandatory parameters for adding network devices in Cisco Catalyst Center. Parameters: self (object): An instance of a class used for interacting with Cisco Cisco Catalyst Center. + device_to_add_in_ccc(list): List to device ip addresses to be added in Cisco Catalyst Center. Returns: dict: The input `config` dictionary if all mandatory parameters are present. Description: @@ -1947,12 +1954,12 @@ class DnacDevice(DnacBase): if mandatory_params_absent: self.status = "failed" - self.msg = "Required parameters {0} for adding devices are not present".format(str(mandatory_params_absent)) + self.msg = "Required parameters {0} for adding devices '{1}' are not present".format(str(mandatory_params_absent), str(device_to_add_in_ccc)) self.result['msg'] = self.msg self.log(self.msg, "ERROR") else: self.status = "success" - self.msg = "Required parameter for Adding the devices in Inventory are present." + self.msg = "Required parameters for adding the devices '{0}' to inventory are present.".format(str(device_to_add_in_ccc)) self.log(self.msg, "INFO") return self @@ -2091,6 +2098,7 @@ class DnacDevice(DnacBase): response = self.dnac._exec( family="devices", function='get_device_list', + op_modifies=True, params={"managementIpAddress": device_ip} ) @@ -2127,6 +2135,7 @@ class DnacDevice(DnacBase): response = self.dnac._exec( family="devices", function='get_device_list', + op_modifies=True, params={"hostname": hostname} ) if response: @@ -2161,6 +2170,7 @@ class DnacDevice(DnacBase): response = self.dnac._exec( family="devices", function='get_device_list', + op_modifies=True, params={"serialNumber": serial_number} ) if response: @@ -2195,6 +2205,7 @@ class DnacDevice(DnacBase): response = self.dnac._exec( family="devices", function='get_device_list', + op_modifies=True, params={"macAddress": mac_address} ) if response: @@ -2233,6 +2244,7 @@ class DnacDevice(DnacBase): response = self.dnac._exec( family="devices", function='get_interface_details', + op_modifies=True, params=interface_detail_params ) self.log("Received API response from 'get_interface_details': {0}".format(str(response)), "DEBUG") @@ -2246,44 +2258,44 @@ class DnacDevice(DnacBase): return interface_id except Exception as e: - error_message = "Error while fetching interface id for interface({0}) from Cisco Catalyst Center: {1}".format(interface_name, str(e)) - self.log(error_message, "ERROR") - self.msg = error_message self.status = "failed" + self.msg = "Failed to retrieve interface ID for interface({0}) from Cisco Catalyst Center: {1}".format(interface_name, str(e)) + self.log(self.msg, "ERROR") return self - def get_interface_from_ip(self, device_ip): - """ - Get the interface ID for a device in Cisco Catalyst Center based on its IP address. - Parameters: - self (object): An instance of a class used for interacting with Cisco Catalyst Center. - device_ip (str): The IP address of the device. - Returns: - str: The interface ID for the specified device. - Description: - The function sends a request to Cisco Catalyst Center to retrieve the interface information - for the device with the provided IP address and extracts the interface ID from the - response, and returns the interface ID. - """ + def get_interface_from_ip(self, device_ip): + """ + Get the interface ID for a device in Cisco Catalyst Center based on its IP address. + Parameters: + self (object): An instance of a class used for interacting with Cisco Catalyst Center. + device_ip (str): The IP address of the device. + Returns: + str: The interface ID for the specified device. + Description: + The function sends a request to Cisco Catalyst Center to retrieve the interface information + for the device with the provided IP address and extracts the interface ID from the + response, and returns the interface ID. + """ - try: - response = self.dnac._exec( - family="devices", - function='get_interface_by_ip', - params={"ip_address": device_ip} - ) - self.log("Received API response from 'get_interface_by_ip': {0}".format(str(response)), "DEBUG") - response = response.get("response") + try: + response = self.dnac._exec( + family="devices", + function='get_interface_by_ip', + op_modifies=True, + params={"ip_address": device_ip} + ) + self.log("Received API response from 'get_interface_by_ip': {0}".format(str(response)), "DEBUG") + response = response.get("response") - if response: - interface_id = response[0]["id"] - self.log("Fetch Interface Id for device '{0}' successfully !!".format(device_ip)) - return interface_id + if response: + interface_id = response[0]["id"] + self.log("Successfully retrieved Interface Id '{0}' for device '{1}'.".format(interface_id, device_ip), "DEBUG") + return interface_id - except Exception as e: - error_message = "Error while fetching Interface Id for device '{0}' from Cisco Catalyst Center: {1}".format(device_ip, str(e)) - self.log(error_message, "ERROR") - raise Exception(error_message) + except Exception as e: + error_message = "Error while fetching Interface Id for device '{0}' from Cisco Catalyst Center: {1}".format(device_ip, str(e)) + self.log(error_message, "ERROR") + raise Exception(error_message) def get_device_response(self, device_ip): """ @@ -2302,6 +2314,7 @@ class DnacDevice(DnacBase): response = self.dnac._exec( family="devices", function='get_device_list', + op_modifies=True, params={"managementIpAddress": device_ip} ) response = response.get('response')[0] @@ -2360,6 +2373,7 @@ class DnacDevice(DnacBase): response = self.dnac._exec( family="devices", function='get_interface_details', + op_modifies=True, params=interface_detail_params ) self.log("Received API response from 'get_interface_details': {0}".format(str(response)), "DEBUG") @@ -2555,12 +2569,23 @@ class DnacDevice(DnacBase): """ # 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') for interface_name in interface_names_list: device_id = self.get_device_ids([device_ip]) - interface_id = self.get_interface_from_id_and_name(device_id[0], interface_name) + interface_details = self.get_interface_from_id_and_name(device_id[0], interface_name) + # Check if interface_details is None or does not contain the 'id' key. + if interface_details is None or not interface_details.get('id'): + self.status = "failed" + self.msg = """Failed to retrieve interface details or the 'id' is missing for the device with identifier + '{0}' and interface '{1}'""".format(device_id[0], interface_name) + self.log(self.msg, "WARNING") + return self + + interface_id = interface_details['id'] self.check_return_status() # Now we call update interface details api with required parameter @@ -2574,11 +2599,11 @@ class DnacDevice(DnacBase): 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") - self.result['response'] = self.msg + 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) - self.check_return_status() + self.clear_mac_address(interface_id, deploy_mode, interface_name).check_return_status() temp_params = { 'description': interface_params.get('description', ''), @@ -2591,6 +2616,25 @@ class DnacDevice(DnacBase): if value is not None: payload_params[key] = value + # Check if interface need update or not here + interface_needs_update = False + for key, value in payload_params.items(): + if key == "voiceVlanId": + if str(value) != interface_details['voiceVlan']: + interface_needs_update = True + else: + if str(value) != str(interface_details.get(key)): + interface_needs_update = True + + if not interface_needs_update: + self.status = "success" + self.result['changed'] = False + 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") + self.result['response'] = self.msg + continue + update_interface_params = { 'payload': payload_params, 'interface_uuid': interface_id, @@ -2605,16 +2649,23 @@ class DnacDevice(DnacBase): self.log("Received API response from 'update_interface_details': {0}".format(str(response)), "DEBUG") if response and isinstance(response, dict): - task_id = response.get('response').get('taskId') + response = response.get('response') + if not response: + self.status = "failed" + self.msg = "Failed to update the interface because the 'update_interface_details' API returned an empty response." + self.log(self.msg, "ERROR") + continue + + task_id = response.get('taskId') while True: execution_details = self.get_task_details(task_id) if 'SUCCESS' in execution_details.get("progress"): self.status = "success" - self.result['changed'] = True - self.result['response'] = execution_details - self.msg = "Updated Interface Details for device '{0}' successfully".format(device_ip) + is_update_occurred = True + self.msg = "Successfully updated the Interface Details for device '{0}'.".format(device_ip) + response_list.append(self.msg) self.log(self.msg, "INFO") break elif execution_details.get("isError"): @@ -2634,6 +2685,10 @@ class DnacDevice(DnacBase): 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.result['changed'] = is_update_occurred + self.result['response'] = response_list return self @@ -2711,8 +2766,8 @@ class DnacDevice(DnacBase): elif execution_details.get("endTime"): self.status = "success" self.result['changed'] = True - self.result['response'] = execution_details self.msg = "Device '{0}' present in Cisco Catalyst Center and have been updated successfully".format(device_ip) + self.result['response'] = self.msg self.log(self.msg, "INFO") break @@ -2737,6 +2792,7 @@ class DnacDevice(DnacBase): response = self.dnac._exec( family="devices", function='get_device_list', + op_modifies=True, params={"managementIpAddress": device_ip} ) response = response.get('response') @@ -2924,7 +2980,8 @@ class DnacDevice(DnacBase): device_params.pop('snmpPrivPassphrase', None) device_params.pop('snmpPrivProtocol', None) - self.mandatory_parameter().check_return_status() + device_to_add_in_ccc = device_params['ipAddress'] + self.mandatory_parameter(device_to_add_in_ccc).check_return_status() try: response = self.dnac._exec( family="devices", @@ -2982,6 +3039,7 @@ class DnacDevice(DnacBase): response = self.dnac._exec( family="devices", function='get_device_list', + op_modifies=True, params={"managementIpAddress": device_ip} ) response = response.get('response')[0] @@ -3161,6 +3219,15 @@ class DnacDevice(DnacBase): if not playbook_params['snmpROCommunity']: playbook_params['snmpROCommunity'] = device_data.get('snmp_community', None) + if not playbook_params['snmpRWCommunity']: + playbook_params['snmpRWCommunity'] = device_data.get('snmp_write_community', None) + + if not playbook_params['httpUserName']: + playbook_params['httpUserName'] = device_data.get('http_config_username', None) + if not playbook_params['httpPassword']: + playbook_params['httpPassword'] = device_data.get('http_config_password', None) + if not playbook_params['httpPort']: + playbook_params['httpPort'] = device_data.get('http_port', None) try: if playbook_params['updateMgmtIPaddressList']: @@ -3306,6 +3373,7 @@ class DnacDevice(DnacBase): response = self.dnac._exec( family="devices", function='delete_user_defined_field', + op_modifies=True, params={"id": udf_id}, ) if response and isinstance(response, dict): @@ -3356,6 +3424,7 @@ class DnacDevice(DnacBase): prov_respone = self.dnac._exec( family="sda", function='get_provisioned_wired_device', + op_modifies=True, params=provision_params, ) @@ -3363,6 +3432,7 @@ class DnacDevice(DnacBase): response = self.dnac._exec( family="sda", function='delete_provisioned_wired_device', + op_modifies=True, params=provision_params, ) executionid = response.get("executionId") @@ -3389,6 +3459,7 @@ class DnacDevice(DnacBase): response = self.dnac._exec( family="devices", function='delete_device_by_id', + op_modifies=True, params=delete_params, ) diff --git a/ansible_collections/cisco/dnac/plugins/modules/inventory_workflow_manager.py b/ansible_collections/cisco/dnac/plugins/modules/inventory_workflow_manager.py index 3eda0e2cc..17f63f475 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/inventory_workflow_manager.py +++ b/ansible_collections/cisco/dnac/plugins/modules/inventory_workflow_manager.py @@ -307,8 +307,8 @@ options: version_added: 6.12.0 requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco Catalyst Center documentation for Devices AddDevice2 description: Complete reference of the AddDevice2 API. @@ -522,7 +522,7 @@ EXAMPLES = r""" - device_ip: "1.1.1.1" site_name: "Global/USA/San Francisco/BGL_18/floor_pnp" resync_retry_count: 200 - resync_interval: 2 + resync_retry_interval: 2 - device_ip: "2.2.2.2" site_name: "Global/USA/San Francisco/BGL_18/floor_test" resync_retry_count: 200 @@ -752,7 +752,7 @@ class Inventory(DnacBase): 'mac_address_list': {'type': 'list', 'elements': 'str'}, 'netconf_port': {'type': 'str'}, 'password': {'type': 'str'}, - 'serial_number': {'type': 'str'}, + 'serial_number_list': {'type': 'list', 'elements': 'str'}, 'snmp_auth_passphrase': {'type': 'str'}, 'snmp_auth_protocol': {'default': "SHA", 'type': 'str'}, 'snmp_mode': {'type': 'str'}, @@ -912,6 +912,7 @@ class Inventory(DnacBase): response = self.dnac._exec( family="devices", function='get_all_user_defined_fields', + op_modifies=True, params={"name": field_name}, ) @@ -942,6 +943,7 @@ class Inventory(DnacBase): response = self.dnac._exec( family="devices", function='create_user_defined_field', + op_modifies=True, params=udf, ) self.log("Received API response from 'create_user_defined_field': {0}".format(str(response)), "DEBUG") @@ -984,6 +986,7 @@ class Inventory(DnacBase): response = self.dnac._exec( family="devices", function='add_user_defined_field_to_device', + op_modifies=True, params=udf_param_dict, ) self.log("Received API response from 'add_user_defined_field_to_device': {0}".format(str(response)), "DEBUG") @@ -1224,6 +1227,7 @@ class Inventory(DnacBase): response = self.dnac._exec( family="devices", function='get_device_list', + op_modifies=True, params={"managementIpAddress": device_ip} ) response = response.get('response', []) @@ -1358,6 +1362,7 @@ class Inventory(DnacBase): response = self.dnac._exec( family="devices", function='get_device_list', + op_modifies=True, params={"managementIpAddress": device_ip} ) response = response.get('response') @@ -1897,6 +1902,7 @@ class Inventory(DnacBase): response = self.dnac._exec( family="devices", function='get_all_user_defined_fields', + op_modifies=True, params={"name": field_name}, ) self.log("Received API response from 'get_all_user_defined_fields': {0}".format(str(response)), "DEBUG") @@ -1910,11 +1916,12 @@ class Inventory(DnacBase): return udf_id - def mandatory_parameter(self): + def mandatory_parameter(self, device_to_add_in_ccc): """ Check for and validate mandatory parameters for adding network devices in Cisco Catalyst Center. Parameters: self (object): An instance of a class used for interacting with Cisco Cisco Catalyst Center. + device_to_add_in_ccc(list): List to device ip addresses to be added in Cisco Catalyst Center. Returns: dict: The input `config` dictionary if all mandatory parameters are present. Description: @@ -1939,12 +1946,12 @@ class Inventory(DnacBase): if mandatory_params_absent: self.status = "failed" - self.msg = "Required parameters {0} for adding devices are not present".format(str(mandatory_params_absent)) + self.msg = "Required parameters {0} for adding devices '{1}' are not present".format(str(mandatory_params_absent), str(device_to_add_in_ccc)) self.result['msg'] = self.msg self.log(self.msg, "ERROR") else: self.status = "success" - self.msg = "Required parameter for Adding the devices in Inventory are present." + self.msg = "Required parameters for adding the devices '{0}' to inventory are present.".format(str(device_to_add_in_ccc)) self.log(self.msg, "INFO") return self @@ -2044,7 +2051,6 @@ class Inventory(DnacBase): "httpSecure": params.get("http_secure"), "httpUserName": params.get("http_username"), "netconfPort": params.get("netconf_port"), - "serialNumber": params.get("serial_number"), "snmpVersion": params.get("snmp_version"), "type": params.get("type"), "updateMgmtIPaddressList": params.get("update_mgmt_ipaddresslist"), @@ -2084,6 +2090,7 @@ class Inventory(DnacBase): response = self.dnac._exec( family="devices", function='get_device_list', + op_modifies=True, params={"managementIpAddress": device_ip} ) @@ -2120,6 +2127,7 @@ class Inventory(DnacBase): response = self.dnac._exec( family="devices", function='get_device_list', + op_modifies=True, params={"hostname": hostname} ) if response: @@ -2154,6 +2162,7 @@ class Inventory(DnacBase): response = self.dnac._exec( family="devices", function='get_device_list', + op_modifies=True, params={"serialNumber": serial_number} ) if response: @@ -2188,6 +2197,7 @@ class Inventory(DnacBase): response = self.dnac._exec( family="devices", function='get_device_list', + op_modifies=True, params={"macAddress": mac_address} ) if response: @@ -2226,6 +2236,7 @@ class Inventory(DnacBase): response = self.dnac._exec( family="devices", function='get_interface_details', + op_modifies=True, params=interface_detail_params ) self.log("Received API response from 'get_interface_details': {0}".format(str(response)), "DEBUG") @@ -2236,47 +2247,47 @@ class Inventory(DnacBase): interface_id = response["id"] 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 interface_id + return response except Exception as e: - error_message = "Error while fetching interface id for interface({0}) from Cisco Catalyst Center: {1}".format(interface_name, str(e)) - self.log(error_message, "ERROR") - self.msg = error_message self.status = "failed" + self.msg = "Failed to retrieve interface ID for interface({0}) from Cisco Catalyst Center: {1}".format(interface_name, str(e)) + self.log(self.msg, "ERROR") return self - def get_interface_from_ip(self, device_ip): - """ - Get the interface ID for a device in Cisco Catalyst Center based on its IP address. - Parameters: - self (object): An instance of a class used for interacting with Cisco Catalyst Center. - device_ip (str): The IP address of the device. - Returns: - str: The interface ID for the specified device. - Description: - The function sends a request to Cisco Catalyst Center to retrieve the interface information - for the device with the provided IP address and extracts the interface ID from the - response, and returns the interface ID. - """ + def get_interface_from_ip(self, device_ip): + """ + Get the interface ID for a device in Cisco Catalyst Center based on its IP address. + Parameters: + self (object): An instance of a class used for interacting with Cisco Catalyst Center. + device_ip (str): The IP address of the device. + Returns: + str: The interface ID for the specified device. + Description: + The function sends a request to Cisco Catalyst Center to retrieve the interface information + for the device with the provided IP address and extracts the interface ID from the + response, and returns the interface ID. + """ - try: - response = self.dnac._exec( - family="devices", - function='get_interface_by_ip', - params={"ip_address": device_ip} - ) - self.log("Received API response from 'get_interface_by_ip': {0}".format(str(response)), "DEBUG") - response = response.get("response") + try: + response = self.dnac._exec( + family="devices", + function='get_interface_by_ip', + op_modifies=True, + params={"ip_address": device_ip} + ) + self.log("Received API response from 'get_interface_by_ip': {0}".format(str(response)), "DEBUG") + response = response.get("response") - if response: - interface_id = response[0]["id"] - self.log("Fetch Interface Id for device '{0}' successfully !!".format(device_ip)) - return interface_id + if response: + interface_id = response[0]["id"] + self.log("Successfully retrieved Interface Id '{0}' for device '{1}'.".format(interface_id, device_ip), "DEBUG") + return interface_id - except Exception as e: - error_message = "Error while fetching Interface Id for device '{0}' from Cisco Catalyst Center: {1}".format(device_ip, str(e)) - self.log(error_message, "ERROR") - raise Exception(error_message) + except Exception as e: + error_message = "Error while fetching Interface Id for device '{0}' from Cisco Catalyst Center: {1}".format(device_ip, str(e)) + self.log(error_message, "ERROR") + raise Exception(error_message) def get_device_response(self, device_ip): """ @@ -2295,6 +2306,7 @@ class Inventory(DnacBase): response = self.dnac._exec( family="devices", function='get_device_list', + op_modifies=True, params={"managementIpAddress": device_ip} ) response = response.get('response')[0] @@ -2353,6 +2365,7 @@ class Inventory(DnacBase): response = self.dnac._exec( family="devices", function='get_interface_details', + op_modifies=True, params=interface_detail_params ) self.log("Received API response from 'get_interface_details': {0}".format(str(response)), "DEBUG") @@ -2548,12 +2561,23 @@ class Inventory(DnacBase): """ # 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') for interface_name in interface_names_list: device_id = self.get_device_ids([device_ip]) - interface_id = self.get_interface_from_id_and_name(device_id[0], interface_name) + interface_details = self.get_interface_from_id_and_name(device_id[0], interface_name) + # Check if interface_details is None or does not contain the 'id' key. + if interface_details is None or not interface_details.get('id'): + self.status = "failed" + self.msg = """Failed to retrieve interface details or the 'id' is missing for the device with identifier + '{0}' and interface '{1}'""".format(device_id[0], interface_name) + self.log(self.msg, "WARNING") + return self + + interface_id = interface_details['id'] self.check_return_status() # Now we call update interface details api with required parameter @@ -2567,11 +2591,11 @@ class Inventory(DnacBase): 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") - self.result['response'] = self.msg + 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) - self.check_return_status() + self.clear_mac_address(interface_id, deploy_mode, interface_name).check_return_status() temp_params = { 'description': interface_params.get('description', ''), @@ -2584,6 +2608,25 @@ class Inventory(DnacBase): if value is not None: payload_params[key] = value + # Check if interface need update or not here + interface_needs_update = False + for key, value in payload_params.items(): + if key == "voiceVlanId": + if str(value) != interface_details['voiceVlan']: + interface_needs_update = True + else: + if str(value) != str(interface_details.get(key)): + interface_needs_update = True + + if not interface_needs_update: + self.status = "success" + self.result['changed'] = False + 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) + continue + update_interface_params = { 'payload': payload_params, 'interface_uuid': interface_id, @@ -2598,16 +2641,23 @@ class Inventory(DnacBase): self.log("Received API response from 'update_interface_details': {0}".format(str(response)), "DEBUG") if response and isinstance(response, dict): - task_id = response.get('response').get('taskId') + response = response.get('response') + if not response: + self.status = "failed" + self.msg = "Failed to update the interface because the 'update_interface_details' API returned an empty response." + self.log(self.msg, "ERROR") + continue + + task_id = response.get('taskId') while True: execution_details = self.get_task_details(task_id) if 'SUCCESS' in execution_details.get("progress"): self.status = "success" - self.result['changed'] = True - self.result['response'] = execution_details - self.msg = "Updated Interface Details for device '{0}' successfully".format(device_ip) + is_update_occurred = True + self.msg = "Successfully updated the Interface Details for device '{0}'.".format(device_ip) + response_list.append(self.msg) self.log(self.msg, "INFO") break elif execution_details.get("isError"): @@ -2627,6 +2677,10 @@ class Inventory(DnacBase): 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.result['changed'] = is_update_occurred + self.result['response'] = response_list return self @@ -2704,8 +2758,8 @@ class Inventory(DnacBase): elif execution_details.get("endTime"): self.status = "success" self.result['changed'] = True - self.result['response'] = execution_details self.msg = "Device '{0}' present in Cisco Catalyst Center and have been updated successfully".format(device_ip) + self.result['response'] = self.msg self.log(self.msg, "INFO") break @@ -2730,6 +2784,7 @@ class Inventory(DnacBase): response = self.dnac._exec( family="devices", function='get_device_list', + op_modifies=True, params={"managementIpAddress": device_ip} ) response = response.get('response') @@ -2916,7 +2971,8 @@ class Inventory(DnacBase): device_params.pop('snmpPrivPassphrase', None) device_params.pop('snmpPrivProtocol', None) - self.mandatory_parameter().check_return_status() + device_to_add_in_ccc = device_params['ipAddress'] + self.mandatory_parameter(device_to_add_in_ccc).check_return_status() try: response = self.dnac._exec( family="devices", @@ -2974,6 +3030,7 @@ class Inventory(DnacBase): response = self.dnac._exec( family="devices", function='get_device_list', + op_modifies=True, params={"managementIpAddress": device_ip} ) response = response.get('response')[0] @@ -3154,6 +3211,15 @@ class Inventory(DnacBase): if not playbook_params['snmpROCommunity']: playbook_params['snmpROCommunity'] = device_data.get('snmp_community', None) + if not playbook_params['snmpRWCommunity']: + playbook_params['snmpRWCommunity'] = device_data.get('snmp_write_community', None) + + if not playbook_params['httpUserName']: + playbook_params['httpUserName'] = device_data.get('http_config_username', None) + if not playbook_params['httpPassword']: + playbook_params['httpPassword'] = device_data.get('http_config_password', None) + if not playbook_params['httpPort']: + playbook_params['httpPort'] = device_data.get('http_port', None) try: if playbook_params['updateMgmtIPaddressList']: @@ -3299,6 +3365,7 @@ class Inventory(DnacBase): response = self.dnac._exec( family="devices", function='delete_user_defined_field', + op_modifies=True, params={"id": udf_id}, ) if response and isinstance(response, dict): @@ -3349,6 +3416,7 @@ class Inventory(DnacBase): prov_respone = self.dnac._exec( family="sda", function='get_provisioned_wired_device', + op_modifies=True, params=provision_params, ) @@ -3356,6 +3424,7 @@ class Inventory(DnacBase): response = self.dnac._exec( family="sda", function='delete_provisioned_wired_device', + op_modifies=True, params=provision_params, ) executionid = response.get("executionId") @@ -3383,6 +3452,7 @@ class Inventory(DnacBase): response = self.dnac._exec( family="devices", function='delete_device_by_id', + op_modifies=True, params=delete_params, ) diff --git a/ansible_collections/cisco/dnac/plugins/modules/issues_enrichment_details_info.py b/ansible_collections/cisco/dnac/plugins/modules/issues_enrichment_details_info.py index e81d3f2d9..58d5c787c 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/issues_enrichment_details_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/issues_enrichment_details_info.py @@ -22,8 +22,8 @@ options: description: Additional headers. type: dict requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Issues GetIssueEnrichmentDetails description: Complete reference of the GetIssueEnrichmentDetails API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/issues_info.py b/ansible_collections/cisco/dnac/plugins/modules/issues_info.py index b94e0f1cf..f6131d2b8 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/issues_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/issues_info.py @@ -58,8 +58,8 @@ options: - IssueStatus query parameter. The issue's status value (One of ACTIVE, IGNORED, RESOLVED). type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Issues Issues description: Complete reference of the Issues API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/itsm_cmdb_sync_status_info.py b/ansible_collections/cisco/dnac/plugins/modules/itsm_cmdb_sync_status_info.py index ba5721124..2b3a47ea2 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/itsm_cmdb_sync_status_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/itsm_cmdb_sync_status_info.py @@ -34,8 +34,8 @@ options: - Date query parameter. Provide date in "YYYY-MM-DD" format. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for ITSM GetCMDBSyncStatus description: Complete reference of the GetCMDBSyncStatus API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/itsm_integration_events_failed_info.py b/ansible_collections/cisco/dnac/plugins/modules/itsm_integration_events_failed_info.py index b02e8dc1d..c2a6dca63 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/itsm_integration_events_failed_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/itsm_integration_events_failed_info.py @@ -24,8 +24,8 @@ options: - InstanceId query parameter. Instance Id of the failed event as in the Runtime Dashboard. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for ITSM GetFailedITSMEvents description: Complete reference of the GetFailedITSMEvents API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/itsm_integration_events_retry.py b/ansible_collections/cisco/dnac/plugins/modules/itsm_integration_events_retry.py index 201f6891d..64c97fe80 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/itsm_integration_events_retry.py +++ b/ansible_collections/cisco/dnac/plugins/modules/itsm_integration_events_retry.py @@ -24,8 +24,8 @@ options: elements: str type: list requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for ITSM RetryIntegrationEvents description: Complete reference of the RetryIntegrationEvents API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/lan_automation_count_info.py b/ansible_collections/cisco/dnac/plugins/modules/lan_automation_count_info.py index d172a752c..e275eaf2c 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/lan_automation_count_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/lan_automation_count_info.py @@ -20,8 +20,8 @@ options: description: Additional headers. type: dict requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for LAN Automation LANAutomationSessionCount description: Complete reference of the LANAutomationSessionCount API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/lan_automation_create.py b/ansible_collections/cisco/dnac/plugins/modules/lan_automation_create.py index e87775b94..b9c04f38d 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/lan_automation_create.py +++ b/ansible_collections/cisco/dnac/plugins/modules/lan_automation_create.py @@ -63,8 +63,8 @@ options: type: bool type: list requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for LAN Automation LANAutomationStart description: Complete reference of the LANAutomationStart API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/lan_automation_delete.py b/ansible_collections/cisco/dnac/plugins/modules/lan_automation_delete.py index d4a8a6651..d31484c67 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/lan_automation_delete.py +++ b/ansible_collections/cisco/dnac/plugins/modules/lan_automation_delete.py @@ -20,8 +20,8 @@ options: description: Id path parameter. LAN Automation id can be obtained from /dna/intent/api/v1/lan-automation/status. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for LAN Automation LANAutomationStop description: Complete reference of the LANAutomationStop API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/lan_automation_log_by_serial_number_info.py b/ansible_collections/cisco/dnac/plugins/modules/lan_automation_log_by_serial_number_info.py index c81f24292..fa75bec89 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/lan_automation_log_by_serial_number_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/lan_automation_log_by_serial_number_info.py @@ -37,8 +37,8 @@ options: the remaining logs, please leave the query parameter blank. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for LAN Automation LANAutomationLogsForIndividualDevices description: Complete reference of the LANAutomationLogsForIndividualDevices API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/lan_automation_log_info.py b/ansible_collections/cisco/dnac/plugins/modules/lan_automation_log_info.py index ede147df9..6a8aa1291 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/lan_automation_log_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/lan_automation_log_info.py @@ -34,8 +34,8 @@ options: - Id path parameter. LAN Automation session identifier. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for LAN Automation LANAutomationLog description: Complete reference of the LANAutomationLog API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/lan_automation_status_info.py b/ansible_collections/cisco/dnac/plugins/modules/lan_automation_status_info.py index 62ad0a371..3680a97eb 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/lan_automation_status_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/lan_automation_status_info.py @@ -34,8 +34,8 @@ options: - Id path parameter. LAN Automation session identifier. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for LAN Automation LANAutomationStatus description: Complete reference of the LANAutomationStatus API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/license_device_count_info.py b/ansible_collections/cisco/dnac/plugins/modules/license_device_count_info.py index efee0085a..0ec3976ac 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/license_device_count_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/license_device_count_info.py @@ -40,8 +40,8 @@ options: - Smart_account_id query parameter. Smart account id. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Licenses DeviceCountDetails2 description: Complete reference of the DeviceCountDetails2 API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/license_device_deregistration.py b/ansible_collections/cisco/dnac/plugins/modules/license_device_deregistration.py index aeceb3470..ddf70df11 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/license_device_deregistration.py +++ b/ansible_collections/cisco/dnac/plugins/modules/license_device_deregistration.py @@ -21,8 +21,8 @@ options: elements: str type: list requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Licenses DeviceDeregistration2 description: Complete reference of the DeviceDeregistration2 API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/license_device_license_details_info.py b/ansible_collections/cisco/dnac/plugins/modules/license_device_license_details_info.py index 5410196ca..965c577e3 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/license_device_license_details_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/license_device_license_details_info.py @@ -24,8 +24,8 @@ options: - Device_uuid path parameter. Id of device. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Licenses DeviceLicenseDetails2 description: Complete reference of the DeviceLicenseDetails2 API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/license_device_license_summary_info.py b/ansible_collections/cisco/dnac/plugins/modules/license_device_license_summary_info.py index ae872d095..c2806d39a 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/license_device_license_summary_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/license_device_license_summary_info.py @@ -60,8 +60,8 @@ options: - Device_uuid query parameter. Id of device. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Licenses DeviceLicenseSummary2 description: Complete reference of the DeviceLicenseSummary2 API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/license_device_registration.py b/ansible_collections/cisco/dnac/plugins/modules/license_device_registration.py index 6d7f5b955..de878f790 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/license_device_registration.py +++ b/ansible_collections/cisco/dnac/plugins/modules/license_device_registration.py @@ -24,8 +24,8 @@ options: description: Virtual_account_name path parameter. Name of virtual account. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Licenses DeviceRegistration2 description: Complete reference of the DeviceRegistration2 API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/license_smart_account_details_info.py b/ansible_collections/cisco/dnac/plugins/modules/license_smart_account_details_info.py index b70fa56c0..70685c2ed 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/license_smart_account_details_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/license_smart_account_details_info.py @@ -20,8 +20,8 @@ options: description: Additional headers. type: dict requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Licenses SmartAccountDetails description: Complete reference of the SmartAccountDetails API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/license_term_details_info.py b/ansible_collections/cisco/dnac/plugins/modules/license_term_details_info.py index bdf26471d..d0bf73d4d 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/license_term_details_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/license_term_details_info.py @@ -34,8 +34,8 @@ options: - Device_type query parameter. Type of device like router, switch, wireless or ise. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Licenses LicenseTermDetails2 description: Complete reference of the LicenseTermDetails2 API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/license_usage_details_info.py b/ansible_collections/cisco/dnac/plugins/modules/license_usage_details_info.py index d315848c9..3fd4d5466 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/license_usage_details_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/license_usage_details_info.py @@ -34,8 +34,8 @@ options: - Device_type query parameter. Type of device like router, switch, wireless or ise. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Licenses LicenseUsageDetails2 description: Complete reference of the LicenseUsageDetails2 API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/license_virtual_account_change.py b/ansible_collections/cisco/dnac/plugins/modules/license_virtual_account_change.py index 9e647aefc..762e01540 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/license_virtual_account_change.py +++ b/ansible_collections/cisco/dnac/plugins/modules/license_virtual_account_change.py @@ -27,8 +27,8 @@ options: description: Virtual_account_name path parameter. Name of target virtual account. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Licenses ChangeVirtualAccount2 description: Complete reference of the ChangeVirtualAccount2 API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/license_virtual_account_details_info.py b/ansible_collections/cisco/dnac/plugins/modules/license_virtual_account_details_info.py index 476f58758..72a2f1041 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/license_virtual_account_details_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/license_virtual_account_details_info.py @@ -24,8 +24,8 @@ options: - Smart_account_id path parameter. Id of smart account. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Licenses VirtualAccountDetails2 description: Complete reference of the VirtualAccountDetails2 API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/netconf_credential.py b/ansible_collections/cisco/dnac/plugins/modules/netconf_credential.py index a8cec0942..d75908aa6 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/netconf_credential.py +++ b/ansible_collections/cisco/dnac/plugins/modules/netconf_credential.py @@ -39,8 +39,8 @@ options: description: Netconf Credential's netconfPort. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Discovery CreateNetconfCredentials description: Complete reference of the CreateNetconfCredentials API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/network_create.py b/ansible_collections/cisco/dnac/plugins/modules/network_create.py index 9c7abda29..8bf553aba 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/network_create.py +++ b/ansible_collections/cisco/dnac/plugins/modules/network_create.py @@ -134,8 +134,8 @@ options: the network settings. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Network Settings CreateNetwork description: Complete reference of the CreateNetwork API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/network_device.py b/ansible_collections/cisco/dnac/plugins/modules/network_device.py index e103dbbf1..2fca16035 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/network_device.py +++ b/ansible_collections/cisco/dnac/plugins/modules/network_device.py @@ -117,8 +117,8 @@ options: description: Network Device's userName. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Devices AddDevice2 description: Complete reference of the AddDevice2 API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/network_device_by_ip_info.py b/ansible_collections/cisco/dnac/plugins/modules/network_device_by_ip_info.py index 151347c57..502db8ba4 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/network_device_by_ip_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/network_device_by_ip_info.py @@ -24,8 +24,8 @@ options: - IpAddress path parameter. Device IP address. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Devices GetNetworkDeviceByIP description: Complete reference of the GetNetworkDeviceByIP API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/network_device_by_serial_number_info.py b/ansible_collections/cisco/dnac/plugins/modules/network_device_by_serial_number_info.py index 4248aee8c..d40497b17 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/network_device_by_serial_number_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/network_device_by_serial_number_info.py @@ -24,8 +24,8 @@ options: - SerialNumber path parameter. Device serial number. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Devices GetDeviceBySerialNumber description: Complete reference of the GetDeviceBySerialNumber API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/network_device_chassis_details_info.py b/ansible_collections/cisco/dnac/plugins/modules/network_device_chassis_details_info.py index 6d540eae8..c5b34a498 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/network_device_chassis_details_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/network_device_chassis_details_info.py @@ -24,8 +24,8 @@ options: - DeviceId path parameter. Device ID. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Devices GetChassisDetailsForDevice description: Complete reference of the GetChassisDetailsForDevice API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/network_device_config_count_info.py b/ansible_collections/cisco/dnac/plugins/modules/network_device_config_count_info.py index e2b2a2449..3d2c900b0 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/network_device_config_count_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/network_device_config_count_info.py @@ -20,8 +20,8 @@ options: description: Additional headers. type: dict requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Devices GetDeviceConfigCount description: Complete reference of the GetDeviceConfigCount API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/network_device_config_info.py b/ansible_collections/cisco/dnac/plugins/modules/network_device_config_info.py index b2832bb77..6810fd6db 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/network_device_config_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/network_device_config_info.py @@ -26,8 +26,8 @@ options: - NetworkDeviceId path parameter. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Devices GetDeviceConfigById description: Complete reference of the GetDeviceConfigById API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/network_device_count_info.py b/ansible_collections/cisco/dnac/plugins/modules/network_device_count_info.py index 3a865dacb..cdcf87b7c 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/network_device_count_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/network_device_count_info.py @@ -28,8 +28,8 @@ options: - DeviceId path parameter. Device ID. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Devices GetDeviceCount2 description: Complete reference of the GetDeviceCount2 API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/network_device_custom_prompt.py b/ansible_collections/cisco/dnac/plugins/modules/network_device_custom_prompt.py index ab60bde8b..38fbc4eaa 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/network_device_custom_prompt.py +++ b/ansible_collections/cisco/dnac/plugins/modules/network_device_custom_prompt.py @@ -25,8 +25,8 @@ options: description: Username Prompt. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for System Settings CustomPromptPOSTAPI description: Complete reference of the CustomPromptPOSTAPI API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/network_device_custom_prompt_info.py b/ansible_collections/cisco/dnac/plugins/modules/network_device_custom_prompt_info.py index 96a9c74bc..cd3d02bdd 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/network_device_custom_prompt_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/network_device_custom_prompt_info.py @@ -20,8 +20,8 @@ options: description: Additional headers. type: dict requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for System Settings CustomPromptSupportGETAPI description: Complete reference of the CustomPromptSupportGETAPI API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/network_device_equipment_info.py b/ansible_collections/cisco/dnac/plugins/modules/network_device_equipment_info.py index 0e5cd5c64..7bc3a6733 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/network_device_equipment_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/network_device_equipment_info.py @@ -30,8 +30,8 @@ options: If no type is mentioned, All equipments are fetched for the device. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Devices ReturnPowerSupplyFanDetailsForTheGivenDevice description: Complete reference of the ReturnPowerSupplyFanDetailsForTheGivenDevice API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/network_device_export.py b/ansible_collections/cisco/dnac/plugins/modules/network_device_export.py index 93bb723e6..c1bf8d245 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/network_device_export.py +++ b/ansible_collections/cisco/dnac/plugins/modules/network_device_export.py @@ -34,8 +34,8 @@ options: description: Network Device Export's password. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Devices ExportDeviceList description: Complete reference of the ExportDeviceList API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/network_device_functional_capability_info.py b/ansible_collections/cisco/dnac/plugins/modules/network_device_functional_capability_info.py index 60d2c04b2..1d88047ab 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/network_device_functional_capability_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/network_device_functional_capability_info.py @@ -37,8 +37,8 @@ options: - Id path parameter. Functional Capability UUID. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Devices GetFunctionalCapabilityById description: Complete reference of the GetFunctionalCapabilityById API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/network_device_global_polling_interval_info.py b/ansible_collections/cisco/dnac/plugins/modules/network_device_global_polling_interval_info.py index 4d1df2f6e..41bced4d1 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/network_device_global_polling_interval_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/network_device_global_polling_interval_info.py @@ -20,8 +20,8 @@ options: description: Additional headers. type: dict requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Devices GetPollingIntervalForAllDevices description: Complete reference of the GetPollingIntervalForAllDevices API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/network_device_info.py b/ansible_collections/cisco/dnac/plugins/modules/network_device_info.py index 49d427c07..7dae65a3f 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/network_device_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/network_device_info.py @@ -190,8 +190,8 @@ options: - Limit query parameter. 1 <= limit <= 500 max. No. Of devices to be returned in the result. type: int requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Devices GetDeviceByID description: Complete reference of the GetDeviceByID API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/network_device_interface_neighbor_info.py b/ansible_collections/cisco/dnac/plugins/modules/network_device_interface_neighbor_info.py index 9b34f8a98..da4550a9e 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/network_device_interface_neighbor_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/network_device_interface_neighbor_info.py @@ -28,8 +28,8 @@ options: - InterfaceUuid path parameter. Instanceuuid of interface. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Devices GetConnectedDeviceDetail description: Complete reference of the GetConnectedDeviceDetail API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/network_device_interface_poe_info.py b/ansible_collections/cisco/dnac/plugins/modules/network_device_interface_poe_info.py index 3da01e141..2c525456f 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/network_device_interface_poe_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/network_device_interface_poe_info.py @@ -31,8 +31,8 @@ options: - InterfaceNameList query parameter. Comma seperated interface names. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Devices ReturnsPOEInterfaceDetailsForTheDevice description: Complete reference of the ReturnsPOEInterfaceDetailsForTheDevice API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/network_device_inventory_insight_link_mismatch_info.py b/ansible_collections/cisco/dnac/plugins/modules/network_device_inventory_insight_link_mismatch_info.py index 23f7c6c57..ee282e771 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/network_device_inventory_insight_link_mismatch_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/network_device_inventory_insight_link_mismatch_info.py @@ -44,8 +44,8 @@ options: - Order query parameter. Order. Value can be asc or desc. Default value is asc. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Devices InventoryInsightDeviceLinkMismatchAPI description: Complete reference of the InventoryInsightDeviceLinkMismatchAPI API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/network_device_lexicographically_sorted_info.py b/ansible_collections/cisco/dnac/plugins/modules/network_device_lexicographically_sorted_info.py index 04e1ebfce..cd7473692 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/network_device_lexicographically_sorted_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/network_device_lexicographically_sorted_info.py @@ -108,8 +108,8 @@ options: - Limit query parameter. type: int requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Devices GetDeviceValuesThatMatchFullyOrPartiallyAnAttribute description: Complete reference of the GetDeviceValuesThatMatchFullyOrPartiallyAnAttribute API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/network_device_linecard_details_info.py b/ansible_collections/cisco/dnac/plugins/modules/network_device_linecard_details_info.py index a2267a752..6ec120ded 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/network_device_linecard_details_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/network_device_linecard_details_info.py @@ -24,8 +24,8 @@ options: - DeviceUuid path parameter. Instanceuuid of device. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Devices GetLinecardDetails description: Complete reference of the GetLinecardDetails API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/network_device_meraki_organization_info.py b/ansible_collections/cisco/dnac/plugins/modules/network_device_meraki_organization_info.py index a9bde346e..a8bc1ddeb 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/network_device_meraki_organization_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/network_device_meraki_organization_info.py @@ -24,8 +24,8 @@ options: - Id path parameter. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Devices GetOrganizationListForMeraki description: Complete reference of the GetOrganizationListForMeraki API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/network_device_module_count_info.py b/ansible_collections/cisco/dnac/plugins/modules/network_device_module_count_info.py index 6bddca67e..5969b346e 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/network_device_module_count_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/network_device_module_count_info.py @@ -44,8 +44,8 @@ options: elements: str type: list requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Devices GetModuleCount description: Complete reference of the GetModuleCount API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/network_device_module_info.py b/ansible_collections/cisco/dnac/plugins/modules/network_device_module_info.py index d9924fc15..be3bd1a55 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/network_device_module_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/network_device_module_info.py @@ -58,8 +58,8 @@ options: - Id path parameter. Module id. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Devices GetModuleInfoById description: Complete reference of the GetModuleInfoById API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/network_device_poe_info.py b/ansible_collections/cisco/dnac/plugins/modules/network_device_poe_info.py index ca99bdd37..4f78d1e70 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/network_device_poe_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/network_device_poe_info.py @@ -24,8 +24,8 @@ options: - DeviceUuid path parameter. Uuid of the device. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Devices POEDetails description: Complete reference of the POEDetails API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/network_device_polling_interval_info.py b/ansible_collections/cisco/dnac/plugins/modules/network_device_polling_interval_info.py index 36bfbce02..fc4707d26 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/network_device_polling_interval_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/network_device_polling_interval_info.py @@ -24,8 +24,8 @@ options: - Id path parameter. Device ID. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Devices GetPollingIntervalById description: Complete reference of the GetPollingIntervalById API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/network_device_range_info.py b/ansible_collections/cisco/dnac/plugins/modules/network_device_range_info.py index 2aa2f9e80..5ea4572f4 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/network_device_range_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/network_device_range_info.py @@ -30,8 +30,8 @@ options: - RecordsToReturn path parameter. Number of records to return 1<= recordsToReturn <= 500. type: int requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Devices GetNetworkDeviceByPaginationRange description: Complete reference of the GetNetworkDeviceByPaginationRange API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/network_device_register_for_wsa_info.py b/ansible_collections/cisco/dnac/plugins/modules/network_device_register_for_wsa_info.py index 7997fa15f..29c483aa2 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/network_device_register_for_wsa_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/network_device_register_for_wsa_info.py @@ -30,8 +30,8 @@ options: - Macaddress query parameter. Mac addres of the device. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Devices GetDevicesRegisteredForWSANotification description: Complete reference of the GetDevicesRegisteredForWSANotification API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/network_device_stack_details_info.py b/ansible_collections/cisco/dnac/plugins/modules/network_device_stack_details_info.py index 4f8912bc9..5cdaf55ad 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/network_device_stack_details_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/network_device_stack_details_info.py @@ -24,8 +24,8 @@ options: - DeviceId path parameter. Device ID. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Devices GetStackDetailsForDevice description: Complete reference of the GetStackDetailsForDevice API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/network_device_summary_info.py b/ansible_collections/cisco/dnac/plugins/modules/network_device_summary_info.py index 4aa0c2940..3096ba1cf 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/network_device_summary_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/network_device_summary_info.py @@ -24,8 +24,8 @@ options: - Id path parameter. Device ID. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Devices GetDeviceSummary description: Complete reference of the GetDeviceSummary API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/network_device_supervisor_card_details_info.py b/ansible_collections/cisco/dnac/plugins/modules/network_device_supervisor_card_details_info.py index f4547f295..f9db5bdd7 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/network_device_supervisor_card_details_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/network_device_supervisor_card_details_info.py @@ -24,8 +24,8 @@ options: - DeviceUuid path parameter. Instanceuuid of device. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Devices GetSupervisorCardDetail description: Complete reference of the GetSupervisorCardDetail API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/network_device_sync.py b/ansible_collections/cisco/dnac/plugins/modules/network_device_sync.py index 255d81e12..526b8d239 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/network_device_sync.py +++ b/ansible_collections/cisco/dnac/plugins/modules/network_device_sync.py @@ -27,8 +27,8 @@ options: elements: dict type: list requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Devices SyncDevices description: Complete reference of the SyncDevices API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/network_device_update_role.py b/ansible_collections/cisco/dnac/plugins/modules/network_device_update_role.py index 16972e2ee..14ded7ec1 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/network_device_update_role.py +++ b/ansible_collections/cisco/dnac/plugins/modules/network_device_update_role.py @@ -26,8 +26,8 @@ options: description: Network Device Update Role's roleSource. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Devices UpdateDeviceRole description: Complete reference of the UpdateDeviceRole API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/network_device_user_defined_field.py b/ansible_collections/cisco/dnac/plugins/modules/network_device_user_defined_field.py index b350e69dd..8d0ddc17e 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/network_device_user_defined_field.py +++ b/ansible_collections/cisco/dnac/plugins/modules/network_device_user_defined_field.py @@ -28,8 +28,8 @@ options: description: Name of UDF. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Devices CreateUserDefinedField description: Complete reference of the CreateUserDefinedField API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/network_device_user_defined_field_info.py b/ansible_collections/cisco/dnac/plugins/modules/network_device_user_defined_field_info.py index d72f5955e..967114272 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/network_device_user_defined_field_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/network_device_user_defined_field_info.py @@ -30,8 +30,8 @@ options: - Name query parameter. Comma-seperated name(s) used for search/filtering. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Devices GetAllUserDefinedFields description: Complete reference of the GetAllUserDefinedFields API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/network_device_vlan_info.py b/ansible_collections/cisco/dnac/plugins/modules/network_device_vlan_info.py index d236beee3..132c102c7 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/network_device_vlan_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/network_device_vlan_info.py @@ -28,8 +28,8 @@ options: - InterfaceType query parameter. Vlan assocaited with sub-interface. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Devices GetDeviceInterfaceVLANs description: Complete reference of the GetDeviceInterfaceVLANs API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/network_device_wireless_lan_info.py b/ansible_collections/cisco/dnac/plugins/modules/network_device_wireless_lan_info.py index 29615e66d..f08b1bcca 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/network_device_wireless_lan_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/network_device_wireless_lan_info.py @@ -24,8 +24,8 @@ options: - Id path parameter. Device ID. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Devices GetWirelessLanControllerDetailsById description: Complete reference of the GetWirelessLanControllerDetailsById API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/network_device_with_snmp_v3_des_info.py b/ansible_collections/cisco/dnac/plugins/modules/network_device_with_snmp_v3_des_info.py index 4fd5157c5..b3b6a55d6 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/network_device_with_snmp_v3_des_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/network_device_with_snmp_v3_des_info.py @@ -42,8 +42,8 @@ options: - Order query parameter. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Devices ReturnsDevicesAddedToCiscoDNACenterWithSnmpV3DES description: Complete reference of the ReturnsDevicesAddedToCiscoDNACenterWithSnmpV3DES API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/network_info.py b/ansible_collections/cisco/dnac/plugins/modules/network_info.py index 682a9b5b1..0aa99bde5 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/network_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/network_info.py @@ -24,8 +24,8 @@ options: - SiteId query parameter. Site id to get the network settings associated with the site. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Network Settings GetNetwork description: Complete reference of the GetNetwork API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/network_settings_intent.py b/ansible_collections/cisco/dnac/plugins/modules/network_settings_intent.py index 49d6fa5d4..a86d342cf 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/network_settings_intent.py +++ b/ansible_collections/cisco/dnac/plugins/modules/network_settings_intent.py @@ -318,7 +318,7 @@ options: type: str requirements: - dnacentersdk == 2.4.5 -- python >= 3.5 +- python >= 3.9 notes: - SDK Method used are network_settings.NetworkSettings.create_global_pool, @@ -705,6 +705,7 @@ class NetworkSettings(DnacBase): 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") @@ -856,6 +857,7 @@ class NetworkSettings(DnacBase): response = self.dnac._exec( family="network_settings", function='get_network_v2', + op_modifies=True, params={"site_id": site_id} ) self.log("Received API response from 'get_network_v2': {0}".format(response), "DEBUG") @@ -1061,6 +1063,7 @@ class NetworkSettings(DnacBase): response = self.dnac._exec( family="network_settings", function="get_reserve_ip_subpool", + op_modifies=True, params={"siteId": site_id} ) if not isinstance(response, dict): @@ -1748,6 +1751,7 @@ class NetworkSettings(DnacBase): response = self.dnac._exec( family="network_settings", function="create_global_pool", + op_modifies=True, params=pool_params, ) self.check_execution_response_status(response).check_return_status() @@ -1793,6 +1797,7 @@ class NetworkSettings(DnacBase): response = self.dnac._exec( family="network_settings", function="update_global_pool", + op_modifies=True, params=pool_params, ) @@ -1836,6 +1841,7 @@ class NetworkSettings(DnacBase): response = self.dnac._exec( family="network_settings", function="reserve_ip_subpool", + op_modifies=True, params=reserve_params, ) self.check_execution_response_status(response).check_return_status() @@ -1868,6 +1874,7 @@ class NetworkSettings(DnacBase): response = self.dnac._exec( family="network_settings", function="update_reserve_ip_subpool", + op_modifies=True, params=reserve_params, ) self.check_execution_response_status(response).check_return_status() @@ -1915,6 +1922,7 @@ class NetworkSettings(DnacBase): 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") @@ -1978,6 +1986,7 @@ class NetworkSettings(DnacBase): response = self.dnac._exec( family="network_settings", function="release_reserve_ip_subpool", + op_modifies=True, params={"id": _id}, ) self.check_execution_response_status(response).check_return_status() @@ -2014,6 +2023,7 @@ class NetworkSettings(DnacBase): response = self.dnac._exec( family="network_settings", function="delete_global_ip_pool", + op_modifies=True, params={"id": self.have.get("globalPool").get("id")}, ) diff --git a/ansible_collections/cisco/dnac/plugins/modules/network_settings_workflow_manager.py b/ansible_collections/cisco/dnac/plugins/modules/network_settings_workflow_manager.py index bbae36463..cdf7b0634 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/network_settings_workflow_manager.py +++ b/ansible_collections/cisco/dnac/plugins/modules/network_settings_workflow_manager.py @@ -318,7 +318,7 @@ options: type: str requirements: - dnacentersdk == 2.4.5 -- python >= 3.5 +- python >= 3.9 notes: - SDK Method used are network_settings.NetworkSettings.create_global_pool, @@ -701,6 +701,7 @@ class NetworkSettings(DnacBase): 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") @@ -852,6 +853,7 @@ class NetworkSettings(DnacBase): response = self.dnac._exec( family="network_settings", function='get_network_v2', + op_modifies=True, params={"site_id": site_id} ) self.log("Received API response from 'get_network_v2': {0}".format(response), "DEBUG") @@ -1057,6 +1059,7 @@ class NetworkSettings(DnacBase): response = self.dnac._exec( family="network_settings", function="get_reserve_ip_subpool", + op_modifies=True, params={"siteId": site_id} ) if not isinstance(response, dict): @@ -1733,6 +1736,7 @@ class NetworkSettings(DnacBase): response = self.dnac._exec( family="network_settings", function="create_global_pool", + op_modifies=True, params=pool_params, ) self.check_execution_response_status(response).check_return_status() @@ -1778,6 +1782,7 @@ class NetworkSettings(DnacBase): response = self.dnac._exec( family="network_settings", function="update_global_pool", + op_modifies=True, params=pool_params, ) @@ -1821,6 +1826,7 @@ class NetworkSettings(DnacBase): response = self.dnac._exec( family="network_settings", function="reserve_ip_subpool", + op_modifies=True, params=reserve_params, ) self.check_execution_response_status(response).check_return_status() @@ -1853,6 +1859,7 @@ class NetworkSettings(DnacBase): response = self.dnac._exec( family="network_settings", function="update_reserve_ip_subpool", + op_modifies=True, params=reserve_params, ) self.check_execution_response_status(response).check_return_status() @@ -1900,6 +1907,7 @@ class NetworkSettings(DnacBase): 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") @@ -1963,6 +1971,7 @@ class NetworkSettings(DnacBase): response = self.dnac._exec( family="network_settings", function="release_reserve_ip_subpool", + op_modifies=True, params={"id": _id}, ) self.check_execution_response_status(response).check_return_status() @@ -1999,6 +2008,7 @@ class NetworkSettings(DnacBase): response = self.dnac._exec( family="network_settings", function="delete_global_ip_pool", + op_modifies=True, params={"id": self.have.get("globalPool").get("id")}, ) diff --git a/ansible_collections/cisco/dnac/plugins/modules/network_update.py b/ansible_collections/cisco/dnac/plugins/modules/network_update.py index be67025b8..42b2eec0f 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/network_update.py +++ b/ansible_collections/cisco/dnac/plugins/modules/network_update.py @@ -131,8 +131,8 @@ options: is associated with the site. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Network Settings UpdateNetwork description: Complete reference of the UpdateNetwork API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/network_v2.py b/ansible_collections/cisco/dnac/plugins/modules/network_v2.py index 14ca5c286..faa1b85c9 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/network_v2.py +++ b/ansible_collections/cisco/dnac/plugins/modules/network_v2.py @@ -134,8 +134,8 @@ options: the network settings. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Network Settings CreateNetworkV2 description: Complete reference of the CreateNetworkV2 API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/network_v2_info.py b/ansible_collections/cisco/dnac/plugins/modules/network_v2_info.py index f3b03cb76..096b27bbd 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/network_v2_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/network_v2_info.py @@ -24,8 +24,8 @@ options: - SiteId query parameter. Site Id to get the network settings associated with the site. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Network Settings GetNetworkV2 description: Complete reference of the GetNetworkV2 API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/nfv_profile.py b/ansible_collections/cisco/dnac/plugins/modules/nfv_profile.py index 409c937d4..37ce59101 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/nfv_profile.py +++ b/ansible_collections/cisco/dnac/plugins/modules/nfv_profile.py @@ -147,8 +147,8 @@ options: description: Name of the profile to create NFV profile. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Site Design CreateNFVProfile description: Complete reference of the CreateNFVProfile API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/nfv_profile_info.py b/ansible_collections/cisco/dnac/plugins/modules/nfv_profile_info.py index 946879359..7deb4f7be 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/nfv_profile_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/nfv_profile_info.py @@ -36,8 +36,8 @@ options: - Name query parameter. Name of network profile to be retrieved. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Site Design GetNFVProfile description: Complete reference of the GetNFVProfile API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/nfv_provision.py b/ansible_collections/cisco/dnac/plugins/modules/nfv_provision.py index 23f4269f0..e242de7f5 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/nfv_provision.py +++ b/ansible_collections/cisco/dnac/plugins/modules/nfv_provision.py @@ -375,8 +375,8 @@ options: type: str type: list requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Site Design ProvisionNFV description: Complete reference of the ProvisionNFV API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/nfv_provision_detail_info.py b/ansible_collections/cisco/dnac/plugins/modules/nfv_provision_detail_info.py index 8ad7287ad..2a0f85a5a 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/nfv_provision_detail_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/nfv_provision_detail_info.py @@ -24,8 +24,8 @@ options: - DeviceIp query parameter. Device to which the provisioning detail has to be retrieved. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Site Design GetDeviceDetailsByIP description: Complete reference of the GetDeviceDetailsByIP API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/nfv_provision_details.py b/ansible_collections/cisco/dnac/plugins/modules/nfv_provision_details.py index 6f8bc7308..af9792e72 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/nfv_provision_details.py +++ b/ansible_collections/cisco/dnac/plugins/modules/nfv_provision_details.py @@ -23,8 +23,8 @@ options: description: Additional headers. type: dict requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Site Design NFVProvisioningDetail description: Complete reference of the NFVProvisioningDetail API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/path_trace.py b/ansible_collections/cisco/dnac/plugins/modules/path_trace.py index a2b5519a6..055db2d56 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/path_trace.py +++ b/ansible_collections/cisco/dnac/plugins/modules/path_trace.py @@ -49,8 +49,8 @@ options: description: Source Port. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Path Trace InitiateANewPathtrace description: Complete reference of the InitiateANewPathtrace API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/path_trace_info.py b/ansible_collections/cisco/dnac/plugins/modules/path_trace_info.py index a160114ef..d305183c1 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/path_trace_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/path_trace_info.py @@ -86,8 +86,8 @@ options: - FlowAnalysisId path parameter. Flow analysis request id. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Path Trace RetrievesPreviousPathtrace description: Complete reference of the RetrievesPreviousPathtrace API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/planned_access_points_info.py b/ansible_collections/cisco/dnac/plugins/modules/planned_access_points_info.py index df323c577..bed5d8656 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/planned_access_points_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/planned_access_points_info.py @@ -36,8 +36,8 @@ options: - Radios query parameter. Inlcude planned radio details. type: bool requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Devices GetPlannedAccessPointsForFloor description: Complete reference of the GetPlannedAccessPointsForFloor API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/platform_nodes_configuration_summary_info.py b/ansible_collections/cisco/dnac/plugins/modules/platform_nodes_configuration_summary_info.py index 9e4bad79e..d06ecb029 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/platform_nodes_configuration_summary_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/platform_nodes_configuration_summary_info.py @@ -23,8 +23,8 @@ options: description: Additional headers. type: dict requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Platform Configuration CiscoDNACenterNodesConfigurationSummary description: Complete reference of the CiscoDNACenterNodesConfigurationSummary API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/platform_release_summary_info.py b/ansible_collections/cisco/dnac/plugins/modules/platform_release_summary_info.py index 7af697e95..b37caefc0 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/platform_release_summary_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/platform_release_summary_info.py @@ -22,8 +22,8 @@ options: description: Additional headers. type: dict requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Platform Configuration CiscoDNACenterReleaseSummary description: Complete reference of the CiscoDNACenterReleaseSummary API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/pnp_device.py b/ansible_collections/cisco/dnac/plugins/modules/pnp_device.py index 0f6a736a5..a3451edeb 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/pnp_device.py +++ b/ansible_collections/cisco/dnac/plugins/modules/pnp_device.py @@ -823,8 +823,8 @@ options: type: str type: dict requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Device Onboarding (PnP) AddDevice description: Complete reference of the AddDevice API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/pnp_device_authorize.py b/ansible_collections/cisco/dnac/plugins/modules/pnp_device_authorize.py index c6aa96590..2a033f504 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/pnp_device_authorize.py +++ b/ansible_collections/cisco/dnac/plugins/modules/pnp_device_authorize.py @@ -21,8 +21,8 @@ options: elements: str type: list requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for AuthorizeDevice description: Complete reference of the AuthorizeDevice API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/pnp_device_claim.py b/ansible_collections/cisco/dnac/plugins/modules/pnp_device_claim.py index 3a6c668f5..4ce1b3389 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/pnp_device_claim.py +++ b/ansible_collections/cisco/dnac/plugins/modules/pnp_device_claim.py @@ -77,8 +77,8 @@ options: description: Pnp Device Claim's workflowId. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Device Onboarding (PnP) ClaimDevice description: Complete reference of the ClaimDevice API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/pnp_device_claim_to_site.py b/ansible_collections/cisco/dnac/plugins/modules/pnp_device_claim_to_site.py index 397dc9f95..2e3bdd0a5 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/pnp_device_claim_to_site.py +++ b/ansible_collections/cisco/dnac/plugins/modules/pnp_device_claim_to_site.py @@ -80,8 +80,8 @@ options: description: For Catalyst 9800 WLC. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Device Onboarding (PnP) ClaimADeviceToASite description: Complete reference of the ClaimADeviceToASite API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/pnp_device_config_preview.py b/ansible_collections/cisco/dnac/plugins/modules/pnp_device_config_preview.py index 7007ba3bb..24d1ae219 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/pnp_device_config_preview.py +++ b/ansible_collections/cisco/dnac/plugins/modules/pnp_device_config_preview.py @@ -26,8 +26,8 @@ options: description: Pnp Device Config Preview's type. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Device Onboarding (PnP) PreviewConfig description: Complete reference of the PreviewConfig API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/pnp_device_count_info.py b/ansible_collections/cisco/dnac/plugins/modules/pnp_device_count_info.py index 5b98a91e5..94dc35fa2 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/pnp_device_count_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/pnp_device_count_info.py @@ -89,8 +89,8 @@ options: - LastContact query parameter. Device Has Contacted lastContact > 0. type: bool requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Device Onboarding (PnP) GetDeviceCount description: Complete reference of the GetDeviceCount API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/pnp_device_history_info.py b/ansible_collections/cisco/dnac/plugins/modules/pnp_device_history_info.py index 662cc694b..781a2f035 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/pnp_device_history_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/pnp_device_history_info.py @@ -33,8 +33,8 @@ options: - SortOrder query parameter. Sort Order Ascending (asc) or Descending (des). type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Device Onboarding (PnP) GetDeviceHistory description: Complete reference of the GetDeviceHistory API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/pnp_device_import.py b/ansible_collections/cisco/dnac/plugins/modules/pnp_device_import.py index 78ff2aada..ed0802a80 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/pnp_device_import.py +++ b/ansible_collections/cisco/dnac/plugins/modules/pnp_device_import.py @@ -823,8 +823,8 @@ options: type: dict type: list requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Device Onboarding (PnP) ImportDevicesInBulk description: Complete reference of the ImportDevicesInBulk API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/pnp_device_info.py b/ansible_collections/cisco/dnac/plugins/modules/pnp_device_info.py index 3f0b11bee..06500ec52 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/pnp_device_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/pnp_device_info.py @@ -126,8 +126,8 @@ options: - Id path parameter. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Device Onboarding (PnP) GetDeviceById description: Complete reference of the GetDeviceById API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/pnp_device_reset.py b/ansible_collections/cisco/dnac/plugins/modules/pnp_device_reset.py index 97d079c49..df5a7fe15 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/pnp_device_reset.py +++ b/ansible_collections/cisco/dnac/plugins/modules/pnp_device_reset.py @@ -59,8 +59,8 @@ options: description: Pnp Device Reset's workflowId. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Device Onboarding (PnP) ResetDevice description: Complete reference of the ResetDevice API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/pnp_device_unclaim.py b/ansible_collections/cisco/dnac/plugins/modules/pnp_device_unclaim.py index a1212a688..81ac6a27b 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/pnp_device_unclaim.py +++ b/ansible_collections/cisco/dnac/plugins/modules/pnp_device_unclaim.py @@ -21,8 +21,8 @@ options: elements: str type: list requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Device Onboarding (PnP) UnClaimDevice description: Complete reference of the UnClaimDevice API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/pnp_global_settings.py b/ansible_collections/cisco/dnac/plugins/modules/pnp_global_settings.py index fa5ff41b8..b7bd4f09e 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/pnp_global_settings.py +++ b/ansible_collections/cisco/dnac/plugins/modules/pnp_global_settings.py @@ -158,8 +158,8 @@ options: description: Pnp Global Settings's version. type: int requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Device Onboarding (PnP) UpdatePnPGlobalSettings description: Complete reference of the UpdatePnPGlobalSettings API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/pnp_global_settings_info.py b/ansible_collections/cisco/dnac/plugins/modules/pnp_global_settings_info.py index 9347be595..e9c124ec5 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/pnp_global_settings_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/pnp_global_settings_info.py @@ -20,8 +20,8 @@ options: description: Additional headers. type: dict requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Device Onboarding (PnP) GetPnPGlobalSettings description: Complete reference of the GetPnPGlobalSettings API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/pnp_intent.py b/ansible_collections/cisco/dnac/plugins/modules/pnp_intent.py index 3c71046a9..15d00b0dc 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/pnp_intent.py +++ b/ansible_collections/cisco/dnac/plugins/modules/pnp_intent.py @@ -158,7 +158,7 @@ options: - TYPICAL requirements: - dnacentersdk == 2.6.10 - - python >= 3.5 + - python >= 3.9 notes: - SDK Method used are device_onboarding_pnp.DeviceOnboardingPnp.add_device, device_onboarding_pnp.DeviceOnboardingPnp.get_device_list, @@ -429,6 +429,7 @@ class PnP(DnacBase): family="sites", function='get_site', params={"name": self.want.get("site_name")}, + op_modifies=True, ) except Exception: self.log("Exception occurred as site \ @@ -467,6 +468,7 @@ class PnP(DnacBase): family="sites", function='get_site', params={"name": self.want.get("site_name")}, + op_modifies=True, ) except Exception: self.log("Exception occurred as \ @@ -632,7 +634,7 @@ class PnP(DnacBase): self.pnp_cred_failure(msg=msg) claim_params["rfProfile"] = self.validated_config[0]["rf_profile"] - self.log("Paramters used for claiming are {0}".format(str(claim_params)), "INFO") + self.log("Parameters used for claiming are {0}".format(str(claim_params)), "INFO") return claim_params def get_reset_params(self): @@ -698,7 +700,8 @@ class PnP(DnacBase): device_response = self.dnac_apply['exec']( family="device_onboarding_pnp", function='get_device_list', - params={"serial_number": self.want.get("serial_number")} + params={"serial_number": self.want.get("serial_number")}, + op_modifies=True, ) self.log("Device details for the device with serial \ number '{0}': {1}".format(self.want.get("serial_number"), str(device_response)), "DEBUG") @@ -721,6 +724,7 @@ class PnP(DnacBase): family="software_image_management_swim", function='get_software_image_details', params=self.want.get("image_params"), + op_modifies=True, ) image_list = image_response.get("response") self.log("Image details obtained from the API 'get_software_image_details': {0}".format(str(image_response)), "DEBUG") @@ -730,13 +734,15 @@ class PnP(DnacBase): family="configuration_templates", function='gets_the_templates_available', params={"project_names": self.want.get("project_name")}, + op_modifies=True, ) self.log("List of templates under the project '{0}': {1}".format(self.want.get("project_name"), str(template_list)), "DEBUG") dev_details_response = self.dnac_apply['exec']( family="device_onboarding_pnp", function="get_device_by_id", - params={"id": device_response[0].get("id")} + params={"id": device_response[0].get("id")}, + op_modifies=True, ) self.log("Device details retrieved after calling the 'get_device_by_id' API: {0}".format(str(dev_details_response)), "DEBUG") install_mode = dev_details_response.get("deviceInfo").get("mode") @@ -899,7 +905,8 @@ class PnP(DnacBase): multi_device_response = self.dnac_apply['exec']( family="device_onboarding_pnp", function='get_device_list', - params={"serial_number": device["deviceInfo"]["serialNumber"]} + params={"serial_number": device["deviceInfo"]["serialNumber"]}, + op_modifies=True, ) self.log("Device details for serial number {0} \ obtained from the API 'get_device_list': {1}".format(device["deviceInfo"]["serialNumber"], str(multi_device_response)), "DEBUG") @@ -1034,7 +1041,8 @@ class PnP(DnacBase): dev_details_response = self.dnac_apply['exec']( family="device_onboarding_pnp", function="get_device_by_id", - params={"id": self.have["device_id"]} + params={"id": self.have["device_id"]}, + op_modifies=True, ) self.log("Response from 'get_device_by_id' API for device details: {0}".format(str(dev_details_response)), "DEBUG") @@ -1133,7 +1141,8 @@ class PnP(DnacBase): multi_device_response = self.dnac_apply['exec']( family="device_onboarding_pnp", function='get_device_list', - params={"serial_number": device["deviceInfo"]["serialNumber"]} + params={"serial_number": device["deviceInfo"]["serialNumber"]}, + op_modifies=True, ) self.log("Response from 'get_device_list' API for claiming: {0}".format(str(multi_device_response)), "DEBUG") if multi_device_response and len(multi_device_response) == 1: @@ -1190,7 +1199,8 @@ class PnP(DnacBase): device_response = self.dnac_apply['exec']( family="device_onboarding_pnp", function='get_device_list', - params={"serial_number": device["deviceInfo"]["serialNumber"]} + params={"serial_number": device["deviceInfo"]["serialNumber"]}, + op_modifies=True, ) if (device_response and (len(device_response) == 1)): msg = ( @@ -1230,7 +1240,8 @@ class PnP(DnacBase): device_response = self.dnac_apply['exec']( family="device_onboarding_pnp", function='get_device_list', - params={"serial_number": device["deviceInfo"]["serialNumber"]} + params={"serial_number": device["deviceInfo"]["serialNumber"]}, + op_modifies=True, ) if not (device_response and (len(device_response) == 1)): msg = ( diff --git a/ansible_collections/cisco/dnac/plugins/modules/pnp_server_profile_update.py b/ansible_collections/cisco/dnac/plugins/modules/pnp_server_profile_update.py index b6528b96b..ee90a6978 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/pnp_server_profile_update.py +++ b/ansible_collections/cisco/dnac/plugins/modules/pnp_server_profile_update.py @@ -99,8 +99,8 @@ options: description: Pnp Server Profile Update's virtualAccountId. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Device Onboarding (PnP) UpdatePnPServerProfile description: Complete reference of the UpdatePnPServerProfile API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/pnp_smart_account_domains_info.py b/ansible_collections/cisco/dnac/plugins/modules/pnp_smart_account_domains_info.py index 6f57ce11d..bc612723a 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/pnp_smart_account_domains_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/pnp_smart_account_domains_info.py @@ -20,8 +20,8 @@ options: description: Additional headers. type: dict requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Device Onboarding (PnP) GetSmartAccountList description: Complete reference of the GetSmartAccountList API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/pnp_virtual_account_add.py b/ansible_collections/cisco/dnac/plugins/modules/pnp_virtual_account_add.py index 0f8140822..7a3ceef87 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/pnp_virtual_account_add.py +++ b/ansible_collections/cisco/dnac/plugins/modules/pnp_virtual_account_add.py @@ -100,8 +100,8 @@ options: description: Pnp Virtual Account Add's virtualAccountId. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Device Onboarding (PnP) AddVirtualAccount description: Complete reference of the AddVirtualAccount API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/pnp_virtual_account_deregister.py b/ansible_collections/cisco/dnac/plugins/modules/pnp_virtual_account_deregister.py index 8f0d9d432..06af57d3b 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/pnp_virtual_account_deregister.py +++ b/ansible_collections/cisco/dnac/plugins/modules/pnp_virtual_account_deregister.py @@ -26,8 +26,8 @@ options: description: Name query parameter. Virtual Account Name. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Device Onboarding (PnP) DeregisterVirtualAccount description: Complete reference of the DeregisterVirtualAccount API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/pnp_virtual_account_devices_sync.py b/ansible_collections/cisco/dnac/plugins/modules/pnp_virtual_account_devices_sync.py index 6a1c0da09..208bd3352 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/pnp_virtual_account_devices_sync.py +++ b/ansible_collections/cisco/dnac/plugins/modules/pnp_virtual_account_devices_sync.py @@ -99,8 +99,8 @@ options: description: Pnp Virtual Account Devices Sync's virtualAccountId. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Device Onboarding (PnP) SyncVirtualAccountDevices description: Complete reference of the SyncVirtualAccountDevices API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/pnp_virtual_account_sync_result_info.py b/ansible_collections/cisco/dnac/plugins/modules/pnp_virtual_account_sync_result_info.py index e3c37abe0..61a07cb79 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/pnp_virtual_account_sync_result_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/pnp_virtual_account_sync_result_info.py @@ -28,8 +28,8 @@ options: - Name path parameter. Virtual Account Name. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Device Onboarding (PnP) GetSyncResultForVirtualAccount description: Complete reference of the GetSyncResultForVirtualAccount API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/pnp_virtual_accounts_info.py b/ansible_collections/cisco/dnac/plugins/modules/pnp_virtual_accounts_info.py index 40ed3ac75..635a189d5 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/pnp_virtual_accounts_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/pnp_virtual_accounts_info.py @@ -24,8 +24,8 @@ options: - Domain path parameter. Smart Account Domain. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Device Onboarding (PnP) GetVirtualAccountList description: Complete reference of the GetVirtualAccountList API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/pnp_workflow.py b/ansible_collections/cisco/dnac/plugins/modules/pnp_workflow.py index 5a5850959..d8658e0ea 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/pnp_workflow.py +++ b/ansible_collections/cisco/dnac/plugins/modules/pnp_workflow.py @@ -128,8 +128,8 @@ options: description: Pnp Workflow's version. type: int requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Device Onboarding (PnP) AddAWorkflow description: Complete reference of the AddAWorkflow API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/pnp_workflow_count_info.py b/ansible_collections/cisco/dnac/plugins/modules/pnp_workflow_count_info.py index 215330a78..3c835c119 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/pnp_workflow_count_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/pnp_workflow_count_info.py @@ -25,8 +25,8 @@ options: elements: str type: list requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Device Onboarding (PnP) GetWorkflowCount description: Complete reference of the GetWorkflowCount API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/pnp_workflow_info.py b/ansible_collections/cisco/dnac/plugins/modules/pnp_workflow_info.py index 7a00e17bc..d91ea342b 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/pnp_workflow_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/pnp_workflow_info.py @@ -55,8 +55,8 @@ options: - Id path parameter. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Device Onboarding (PnP) GetWorkflowById description: Complete reference of the GetWorkflowById API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/pnp_workflow_manager.py b/ansible_collections/cisco/dnac/plugins/modules/pnp_workflow_manager.py index e1b334f71..909670645 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/pnp_workflow_manager.py +++ b/ansible_collections/cisco/dnac/plugins/modules/pnp_workflow_manager.py @@ -158,7 +158,7 @@ options: - TYPICAL requirements: - dnacentersdk == 2.6.10 - - python >= 3.5 + - python >= 3.9 notes: - SDK Method used are device_onboarding_pnp.DeviceOnboardingPnp.add_device, device_onboarding_pnp.DeviceOnboardingPnp.get_device_list, @@ -429,6 +429,7 @@ class PnP(DnacBase): family="sites", function='get_site', params={"name": self.want.get("site_name")}, + op_modifies=True, ) except Exception: self.log("Exception occurred as site \ @@ -467,6 +468,7 @@ class PnP(DnacBase): family="sites", function='get_site', params={"name": self.want.get("site_name")}, + op_modifies=True, ) except Exception: self.log("Exception occurred as \ @@ -632,7 +634,7 @@ class PnP(DnacBase): self.pnp_cred_failure(msg=msg) claim_params["rfProfile"] = self.validated_config[0]["rf_profile"] - self.log("Paramters used for claiming are {0}".format(str(claim_params)), "INFO") + self.log("Parameters used for claiming are {0}".format(str(claim_params)), "INFO") return claim_params def get_reset_params(self): @@ -698,7 +700,8 @@ class PnP(DnacBase): device_response = self.dnac_apply['exec']( family="device_onboarding_pnp", function='get_device_list', - params={"serial_number": self.want.get("serial_number")} + params={"serial_number": self.want.get("serial_number")}, + op_modifies=True, ) self.log("Device details for the device with serial \ number '{0}': {1}".format(self.want.get("serial_number"), str(device_response)), "DEBUG") @@ -721,6 +724,7 @@ class PnP(DnacBase): family="software_image_management_swim", function='get_software_image_details', params=self.want.get("image_params"), + op_modifies=True, ) image_list = image_response.get("response") self.log("Image details obtained from the API 'get_software_image_details': {0}".format(str(image_response)), "DEBUG") @@ -730,13 +734,15 @@ class PnP(DnacBase): family="configuration_templates", function='gets_the_templates_available', params={"project_names": self.want.get("project_name")}, + op_modifies=True, ) self.log("List of templates under the project '{0}': {1}".format(self.want.get("project_name"), str(template_list)), "DEBUG") dev_details_response = self.dnac_apply['exec']( family="device_onboarding_pnp", function="get_device_by_id", - params={"id": device_response[0].get("id")} + params={"id": device_response[0].get("id")}, + op_modifies=True, ) self.log("Device details retrieved after calling the 'get_device_by_id' API: {0}".format(str(dev_details_response)), "DEBUG") install_mode = dev_details_response.get("deviceInfo").get("mode") @@ -899,7 +905,8 @@ class PnP(DnacBase): multi_device_response = self.dnac_apply['exec']( family="device_onboarding_pnp", function='get_device_list', - params={"serial_number": device["deviceInfo"]["serialNumber"]} + params={"serial_number": device["deviceInfo"]["serialNumber"]}, + op_modifies=True, ) self.log("Device details for serial number {0} \ obtained from the API 'get_device_list': {1}".format(device["deviceInfo"]["serialNumber"], str(multi_device_response)), "DEBUG") @@ -1034,7 +1041,8 @@ class PnP(DnacBase): dev_details_response = self.dnac_apply['exec']( family="device_onboarding_pnp", function="get_device_by_id", - params={"id": self.have["device_id"]} + params={"id": self.have["device_id"]}, + op_modifies=True, ) self.log("Response from 'get_device_by_id' API for device details: {0}".format(str(dev_details_response)), "DEBUG") @@ -1133,7 +1141,8 @@ class PnP(DnacBase): multi_device_response = self.dnac_apply['exec']( family="device_onboarding_pnp", function='get_device_list', - params={"serial_number": device["deviceInfo"]["serialNumber"]} + params={"serial_number": device["deviceInfo"]["serialNumber"]}, + op_modifies=True, ) self.log("Response from 'get_device_list' API for claiming: {0}".format(str(multi_device_response)), "DEBUG") if multi_device_response and len(multi_device_response) == 1: @@ -1190,7 +1199,8 @@ class PnP(DnacBase): device_response = self.dnac_apply['exec']( family="device_onboarding_pnp", function='get_device_list', - params={"serial_number": device["deviceInfo"]["serialNumber"]} + params={"serial_number": device["deviceInfo"]["serialNumber"]}, + op_modifies=True, ) if (device_response and (len(device_response) == 1)): msg = ( @@ -1230,7 +1240,8 @@ class PnP(DnacBase): device_response = self.dnac_apply['exec']( family="device_onboarding_pnp", function='get_device_list', - params={"serial_number": device["deviceInfo"]["serialNumber"]} + params={"serial_number": device["deviceInfo"]["serialNumber"]}, + op_modifies=True, ) if not (device_response and (len(device_response) == 1)): msg = ( diff --git a/ansible_collections/cisco/dnac/plugins/modules/profiling_rules_count_info.py b/ansible_collections/cisco/dnac/plugins/modules/profiling_rules_count_info.py index a3181b3c6..461adba26 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/profiling_rules_count_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/profiling_rules_count_info.py @@ -29,8 +29,8 @@ options: - IncludeDeleted query parameter. Flag to indicate whether deleted rules should be part of the records fetched. type: bool requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 notes: - SDK Method used are policy.Policy.get_count_of_profiling_rules, diff --git a/ansible_collections/cisco/dnac/plugins/modules/profiling_rules_in_bulk_create.py b/ansible_collections/cisco/dnac/plugins/modules/profiling_rules_in_bulk_create.py index 8e5b49c2d..ec2bfc306 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/profiling_rules_in_bulk_create.py +++ b/ansible_collections/cisco/dnac/plugins/modules/profiling_rules_in_bulk_create.py @@ -121,8 +121,8 @@ options: type: list type: list requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 notes: - SDK Method used are policy.Policy.import_profiling_rules_in_bulk, diff --git a/ansible_collections/cisco/dnac/plugins/modules/projects_details_info.py b/ansible_collections/cisco/dnac/plugins/modules/projects_details_info.py index 704c881e2..2185060fd 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/projects_details_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/projects_details_info.py @@ -40,8 +40,8 @@ options: - SortOrder query parameter. Sort Order Ascending (asc) or Descending (dsc). type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Configuration Templates GetProjectsDetails description: Complete reference of the GetProjectsDetails API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/provision_intent.py b/ansible_collections/cisco/dnac/plugins/modules/provision_intent.py index 4a3c8a228..1c19ed0c7 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/provision_intent.py +++ b/ansible_collections/cisco/dnac/plugins/modules/provision_intent.py @@ -74,7 +74,7 @@ options: requirements: - dnacentersdk == 2.4.5 -- python >= 3.5 +- python >= 3.9 notes: - SDK Methods used are sites.Sites.get_site, @@ -246,7 +246,8 @@ class Dnacprovision(DnacBase): 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[0]["management_ip_address"]}, + op_modifies=True ) dev_dict = dev_response.get("response") @@ -282,6 +283,7 @@ class Dnacprovision(DnacBase): family="task", function='get_task_by_id', params=params, + op_modifies=True ) response = response.response if response.get('isError') or re.search( @@ -321,6 +323,7 @@ class Dnacprovision(DnacBase): family="sites", function='get_site', params={"name": site_name}, + op_modifies=True ) except Exception: self.module.fail_json(msg="Site not found", response=[]) @@ -403,7 +406,8 @@ class Dnacprovision(DnacBase): response = self.dnac_apply['exec']( family="devices", function='get_network_device_by_ip', - params={"management_ip_address": self.validated_config[0]["management_ip_address"]} + params={"management_ip_address": self.validated_config[0]["management_ip_address"]}, + op_modifies=True ) wireless_params[0]["deviceName"] = response.get("response")[0].get("hostname") diff --git a/ansible_collections/cisco/dnac/plugins/modules/provision_workflow_manager.py b/ansible_collections/cisco/dnac/plugins/modules/provision_workflow_manager.py index 27ae58141..cd99f3de6 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/provision_workflow_manager.py +++ b/ansible_collections/cisco/dnac/plugins/modules/provision_workflow_manager.py @@ -75,7 +75,7 @@ options: requirements: - dnacentersdk == 2.4.5 -- python >= 3.5 +- python >= 3.9 notes: - SDK Methods used are sites.Sites.get_site, @@ -251,7 +251,8 @@ class Provision(DnacBase): 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[0]["management_ip_address"]}, + op_modifies=True ) self.log("The device response from 'get_network_device_by_ip' API is {0}".format(str(dev_response)), "DEBUG") @@ -289,6 +290,7 @@ class Provision(DnacBase): family="task", function='get_task_by_id', params=params, + op_modifies=True ) self.log("Response collected from 'get_task_by_id' API is {0}".format(str(response)), "DEBUG") response = response.response @@ -330,6 +332,7 @@ class Provision(DnacBase): family="sites", function='get_site', params={"name": site_name_hierarchy}, + op_modifies=True ) except Exception: self.log("Exception occurred as \ @@ -418,7 +421,8 @@ class Provision(DnacBase): response = self.dnac_apply['exec']( family="devices", function='get_network_device_by_ip', - params={"management_ip_address": self.validated_config[0]["management_ip_address"]} + params={"management_ip_address": self.validated_config[0]["management_ip_address"]}, + op_modifies=True ) self.log("Response collected from 'get_network_device_by_ip' is:{0}".format(str(response)), "DEBUG") @@ -475,17 +479,14 @@ class Provision(DnacBase): device_type = self.want.get("device_type") 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 = {} + 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"] + }, + ) 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") diff --git a/ansible_collections/cisco/dnac/plugins/modules/qos_device_interface.py b/ansible_collections/cisco/dnac/plugins/modules/qos_device_interface.py index 2c7881cb7..e9b67c760 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/qos_device_interface.py +++ b/ansible_collections/cisco/dnac/plugins/modules/qos_device_interface.py @@ -70,8 +70,8 @@ options: type: list type: list requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Application Policy CreateQosDeviceInterfaceInfo description: Complete reference of the CreateQosDeviceInterfaceInfo API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/qos_device_interface_info.py b/ansible_collections/cisco/dnac/plugins/modules/qos_device_interface_info.py index 98f070c58..ad7bb2bbe 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/qos_device_interface_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/qos_device_interface_info.py @@ -24,8 +24,8 @@ options: - NetworkDeviceId query parameter. Network device id. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Application Policy GetQosDeviceInterfaceInfo description: Complete reference of the GetQosDeviceInterfaceInfo API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/qos_device_interface_info_count_info.py b/ansible_collections/cisco/dnac/plugins/modules/qos_device_interface_info_count_info.py index fd872ab6e..f77c2ce31 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/qos_device_interface_info_count_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/qos_device_interface_info_count_info.py @@ -20,8 +20,8 @@ options: description: Additional headers. type: dict requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Application Policy GetQosDeviceInterfaceInfoCount description: Complete reference of the GetQosDeviceInterfaceInfoCount API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/reports.py b/ansible_collections/cisco/dnac/plugins/modules/reports.py index 039746e73..3e7eab25c 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/reports.py +++ b/ansible_collections/cisco/dnac/plugins/modules/reports.py @@ -103,8 +103,8 @@ options: description: Version of viewgroup for the report. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Reports CreateOrScheduleAReport description: Complete reference of the CreateOrScheduleAReport API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/reports_executions_info.py b/ansible_collections/cisco/dnac/plugins/modules/reports_executions_info.py index 2002682db..f12cd7caa 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/reports_executions_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/reports_executions_info.py @@ -44,8 +44,8 @@ options: - The filename used to save the download file. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Reports DownloadReportContent description: Complete reference of the DownloadReportContent API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/reports_info.py b/ansible_collections/cisco/dnac/plugins/modules/reports_info.py index 963b6bb16..aed7e10df 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/reports_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/reports_info.py @@ -34,8 +34,8 @@ options: - ReportId path parameter. ReportId of report. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Reports GetAScheduledReport description: Complete reference of the GetAScheduledReport API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/reports_view_group_info.py b/ansible_collections/cisco/dnac/plugins/modules/reports_view_group_info.py index 71fd405a9..76b131718 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/reports_view_group_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/reports_view_group_info.py @@ -28,8 +28,8 @@ options: - ViewGroupId path parameter. ViewGroupId of viewgroup. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Reports GetAllViewGroups description: Complete reference of the GetAllViewGroups API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/reports_view_group_view_info.py b/ansible_collections/cisco/dnac/plugins/modules/reports_view_group_view_info.py index 791e4a0d6..11889bac9 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/reports_view_group_view_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/reports_view_group_view_info.py @@ -30,8 +30,8 @@ options: - ViewId path parameter. View id of view. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Reports GetViewDetailsForAGivenViewGroup_View description: Complete reference of the GetViewDetailsForAGivenViewGroup_View API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/reserve_ip_subpool.py b/ansible_collections/cisco/dnac/plugins/modules/reserve_ip_subpool.py index 8d0d75295..507b0e078 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/reserve_ip_subpool.py +++ b/ansible_collections/cisco/dnac/plugins/modules/reserve_ip_subpool.py @@ -94,8 +94,8 @@ options: description: Type of the reserve ip sub pool. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Network Settings ReserveIPSubpool description: Complete reference of the ReserveIPSubpool API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/reserve_ip_subpool_create.py b/ansible_collections/cisco/dnac/plugins/modules/reserve_ip_subpool_create.py index ad78c5f91..699e7c96c 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/reserve_ip_subpool_create.py +++ b/ansible_collections/cisco/dnac/plugins/modules/reserve_ip_subpool_create.py @@ -88,8 +88,8 @@ options: description: Type of the reserve ip sub pool. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Network Settings ReserveIPSubpool description: Complete reference of the ReserveIPSubpool API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/reserve_ip_subpool_delete.py b/ansible_collections/cisco/dnac/plugins/modules/reserve_ip_subpool_delete.py index d4471c2a9..65ecd4733 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/reserve_ip_subpool_delete.py +++ b/ansible_collections/cisco/dnac/plugins/modules/reserve_ip_subpool_delete.py @@ -20,8 +20,8 @@ options: description: Id path parameter. Id of reserve ip subpool to be deleted. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Network Settings ReleaseReserveIPSubpool description: Complete reference of the ReleaseReserveIPSubpool API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/reserve_ip_subpool_info.py b/ansible_collections/cisco/dnac/plugins/modules/reserve_ip_subpool_info.py index ab1a52955..ec3c76d16 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/reserve_ip_subpool_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/reserve_ip_subpool_info.py @@ -32,8 +32,8 @@ options: - Limit query parameter. No of Global Pools to be retrieved. type: int requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Network Settings GetReserveIPSubpool description: Complete reference of the GetReserveIPSubpool API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/reserve_ip_subpool_update.py b/ansible_collections/cisco/dnac/plugins/modules/reserve_ip_subpool_update.py index 3e960395f..4bf71c42c 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/reserve_ip_subpool_update.py +++ b/ansible_collections/cisco/dnac/plugins/modules/reserve_ip_subpool_update.py @@ -72,8 +72,8 @@ options: description: Slaac Support. type: bool requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Network Settings UpdateReserveIPSubpool description: Complete reference of the UpdateReserveIPSubpool API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/role_permissions_info.py b/ansible_collections/cisco/dnac/plugins/modules/role_permissions_info.py index 3f520a697..51957ed06 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/role_permissions_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/role_permissions_info.py @@ -20,8 +20,8 @@ options: description: Additional headers. type: dict requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for User and Roles GetPermissionsAPI description: Complete reference of the GetPermissionsAPI API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/roles_info.py b/ansible_collections/cisco/dnac/plugins/modules/roles_info.py index 3e719be1a..a8ce30ddf 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/roles_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/roles_info.py @@ -20,8 +20,8 @@ options: description: Additional headers. type: dict requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for User and Roles GetRolesAPI description: Complete reference of the GetRolesAPI API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/sda_count_info.py b/ansible_collections/cisco/dnac/plugins/modules/sda_count_info.py index a80b1d359..d942591c1 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/sda_count_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/sda_count_info.py @@ -20,8 +20,8 @@ options: description: Additional headers. type: dict requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 notes: - SDK Method used are sda.Sda.get_sda_fabric_count, diff --git a/ansible_collections/cisco/dnac/plugins/modules/sda_device_info.py b/ansible_collections/cisco/dnac/plugins/modules/sda_device_info.py index db40c572b..22029fe55 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/sda_device_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/sda_device_info.py @@ -24,8 +24,8 @@ options: - DeviceManagementIpAddress query parameter. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for SDA GetDeviceInfoFromSDAFabric description: Complete reference of the GetDeviceInfoFromSDAFabric API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/sda_device_role_info.py b/ansible_collections/cisco/dnac/plugins/modules/sda_device_role_info.py index 2a857d803..b06a698a1 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/sda_device_role_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/sda_device_role_info.py @@ -24,8 +24,8 @@ options: - DeviceManagementIpAddress query parameter. Device Management IP Address. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for SDA GetDeviceRoleInSDAFabric description: Complete reference of the GetDeviceRoleInSDAFabric API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/sda_fabric.py b/ansible_collections/cisco/dnac/plugins/modules/sda_fabric.py index 158e6f1e6..f068b0e1e 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/sda_fabric.py +++ b/ansible_collections/cisco/dnac/plugins/modules/sda_fabric.py @@ -21,8 +21,8 @@ options: description: FabricName query parameter. Fabric Name. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 notes: - SDK Method used are sda.Sda.add_fabric, diff --git a/ansible_collections/cisco/dnac/plugins/modules/sda_fabric_authentication_profile.py b/ansible_collections/cisco/dnac/plugins/modules/sda_fabric_authentication_profile.py index 51b32887b..925e28fa1 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/sda_fabric_authentication_profile.py +++ b/ansible_collections/cisco/dnac/plugins/modules/sda_fabric_authentication_profile.py @@ -34,8 +34,8 @@ options: description: SiteNameHierarchy query parameter. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for SDA AddDefaultAuthenticationTemplateInSDAFabric description: Complete reference of the AddDefaultAuthenticationTemplateInSDAFabric API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/sda_fabric_authentication_profile_info.py b/ansible_collections/cisco/dnac/plugins/modules/sda_fabric_authentication_profile_info.py index 7d810bb81..619af5f01 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/sda_fabric_authentication_profile_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/sda_fabric_authentication_profile_info.py @@ -29,8 +29,8 @@ options: - AuthenticateTemplateName query parameter. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for SDA GetDefaultAuthenticationProfileFromSDAFabric description: Complete reference of the GetDefaultAuthenticationProfileFromSDAFabric API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/sda_fabric_border_device.py b/ansible_collections/cisco/dnac/plugins/modules/sda_fabric_border_device.py index 960e9d7cd..e2441daf8 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/sda_fabric_border_device.py +++ b/ansible_collections/cisco/dnac/plugins/modules/sda_fabric_border_device.py @@ -125,8 +125,8 @@ options: type: str type: list requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for SDA AddBorderDeviceInSDAFabric description: Complete reference of the AddBorderDeviceInSDAFabric API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/sda_fabric_border_device_info.py b/ansible_collections/cisco/dnac/plugins/modules/sda_fabric_border_device_info.py index 329040201..c4318cd73 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/sda_fabric_border_device_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/sda_fabric_border_device_info.py @@ -25,8 +25,8 @@ options: - DeviceManagementIpAddress query parameter. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for SDA GetBorderDeviceDetailFromSDAFabric description: Complete reference of the GetBorderDeviceDetailFromSDAFabric API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/sda_fabric_control_plane_device.py b/ansible_collections/cisco/dnac/plugins/modules/sda_fabric_control_plane_device.py index 2f7189b35..ff3ecf449 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/sda_fabric_control_plane_device.py +++ b/ansible_collections/cisco/dnac/plugins/modules/sda_fabric_control_plane_device.py @@ -31,8 +31,8 @@ options: type: str version_added: 4.0.0 requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for SDA AddControlPlaneDeviceInSDAFabric description: Complete reference of the AddControlPlaneDeviceInSDAFabric API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/sda_fabric_control_plane_device_info.py b/ansible_collections/cisco/dnac/plugins/modules/sda_fabric_control_plane_device_info.py index 837a4d543..9267a7014 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/sda_fabric_control_plane_device_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/sda_fabric_control_plane_device_info.py @@ -25,8 +25,8 @@ options: - DeviceManagementIpAddress query parameter. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for SDA GetControlPlaneDeviceFromSDAFabric description: Complete reference of the GetControlPlaneDeviceFromSDAFabric API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/sda_fabric_edge_device.py b/ansible_collections/cisco/dnac/plugins/modules/sda_fabric_edge_device.py index 800ca6d3c..9bcde0422 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/sda_fabric_edge_device.py +++ b/ansible_collections/cisco/dnac/plugins/modules/sda_fabric_edge_device.py @@ -26,8 +26,8 @@ options: type: str version_added: 4.0.0 requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for SDA AddEdgeDeviceInSDAFabric description: Complete reference of the AddEdgeDeviceInSDAFabric API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/sda_fabric_edge_device_info.py b/ansible_collections/cisco/dnac/plugins/modules/sda_fabric_edge_device_info.py index 7d94ac466..a4f6eecc2 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/sda_fabric_edge_device_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/sda_fabric_edge_device_info.py @@ -24,8 +24,8 @@ options: - DeviceManagementIpAddress query parameter. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for SDA GetEdgeDeviceFromSDAFabric description: Complete reference of the GetEdgeDeviceFromSDAFabric API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/sda_fabric_info.py b/ansible_collections/cisco/dnac/plugins/modules/sda_fabric_info.py index c0e49de7d..c44290025 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/sda_fabric_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/sda_fabric_info.py @@ -24,8 +24,8 @@ options: - FabricName query parameter. Fabric Name. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 notes: - SDK Method used are sda.Sda.get_sda_fabric_info, diff --git a/ansible_collections/cisco/dnac/plugins/modules/sda_fabric_site.py b/ansible_collections/cisco/dnac/plugins/modules/sda_fabric_site.py index 2b7e6f8d4..eed71ad48 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/sda_fabric_site.py +++ b/ansible_collections/cisco/dnac/plugins/modules/sda_fabric_site.py @@ -31,8 +31,8 @@ options: description: SiteNameHierarchy query parameter. Site Name Hierarchy. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for SDA AddSiteInSDAFabric description: Complete reference of the AddSiteInSDAFabric API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/sda_fabric_site_info.py b/ansible_collections/cisco/dnac/plugins/modules/sda_fabric_site_info.py index c0c115828..bd2e8c177 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/sda_fabric_site_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/sda_fabric_site_info.py @@ -24,8 +24,8 @@ options: - SiteNameHierarchy query parameter. Site Name Hierarchy. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for SDA GetSiteFromSDAFabric description: Complete reference of the GetSiteFromSDAFabric API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/sda_multicast.py b/ansible_collections/cisco/dnac/plugins/modules/sda_multicast.py index 4ee828f02..6e1045c5d 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/sda_multicast.py +++ b/ansible_collections/cisco/dnac/plugins/modules/sda_multicast.py @@ -56,8 +56,8 @@ options: description: Full path of sda Fabric Site. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for SDA AddMulticastInSDAFabric description: Complete reference of the AddMulticastInSDAFabric API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/sda_multicast_info.py b/ansible_collections/cisco/dnac/plugins/modules/sda_multicast_info.py index 959c9ed2f..2f4ae1218 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/sda_multicast_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/sda_multicast_info.py @@ -24,8 +24,8 @@ options: - SiteNameHierarchy query parameter. Fabric site name hierarchy. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for SDA GetMulticastDetailsFromSDAFabric description: Complete reference of the GetMulticastDetailsFromSDAFabric API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/sda_port_assignment_for_access_point.py b/ansible_collections/cisco/dnac/plugins/modules/sda_port_assignment_for_access_point.py index 39b7df6e5..c8280407d 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/sda_port_assignment_for_access_point.py +++ b/ansible_collections/cisco/dnac/plugins/modules/sda_port_assignment_for_access_point.py @@ -41,8 +41,8 @@ options: type: str version_added: 4.0.0 requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for SDA AddPortAssignmentForAccessPointInSDAFabric description: Complete reference of the AddPortAssignmentForAccessPointInSDAFabric API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/sda_port_assignment_for_access_point_info.py b/ansible_collections/cisco/dnac/plugins/modules/sda_port_assignment_for_access_point_info.py index 45dc1ea39..3cdb7cd3a 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/sda_port_assignment_for_access_point_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/sda_port_assignment_for_access_point_info.py @@ -29,8 +29,8 @@ options: - InterfaceName query parameter. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for SDA GetPortAssignmentForAccessPointInSDAFabric description: Complete reference of the GetPortAssignmentForAccessPointInSDAFabric API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/sda_port_assignment_for_user_device.py b/ansible_collections/cisco/dnac/plugins/modules/sda_port_assignment_for_user_device.py index 15c389ce6..58664b8e2 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/sda_port_assignment_for_user_device.py +++ b/ansible_collections/cisco/dnac/plugins/modules/sda_port_assignment_for_user_device.py @@ -54,8 +54,8 @@ options: type: str version_added: 4.0.0 requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for SDA AddPortAssignmentForUserDeviceInSDAFabric description: Complete reference of the AddPortAssignmentForUserDeviceInSDAFabric API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/sda_port_assignment_for_user_device_info.py b/ansible_collections/cisco/dnac/plugins/modules/sda_port_assignment_for_user_device_info.py index e62e9ae3c..2fdbee046 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/sda_port_assignment_for_user_device_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/sda_port_assignment_for_user_device_info.py @@ -28,8 +28,8 @@ options: - InterfaceName query parameter. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for SDA GetPortAssignmentForUserDeviceInSDAFabric description: Complete reference of the GetPortAssignmentForUserDeviceInSDAFabric API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/sda_provision_device.py b/ansible_collections/cisco/dnac/plugins/modules/sda_provision_device.py index 97c12fae0..5940634b8 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/sda_provision_device.py +++ b/ansible_collections/cisco/dnac/plugins/modules/sda_provision_device.py @@ -26,8 +26,8 @@ options: description: SiteNameHierarchy of the provisioned device. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for SDA ProvisionWiredDevice description: Complete reference of the ProvisionWiredDevice API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/sda_provision_device_info.py b/ansible_collections/cisco/dnac/plugins/modules/sda_provision_device_info.py index a57d73303..ae78549ec 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/sda_provision_device_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/sda_provision_device_info.py @@ -24,8 +24,8 @@ options: - DeviceManagementIpAddress query parameter. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for SDA GetProvisionedWiredDevice description: Complete reference of the GetProvisionedWiredDevice API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/sda_virtual_network.py b/ansible_collections/cisco/dnac/plugins/modules/sda_virtual_network.py index 5231d8b95..09d01e5ed 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/sda_virtual_network.py +++ b/ansible_collections/cisco/dnac/plugins/modules/sda_virtual_network.py @@ -24,8 +24,8 @@ options: description: VirtualNetworkName query parameter. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for SDA AddVNInFabric description: Complete reference of the AddVNInFabric API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/sda_virtual_network_info.py b/ansible_collections/cisco/dnac/plugins/modules/sda_virtual_network_info.py index 073937177..560c9179f 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/sda_virtual_network_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/sda_virtual_network_info.py @@ -28,8 +28,8 @@ options: - SiteNameHierarchy query parameter. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for SDA GetVNFromSDAFabric description: Complete reference of the GetVNFromSDAFabric API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/sda_virtual_network_ip_pool.py b/ansible_collections/cisco/dnac/plugins/modules/sda_virtual_network_ip_pool.py index c0242821c..71bdf744f 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/sda_virtual_network_ip_pool.py +++ b/ansible_collections/cisco/dnac/plugins/modules/sda_virtual_network_ip_pool.py @@ -83,8 +83,8 @@ options: type: str version_added: 4.0.0 requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for SDA AddIPPoolInSDAVirtualNetwork description: Complete reference of the AddIPPoolInSDAVirtualNetwork API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/sda_virtual_network_ip_pool_info.py b/ansible_collections/cisco/dnac/plugins/modules/sda_virtual_network_ip_pool_info.py index 205199cf5..35de542c6 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/sda_virtual_network_ip_pool_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/sda_virtual_network_ip_pool_info.py @@ -34,8 +34,8 @@ options: - IpPoolName query parameter. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for SDA GetIPPoolFromSDAVirtualNetwork description: Complete reference of the GetIPPoolFromSDAVirtualNetwork API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/sda_virtual_network_v2.py b/ansible_collections/cisco/dnac/plugins/modules/sda_virtual_network_v2.py index 37e862ae5..27bffd8d9 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/sda_virtual_network_v2.py +++ b/ansible_collections/cisco/dnac/plugins/modules/sda_virtual_network_v2.py @@ -32,8 +32,8 @@ options: description: Virtual Network Name to be assigned at global level. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for SDA AddVirtualNetworkWithScalableGroups description: Complete reference of the AddVirtualNetworkWithScalableGroups API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/sda_virtual_network_v2_info.py b/ansible_collections/cisco/dnac/plugins/modules/sda_virtual_network_v2_info.py index b1b408c08..fc73454d1 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/sda_virtual_network_v2_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/sda_virtual_network_v2_info.py @@ -24,8 +24,8 @@ options: - VirtualNetworkName query parameter. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for SDA GetVirtualNetworkWithScalableGroups description: Complete reference of the GetVirtualNetworkWithScalableGroups API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/security_advisories_devices_info.py b/ansible_collections/cisco/dnac/plugins/modules/security_advisories_devices_info.py index 0a0bf0c90..977fe48cd 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/security_advisories_devices_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/security_advisories_devices_info.py @@ -24,8 +24,8 @@ options: - AdvisoryId path parameter. Advisory ID. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Security Advisories GetDevicesPerAdvisory description: Complete reference of the GetDevicesPerAdvisory API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/security_advisories_ids_per_device_info.py b/ansible_collections/cisco/dnac/plugins/modules/security_advisories_ids_per_device_info.py index 8bf7638d9..47f2db396 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/security_advisories_ids_per_device_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/security_advisories_ids_per_device_info.py @@ -24,8 +24,8 @@ options: - DeviceId path parameter. Device instance UUID. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Security Advisories GetAdvisoryIDsPerDevice description: Complete reference of the GetAdvisoryIDsPerDevice API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/security_advisories_info.py b/ansible_collections/cisco/dnac/plugins/modules/security_advisories_info.py index b0b551cd9..a2d860316 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/security_advisories_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/security_advisories_info.py @@ -20,8 +20,8 @@ options: description: Additional headers. type: dict requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Security Advisories GetAdvisoriesList description: Complete reference of the GetAdvisoriesList API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/security_advisories_per_device_info.py b/ansible_collections/cisco/dnac/plugins/modules/security_advisories_per_device_info.py index 54735ee13..486bb4654 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/security_advisories_per_device_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/security_advisories_per_device_info.py @@ -24,8 +24,8 @@ options: - DeviceId path parameter. Device instance UUID. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Security Advisories GetAdvisoriesPerDevice description: Complete reference of the GetAdvisoriesPerDevice API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/security_advisories_summary_info.py b/ansible_collections/cisco/dnac/plugins/modules/security_advisories_summary_info.py index 4709ca6b9..88440aceb 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/security_advisories_summary_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/security_advisories_summary_info.py @@ -20,8 +20,8 @@ options: description: Additional headers. type: dict requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Security Advisories GetAdvisoriesSummary description: Complete reference of the GetAdvisoriesSummary API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/sensor.py b/ansible_collections/cisco/dnac/plugins/modules/sensor.py index 4ac0fc8bd..c98887c45 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/sensor.py +++ b/ansible_collections/cisco/dnac/plugins/modules/sensor.py @@ -87,8 +87,8 @@ options: description: TemplateName query parameter. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Sensors CreateSensorTestTemplate description: Complete reference of the CreateSensorTestTemplate API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/sensor_info.py b/ansible_collections/cisco/dnac/plugins/modules/sensor_info.py index 20bbeae04..2955ceac1 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/sensor_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/sensor_info.py @@ -24,8 +24,8 @@ options: - SiteId query parameter. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Sensors Sensors description: Complete reference of the Sensors API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/sensor_test_run.py b/ansible_collections/cisco/dnac/plugins/modules/sensor_test_run.py index ac13177e0..cb800c968 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/sensor_test_run.py +++ b/ansible_collections/cisco/dnac/plugins/modules/sensor_test_run.py @@ -20,8 +20,8 @@ options: description: Template Name. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Sensors RunNowSensorTest description: Complete reference of the RunNowSensorTest API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/sensor_test_template_duplicate.py b/ansible_collections/cisco/dnac/plugins/modules/sensor_test_template_duplicate.py index 513178c5e..85cad96d2 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/sensor_test_template_duplicate.py +++ b/ansible_collections/cisco/dnac/plugins/modules/sensor_test_template_duplicate.py @@ -23,8 +23,8 @@ options: description: Template Name. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Sensors DuplicateSensorTestTemplate description: Complete reference of the DuplicateSensorTestTemplate API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/sensor_test_template_edit.py b/ansible_collections/cisco/dnac/plugins/modules/sensor_test_template_edit.py index aa993bd10..b8bf3f3b4 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/sensor_test_template_edit.py +++ b/ansible_collections/cisco/dnac/plugins/modules/sensor_test_template_edit.py @@ -83,8 +83,8 @@ options: description: Template Name. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Sensors EditSensorTestTemplate description: Complete reference of the EditSensorTestTemplate API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/service_provider_create.py b/ansible_collections/cisco/dnac/plugins/modules/service_provider_create.py index 44ef4888b..2ce62b664 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/service_provider_create.py +++ b/ansible_collections/cisco/dnac/plugins/modules/service_provider_create.py @@ -35,8 +35,8 @@ options: type: list type: dict requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Network Settings CreateSPProfile description: Complete reference of the CreateSPProfile API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/service_provider_info.py b/ansible_collections/cisco/dnac/plugins/modules/service_provider_info.py index 6444f7978..d2bc282f3 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/service_provider_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/service_provider_info.py @@ -20,8 +20,8 @@ options: description: Additional headers. type: dict requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Network Settings GetServiceProviderDetails description: Complete reference of the GetServiceProviderDetails API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/service_provider_profile_delete.py b/ansible_collections/cisco/dnac/plugins/modules/service_provider_profile_delete.py index ec7330c64..0d076885e 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/service_provider_profile_delete.py +++ b/ansible_collections/cisco/dnac/plugins/modules/service_provider_profile_delete.py @@ -20,8 +20,8 @@ options: description: SpProfileName path parameter. Sp profile name. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Network Settings DeleteSPProfile description: Complete reference of the DeleteSPProfile API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/service_provider_update.py b/ansible_collections/cisco/dnac/plugins/modules/service_provider_update.py index f3c9a6d35..3ec3fcde9 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/service_provider_update.py +++ b/ansible_collections/cisco/dnac/plugins/modules/service_provider_update.py @@ -38,8 +38,8 @@ options: type: list type: dict requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Network Settings UpdateSPProfile description: Complete reference of the UpdateSPProfile API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/service_provider_v2.py b/ansible_collections/cisco/dnac/plugins/modules/service_provider_v2.py index 3a804288f..5dcf4f367 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/service_provider_v2.py +++ b/ansible_collections/cisco/dnac/plugins/modules/service_provider_v2.py @@ -36,8 +36,8 @@ options: type: list type: dict requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Network Settings CreateSPProfileV2 description: Complete reference of the CreateSPProfileV2 API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/service_provider_v2_info.py b/ansible_collections/cisco/dnac/plugins/modules/service_provider_v2_info.py index 50635cc29..2641b9bdb 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/service_provider_v2_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/service_provider_v2_info.py @@ -20,8 +20,8 @@ options: description: Additional headers. type: dict requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Network Settings GetServiceProviderDetailsV2 description: Complete reference of the GetServiceProviderDetailsV2 API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/site_assign_credential.py b/ansible_collections/cisco/dnac/plugins/modules/site_assign_credential.py index 5cbb53684..b21a5ca77 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/site_assign_credential.py +++ b/ansible_collections/cisco/dnac/plugins/modules/site_assign_credential.py @@ -41,8 +41,8 @@ options: description: Snmp V3 Id. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Network Settings AssignDeviceCredentialToSite description: Complete reference of the AssignDeviceCredentialToSite API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/site_assign_device.py b/ansible_collections/cisco/dnac/plugins/modules/site_assign_device.py index d0bdd2268..1c080cba4 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/site_assign_device.py +++ b/ansible_collections/cisco/dnac/plugins/modules/site_assign_device.py @@ -28,8 +28,8 @@ options: description: SiteId path parameter. Site id to which site the device to assign. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 notes: - SDK Method used are sites.Sites.assign_device_to_site, diff --git a/ansible_collections/cisco/dnac/plugins/modules/site_count_info.py b/ansible_collections/cisco/dnac/plugins/modules/site_count_info.py index 85b57d946..c4a5dbd96 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/site_count_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/site_count_info.py @@ -24,8 +24,8 @@ options: - SiteId query parameter. Site id to retrieve site count. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Sites GetSiteCount description: Complete reference of the GetSiteCount API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/site_create.py b/ansible_collections/cisco/dnac/plugins/modules/site_create.py index 31f357aea..6b690ac25 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/site_create.py +++ b/ansible_collections/cisco/dnac/plugins/modules/site_create.py @@ -84,8 +84,8 @@ options: description: Type of site to create (eg area, building, floor). type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Sites CreateSite description: Complete reference of the CreateSite API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/site_delete.py b/ansible_collections/cisco/dnac/plugins/modules/site_delete.py index d36690ef4..6c52cc343 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/site_delete.py +++ b/ansible_collections/cisco/dnac/plugins/modules/site_delete.py @@ -20,8 +20,8 @@ options: description: SiteId path parameter. Site id to which site details to be deleted. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Sites DeleteSite description: Complete reference of the DeleteSite API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/site_design_floormap.py b/ansible_collections/cisco/dnac/plugins/modules/site_design_floormap.py index a5f868383..0948930f3 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/site_design_floormap.py +++ b/ansible_collections/cisco/dnac/plugins/modules/site_design_floormap.py @@ -24,8 +24,8 @@ options: description: Site Design Floormap's payload type: dict requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 notes: - SDK Method used are site_design.SiteDesign.create_floormap, diff --git a/ansible_collections/cisco/dnac/plugins/modules/site_design_floormap_info.py b/ansible_collections/cisco/dnac/plugins/modules/site_design_floormap_info.py index ee1fa87bf..c427e42bb 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/site_design_floormap_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/site_design_floormap_info.py @@ -26,8 +26,8 @@ options: - FloorId path parameter. Group Id of the specified floormap. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 notes: - SDK Method used are site_design.SiteDesign.get_floormap, diff --git a/ansible_collections/cisco/dnac/plugins/modules/site_health_info.py b/ansible_collections/cisco/dnac/plugins/modules/site_health_info.py index 9614b6eb8..cbb91dcd6 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/site_health_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/site_health_info.py @@ -36,8 +36,8 @@ options: - Limit query parameter. The max number of sites in the returned data set. Default is 25, and max at 50. type: int requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Sites GetSiteHealth description: Complete reference of the GetSiteHealth API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/site_info.py b/ansible_collections/cisco/dnac/plugins/modules/site_info.py index 49bdf393c..be914d2e2 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/site_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/site_info.py @@ -40,8 +40,8 @@ options: - Limit query parameter. Number of sites to be retrieved. The default value is 500. type: int requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Sites GetSite description: Complete reference of the GetSite API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/site_intent.py b/ansible_collections/cisco/dnac/plugins/modules/site_intent.py index 751d520be..39d708730 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/site_intent.py +++ b/ansible_collections/cisco/dnac/plugins/modules/site_intent.py @@ -120,7 +120,7 @@ options: requirements: - dnacentersdk == 2.4.5 -- python >= 3.5 +- python >= 3.9 notes: - SDK Method used are sites.Sites.create_site, @@ -489,6 +489,7 @@ class DnacSite(DnacBase): response = self.dnac._exec( family="sites", function='get_site', + op_modifies=True, params={"name": self.want.get("site_name")}, ) @@ -807,12 +808,18 @@ class DnacSite(DnacBase): else: # Creating New Site site_params = self.want.get("site_params") - if site_params['site']['building']: - building_details = {} - for key, value in site_params['site']['building'].items(): - if value is not None: - building_details[key] = value - site_params['site']['building'] = building_details + try: + if site_params['site']['building']: + building_details = {} + for key, value in site_params['site']['building'].items(): + if value is not None: + building_details[key] = value + site_params['site']['building'] = building_details + except Exception as e: + site_type = site_params['type'] + site_name = site_params['site'][site_type]['name'] + self.log("""The site '{0}' is not categorized as a building; hence, there is no need to filter out 'None' + values from the 'site_params' dictionary.""".format(site_name), "INFO") response = self.dnac._exec( family="sites", @@ -877,6 +884,7 @@ class DnacSite(DnacBase): response = self.dnac._exec( family="sites", function="delete_site", + op_modifies=True, params={"site_id": site_id}, ) @@ -941,6 +949,7 @@ class DnacSite(DnacBase): mem_response = self.dnac._exec( family="sites", function="get_membership", + op_modifies=True, params={"site_id": site_id}, ) site_response = mem_response.get("site").get("response") diff --git a/ansible_collections/cisco/dnac/plugins/modules/site_membership_info.py b/ansible_collections/cisco/dnac/plugins/modules/site_membership_info.py index d38f3844e..bc28ba3f3 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/site_membership_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/site_membership_info.py @@ -40,8 +40,8 @@ options: - SerialNumber query parameter. Device serial number. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Sites GetMembership description: Complete reference of the GetMembership API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/site_update.py b/ansible_collections/cisco/dnac/plugins/modules/site_update.py index 4a97a6ede..86c54a60b 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/site_update.py +++ b/ansible_collections/cisco/dnac/plugins/modules/site_update.py @@ -78,8 +78,8 @@ options: description: Type. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Sites UpdateSite description: Complete reference of the UpdateSite API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/site_workflow_manager.py b/ansible_collections/cisco/dnac/plugins/modules/site_workflow_manager.py index 1ae28afd8..81c6a974e 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/site_workflow_manager.py +++ b/ansible_collections/cisco/dnac/plugins/modules/site_workflow_manager.py @@ -120,7 +120,7 @@ options: requirements: - dnacentersdk == 2.4.5 -- python >= 3.5 +- python >= 3.9 notes: - SDK Method used are sites.Sites.create_site, @@ -488,6 +488,7 @@ class Site(DnacBase): response = self.dnac._exec( family="sites", function='get_site', + op_modifies=True, params={"name": self.want.get("site_name")}, ) @@ -806,12 +807,18 @@ class Site(DnacBase): else: # Creating New Site site_params = self.want.get("site_params") - if site_params['site']['building']: - building_details = {} - for key, value in site_params['site']['building'].items(): - if value is not None: - building_details[key] = value - site_params['site']['building'] = building_details + try: + if site_params['site']['building']: + building_details = {} + for key, value in site_params['site']['building'].items(): + if value is not None: + building_details[key] = value + site_params['site']['building'] = building_details + except Exception as e: + site_type = site_params['type'] + site_name = site_params['site'][site_type]['name'] + self.log("""The site '{0}' is not categorized as a building; hence, there is no need to filter out 'None' + values from the 'site_params' dictionary.""".format(site_name), "INFO") response = self.dnac._exec( family="sites", @@ -876,6 +883,7 @@ class Site(DnacBase): response = self.dnac._exec( family="sites", function="delete_site", + op_modifies=True, params={"site_id": site_id}, ) @@ -940,6 +948,7 @@ class Site(DnacBase): mem_response = self.dnac._exec( family="sites", function="get_membership", + op_modifies=True, params={"site_id": site_id}, ) site_response = mem_response.get("site").get("response") diff --git a/ansible_collections/cisco/dnac/plugins/modules/snmp_properties.py b/ansible_collections/cisco/dnac/plugins/modules/snmp_properties.py index 0ea733b2a..9cbcae16c 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/snmp_properties.py +++ b/ansible_collections/cisco/dnac/plugins/modules/snmp_properties.py @@ -37,8 +37,8 @@ options: type: str type: list requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Discovery CreateUpdateSNMPProperties description: Complete reference of the CreateUpdateSNMPProperties API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/snmp_properties_info.py b/ansible_collections/cisco/dnac/plugins/modules/snmp_properties_info.py index 9300eaa86..4f32fd28d 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/snmp_properties_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/snmp_properties_info.py @@ -20,8 +20,8 @@ options: description: Additional headers. type: dict requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Discovery GetSNMPProperties description: Complete reference of the GetSNMPProperties API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/snmpv2_read_community_credential.py b/ansible_collections/cisco/dnac/plugins/modules/snmpv2_read_community_credential.py index 69da389ea..0fd5ce8cb 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/snmpv2_read_community_credential.py +++ b/ansible_collections/cisco/dnac/plugins/modules/snmpv2_read_community_credential.py @@ -33,8 +33,8 @@ options: description: SNMP read community. NO!$DATA!$ for no value change. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Discovery CreateSNMPReadCommunity description: Complete reference of the CreateSNMPReadCommunity API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/snmpv2_write_community_credential.py b/ansible_collections/cisco/dnac/plugins/modules/snmpv2_write_community_credential.py index 2fbfbbc66..00caf3e5b 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/snmpv2_write_community_credential.py +++ b/ansible_collections/cisco/dnac/plugins/modules/snmpv2_write_community_credential.py @@ -33,8 +33,8 @@ options: description: SNMP write community. NO!$DATA!$ for no value change. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Discovery CreateSNMPWriteCommunity description: Complete reference of the CreateSNMPWriteCommunity API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/snmpv3_credential.py b/ansible_collections/cisco/dnac/plugins/modules/snmpv3_credential.py index d48c693d5..705d9e507 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/snmpv3_credential.py +++ b/ansible_collections/cisco/dnac/plugins/modules/snmpv3_credential.py @@ -54,8 +54,8 @@ options: description: Snmpv3 Credential's username. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Discovery CreateSNMPv3Credentials description: Complete reference of the CreateSNMPv3Credentials API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/sp_profile_delete_v2.py b/ansible_collections/cisco/dnac/plugins/modules/sp_profile_delete_v2.py index 1022d4de4..236a0ba49 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/sp_profile_delete_v2.py +++ b/ansible_collections/cisco/dnac/plugins/modules/sp_profile_delete_v2.py @@ -20,8 +20,8 @@ options: description: SpProfileName path parameter. Sp profile name. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Network Settings DeleteSPProfileV2 description: Complete reference of the DeleteSPProfileV2 API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/swim_image_details_info.py b/ansible_collections/cisco/dnac/plugins/modules/swim_image_details_info.py index b9ed467ed..d41519382 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/swim_image_details_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/swim_image_details_info.py @@ -92,8 +92,8 @@ options: - Offset query parameter. type: int requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Software Image Management (SWIM) GetSoftwareImageDetails description: Complete reference of the GetSoftwareImageDetails API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/swim_import_local.py b/ansible_collections/cisco/dnac/plugins/modules/swim_import_local.py index 6ea0d9b9c..27966b4cd 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/swim_import_local.py +++ b/ansible_collections/cisco/dnac/plugins/modules/swim_import_local.py @@ -35,8 +35,8 @@ options: description: ThirdPartyVendor query parameter. Third Party Vendor. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Software Image Management (SWIM) ImportLocalSoftwareImage description: Complete reference of the ImportLocalSoftwareImage API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/swim_import_via_url.py b/ansible_collections/cisco/dnac/plugins/modules/swim_import_via_url.py index 3f86cc047..df217a30c 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/swim_import_via_url.py +++ b/ansible_collections/cisco/dnac/plugins/modules/swim_import_via_url.py @@ -49,8 +49,8 @@ options: description: ScheduleOrigin query parameter. Originator of this call (Optional). type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Software Image Management (SWIM) ImportSoftwareImageViaURL description: Complete reference of the ImportSoftwareImageViaURL API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/swim_intent.py b/ansible_collections/cisco/dnac/plugins/modules/swim_intent.py index 08f78ac30..f1eadb5b4 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/swim_intent.py +++ b/ansible_collections/cisco/dnac/plugins/modules/swim_intent.py @@ -309,7 +309,7 @@ options: type: bool requirements: - dnacentersdk == 2.4.5 -- python >= 3.5 +- python >= 3.9 notes: - SDK Method used are software_image_management_swim.SoftwareImageManagementSwim.import_software_image_via_url, @@ -583,6 +583,7 @@ class DnacSwims(DnacBase): response = self.dnac._exec( family="sites", function='get_site', + op_modifies=True, params={"name": site_name}, ) except Exception as e: @@ -617,6 +618,7 @@ class DnacSwims(DnacBase): image_response = self.dnac._exec( family="software_image_management_swim", function='get_software_image_details', + op_modifies=True, params={"image_name": name}, ) self.log("Received API response from 'get_software_image_details': {0}".format(str(image_response)), "DEBUG") @@ -651,6 +653,7 @@ class DnacSwims(DnacBase): image_response = self.dnac._exec( family="software_image_management_swim", function='get_software_image_details', + op_modifies=True, params={"image_uuid": image_id}, ) self.log("Received API response from 'get_software_image_details': {0}".format(str(image_response)), "DEBUG") @@ -686,6 +689,7 @@ class DnacSwims(DnacBase): image_response = self.dnac._exec( family="software_image_management_swim", function='get_software_image_details', + op_modifies=True, params={"image_name": name}, ) self.log("Received API response from 'get_software_image_details': {0}".format(str(image_response)), "DEBUG") @@ -713,6 +717,7 @@ class DnacSwims(DnacBase): response = self.dnac._exec( family="devices", function='get_device_list', + op_modifies=True, params=params, ) self.log("Received API response from 'get_device_list': {0}".format(str(response)), "DEBUG") @@ -765,12 +770,18 @@ class DnacSwims(DnacBase): "site_id": site_id, "device_family": device_family } - response = self.dnac._exec( - family="sites", - function='get_membership', - op_modifies=True, - params=site_params, - ) + + try: + response = self.dnac._exec( + family="sites", + function='get_membership', + op_modifies=True, + params=site_params, + ) + except Exception as e: + self.log("Unable to fetch the device(s) associated to the site '{0}' due to '{1}'".format(site_name, str(e)), "WARNING") + return device_uuid_list + self.log("Received API response from 'get_membership': {0}".format(str(response)), "DEBUG") response = response['device'] @@ -1305,6 +1316,7 @@ class DnacSwims(DnacBase): response = self.dnac._exec( family="devices", function='get_device_list', + op_modifies=True, params={"id": device_id} ) self.log("Received API response from 'get_device_list': {0}".format(str(response)), "DEBUG") diff --git a/ansible_collections/cisco/dnac/plugins/modules/swim_trigger_activation.py b/ansible_collections/cisco/dnac/plugins/modules/swim_trigger_activation.py index ec9ca0e5b..5d7cae2b5 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/swim_trigger_activation.py +++ b/ansible_collections/cisco/dnac/plugins/modules/swim_trigger_activation.py @@ -49,8 +49,8 @@ options: before schedule (Optional). type: bool requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Software Image Management (SWIM) TriggerSoftwareImageActivation description: Complete reference of the TriggerSoftwareImageActivation API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/swim_trigger_distribution.py b/ansible_collections/cisco/dnac/plugins/modules/swim_trigger_distribution.py index cad143cb4..ce1b5e1fc 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/swim_trigger_distribution.py +++ b/ansible_collections/cisco/dnac/plugins/modules/swim_trigger_distribution.py @@ -30,8 +30,8 @@ options: type: str type: list requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Software Image Management (SWIM) TriggerSoftwareImageDistribution description: Complete reference of the TriggerSoftwareImageDistribution API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/swim_workflow_manager.py b/ansible_collections/cisco/dnac/plugins/modules/swim_workflow_manager.py index a147b4055..f7a1764fd 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/swim_workflow_manager.py +++ b/ansible_collections/cisco/dnac/plugins/modules/swim_workflow_manager.py @@ -296,7 +296,7 @@ options: type: bool requirements: - dnacentersdk == 2.4.5 -- python >= 3.5 +- python >= 3.9 notes: - SDK Method used are software_image_management_swim.SoftwareImageManagementSwim.import_software_image_via_url, @@ -569,6 +569,7 @@ class Swim(DnacBase): response = self.dnac._exec( family="sites", function='get_site', + op_modifies=True, params={"name": site_name}, ) except Exception as e: @@ -603,6 +604,7 @@ class Swim(DnacBase): image_response = self.dnac._exec( family="software_image_management_swim", function='get_software_image_details', + op_modifies=True, params={"image_name": name}, ) self.log("Received API response from 'get_software_image_details': {0}".format(str(image_response)), "DEBUG") @@ -637,6 +639,7 @@ class Swim(DnacBase): image_response = self.dnac._exec( family="software_image_management_swim", function='get_software_image_details', + op_modifies=True, params={"image_uuid": image_id}, ) self.log("Received API response from 'get_software_image_details': {0}".format(str(image_response)), "DEBUG") @@ -672,6 +675,7 @@ class Swim(DnacBase): image_response = self.dnac._exec( family="software_image_management_swim", function='get_software_image_details', + op_modifies=True, params={"image_name": name}, ) self.log("Received API response from 'get_software_image_details': {0}".format(str(image_response)), "DEBUG") @@ -699,6 +703,7 @@ class Swim(DnacBase): response = self.dnac._exec( family="devices", function='get_device_list', + op_modifies=True, params=params, ) self.log("Received API response from 'get_device_list': {0}".format(str(response)), "DEBUG") @@ -751,12 +756,18 @@ class Swim(DnacBase): "site_id": site_id, "device_family": device_family } - response = self.dnac._exec( - family="sites", - function='get_membership', - op_modifies=True, - params=site_params, - ) + + try: + response = self.dnac._exec( + family="sites", + function='get_membership', + op_modifies=True, + params=site_params, + ) + except Exception as e: + self.log("Unable to fetch the device(s) associated to the site '{0}' due to '{1}'".format(site_name, str(e)), "WARNING") + return device_uuid_list + self.log("Received API response from 'get_membership': {0}".format(str(response)), "DEBUG") response = response['device'] @@ -1291,6 +1302,7 @@ class Swim(DnacBase): response = self.dnac._exec( family="devices", function='get_device_list', + op_modifies=True, params={"id": device_id} ) self.log("Received API response from 'get_device_list': {0}".format(str(response)), "DEBUG") diff --git a/ansible_collections/cisco/dnac/plugins/modules/syslog_config_create.py b/ansible_collections/cisco/dnac/plugins/modules/syslog_config_create.py index d9058d44e..c4804a3b3 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/syslog_config_create.py +++ b/ansible_collections/cisco/dnac/plugins/modules/syslog_config_create.py @@ -35,8 +35,8 @@ options: description: Protocol. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Event Management CreateSyslogDestination description: Complete reference of the CreateSyslogDestination API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/syslog_config_update.py b/ansible_collections/cisco/dnac/plugins/modules/syslog_config_update.py index 79d319fea..653555ac9 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/syslog_config_update.py +++ b/ansible_collections/cisco/dnac/plugins/modules/syslog_config_update.py @@ -35,8 +35,8 @@ options: description: Protocol. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Event Management UpdateSyslogDestination description: Complete reference of the UpdateSyslogDestination API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/system_health_count_info.py b/ansible_collections/cisco/dnac/plugins/modules/system_health_count_info.py index b8e6b135c..bf9b72361 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/system_health_count_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/system_health_count_info.py @@ -32,8 +32,8 @@ options: here /dna/platform/app/consumer-portal/developer-toolkit/events. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Health and Performance SystemHealthCountAPI description: Complete reference of the SystemHealthCountAPI API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/system_health_info.py b/ansible_collections/cisco/dnac/plugins/modules/system_health_info.py index c0d2ea881..01a23ee64 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/system_health_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/system_health_info.py @@ -44,8 +44,8 @@ options: - Offset query parameter. type: int requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Health and Performance SystemHealthAPI description: Complete reference of the SystemHealthAPI API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/system_performance_historical_info.py b/ansible_collections/cisco/dnac/plugins/modules/system_performance_historical_info.py index 9cdbef7d6..11476ed6f 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/system_performance_historical_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/system_performance_historical_info.py @@ -36,8 +36,8 @@ options: be fetched. type: int requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Health and Performance SystemPerformanceHistoricalAPI description: Complete reference of the SystemPerformanceHistoricalAPI API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/system_performance_info.py b/ansible_collections/cisco/dnac/plugins/modules/system_performance_info.py index 8460d7265..41b14ccdd 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/system_performance_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/system_performance_info.py @@ -40,8 +40,8 @@ options: be fetched. type: int requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Health and Performance SystemPerformanceAPI description: Complete reference of the SystemPerformanceAPI API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/tag.py b/ansible_collections/cisco/dnac/plugins/modules/tag.py index 7630c2e61..0b26448c0 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/tag.py +++ b/ansible_collections/cisco/dnac/plugins/modules/tag.py @@ -63,8 +63,8 @@ options: description: SystemTag flag. type: bool requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Tag CreateTag description: Complete reference of the CreateTag API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/tag_count_info.py b/ansible_collections/cisco/dnac/plugins/modules/tag_count_info.py index 4624d65ed..7562f71fc 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/tag_count_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/tag_count_info.py @@ -44,8 +44,8 @@ options: - SystemTag query parameter. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Tag GetTagCount description: Complete reference of the GetTagCount API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/tag_info.py b/ansible_collections/cisco/dnac/plugins/modules/tag_info.py index bc09f0ba5..c7c32e7d5 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/tag_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/tag_info.py @@ -72,8 +72,8 @@ options: - Id path parameter. Tag ID. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Tag GetTag description: Complete reference of the GetTag API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/tag_member.py b/ansible_collections/cisco/dnac/plugins/modules/tag_member.py index 017fd1c23..2ffe6ce10 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/tag_member.py +++ b/ansible_collections/cisco/dnac/plugins/modules/tag_member.py @@ -30,8 +30,8 @@ options: description: Map of member type and member ids. type: dict requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Tag AddMembersToTheTag description: Complete reference of the AddMembersToTheTag API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/tag_member_count_info.py b/ansible_collections/cisco/dnac/plugins/modules/tag_member_count_info.py index 13bfd2c4c..82dbf33d0 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/tag_member_count_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/tag_member_count_info.py @@ -36,8 +36,8 @@ options: - Level query parameter. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Tag GetTagMemberCount description: Complete reference of the GetTagMemberCount API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/tag_member_info.py b/ansible_collections/cisco/dnac/plugins/modules/tag_member_info.py index 077114139..57401f152 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/tag_member_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/tag_member_info.py @@ -50,8 +50,8 @@ options: - Level query parameter. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Tag GetTagMembersById description: Complete reference of the GetTagMembersById API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/tag_member_type_info.py b/ansible_collections/cisco/dnac/plugins/modules/tag_member_type_info.py index 4fcb8ca42..a7e4cd1c9 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/tag_member_type_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/tag_member_type_info.py @@ -20,8 +20,8 @@ options: description: Additional headers. type: dict requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Tag GetTagResourceTypes description: Complete reference of the GetTagResourceTypes API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/tag_membership.py b/ansible_collections/cisco/dnac/plugins/modules/tag_membership.py index e7516549e..9366e9ed2 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/tag_membership.py +++ b/ansible_collections/cisco/dnac/plugins/modules/tag_membership.py @@ -32,8 +32,8 @@ options: description: Tag Membership's memberType. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Tag UpdatesTagMembership description: Complete reference of the UpdatesTagMembership API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/task_count_info.py b/ansible_collections/cisco/dnac/plugins/modules/task_count_info.py index bb95a22fc..a1eedd445 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/task_count_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/task_count_info.py @@ -60,8 +60,8 @@ options: - ParentId query parameter. Fetch tasks that have this parent Id. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Task GetTaskCount description: Complete reference of the GetTaskCount API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/task_info.py b/ansible_collections/cisco/dnac/plugins/modules/task_info.py index 9b2b19b01..9adaf195a 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/task_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/task_info.py @@ -82,8 +82,8 @@ options: - TaskId path parameter. UUID of the Task. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Task GetTaskById description: Complete reference of the GetTaskById API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/task_operation_info.py b/ansible_collections/cisco/dnac/plugins/modules/task_operation_info.py index f5578940c..ea08f3306 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/task_operation_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/task_operation_info.py @@ -34,8 +34,8 @@ options: value is 1. type: int requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Task GetTaskByOperationId description: Complete reference of the GetTaskByOperationId API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/task_tree_info.py b/ansible_collections/cisco/dnac/plugins/modules/task_tree_info.py index bda7d8c51..9e80665b3 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/task_tree_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/task_tree_info.py @@ -24,8 +24,8 @@ options: - TaskId path parameter. UUID of the Task. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Task GetTaskTree description: Complete reference of the GetTaskTree API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/template_intent.py b/ansible_collections/cisco/dnac/plugins/modules/template_intent.py index c6e3042de..53c42e0ce 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/template_intent.py +++ b/ansible_collections/cisco/dnac/plugins/modules/template_intent.py @@ -1104,7 +1104,7 @@ options: requirements: - dnacentersdk == 2.4.5 -- python >= 3.5 +- python >= 3.9 notes: - SDK Method used are configuration_templates.ConfigurationTemplates.create_template, @@ -1896,6 +1896,7 @@ class DnacTemplate(DnacBase): items = self.dnac_apply['exec']( family="configuration_templates", function="get_template_details", + op_modifies=True, params={"template_id": config.get("templateId")} ) if items: @@ -1980,6 +1981,7 @@ class DnacTemplate(DnacBase): template_list = self.dnac_apply['exec']( family="configuration_templates", function="gets_the_templates_available", + op_modifies=True, params={"projectNames": config.get("projectName")}, ) have_template["isCommitPending"] = True @@ -2371,8 +2373,8 @@ class DnacTemplate(DnacBase): response = self.dnac_apply['exec']( family="configuration_templates", function="update_template", - params=template_params, op_modifies=True, + params=template_params, ) template_updated = True self.log("Updating existing template '{0}'." @@ -2442,6 +2444,7 @@ class DnacTemplate(DnacBase): response = self.dnac._exec( family="configuration_templates", function='export_projects', + op_modifies=True, params={"payload": export_project}, ) validation_string = "successfully exported project" @@ -2458,6 +2461,7 @@ class DnacTemplate(DnacBase): response = self.dnac._exec( family="configuration_templates", function='export_templates', + op_modifies=True, params={"payload": self.export_template}, ) validation_string = "successfully exported template" @@ -2501,6 +2505,7 @@ class DnacTemplate(DnacBase): response = self.dnac._exec( family="configuration_templates", function='imports_the_projects_provided', + op_modifies=True, params=_import_project, ) validation_string = "successfully imported project" @@ -2529,6 +2534,7 @@ class DnacTemplate(DnacBase): response = self.dnac._exec( family="configuration_templates", function='imports_the_templates_provided', + op_modifies=True, params=import_template, ) validation_string = "successfully imported template" @@ -2592,6 +2598,7 @@ class DnacTemplate(DnacBase): response = self.dnac_apply['exec']( family="configuration_templates", function=deletion_value, + op_modifies=True, params=params_key, ) task_id = response.get("response").get("taskId") @@ -2716,6 +2723,7 @@ class DnacTemplate(DnacBase): template_list = self.dnac_apply['exec']( family="configuration_templates", function="gets_the_templates_available", + op_modifies=True, params={"projectNames": config.get("projectName")}, ) if template_list and isinstance(template_list, list): diff --git a/ansible_collections/cisco/dnac/plugins/modules/template_preview.py b/ansible_collections/cisco/dnac/plugins/modules/template_preview.py index bcd466a54..cb1657ccc 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/template_preview.py +++ b/ansible_collections/cisco/dnac/plugins/modules/template_preview.py @@ -29,8 +29,8 @@ options: description: UUID of template to get template preview. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Configuration Templates PreviewTemplate description: Complete reference of the PreviewTemplate API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/template_workflow_manager.py b/ansible_collections/cisco/dnac/plugins/modules/template_workflow_manager.py index 13e81da9a..fbd91685e 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/template_workflow_manager.py +++ b/ansible_collections/cisco/dnac/plugins/modules/template_workflow_manager.py @@ -47,382 +47,385 @@ options: required: true suboptions: configuration_templates: - description: Create/Update/Delete template. + description: Perform operations such as Create/Update/Delete on a template. type: dict suboptions: author: - description: Author of template. + description: Identifies the creator of the template. type: str composite: - description: Is it composite template. + description: Specifies if the template is composite. type: bool containing_templates: - description: Configuration Template Create's containingTemplates. + description: + - Refer to a set of templates within the main template to define more complex or modular configurations. + - This is particularly useful in systems that support hierarchical or nested templates. + - Here parent templates may contain child templates to form a complete configuration. suboptions: composite: - description: Is it composite template. + description: Specifies if the template is composite. type: bool description: - description: Description of template. + description: Provides a description of the template. type: str device_types: - description: deviceTypes on which templates would be applied. + description: List of dictionaries details the types of devices that the templates can be applied to. type: list elements: dict suboptions: product_family: - description: Device family. + description: Denotes the family to which the device belongs. type: str product_series: - description: Device series. + description: Specifies the series classification of the device. type: str product_type: - description: Device type. + description: Describes the exact type of the device. type: str id: - description: UUID of template. + description: Unique identifier for the template, represented as a UUID. type: str language: - description: Template language + description: Programming language used for templating. Options are 'JINJA' for Jinja templating or 'VELOCITY' for Apache Velocity. choices: - JINJA - VELOCITY type: str name: - description: Name of template. + description: Designation of the template, serving as its unique name. type: str project_name: - description: Name of the project under which templates are managed. + description: Title of the project within which the template is categorized and managed. type: str project_description: - description: Description of the project created. + description: Narrative that elaborates on the purpose and scope of the project. type: str rollback_template_params: - description: Params required for template rollback. + description: A list of dictionaries defining parameters necessary for the rollback functionality of a template. type: list elements: dict suboptions: binding: - description: Bind to source. + description: Associates the parameter with its source. type: str custom_order: - description: CustomOrder of template param. + description: Specifies a user-defined ordering for the parameter. type: int data_type: - description: Datatype of template param. + description: Identifies the data type of the parameter (e.g., string, integer, boolean). type: str default_value: - description: Default value of template param. + description: Establishes a default value for the parameter, used if no other value is provided. type: str description: - description: Description of template param. + description: Provides a descriptive explanation of the parameter's purpose. type: str display_name: - description: Display name of param. + description: The name of the parameter as displayed to users. type: str group: - description: Group. + description: Categorizes the parameter into a named group for organizational purposes. type: str id: - description: UUID of template param. + description: A unique identifier for the parameter, formatted as a UUID. type: str instruction_text: - description: Instruction text for param. + description: Gives guidance or instructions regarding the parameter's use. type: str key: - description: Key. + description: A unique key that identifies the parameter within the template. type: str not_param: - description: Is it not a variable. + description: Indicates whether the entry is not to be treated as a parameter. type: bool order: - description: Order of template param. + description: Determines the sequence in which the parameter appears relative to others. type: int param_array: - description: Is it an array. + description: Specifies if the parameter should be treated as an array. type: bool parameter_name: - description: Name of template param. + description: The name of the parameter. type: str provider: - description: Provider. + description: Denotes the provider associated with the parameter. type: str range: - description: Configuration Template Create's range. + description: Defines the permissible range for the parameter's value. type: list elements: dict suboptions: id: - description: UUID of range. + description: Unique identifier for the range, represented as a UUID. type: str max_value: - description: Max value of range. + description: Specifies the maximum allowable value for the parameter. type: int min_value: - description: Min value of range. + description: Specifies the minimum allowable value for the parameter. type: int required: - description: Is param required. + description: Dictates whether the parameter is mandatory for template operations. type: bool selection: - description: Configuration Template Create's selection. + description: Contains options for parameter selection when a choice is available. suboptions: default_selected_values: - description: Default selection values. + description: Lists the default values that are preselected. elements: str type: list id: - description: UUID of selection. + description: A unique identifier for the selection entity, represented as a UUID. type: str selection_type: - description: Type of selection(SINGLE_SELECT or MULTI_SELECT). + description: Specifies the type of selection, such as 'SINGLE_SELECT' or 'MULTI_SELECT'. type: str selection_values: - description: Selection values. + description: A dictionary of available values for selection. type: dict type: dict tags: - description: Configuration Template Create's tags. + description: A list of dictionaries representing tags associated with the Configuration Template during creation. suboptions: id: - description: UUID of tag. + description: The unique identifier for each tag, presented as a UUID. type: str name: - description: Name of tag. + description: The descriptive label or name assigned to the tag. type: str type: list elements: dict template_content: - description: Template content. + description: The actual script or code constituting the body of the template. type: str template_params: - description: Configuration Template Create's templateParams. + description: The customization of the contents within the template. elements: dict suboptions: binding: - description: Bind to source. + description: Associates the parameter with its source. type: str custom_order: - description: CustomOrder of template param. + description: Specifies a user-defined ordering for the parameter. type: int data_type: - description: Datatype of template param. + description: Identifies the data type of the parameter (e.g., string, integer, boolean). type: str default_value: - description: Default value of template param. + description: Establishes a default value for the parameter, used if no other value is provided. type: str description: - description: Description of template param. + description: Provides a descriptive explanation of the parameter's purpose. type: str display_name: - description: Display name of param. + description: The name of the parameter as displayed to users. type: str group: - description: Group. + description: Categorizes the parameter into a named group for organizational purposes. type: str id: - description: UUID of template param. + description: A unique identifier for the parameter, formatted as a UUID. type: str instruction_text: - description: Instruction text for param. + description: Gives guidance or instructions regarding the parameter's use. type: str key: - description: Key. + description: A unique key that identifies the parameter within the template. type: str not_param: - description: Is it not a variable. + description: Indicates whether the entry is not to be treated as a parameter. type: bool order: - description: Order of template param. + description: Determines the sequence in which the parameter appears relative to others. type: int param_array: - description: Is it an array. + description: Specifies if the parameter should be treated as an array. type: bool parameter_name: - description: Name of template param. + description: The name of the parameter. type: str provider: - description: Provider. + description: Denotes the provider associated with the parameter. type: str range: - description: Configuration Template Create's range. + description: Defines the permissible range for the parameter's value. suboptions: id: - description: UUID of range. + description: Unique identifier for the range, represented as a UUID. type: str max_value: - description: Max value of range. + description: Specifies the maximum allowable value for the parameter. type: int min_value: - description: Min value of range. + description: Specifies the minimum allowable value for the parameter. type: int type: list elements: dict required: - description: Is param required. + description: Dictates whether the parameter is mandatory for template operations. type: bool selection: - description: Configuration Template Create's selection. + description: Contains options for parameter selection when a choice is available. suboptions: default_selected_values: - description: Default selection values. + description: Lists the default values that are preselected. elements: str type: list id: - description: UUID of selection. + description: A unique identifier for the selection entity, represented as a UUID. type: str selection_type: - description: Type of selection(SINGLE_SELECT or MULTI_SELECT). + description: Specifies the type of selection, such as 'SINGLE_SELECT' or 'MULTI_SELECT'. type: str selection_values: - description: Selection values. + description: A dictionary of available values for selection. type: dict type: dict type: list version: - description: Current version of template. + description: The current version of template. type: str type: list elements: dict create_time: - description: Create time of template. + description: The creation time of the template refers to the initial development. type: int custom_params_order: - description: Custom Params Order. + description: Specifies the sequence in which custom parameters or variables should be arranged within the template. type: bool template_description: - description: Description of template. + description: Provides a overview of the template. type: str device_types: - description: Configuration Template Create's deviceTypes. This field is mandatory to create a new template. + description: List of dictionaries details the types of devices that the templates can be applied to. + type: list + elements: dict suboptions: product_family: - description: Device family. + description: Denotes the family to which the device belongs. type: str product_series: - description: Device series. + description: Specifies the series classification of the device. type: str product_type: - description: Device type. + description: Describes the exact type of the device. type: str - type: list - elements: dict failure_policy: description: Define failure policy if template provisioning fails. type: str id: - description: UUID of template. + description: A unique identifier, represented as a UUID. type: str language: - description: Template language + description: Programming language used for templating. Options are 'JINJA' for Jinja templating or 'VELOCITY' for Apache Velocity. choices: - JINJA - VELOCITY type: str last_update_time: - description: Update time of template. + description: Indicates the most recent timestamp when the template was modified or revised. type: int latest_version_time: - description: Latest versioned template time. + description: Indicates when the most recent version of a template was released or updated. type: int template_name: description: Name of template. This field is mandatory to create a new template. type: str parent_template_id: - description: Parent templateID. + description: Refers to the unique identifier of a template from which another template derives. type: str project_id: - description: Project UUID. + description: A unique identifier for the project, formatted as a UUID. type: str project_name: - description: Project name. + description: Title of the project within which the template is categorized and managed. type: str project_description: - description: Project Description. + description: Narrative that elaborates on the purpose and scope of the project. type: str rollback_template_content: - description: Rollback template content. + description: Refers to the process of reverting the content of a template back to a previous version or state. type: str rollback_template_params: - description: Configuration Template Create's rollbackTemplateParams. + description: A list of dictionaries defining parameters necessary for the rollback functionality of a template. suboptions: binding: - description: Bind to source. + description: Associates the parameter with its source. type: str custom_order: - description: CustomOrder of template param. + description: Specifies a user-defined ordering for the parameter. type: int data_type: - description: Datatype of template param. + description: Identifies the data type of the parameter (e.g., string, integer, boolean). type: str default_value: - description: Default value of template param. + description: Establishes a default value for the parameter, used if no other value is provided. type: str description: - description: Description of template param. + description: Provides a descriptive explanation of the parameter's purpose. type: str display_name: - description: Display name of param. + description: The name of the parameter as displayed to users. type: str group: - description: Group. + description: Categorizes the parameter into a named group for organizational purposes. type: str id: - description: UUID of template param. + description: A unique identifier for the parameter, formatted as a UUID. type: str instruction_text: - description: Instruction text for param. + description: Gives guidance or instructions regarding the parameter's use. type: str key: - description: Key. + description: A unique key that identifies the parameter within the template. type: str not_param: - description: Is it not a variable. + description: Indicates whether the entry is not to be treated as a parameter. type: bool order: - description: Order of template param. + description: Determines the sequence in which the parameter appears relative to others. type: int param_array: - description: Is it an array. + description: Specifies if the parameter should be treated as an array. type: bool parameter_name: - description: Name of template param. + description: The name of the parameter. type: str provider: - description: Provider. + description: Denotes the provider associated with the parameter. type: str range: - description: Configuration Template Create's range. + description: Defines the permissible range for the parameter's value. suboptions: id: - description: UUID of range. + description: Unique identifier for the range, represented as a UUID. type: str max_value: - description: Max value of range. + description: Specifies the maximum allowable value for the parameter. type: int min_value: - description: Min value of range. + description: Specifies the minimum allowable value for the parameter. type: int type: list elements: dict required: - description: Is param required. + description: Dictates whether the parameter is mandatory for template operations. type: bool selection: - description: Configuration Template Create's selection. + description: Contains options for parameter selection when a choice is available. suboptions: default_selected_values: - description: Default selection values. + description: Lists the default values that are preselected. elements: str type: list id: - description: UUID of selection. + description: A unique identifier for the selection entity, represented as a UUID. type: str selection_type: - description: Type of selection(SINGLE_SELECT or MULTI_SELECT). + description: Specifies the type of selection, such as 'SINGLE_SELECT' or 'MULTI_SELECT'. type: str selection_values: - description: Selection values. + description: A dictionary of available values for selection. type: dict type: dict type: list @@ -431,143 +434,143 @@ options: description: Applicable device software type. This field is mandatory to create a new template. type: str software_variant: - description: Applicable device software variant. + description: Refers to a version or edition of a software application that differs from the main or standard release. type: str software_version: description: Applicable device software version. type: str template_tag: - description: Configuration Template Create's tags. + description: Refers to a keyword, label, or metadata assigned to a template. suboptions: id: - description: UUID of tag. + description: A unique identifier for the tag, represented as a UUID. type: str name: - description: Name of tag. + description: The name of the tag. type: str type: list elements: dict template_content: - description: Template content. + description: The actual script or code constituting the body of the template. type: str template_params: - description: Configuration Template Create's templateParams. + description: The customization of the contents within the template. suboptions: binding: - description: Bind to source. + description: Associates the parameter with its source. type: str custom_order: - description: CustomOrder of template param. + description: Specifies a user-defined ordering for the parameter. type: int data_type: - description: Datatype of template param. + description: Identifies the data type of the parameter (e.g., string, integer, boolean). type: str default_value: - description: Default value of template param. + description: Establishes a default value for the parameter, used if no other value is provided. type: str description: - description: Description of template param. + description: Provides a descriptive explanation of the parameter's purpose. type: str display_name: - description: Display name of param. + description: The name of the parameter as displayed to users. type: str group: - description: Group. + description: Categorizes the parameter into a named group for organizational purposes. type: str id: - description: UUID of template param. + description: A unique identifier for the parameter, formatted as a UUID. type: str instruction_text: - description: Instruction text for param. + description: Gives guidance or instructions regarding the parameter's use. type: str key: - description: Key. + description: A unique key that identifies the parameter within the template. type: str not_param: - description: Is it not a variable. + description: Indicates whether the entry is not to be treated as a parameter. type: bool order: - description: Order of template param. + description: Determines the sequence in which the parameter appears relative to others. type: int param_array: - description: Is it an array. + description: Specifies if the parameter should be treated as an array. type: bool parameter_name: - description: Name of template param. + description: The name of the parameter. type: str provider: - description: Provider. + description: Denotes the provider associated with the parameter. type: str range: - description: Configuration Template Create's range. + description: Defines the permissible range for the parameter's value. suboptions: id: - description: UUID of range. + description: Unique identifier for the range, represented as a UUID. type: str max_value: - description: Max value of range. + description: Specifies the maximum allowable value for the parameter. type: int min_value: - description: Min value of range. + description: Specifies the minimum allowable value for the parameter. type: int type: list elements: dict required: - description: Is param required. + description: Dictates whether the parameter is mandatory for template operations. type: bool selection: - description: Configuration Template Create's selection. + description: Contains options for parameter selection when a choice is available. suboptions: default_selected_values: - description: Default selection values. + description: Lists the default values that are preselected. elements: str type: list id: - description: UUID of selection. + description: A unique identifier for the selection entity, represented as a UUID. type: str selection_type: - description: Type of selection(SINGLE_SELECT or MULTI_SELECT). + description: Specifies the type of selection, such as 'SINGLE_SELECT' or 'MULTI_SELECT'. type: str selection_values: - description: Selection values. + description: A dictionary of available values for selection. type: dict type: dict type: list elements: dict validation_errors: - description: Configuration Template Create's validationErrors. + description: Refer to issues or discrepancies identified during the validation process. suboptions: rollback_template_errors: description: Validation or design conflicts errors of rollback template. elements: dict type: list template_errors: - description: Validation or design conflicts errors. + description: Refer to issues or discrepancies encountered during the processing of a template within a software application. elements: dict type: list template_id: - description: UUID of template. + description: A unique identifier for the template, represented as a UUID. type: str template_version: - description: Current version of template. + description: The current version of validation process in the template. type: str type: dict version: - description: Current version of template. + description: The current version of template. type: str version_description: description: Template version comments. type: str export: - description: Export the project/template details. + description: Perform export on the projects and templates. type: dict suboptions: project: - description: Export the project. + description: Export the project(s) details. type: list elements: str template: - description: Export the template. + description: Export the template(s) details. type: list elements: dict suboptions: @@ -575,14 +578,14 @@ options: description: Name of the project under the template available. type: str template_name: - description: Name of the template which we need to export + description: Name of the template which we need to be exported. type: str import: - description: Import the project/template details. + description: Perform import on the projects and templates. type: dict suboptions: project: - description: Import the project details. + description: Import the projects. type: dict suboptions: do_version: @@ -592,7 +595,7 @@ options: fails with 'Template already exists' error. type: bool template: - description: Import the template details. + description: Import the templates. type: dict suboptions: do_version: @@ -601,502 +604,524 @@ options: exists. " If false and if template already exists, then operation fails with 'Template already exists' error. type: bool + template_file: + description: + - Specifies the path to a JSON file that contains an import template. + - If both 'template_file' and 'payload' are provided, the 'template_file' will be given priority. + type: str payload: - description: Configuration Template Import Template's payload. + description: + - The payload parameter is used to directly import configuration data into the system. + - The payload provides an alternative way to import configurations without the need to reference an external file. + - If both 'template_file' and 'payload' are provided, the 'template_file' will be given priority. + type: list elements: dict suboptions: author: - description: Author of template. + description: Identifies the creator of the template. type: str composite: - description: Is it composite template. + description: Specifies if the template is composite. type: bool containing_templates: - description: Configuration Template Import Template's containingTemplates. - elements: dict + description: + - Refer to a set of templates within the main template to define more complex or modular configurations. + - This is particularly useful in systems that support hierarchical or nested templates. + - Here parent templates may contain child templates to form a complete configuration. suboptions: composite: - description: Is it composite template. + description: Specifies if the template is composite. type: bool description: - description: Description of template. + description: Provides a description of the template. type: str device_types: - description: Configuration Template Import Template's deviceTypes. + description: List of dictionaries details the types of devices that the templates can be applied to. + type: list elements: dict suboptions: product_family: - description: Device family. + description: Denotes the family to which the device belongs. type: str product_series: - description: Device series. + description: Specifies the series classification of the device. type: str product_type: - description: Device type. + description: Describes the exact type of the device. type: str - type: list id: - description: UUID of template. + description: Unique identifier for the template, represented as a UUID. type: str language: - description: Template language (JINJA or VELOCITY). + description: Programming language used for templating. Options are 'JINJA' for Jinja templating or 'VELOCITY' for Apache Velocity. + choices: + - JINJA + - VELOCITY type: str name: - description: Name of template. + description: Designation of the template, serving as its unique name. type: str project_name: - description: Project name. + description: Title of the project within which the template is categorized and managed. type: str rollback_template_params: - description: Configuration Template Import Template's rollbackTemplateParams. + description: A list of dictionaries defining parameters necessary for the rollback functionality of a template. + type: list elements: dict suboptions: binding: - description: Bind to source. + description: Associates the parameter with its source. type: str custom_order: - description: CustomOrder of template param. + description: Specifies a user-defined ordering for the parameter. type: int data_type: - description: Datatype of template param. + description: Identifies the data type of the parameter (e.g., string, integer, boolean). type: str default_value: - description: Default value of template param. + description: Establishes a default value for the parameter, used if no other value is provided. type: str description: - description: Description of template param. + description: Provides a descriptive explanation of the parameter's purpose. type: str display_name: - description: Display name of param. + description: The name of the parameter as displayed to users. type: str group: - description: Group. + description: Categorizes the parameter into a named group for organizational purposes. type: str id: - description: UUID of template param. + description: A unique identifier for the parameter, formatted as a UUID. type: str instruction_text: - description: Instruction text for param. + description: Gives guidance or instructions regarding the parameter's use. type: str key: - description: Key. + description: A unique key that identifies the parameter within the template. type: str not_param: - description: Is it not a variable. + description: Indicates whether the entry is not to be treated as a parameter. type: bool order: - description: Order of template param. + description: Determines the sequence in which the parameter appears relative to others. type: int param_array: - description: Is it an array. + description: Specifies if the parameter should be treated as an array. type: bool parameter_name: - description: Name of template param. + description: The name of the parameter. type: str provider: - description: Provider. + description: Denotes the provider associated with the parameter. type: str range: - description: Configuration Template Import Template's range. + description: Defines the permissible range for the parameter's value. + type: list elements: dict suboptions: id: - description: UUID of range. + description: Unique identifier for the range, represented as a UUID. type: str max_value: - description: Max value of range. + description: Specifies the maximum allowable value for the parameter. type: int min_value: - description: Min value of range. + description: Specifies the minimum allowable value for the parameter. type: int - type: list required: - description: Is param required. + description: Dictates whether the parameter is mandatory for template operations. type: bool selection: - description: Configuration Template Import Template's selection. + description: Contains options for parameter selection when a choice is available. suboptions: default_selected_values: - description: Default selection values. + description: Lists the default values that are preselected. elements: str type: list id: - description: UUID of selection. + description: A unique identifier for the selection entity, represented as a UUID. type: str selection_type: - description: Type of selection(SINGLE_SELECT or MULTI_SELECT). + description: Specifies the type of selection, such as 'SINGLE_SELECT' or 'MULTI_SELECT'. type: str selection_values: - description: Selection values. + description: A dictionary of available values for selection. type: dict type: dict - type: list tags: - description: Configuration Template Import Template's tags. - elements: dict + description: A list of dictionaries representing tags associated with the Configuration Template during creation. suboptions: id: - description: UUID of tag. + description: The unique identifier for each tag, presented as a UUID. type: str name: - description: Name of tag. + description: The descriptive label or name assigned to the tag. type: str type: list + elements: dict template_content: - description: Template content. + description: The actual script or code constituting the body of the template. type: str template_params: - description: Configuration Template Import Template's templateParams. + description: The customization of the contents within the template. elements: dict suboptions: binding: - description: Bind to source. + description: Associates the parameter with its source. type: str custom_order: - description: CustomOrder of template param. + description: Specifies a user-defined ordering for the parameter. type: int data_type: - description: Datatype of template param. + description: Identifies the data type of the parameter (e.g., string, integer, boolean). type: str default_value: - description: Default value of template param. + description: Establishes a default value for the parameter, used if no other value is provided. type: str description: - description: Description of template param. + description: Provides a descriptive explanation of the parameter's purpose. type: str display_name: - description: Display name of param. + description: The name of the parameter as displayed to users. type: str group: - description: Group. + description: Categorizes the parameter into a named group for organizational purposes. type: str id: - description: UUID of template param. + description: A unique identifier for the parameter, formatted as a UUID. type: str instruction_text: - description: Instruction text for param. + description: Gives guidance or instructions regarding the parameter's use. type: str key: - description: Key. + description: A unique key that identifies the parameter within the template. type: str not_param: - description: Is it not a variable. + description: Indicates whether the entry is not to be treated as a parameter. type: bool order: - description: Order of template param. + description: Determines the sequence in which the parameter appears relative to others. type: int param_array: - description: Is it an array. + description: Specifies if the parameter should be treated as an array. type: bool parameter_name: - description: Name of template param. + description: The name of the parameter. type: str provider: - description: Provider. + description: Denotes the provider associated with the parameter. type: str range: - description: Configuration Template Import Template's range. - elements: dict + description: Defines the permissible range for the parameter's value. suboptions: id: - description: UUID of range. + description: Unique identifier for the range, represented as a UUID. type: str max_value: - description: Max value of range. + description: Specifies the maximum allowable value for the parameter. type: int min_value: - description: Min value of range. + description: Specifies the minimum allowable value for the parameter. type: int type: list + elements: dict required: - description: Is param required. + description: Dictates whether the parameter is mandatory for template operations. type: bool selection: - description: Configuration Template Import Template's selection. + description: Contains options for parameter selection when a choice is available. suboptions: default_selected_values: - description: Default selection values. + description: Lists the default values that are preselected. elements: str type: list id: - description: UUID of selection. + description: A unique identifier for the selection entity, represented as a UUID. type: str selection_type: - description: Type of selection(SINGLE_SELECT or MULTI_SELECT). + description: Specifies the type of selection, such as 'SINGLE_SELECT' or 'MULTI_SELECT'. type: str selection_values: - description: Selection values. + description: A dictionary of available values for selection. type: dict type: dict type: list version: - description: Current version of template. + description: The current version of template. type: str type: list + elements: dict create_time: - description: Create time of template. + description: The creation time of the template refers to the initial development. type: int custom_params_order: - description: Custom Params Order. + description: Specifies the sequence in which custom parameters or variables should be arranged within the template. type: bool - description: - description: Description of template. + template_description: + description: Provides a overview of the template. type: str device_types: - description: Configuration Template Import Template's deviceTypes. + description: List of dictionaries details the types of devices that the templates can be applied to. + type: list elements: dict suboptions: product_family: - description: Device family. + description: Denotes the family to which the device belongs. type: str product_series: - description: Device series. + description: Specifies the series classification of the device. type: str product_type: - description: Device type. + description: Describes the exact type of the device. type: str - type: list failure_policy: description: Define failure policy if template provisioning fails. type: str id: - description: UUID of template. + description: A unique identifier, represented as a UUID. type: str language: - description: Template language (JINJA or VELOCITY). + description: Programming language used for templating. Options are 'JINJA' for Jinja templating or 'VELOCITY' for Apache Velocity. + choices: + - JINJA + - VELOCITY type: str last_update_time: - description: Update time of template. + description: Indicates the most recent timestamp when the template was modified or revised. type: int latest_version_time: - description: Latest versioned template time. + description: Indicates when the most recent version of a template was released or updated. type: int - name: - description: Name of template. + template_name: + description: Name of template. This field is mandatory to create a new template. type: str parent_template_id: - description: Parent templateID. + description: Refers to the unique identifier of a template from which another template derives. type: str project_id: - description: Project UUID. + description: A unique identifier for the project, formatted as a UUID. type: str project_name: - description: Project name. + description: Title of the project within which the template is categorized and managed. + type: str + project_description: + description: Narrative that elaborates on the purpose and scope of the project. type: str rollback_template_content: - description: Rollback template content. + description: Refers to the process of reverting the content of a template back to a previous version or state. type: str rollback_template_params: - description: Configuration Template Import Template's rollbackTemplateParams. - elements: dict + description: A list of dictionaries defining parameters necessary for the rollback functionality of a template. suboptions: binding: - description: Bind to source. + description: Associates the parameter with its source. type: str custom_order: - description: CustomOrder of template param. + description: Specifies a user-defined ordering for the parameter. type: int data_type: - description: Datatype of template param. + description: Identifies the data type of the parameter (e.g., string, integer, boolean). type: str default_value: - description: Default value of template param. + description: Establishes a default value for the parameter, used if no other value is provided. type: str description: - description: Description of template param. + description: Provides a descriptive explanation of the parameter's purpose. type: str display_name: - description: Display name of param. + description: The name of the parameter as displayed to users. type: str group: - description: Group. + description: Categorizes the parameter into a named group for organizational purposes. type: str id: - description: UUID of template param. + description: A unique identifier for the parameter, formatted as a UUID. type: str instruction_text: - description: Instruction text for param. + description: Gives guidance or instructions regarding the parameter's use. type: str key: - description: Key. + description: A unique key that identifies the parameter within the template. type: str not_param: - description: Is it not a variable. + description: Indicates whether the entry is not to be treated as a parameter. type: bool order: - description: Order of template param. + description: Determines the sequence in which the parameter appears relative to others. type: int param_array: - description: Is it an array. + description: Specifies if the parameter should be treated as an array. type: bool parameter_name: - description: Name of template param. + description: The name of the parameter. type: str provider: - description: Provider. + description: Denotes the provider associated with the parameter. type: str range: - description: Configuration Template Import Template's range. - elements: dict + description: Defines the permissible range for the parameter's value. suboptions: id: - description: UUID of range. + description: Unique identifier for the range, represented as a UUID. type: str max_value: - description: Max value of range. + description: Specifies the maximum allowable value for the parameter. type: int min_value: - description: Min value of range. + description: Specifies the minimum allowable value for the parameter. type: int type: list + elements: dict required: - description: Is param required. + description: Dictates whether the parameter is mandatory for template operations. type: bool selection: - description: Configuration Template Import Template's selection. + description: Contains options for parameter selection when a choice is available. suboptions: default_selected_values: - description: Default selection values. + description: Lists the default values that are preselected. elements: str type: list id: - description: UUID of selection. + description: A unique identifier for the selection entity, represented as a UUID. type: str selection_type: - description: Type of selection(SINGLE_SELECT or MULTI_SELECT). + description: Specifies the type of selection, such as 'SINGLE_SELECT' or 'MULTI_SELECT'. type: str selection_values: - description: Selection values. + description: A dictionary of available values for selection. type: dict type: dict type: list + elements: dict software_type: - description: Applicable device software type. + description: Applicable device software type. This field is mandatory to create a new template. type: str software_variant: - description: Applicable device software variant. + description: Refers to a version or edition of a software application that differs from the main or standard release. type: str software_version: description: Applicable device software version. type: str - tags: - description: Configuration Template Import Template's tags. - elements: dict + template_tag: + description: Refers to a keyword, label, or metadata assigned to a template. suboptions: id: - description: UUID of tag. + description: A unique identifier for the tag, represented as a UUID. type: str name: - description: Name of tag. + description: The name of the tag. type: str type: list + elements: dict template_content: - description: Template content. + description: The actual script or code constituting the body of the template. type: str template_params: - description: Configuration Template Import Template's templateParams. - elements: dict + description: The customization of the contents within the template. suboptions: binding: - description: Bind to source. + description: Associates the parameter with its source. type: str custom_order: - description: CustomOrder of template param. + description: Specifies a user-defined ordering for the parameter. type: int data_type: - description: Datatype of template param. + description: Identifies the data type of the parameter (e.g., string, integer, boolean). type: str default_value: - description: Default value of template param. + description: Establishes a default value for the parameter, used if no other value is provided. type: str description: - description: Description of template param. + description: Provides a descriptive explanation of the parameter's purpose. type: str display_name: - description: Display name of param. + description: The name of the parameter as displayed to users. type: str group: - description: Group. + description: Categorizes the parameter into a named group for organizational purposes. type: str id: - description: UUID of template param. + description: A unique identifier for the parameter, formatted as a UUID. type: str instruction_text: - description: Instruction text for param. + description: Gives guidance or instructions regarding the parameter's use. type: str key: - description: Key. + description: A unique key that identifies the parameter within the template. type: str not_param: - description: Is it not a variable. + description: Indicates whether the entry is not to be treated as a parameter. type: bool order: - description: Order of template param. + description: Determines the sequence in which the parameter appears relative to others. type: int param_array: - description: Is it an array. + description: Specifies if the parameter should be treated as an array. type: bool parameter_name: - description: Name of template param. + description: The name of the parameter. type: str provider: - description: Provider. + description: Denotes the provider associated with the parameter. type: str range: - description: Configuration Template Import Template's range. - elements: dict + description: Defines the permissible range for the parameter's value. suboptions: id: - description: UUID of range. + description: Unique identifier for the range, represented as a UUID. type: str max_value: - description: Max value of range. + description: Specifies the maximum allowable value for the parameter. type: int min_value: - description: Min value of range. + description: Specifies the minimum allowable value for the parameter. type: int type: list + elements: dict required: - description: Is param required. + description: Dictates whether the parameter is mandatory for template operations. type: bool selection: - description: Configuration Template Import Template's selection. + description: Contains options for parameter selection when a choice is available. suboptions: default_selected_values: - description: Default selection values. + description: Lists the default values that are preselected. elements: str type: list id: - description: UUID of selection. + description: A unique identifier for the selection entity, represented as a UUID. type: str selection_type: - description: Type of selection(SINGLE_SELECT or MULTI_SELECT). + description: Specifies the type of selection, such as 'SINGLE_SELECT' or 'MULTI_SELECT'. type: str selection_values: - description: Selection values. + description: A dictionary of available values for selection. type: dict type: dict type: list + elements: dict validation_errors: - description: Configuration Template Import Template's validationErrors. + description: Refer to issues or discrepancies identified during the validation process. suboptions: rollback_template_errors: - description: Validation or design conflicts errors of rollback template. - type: dict + description: Refer to errors or issues encountered during the process of reverting a template to a previous version or state. + elements: dict + type: list template_errors: - description: Validation or design conflicts errors. - type: dict + description: Refer to issues or discrepancies encountered during the processing of a template within a software application. + elements: dict + type: list template_id: - description: UUID of template. + description: A unique identifier for the template, represented as a UUID. type: str template_version: - description: Current version of template. + description: The current version of validation process in the template. type: str type: dict version: - description: Current version of template. + description: The current version of template. type: str - type: list project_name: description: ProjectName path parameter. Project name to create template under the project. @@ -1104,7 +1129,7 @@ options: requirements: - dnacentersdk == 2.4.5 -- python >= 3.5 +- python >= 3.9 notes: - SDK Method used are configuration_templates.ConfigurationTemplates.create_template, @@ -1239,6 +1264,26 @@ EXAMPLES = r""" - name: string - name: string +- name: Import the Templates. + cisco.dnac.template_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: "{{dnac_log_level}}" + state: merged + config_verify: True + config: + import: + template: + do_version: false + project_name: string + template_file: string + """ RETURN = r""" @@ -1312,6 +1357,7 @@ response_5: """ import copy +import json from ansible.module_utils.basic import AnsibleModule from ansible_collections.cisco.dnac.plugins.module_utils.dnac import ( DnacBase, @@ -1331,7 +1377,11 @@ class Template(DnacBase): self.supported_states = ["merged", "deleted"] self.accepted_languages = ["JINJA", "VELOCITY"] self.export_template = [] - self.result['response'].append({}) + self.result['response'] = [ + {"configurationTemplate": {"response": {}, "msg": {}}}, + {"export": {"response": {}}}, + {"import": {"response": {}}} + ] def validate_input(self): """ @@ -1367,7 +1417,7 @@ class Template(DnacBase): 'containing_templates': {'type': 'list'}, 'create_time': {'type': 'int'}, 'custom_params_order': {'type': 'bool'}, - 'description': {'type': 'str'}, + 'template_description': {'type': 'str'}, 'device_types': { 'type': 'list', 'elements': 'dict', @@ -1394,8 +1444,7 @@ class Template(DnacBase): 'template_params': {'type': 'list'}, 'template_name': {'type': 'str'}, 'validation_errors': {'type': 'dict'}, - 'version': {'type': 'str'}, - 'version_description': {'type': 'str'} + 'version': {'type': 'str'} }, 'export': { 'type': 'dict', @@ -1425,7 +1474,7 @@ class Template(DnacBase): 'containing_templates': {'type': 'list'}, 'create_time': {'type': 'int'}, 'custom_params_order': {'type': 'bool'}, - 'description': {'type': 'str'}, + 'template_description': {'type': 'str'}, 'device_types': { 'type': 'list', 'elements': 'dict', @@ -1857,7 +1906,6 @@ class Template(DnacBase): """ self.log("Template params playbook details: {0}".format(params), "DEBUG") - self.log(str(params)) temp_params = { "tags": self.get_tags(params.get("template_tag")), "author": params.get("author"), @@ -1917,7 +1965,7 @@ class Template(DnacBase): self.status = "failed" return self.check_return_status() - temp_params.update({"project_name": projectName}) + temp_params.update({"projectName": projectName}) softwareType = params.get("software_type") if not softwareType: @@ -1932,7 +1980,6 @@ class Template(DnacBase): for item in copy_temp_params: if temp_params[item] is None: del temp_params[item] - self.log(str(temp_params)) return temp_params def get_template(self, config): @@ -1950,13 +1997,14 @@ class Template(DnacBase): items = self.dnac_apply['exec']( family="configuration_templates", function="get_template_details", + op_modifies=True, params={"template_id": config.get("templateId")} ) if items: result = items self.log("Received API response from 'get_template_details': {0}".format(items), "DEBUG") - self.result['response'] = items + self.result['response'][0].get("configurationTemplate").update({"items": items}) return result def get_have_project(self, config): @@ -2034,6 +2082,7 @@ class Template(DnacBase): template_list = self.dnac_apply['exec']( family="configuration_templates", function="gets_the_templates_available", + op_modifies=True, params={"projectNames": config.get("projectName")}, ) have_template["isCommitPending"] = True @@ -2290,8 +2339,6 @@ class Template(DnacBase): # Mandate fields required for creating a new template. # Store it with other template parameters. - self.log(str(template_params)) - self.log(str(self.have_project)) template_params["projectId"] = self.have_project.get("id") template_params["project_id"] = self.have_project.get("id") # Update language,deviceTypes and softwareType if not provided for existing template. @@ -2419,7 +2466,7 @@ class Template(DnacBase): if is_template_found: if not self.requires_update(): # Template does not need update - self.result.update({ + self.result['response'][0].get("configurationTemplate").update({ 'response': self.have_template.get("template"), 'msg': "Template does not need update" }) @@ -2433,8 +2480,8 @@ class Template(DnacBase): response = self.dnac_apply['exec']( family="configuration_templates", function="update_template", - params=template_params, op_modifies=True, + params=template_params, ) template_updated = True self.log("Updating existing template '{0}'." @@ -2466,12 +2513,12 @@ class Template(DnacBase): return self task_details = self.get_task_details(task_id) self.result['changed'] = True - self.result['msg'] = task_details.get('progress') - self.result['diff'] = configuration_templates + self.result['response'][0].get("configurationTemplate")['msg'] = task_details.get('progress') + self.result['response'][0].get("configurationTemplate")['diff'] = configuration_templates self.log("Task details for 'version_template': {0}".format(task_details), "DEBUG") - self.result['response'] = task_details if task_details else response + self.result['response'][0].get("configurationTemplate")['response'] = task_details if task_details else response - if not self.result.get('msg'): + if not self.result['response'][0].get("configurationTemplate").get('msg'): self.msg = "Error while versioning the template" self.status = "failed" return self @@ -2494,16 +2541,16 @@ class Template(DnacBase): response = self.dnac._exec( family="configuration_templates", function='export_projects', + op_modifies=True, params={ "payload": export_project, - "active_validation": False, }, ) validation_string = "successfully exported project" self.check_task_response_status(response, validation_string, True).check_return_status() - self.result['response'][0].update({"exportProject": self.msg}) + self.result['response'][1].get("export").get("response").update({"exportProject": self.msg}) export_values = export.get("template") if export_values: @@ -2513,16 +2560,16 @@ class Template(DnacBase): response = self.dnac._exec( family="configuration_templates", function='export_templates', + op_modifies=True, params={ "payload": self.export_template, - "active_validation": False, }, ) validation_string = "successfully exported template" self.check_task_response_status(response, validation_string, True).check_return_status() - self.result['response'][0].update({"exportTemplate": self.msg}) + self.result['response'][1].get("export").get("response").update({"exportTemplate": self.msg}) return self @@ -2558,7 +2605,6 @@ class Template(DnacBase): _import_project = { "do_version": do_version, "payload": final_payload, - "active_validation": False, } self.log("Importing project details from the playbook: {0}" .format(_import_project), "DEBUG") @@ -2566,14 +2612,15 @@ class Template(DnacBase): response = self.dnac._exec( family="configuration_templates", function='imports_the_projects_provided', + op_modifies=True, params=_import_project, ) validation_string = "successfully imported project" self.check_task_response_status(response, validation_string).check_return_status() - self.result['response'][0].update({"importProject": validation_string}) + self.result['response'][2].get("import").get("response").update({"importProject": validation_string}) else: self.msg = "Projects '{0}' already available.".format(payload) - self.result['response'][0].update({ + self.result['response'][2].get("import").get("response").update({ "importProject": "Projects '{0}' already available.".format(payload) }) @@ -2582,39 +2629,71 @@ class Template(DnacBase): do_version = _import_template.get("do_version") if not do_version: do_version = False + + project_name = _import_template.get("project_name") if not _import_template.get("project_name"): self.msg = "Mandatory parameter project_name is not found under import template" self.status = "failed" return self - if not _import_template.get("payload"): - self.msg = "Mandatory parameter payload is not found under import template" + is_project_exists = self.get_project_details(project_name) + if not is_project_exists: + self.msg = "Project '{0}' is not found.".format(project_name) self.status = "failed" return self payload = _import_template.get("payload") - final_payload = [] - for item in payload: - self.log(str(item)) - final_payload.append(self.get_template_params(item)) - self.log(str(final_payload)) + template_file = _import_template.get("template_file") + if not (payload or template_file): + self.msg = "Mandatory parameter 'payload' or 'template_file' is not found under import template" + self.status = "failed" + return self + + final_payload = None + if template_file: + is_path_exists = self.is_path_exists(template_file) + if not is_path_exists: + self.msg = "Import template file path '{0}' does not exist.".format(template_file) + self.status = "failed" + return self + + is_json = self.is_json(template_file) + if not is_json: + self.msg = "Import template file '{0}' is not in JSON format".format(template_file) + self.status = "failed" + return self + try: + with open(template_file, 'r') as file: + json_data = file.read() + json_template = json.loads(json_data) + final_payload = json_template + except Exception as msg: + self.msg = "An unexpected error occurred while processing the file '{0}': {1}".format(template_file, msg) + self.status = "failed" + return self + + elif payload: + final_payload = [] + for item in payload: + final_payload.append(self.get_template_params(item)) import_template = { - "do_version": _import_template.get("do_version"), - "project_name": _import_template.get("project_name"), + "do_version": do_version, + "project_name": project_name, "payload": final_payload, - "active_validation": False, } self.log("Import template details from the playbook: {0}" - .format(_import_template), "DEBUG") + .format(import_template), "DEBUG") if _import_template: response = self.dnac._exec( family="configuration_templates", function='imports_the_templates_provided', + op_modifies=True, params=import_template ) validation_string = "successfully imported template" self.check_task_response_status(response, validation_string).check_return_status() - self.result['response'][0].update({"importTemplate": validation_string}) + self.result['response'][2].get("import").get("response") \ + .update({"importTemplate": "Successfully imported the templates"}) return self @@ -2679,19 +2758,20 @@ class Template(DnacBase): response = self.dnac_apply['exec']( family="configuration_templates", function=deletion_value, + op_modifies=True, params=params_key, ) task_id = response.get("response").get("taskId") if task_id: task_details = self.get_task_details(task_id) self.result['changed'] = True - self.result['msg'] = task_details.get('progress') - self.result['diff'] = config.get("configuration_templates") + self.result['response'][0].get("configurationTemplate")['msg'] = task_details.get('progress') + self.result['response'][0].get("configurationTemplate")['diff'] = config.get("configuration_templates") self.log("Task details for '{0}': {1}".format(deletion_value, task_details), "DEBUG") - self.result['response'] = task_details if task_details else response - if not self.result['msg']: - self.result['msg'] = "Error while deleting {name} : " + self.result['response'][0].get("configurationTemplate")['response'] = task_details if task_details else response + if not self.result['response'][0].get("configurationTemplate")['msg']: + self.result['response'][0].get("configurationTemplate")['msg'] = "Error while deleting {name} : " self.status = "failed" return self @@ -2774,11 +2854,11 @@ class Template(DnacBase): "softwareVariant", "templateContent"] for item in template_params: if self.have_template.get("template").get(item) != self.want.get("template_params").get(item): - self.msg = " Configuration Template config is not applied to the Cisco Catalyst Center." + self.msg = "Configuration Template config is not applied to the Cisco Catalyst Center." self.status = "failed" return self self.log("Successfully validated the Template in the Catalyst Center.", "INFO") - self.result.get("response").update({"Validation": "Success"}) + self.result['response'][0].get("configurationTemplate").get("response").update({"Validation": "Success"}) self.msg = "Successfully validated the Configuration Templates." self.status = "success" @@ -2803,6 +2883,7 @@ class Template(DnacBase): template_list = self.dnac_apply['exec']( family="configuration_templates", function="gets_the_templates_available", + op_modifies=True, params={"projectNames": config.get("projectName")}, ) if template_list and isinstance(template_list, list): @@ -2816,7 +2897,7 @@ class Template(DnacBase): return self self.log("Successfully validated absence of template in the Catalyst Center.", "INFO") - self.result.get("response").update({"Validation": "Success"}) + self.result['response'][0].get("configurationTemplate").get("response").update({"Validation": "Success"}) self.msg = "Successfully validated the absence of Template in the Cisco Catalyst Center." self.status = "success" @@ -2841,24 +2922,25 @@ class Template(DnacBase): def main(): """ main entry point for module execution""" - 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': {'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}, - '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']} - } + 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': {'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}, + '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']} + } module = AnsibleModule(argument_spec=element_spec, supports_check_mode=False) ccc_template = Template(module) diff --git a/ansible_collections/cisco/dnac/plugins/modules/templates_details_info.py b/ansible_collections/cisco/dnac/plugins/modules/templates_details_info.py index d8d2b0704..f2f45271c 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/templates_details_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/templates_details_info.py @@ -89,8 +89,8 @@ options: - Limit query parameter. Limits number of results. type: int requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Configuration Templates GetTemplatesDetails description: Complete reference of the GetTemplatesDetails API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/threat_detail.py b/ansible_collections/cisco/dnac/plugins/modules/threat_detail.py index 685b60b15..0bcfac62c 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/threat_detail.py +++ b/ansible_collections/cisco/dnac/plugins/modules/threat_detail.py @@ -44,8 +44,8 @@ options: elements: str type: list requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 notes: - SDK Method used are devices.Devices.threat_details, diff --git a/ansible_collections/cisco/dnac/plugins/modules/threat_detail_count.py b/ansible_collections/cisco/dnac/plugins/modules/threat_detail_count.py index fab706a16..7a21cd1ad 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/threat_detail_count.py +++ b/ansible_collections/cisco/dnac/plugins/modules/threat_detail_count.py @@ -44,8 +44,8 @@ options: elements: str type: list requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 notes: - SDK Method used are devices.Devices.threat_detail_count, diff --git a/ansible_collections/cisco/dnac/plugins/modules/threat_summary.py b/ansible_collections/cisco/dnac/plugins/modules/threat_summary.py index e3f3742bb..635b0c43c 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/threat_summary.py +++ b/ansible_collections/cisco/dnac/plugins/modules/threat_summary.py @@ -35,8 +35,8 @@ options: elements: str type: list requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 notes: - SDK Method used are devices.Devices.threat_summary, diff --git a/ansible_collections/cisco/dnac/plugins/modules/topology_layer_2_info.py b/ansible_collections/cisco/dnac/plugins/modules/topology_layer_2_info.py index 2d9324000..2ba3667e2 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/topology_layer_2_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/topology_layer_2_info.py @@ -24,8 +24,8 @@ options: - VlanID path parameter. Vlan Name for e.g Vlan1, Vlan23 etc. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Topology GetTopologyDetails description: Complete reference of the GetTopologyDetails API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/topology_layer_3_info.py b/ansible_collections/cisco/dnac/plugins/modules/topology_layer_3_info.py index fc09e3f56..008b5d1ac 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/topology_layer_3_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/topology_layer_3_info.py @@ -24,8 +24,8 @@ options: - TopologyType path parameter. Type of topology(OSPF,ISIS,etc). type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Topology GetL3TopologyDetails description: Complete reference of the GetL3TopologyDetails API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/topology_network_health_info.py b/ansible_collections/cisco/dnac/plugins/modules/topology_network_health_info.py index 907a87c5f..b9c856316 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/topology_network_health_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/topology_network_health_info.py @@ -26,8 +26,8 @@ options: - Timestamp query parameter. Epoch time(in milliseconds) when the Network health data is required. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Topology GetOverallNetworkHealth description: Complete reference of the GetOverallNetworkHealth API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/topology_physical_info.py b/ansible_collections/cisco/dnac/plugins/modules/topology_physical_info.py index 89afc87f2..6a9573d57 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/topology_physical_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/topology_physical_info.py @@ -24,8 +24,8 @@ options: - NodeType query parameter. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Topology GetPhysicalTopology description: Complete reference of the GetPhysicalTopology API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/topology_site_info.py b/ansible_collections/cisco/dnac/plugins/modules/topology_site_info.py index 034c84c96..d63661b43 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/topology_site_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/topology_site_info.py @@ -20,8 +20,8 @@ options: description: Additional headers. type: dict requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Topology GetSiteTopology description: Complete reference of the GetSiteTopology API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/topology_vlan_details_info.py b/ansible_collections/cisco/dnac/plugins/modules/topology_vlan_details_info.py index c8585d26a..555b5b9d8 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/topology_vlan_details_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/topology_vlan_details_info.py @@ -20,8 +20,8 @@ options: description: Additional headers. type: dict requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Topology GetVLANDetails description: Complete reference of the GetVLANDetails API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/transit_peer_network.py b/ansible_collections/cisco/dnac/plugins/modules/transit_peer_network.py index 29c9889c1..38125e4d3 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/transit_peer_network.py +++ b/ansible_collections/cisco/dnac/plugins/modules/transit_peer_network.py @@ -49,8 +49,8 @@ options: description: Transit Peer Network Type. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for AddTransitPeerNetwork description: Complete reference of the AddTransitPeerNetwork API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/transit_peer_network_info.py b/ansible_collections/cisco/dnac/plugins/modules/transit_peer_network_info.py index ef9ecac22..75ca07d7a 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/transit_peer_network_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/transit_peer_network_info.py @@ -24,8 +24,8 @@ options: - TransitPeerNetworkName query parameter. Transit or Peer Network Name. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for GetTransitPeerNetworkInfo description: Complete reference of the GetTransitPeerNetworkInfo API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/user.py b/ansible_collections/cisco/dnac/plugins/modules/user.py index 21769bb83..4567de33d 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/user.py +++ b/ansible_collections/cisco/dnac/plugins/modules/user.py @@ -40,8 +40,8 @@ options: description: Username. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for User and Roles AddUserAPI description: Complete reference of the AddUserAPI API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/user_enrichment_details_info.py b/ansible_collections/cisco/dnac/plugins/modules/user_enrichment_details_info.py index 246dd7a83..bcffca746 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/user_enrichment_details_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/user_enrichment_details_info.py @@ -22,8 +22,8 @@ options: description: Additional headers. type: dict requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Users GetUserEnrichmentDetails description: Complete reference of the GetUserEnrichmentDetails API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/user_info.py b/ansible_collections/cisco/dnac/plugins/modules/user_info.py index f00e1d66e..d4c20af69 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/user_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/user_info.py @@ -24,8 +24,8 @@ options: - InvokeSource query parameter. The source that invokes this API. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for User and Roles GetUsersAPI description: Complete reference of the GetUsersAPI API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/users_external_servers_info.py b/ansible_collections/cisco/dnac/plugins/modules/users_external_servers_info.py index 536f958c8..0373d2c85 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/users_external_servers_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/users_external_servers_info.py @@ -24,8 +24,8 @@ options: - InvokeSource query parameter. The source that invokes this API. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for User and Roles GetExternalAuthenticationServersAPI description: Complete reference of the GetExternalAuthenticationServersAPI API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/wireless_accespoint_configuration.py b/ansible_collections/cisco/dnac/plugins/modules/wireless_accespoint_configuration.py index 94dee6c5d..6a1cf2946 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/wireless_accespoint_configuration.py +++ b/ansible_collections/cisco/dnac/plugins/modules/wireless_accespoint_configuration.py @@ -238,8 +238,8 @@ options: type: str type: dict requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Wireless ConfigureAccessPoints description: Complete reference of the ConfigureAccessPoints API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/wireless_accesspoint_configuration_summary_info.py b/ansible_collections/cisco/dnac/plugins/modules/wireless_accesspoint_configuration_summary_info.py index 3c2130868..ba43fe052 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/wireless_accesspoint_configuration_summary_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/wireless_accesspoint_configuration_summary_info.py @@ -24,8 +24,8 @@ options: - Key query parameter. The ethernet MAC address of Access point. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Wireless GetAccessPointConfiguration description: Complete reference of the GetAccessPointConfiguration API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/wireless_dynamic_interface.py b/ansible_collections/cisco/dnac/plugins/modules/wireless_dynamic_interface.py index ea48c7970..ed933a268 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/wireless_dynamic_interface.py +++ b/ansible_collections/cisco/dnac/plugins/modules/wireless_dynamic_interface.py @@ -27,8 +27,8 @@ options: description: Vlan Id. type: int requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Wireless CreateUpdateDynamicInterface description: Complete reference of the CreateUpdateDynamicInterface API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/wireless_dynamic_interface_info.py b/ansible_collections/cisco/dnac/plugins/modules/wireless_dynamic_interface_info.py index d1736fb20..152b1c339 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/wireless_dynamic_interface_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/wireless_dynamic_interface_info.py @@ -26,8 +26,8 @@ options: will be retrieved. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Wireless GetDynamicInterface description: Complete reference of the GetDynamicInterface API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/wireless_enterprise_ssid.py b/ansible_collections/cisco/dnac/plugins/modules/wireless_enterprise_ssid.py index eb8790381..f288aaada 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/wireless_enterprise_ssid.py +++ b/ansible_collections/cisco/dnac/plugins/modules/wireless_enterprise_ssid.py @@ -81,8 +81,8 @@ options: description: Traffic Type Enum (voicedata or data ). type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Wireless CreateEnterpriseSSID description: Complete reference of the CreateEnterpriseSSID API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/wireless_enterprise_ssid_info.py b/ansible_collections/cisco/dnac/plugins/modules/wireless_enterprise_ssid_info.py index 8abacd832..b277d03bd 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/wireless_enterprise_ssid_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/wireless_enterprise_ssid_info.py @@ -26,8 +26,8 @@ options: enterprise SSIDs will be retrieved. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Wireless GetEnterpriseSSID description: Complete reference of the GetEnterpriseSSID API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/wireless_profile.py b/ansible_collections/cisco/dnac/plugins/modules/wireless_profile.py index 4c696f0d6..7c837cca7 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/wireless_profile.py +++ b/ansible_collections/cisco/dnac/plugins/modules/wireless_profile.py @@ -68,8 +68,8 @@ options: description: WirelessProfileName path parameter. Wireless Profile Name. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Wireless CreateWirelessProfile description: Complete reference of the CreateWirelessProfile API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/wireless_profile_info.py b/ansible_collections/cisco/dnac/plugins/modules/wireless_profile_info.py index f88760c14..fb175dedf 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/wireless_profile_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/wireless_profile_info.py @@ -24,8 +24,8 @@ options: - ProfileName query parameter. Wireless Network Profile Name. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Wireless GetWirelessProfile description: Complete reference of the GetWirelessProfile API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/wireless_provision_access_point.py b/ansible_collections/cisco/dnac/plugins/modules/wireless_provision_access_point.py index f8db0233c..d4651745f 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/wireless_provision_access_point.py +++ b/ansible_collections/cisco/dnac/plugins/modules/wireless_provision_access_point.py @@ -47,8 +47,8 @@ options: type: str type: list requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Wireless APProvision description: Complete reference of the APProvision API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/wireless_provision_device_create.py b/ansible_collections/cisco/dnac/plugins/modules/wireless_provision_device_create.py index d626052a7..84622d990 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/wireless_provision_device_create.py +++ b/ansible_collections/cisco/dnac/plugins/modules/wireless_provision_device_create.py @@ -55,8 +55,8 @@ options: type: str type: list requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Wireless Provision description: Complete reference of the Provision API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/wireless_provision_device_update.py b/ansible_collections/cisco/dnac/plugins/modules/wireless_provision_device_update.py index 07e983f30..c76487739 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/wireless_provision_device_update.py +++ b/ansible_collections/cisco/dnac/plugins/modules/wireless_provision_device_update.py @@ -55,8 +55,8 @@ options: type: list type: list requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Wireless ProvisionUpdate description: Complete reference of the ProvisionUpdate API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/wireless_provision_ssid_create_provision.py b/ansible_collections/cisco/dnac/plugins/modules/wireless_provision_ssid_create_provision.py index 5a7322ea9..a0627c125 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/wireless_provision_ssid_create_provision.py +++ b/ansible_collections/cisco/dnac/plugins/modules/wireless_provision_ssid_create_provision.py @@ -78,8 +78,8 @@ options: description: SSID Type. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Wireless CreateAndProvisionSSID description: Complete reference of the CreateAndProvisionSSID API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/wireless_provision_ssid_delete_reprovision.py b/ansible_collections/cisco/dnac/plugins/modules/wireless_provision_ssid_delete_reprovision.py index fed3cb2ca..8d713ce13 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/wireless_provision_ssid_delete_reprovision.py +++ b/ansible_collections/cisco/dnac/plugins/modules/wireless_provision_ssid_delete_reprovision.py @@ -26,8 +26,8 @@ options: description: SsidName path parameter. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Wireless DeleteSSIDAndProvisionItToDevices description: Complete reference of the DeleteSSIDAndProvisionItToDevices API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/wireless_psk_override.py b/ansible_collections/cisco/dnac/plugins/modules/wireless_psk_override.py index 0afada7c5..163ea45b5 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/wireless_psk_override.py +++ b/ansible_collections/cisco/dnac/plugins/modules/wireless_psk_override.py @@ -34,8 +34,8 @@ options: type: str type: list requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Wireless PSKOverride description: Complete reference of the PSKOverride API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/wireless_rf_profile.py b/ansible_collections/cisco/dnac/plugins/modules/wireless_rf_profile.py index 4aa97f651..86c7ad953 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/wireless_rf_profile.py +++ b/ansible_collections/cisco/dnac/plugins/modules/wireless_rf_profile.py @@ -130,8 +130,8 @@ options: *non-custom RF profile cannot be deleted. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Wireless CreateOrUpdateRFProfile description: Complete reference of the CreateOrUpdateRFProfile API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/wireless_rf_profile_info.py b/ansible_collections/cisco/dnac/plugins/modules/wireless_rf_profile_info.py index 722ddfc40..281f87b6d 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/wireless_rf_profile_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/wireless_rf_profile_info.py @@ -24,8 +24,8 @@ options: - Rf-profile-name query parameter. RF Profile Name. type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Wireless RetrieveRFProfiles description: Complete reference of the RetrieveRFProfiles API. diff --git a/ansible_collections/cisco/dnac/plugins/modules/wireless_sensor_test_results_info.py b/ansible_collections/cisco/dnac/plugins/modules/wireless_sensor_test_results_info.py index 41d727dd5..f316a4602 100644 --- a/ansible_collections/cisco/dnac/plugins/modules/wireless_sensor_test_results_info.py +++ b/ansible_collections/cisco/dnac/plugins/modules/wireless_sensor_test_results_info.py @@ -36,8 +36,8 @@ options: - TestFailureBy query parameter. Obtain failure statistics group by "area", "building", or "floor". type: str requirements: -- dnacentersdk >= 2.5.5 -- python >= 3.5 +- dnacentersdk >= 2.6.0 +- python >= 3.9 seealso: - name: Cisco DNA Center documentation for Wireless SensorTestResults description: Complete reference of the SensorTestResults API. |