summaryrefslogtreecommitdiffstats
path: root/ansible_collections/cisco/dnac/playbooks
diff options
context:
space:
mode:
Diffstat (limited to 'ansible_collections/cisco/dnac/playbooks')
-rw-r--r--ansible_collections/cisco/dnac/playbooks/configs_backup.yml39
-rw-r--r--ansible_collections/cisco/dnac/playbooks/credentials.template2
-rw-r--r--ansible_collections/cisco/dnac/playbooks/device_credential_workflow_manager.yml21
-rw-r--r--ansible_collections/cisco/dnac/playbooks/device_provision_workflow.yml32
-rw-r--r--ansible_collections/cisco/dnac/playbooks/dnac.log0
-rw-r--r--ansible_collections/cisco/dnac/playbooks/events_and_notifications_workflow_manager.yml88
-rw-r--r--ansible_collections/cisco/dnac/playbooks/input_events_and_notification.yml40
-rw-r--r--ansible_collections/cisco/dnac/playbooks/ise_radius_integration_workflow_manager.yml109
-rw-r--r--ansible_collections/cisco/dnac/playbooks/network_compliance_workflow_manager.yml151
-rw-r--r--ansible_collections/cisco/dnac/playbooks/network_settings_workflow_manager.yml60
-rw-r--r--ansible_collections/cisco/dnac/playbooks/template_workflow_manager.yml1
11 files changed, 510 insertions, 33 deletions
diff --git a/ansible_collections/cisco/dnac/playbooks/configs_backup.yml b/ansible_collections/cisco/dnac/playbooks/configs_backup.yml
new file mode 100644
index 000000000..696e02184
--- /dev/null
+++ b/ansible_collections/cisco/dnac/playbooks/configs_backup.yml
@@ -0,0 +1,39 @@
+---
+- name: Take running config backup of devices
+ hosts: localhost
+ connection: local
+ gather_facts: no
+
+ vars_files:
+ - "{{ CLUSTERFILE }}"
+
+ vars:
+ dnac_login: &dnac_login
+ dnac_host: "{{ dnac_host }}"
+ dnac_username: "{{ dnac_username }}"
+ dnac_password: "{{ dnac_password }}"
+ dnac_verify: "{{ dnac_verify }}"
+ dnac_port: "{{ dnac_port }}"
+ dnac_version: "{{ dnac_version }}"
+ dnac_debug: "{{ dnac_debug }}"
+ dnac_log_level: "DEBUG"
+
+ tasks:
+ - name: Take backup of a wired 9500 switch
+ cisco.dnac.device_configs_backup_workflow_manager:
+ <<: *dnac_login
+ dnac_log: True
+ state: merged
+ config_verify: True
+ config:
+ - hostname: NY-BN-9500.cisco.local
+ file_path: /home/admin/madhan_ansible/collections/ansible_collections/cisco/dnac/playbooks/new_tmp
+
+ - name: Take backup of all the switches
+ cisco.dnac.device_configs_backup_workflow_manager:
+ <<: *dnac_login
+ dnac_log: True
+ state: merged
+ config_verify: True
+ config:
+ - family: Switches and Hubs \ No newline at end of file
diff --git a/ansible_collections/cisco/dnac/playbooks/credentials.template b/ansible_collections/cisco/dnac/playbooks/credentials.template
index 5270c0816..4e2878d25 100644
--- a/ansible_collections/cisco/dnac/playbooks/credentials.template
+++ b/ansible_collections/cisco/dnac/playbooks/credentials.template
@@ -3,7 +3,7 @@ dnac_host: <A.B.C.D>
dnac_port: 443
dnac_username: <username>
dnac_password: <password>
-dnac_version: 2.3.5.3
+dnac_version: 2.3.7.6
dnac_verify: False
dnac_debug: False
dnac_log_level: [CRITICAL, ERROR, WARNING, INFO, DEBUG]
diff --git a/ansible_collections/cisco/dnac/playbooks/device_credential_workflow_manager.yml b/ansible_collections/cisco/dnac/playbooks/device_credential_workflow_manager.yml
index 3d77584f0..ffdc84110 100644
--- a/ansible_collections/cisco/dnac/playbooks/device_credential_workflow_manager.yml
+++ b/ansible_collections/cisco/dnac/playbooks/device_credential_workflow_manager.yml
@@ -4,7 +4,7 @@
gather_facts: no
connection: local
tasks:
- - name: Create Credentials and assign it to a site.
+ - name: Create global device credentials.
cisco.dnac.device_credential_workflow_manager:
dnac_host: "{{ dnac_host }}"
dnac_port: "{{ dnac_port }}"
@@ -14,6 +14,7 @@
dnac_debug: "{{ dnac_debug }}"
dnac_log: True
state: merged
+ config_verify: True
config:
- global_credential_details:
cli_credential:
@@ -54,7 +55,20 @@
port: 443
# old_description:
# old_username:
- assign_credentials_to_site:
+
+ - name: Assign global device credentials to a site.
+ cisco.dnac.device_credential_workflow_manager:
+ dnac_host: "{{ dnac_host }}"
+ dnac_port: "{{ dnac_port }}"
+ dnac_username: "{{ dnac_username }}"
+ dnac_password: "{{ dnac_password }}"
+ dnac_verify: "{{ dnac_verify }}"
+ dnac_debug: "{{ dnac_debug }}"
+ dnac_log: True
+ state: merged
+ config_verify: True
+ config:
+ - assign_credentials_to_site:
cli_credential:
description: CLI
username: cli
@@ -74,7 +88,7 @@
- Global/Chennai/Trill
- Global/Chennai/Tidel
- - name: Delete Credentials
+ - name: Delete credentials
cisco.dnac.device_credential_workflow_manager:
dnac_host: "{{ dnac_host }}"
dnac_port: "{{ dnac_port }}"
@@ -84,6 +98,7 @@
dnac_debug: "{{ dnac_debug }}"
dnac_log: True
state: deleted
+ config_verify: True
config:
- global_credential_details:
cli_credential:
diff --git a/ansible_collections/cisco/dnac/playbooks/device_provision_workflow.yml b/ansible_collections/cisco/dnac/playbooks/device_provision_workflow.yml
index acb3249a5..61c23937a 100644
--- a/ansible_collections/cisco/dnac/playbooks/device_provision_workflow.yml
+++ b/ansible_collections/cisco/dnac/playbooks/device_provision_workflow.yml
@@ -16,18 +16,31 @@
dnac_port: "{{ dnac_port }}"
dnac_version: "{{ dnac_version }}"
dnac_debug: "{{ dnac_debug }}"
+ dnac_log_level: "{{ dnac_log_level }}"
tasks:
- - name: Provision a wired device to a site
+ - name: Assign a wired device to a site
cisco.dnac.provision_workflow_manager:
<<: *dnac_login
dnac_log: True
state: merged
config_verify: True
config:
- - site_name_hierarchy: Global/USA/San Francisco/BGL_18
- management_ip_address: 204.1.2.2
+ - site_name_hierarchy: Global/USA/New York/NY_BLD1
+
+ management_ip_address: 204.192.3.40
+ provisioning: false
+ - name: Provision a wired device to a site
+ cisco.dnac.provision_workflow_manager:
+ <<: *dnac_login
+ dnac_log: True
+ dnac_log_level: DEBUG
+ state: merged
+ config_verify: True
+ config:
+ - site_name_hierarchy: Global/USA/SAN JOSE/BLD23/BLD20_FLOOR2
+ management_ip_address: 204.192.3.40
- name: Unprovision a wired device from a site
cisco.dnac.provision_workflow_manager:
@@ -36,3 +49,16 @@
state: deleted
config:
- management_ip_address: 204.1.2.2
+
+ - name: Provision a wireless device to a site
+ cisco.dnac.provision_workflow_manager:
+ <<: *dnac_login
+ dnac_log: True
+ dnac_log_level: DEBUG
+ state: merged
+ config_verify: True
+ config:
+ - site_name_hierarchy: Global/USA/RTP/BLD11
+ management_ip_address: 204.192.12.201
+ managed_ap_locations:
+ - Global/USA/RTP/BLD11/BLD11_FLOOR1
diff --git a/ansible_collections/cisco/dnac/playbooks/dnac.log b/ansible_collections/cisco/dnac/playbooks/dnac.log
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/ansible_collections/cisco/dnac/playbooks/dnac.log
diff --git a/ansible_collections/cisco/dnac/playbooks/events_and_notifications_workflow_manager.yml b/ansible_collections/cisco/dnac/playbooks/events_and_notifications_workflow_manager.yml
new file mode 100644
index 000000000..74874dd52
--- /dev/null
+++ b/ansible_collections/cisco/dnac/playbooks/events_and_notifications_workflow_manager.yml
@@ -0,0 +1,88 @@
+---
+- name: Configure channels and create events in Cisco Catalyst Center
+ hosts: localhost
+ connection: local
+ gather_facts: no
+ vars_files:
+ - "input_events_and_notification.yml"
+ - "credentials.yml"
+ tasks:
+ - name: Add/update channels with destination and create/update events in Cisco Catalyst Center.
+ cisco.dnac.events_and_notifications_workflow_manager:
+ dnac_host: "{{dnac_host}}"
+ dnac_username: "{{dnac_username}}"
+ dnac_password: "{{dnac_password}}"
+ dnac_verify: "{{dnac_verify}}"
+ dnac_port: "{{dnac_port}}"
+ dnac_version: "{{dnac_version}}"
+ dnac_debug: "{{dnac_debug}}"
+ dnac_log_level: DEBUG
+ dnac_log: true
+ config_verify: true
+ state: merged
+ config:
+ - webhook_destination:
+ name: "{{item.webhook_destination.name}}"
+ description: "{{item.webhook_destination.description}}"
+ url: "{{item.webhook_destination.url}}"
+ method: "{{item.webhook_destination.method}}"
+ trust_cert: "{{item.webhook_destination.trust_cert}}"
+ email_destination:
+ from_email: "{{item.email_destination.from_email}}"
+ to_email: "{{item.email_destination.to_email}}"
+ subject: "{{item.email_destination.subject}}"
+ primary_smtp_config:
+ server_address: "{{item.email_destination.primary_smtp_config.server_address}}"
+ port: "{{item.email_destination.primary_smtp_config.port}}"
+ username: "{{item.email_destination.primary_smtp_config.username}}"
+ syslog_destination:
+ name: "{{item.syslog_destination.name}}"
+ description: "{{item.syslog_destination.description}}"
+ server_address: "{{item.syslog_destination.server_address}}"
+ protocol: "{{item.syslog_destination.protocol}}"
+ port: "{{item.syslog_destination.port}}"
+ snmp_destination:
+ name: "{{item.snmp_destination.name}}"
+ description: "{{item.snmp_destination.description}}"
+ server_address: "{{item.snmp_destination.server_address}}"
+ port: "{{item.snmp_destination.port}}"
+ snmp_version: "{{item.snmp_destination.snmp_version}}"
+ username: "{{item.snmp_destination.username}}"
+ mode: "{{item.snmp_destination.mode}}"
+ auth_type: "{{item.snmp_destination.auth_type}}"
+ auth_password: "{{item.snmp_destination.auth_password}}"
+ privacy_type: "{{item.snmp_destination.privacy_type}}"
+ privacy_password: "{{item.snmp_destination.privacy_password}}"
+ itsm_setting:
+ instance_name: "{{item.itsm_setting.instance_name}}"
+ description: "{{item.itsm_setting.description}}"
+ connection_settings:
+ url: "{{item.itsm_setting.connection_settings.url}}"
+ username: "{{item.itsm_setting.connection_settings.username}}"
+ password: "{{item.itsm_setting.connection_settings.password}}"
+ webhook_event_notification:
+ name: "{{item.webhook_event_notification.name}}"
+ description: "{{item.webhook_event_notification.description}}"
+ sites: "{{item.webhook_event_notification.sites}}"
+ events: "{{item.webhook_event_notification.events}}"
+ destination: "{{item.webhook_event_notification.destination}}"
+ email_event_notification:
+ name: "{{item.email_event_notification.name}}"
+ description: "{{item.email_event_notification.description}}"
+ sites: "{{item.email_event_notification.sites}}"
+ events: "{{item.email_event_notification.events}}"
+ sender_email: "{{item.email_event_notification.sender_email}}"
+ recipient_emails: "{{item.email_event_notification.recipient_emails}}"
+ subject: "{{item.email_event_notification.subject}}"
+ instance: "{{item.email_event_notification.instance}}"
+ instance_description: "{{item.email_event_notification.instance_description}}"
+ syslog_event_notification:
+ name: "{{item.syslog_event_notification.name}}"
+ description: "{{item.syslog_event_notification.description}}"
+ sites: "{{item.syslog_event_notification.sites}}"
+ events: "{{item.syslog_event_notification.events}}"
+ destination: "{{item.syslog_event_notification.destination}}"
+
+ with_items: "{{ events_notification }}"
+ tags:
+ - events_testing
diff --git a/ansible_collections/cisco/dnac/playbooks/input_events_and_notification.yml b/ansible_collections/cisco/dnac/playbooks/input_events_and_notification.yml
new file mode 100644
index 000000000..3642c4ce0
--- /dev/null
+++ b/ansible_collections/cisco/dnac/playbooks/input_events_and_notification.yml
@@ -0,0 +1,40 @@
+---
+events_notification:
+ - syslog_destination:
+ name: Syslog Demo test
+ description: "Adding syslog destination for testing"
+ server_address: "10.30.0.90"
+ protocol: "TCP"
+ port: 652
+ webhook_destination:
+ name: "webhook demo 19"
+ description: "webhhok description for testing"
+ url: "https://10.195.227.14/dna"
+ method: "POST"
+ trust_cert: False
+ email_destination:
+ from_email: "test@cisco.com"
+ to_email: "abmahesh@cisco.com"
+ subject: "Ansible testing"
+ primary_smtp_config:
+ server_address: "outbound.cisco.com"
+ port: '25'
+ snmp_destination:
+ name: Snmp test
+ description: "Adding snmp destination for testing for update"
+ server_address: "10.30.0.91"
+ port: '265'
+ snmp_version: "V3"
+ username: cisco123
+ mode: AUTH_PRIVACY
+ auth_type: SHA
+ auth_password: authpass123
+ privacy_type: AES128
+ privacy_password: privacy123
+ itsm_setting:
+ instance_name: "Playbook itsm demo"
+ description: "ITSM description for testing"
+ connection_settings:
+ url: "https://catalystcente1.com"
+ username: "catalyst"
+ password: "catalyst@123"
diff --git a/ansible_collections/cisco/dnac/playbooks/ise_radius_integration_workflow_manager.yml b/ansible_collections/cisco/dnac/playbooks/ise_radius_integration_workflow_manager.yml
new file mode 100644
index 000000000..9ca9a9181
--- /dev/null
+++ b/ansible_collections/cisco/dnac/playbooks/ise_radius_integration_workflow_manager.yml
@@ -0,0 +1,109 @@
+- hosts: dnac_servers
+ vars_files:
+ - credentials.yml
+ gather_facts: no
+ connection: local
+ tasks:
+ - name: Create an Authentication and Policy Server.
+ cisco.dnac.ise_radius_integration_workflow_manager:
+ dnac_host: "{{ dnac_host }}"
+ dnac_port: "{{ dnac_port }}"
+ dnac_username: "{{ dnac_username }}"
+ dnac_password: "{{ dnac_password }}"
+ dnac_verify: "{{ dnac_verify }}"
+ dnac_debug: "{{ dnac_debug }}"
+ dnac_log: True
+ dnac_log_level: "{{ dnac_log_level }}"
+ dnac_log_append: True
+ dnac_log_file_path: "{{ dnac_log_file_path }}"
+ state: merged
+ config_verify: True
+ config:
+ - authentication_policy_server:
+ server_type: AAA # [ISE, AAA]
+ server_ip_address: 10.0.0.20
+ shared_secret: cisco
+ protocol: RADIUS_TACACS # [TACACS, RADIUS, RADIUS_TACACS]
+ encryption_scheme: KEYWRAP # KEYWRAP or RADSEC
+ encryption_key: dnacsolutions123 # For KEYWRAP, must be 16 char long
+ message_authenticator_code_key: dnacisesolutions1234 # For KEYWRAP, must be 20 char long
+ authentication_port: 1800
+ accounting_port: 1700
+ retries: 3 # Range from 1 to 3
+ timeout: 4 # Range from 2 to 20
+ role: secondary
+
+ - name: Delete Authentication and Policy Server.
+ cisco.dnac.ise_radius_integration_workflow_manager:
+ dnac_host: "{{ dnac_host }}"
+ dnac_port: "{{ dnac_port }}"
+ dnac_username: "{{ dnac_username }}"
+ dnac_password: "{{ dnac_password }}"
+ dnac_verify: "{{ dnac_verify }}"
+ dnac_debug: "{{ dnac_debug }}"
+ dnac_log: True
+ dnac_log_level: "{{ dnac_log_level }}"
+ dnac_log_append: True
+ dnac_log_file_path: "{{ dnac_log_file_path }}"
+ state: deleted
+ config_verify: True
+ config:
+ - authentication_policy_server:
+ server_ip_address: 10.0.0.20
+
+ - name: Create ISE Server.
+ cisco.dnac.ise_radius_integration_workflow_manager:
+ dnac_host: "{{ dnac_host }}"
+ dnac_port: "{{ dnac_port }}"
+ dnac_username: "{{ dnac_username }}"
+ dnac_password: "{{ dnac_password }}"
+ dnac_verify: "{{ dnac_verify }}"
+ dnac_debug: "{{ dnac_debug }}"
+ dnac_log: True
+ dnac_log_level: "{{ dnac_log_level }}"
+ dnac_log_append: True
+ dnac_log_file_path: "{{ dnac_log_file_path }}"
+ state: merged
+ config_verify: True
+ config:
+ - authentication_policy_server:
+ server_type: ISE # [ISE, AAA]
+ server_ip_address: 10.195.243.59
+ shared_secret: cisco
+ protocol: RADIUS_TACACS # [TACACS, RADIUS, RADIUS_TACACS]
+ encryption_scheme: KEYWRAP # KEYWRAP or RADSEC
+ encryption_key: dnacsolutions123 # For KEYWRAP, must be 16 char long
+ message_authenticator_code_key: dnacisesolutions1234 # For KEYWRAP, must be 20 char long
+ authentication_port: 1800
+ accounting_port: 1700
+ retries: 3 # Range from 1 to 3
+ timeout: 4 # Range from 2 to 20
+ role: primary
+ pxgrid_enabled: False # Avaliable for Cisco ISE only
+ use_dnac_cert_for_pxgrid: False
+ cisco_ise_dtos: # use this for creating the Cisco ISE Server
+ - user_name: admin
+ password: abcd
+ fqdn: abc.cisco.com
+ ip_address: 10.195.243.59
+ description: CISCO ISE
+ trusted_server: True
+ ise_integration_wait_time: 20
+
+ - name: Delete an ISE Server.
+ cisco.dnac.ise_radius_integration_workflow_manager:
+ dnac_host: "{{ dnac_host }}"
+ dnac_port: "{{ dnac_port }}"
+ dnac_username: "{{ dnac_username }}"
+ dnac_password: "{{ dnac_password }}"
+ dnac_verify: "{{ dnac_verify }}"
+ dnac_debug: "{{ dnac_debug }}"
+ dnac_log: True
+ dnac_log_level: "{{ dnac_log_level }}"
+ dnac_log_append: True
+ dnac_log_file_path: "{{ dnac_log_file_path }}"
+ state: deleted
+ config_verify: True
+ config:
+ - authentication_policy_server:
+ server_ip_address: 10.195.243.59
diff --git a/ansible_collections/cisco/dnac/playbooks/network_compliance_workflow_manager.yml b/ansible_collections/cisco/dnac/playbooks/network_compliance_workflow_manager.yml
new file mode 100644
index 000000000..7bbe82f6c
--- /dev/null
+++ b/ansible_collections/cisco/dnac/playbooks/network_compliance_workflow_manager.yml
@@ -0,0 +1,151 @@
+---
+- name: Testing
+ hosts: dnac_servers
+ gather_facts: no
+
+ vars_files:
+ - "credentials.yml"
+
+ vars:
+ dnac_login: &dnac_login
+ dnac_host: "{{ dnac_host }}"
+ dnac_username: "{{ dnac_username }}"
+ dnac_password: "{{ dnac_password }}"
+ dnac_verify: "{{ dnac_verify }}"
+ dnac_port: "{{ dnac_port }}"
+ dnac_version: "{{ dnac_version }}"
+ dnac_debug: "{{ dnac_debug }}"
+ dnac_log: true
+ dnac_log_level: INFO
+ dnac_log_append: False
+ config_verify: true
+
+ tasks:
+ - name: Run Compliance check using IP address list (run_compliance by default is True)
+ cisco.dnac.network_compliance_workflow_manager:
+ <<: *dnac_login
+ config:
+ - ip_address_list: ['204.1.2.2', '204.1.2.5', '204.1.2.4']
+
+ - name: Run Compliance check using IP address list
+ cisco.dnac.network_compliance_workflow_manager:
+ <<: *dnac_login
+ config:
+ - ip_address_list: ['204.1.2.2', '204.1.2.5', '204.1.2.4']
+ run_compliance: True
+
+
+ - name: Run Compliance check using Site
+ cisco.dnac.network_compliance_workflow_manager:
+ <<: *dnac_login
+ config:
+ - site: "Global"
+ run_compliance: True
+
+
+ - name: Run Compliance check using both IP address list and Site
+ cisco.dnac.network_compliance_workflow_manager:
+ <<: *dnac_login
+ config:
+ - ip_address_list: ['204.1.2.2', '204.1.2.5', '204.1.2.4']
+ site_name: "Global/USA/San Francisco/Building_1/floor_1"
+ run_compliance: True
+
+
+ - name: Run Compliance check with specific categories using IP address list
+ cisco.dnac.network_compliance_workflow_manager:
+ <<: *dnac_login
+ config:
+ - ip_address_list: ['204.1.2.2', '204.1.2.5', '204.1.2.4']
+ run_compliance_categories: ['INTENT', 'RUNNING_CONFIG', 'IMAGE', 'PSIRT']
+
+
+ - name: Run Compliance check with specific categories using Site
+ cisco.dnac.network_compliance_workflow_manager:
+ <<: *dnac_login
+ config:
+ - site_name: "Global"
+ run_compliance_categories: ['INTENT', 'RUNNING_CONFIG', 'IMAGE', 'PSIRT']
+
+
+ - name: Run Compliance check with specific categories using both IP address list and Site
+ cisco.dnac.network_compliance_workflow_manager:
+ <<: *dnac_login
+ config:
+ - ip_address_list: ['204.1.2.2', '204.1.2.5', '204.1.2.4']
+ site_name: "Global/USA/San Francisco/Building_1/floor_1"
+ run_compliance_categories: ['INTENT', 'RUNNING_CONFIG', 'IMAGE', 'PSIRT']
+
+
+ - name: Sync Device Configuration using IP address list
+ cisco.dnac.network_compliance_workflow_manager:
+ <<: *dnac_login
+ config:
+ - ip_address_list: ['204.1.2.2', '204.1.2.5', '204.1.2.4']
+ run_compliance: False
+ sync_device_config: True
+
+
+ - name: Sync Device Configuration using Site
+ cisco.dnac.network_compliance_workflow_manager:
+ <<: *dnac_login
+ config:
+ - site_name: "Global/USA/San Francisco/Building_1/floor_1"
+ run_compliance: False
+ sync_device_config: True
+
+
+ - name: Sync Device Configuration using both IP address list and Site
+ cisco.dnac.network_compliance_workflow_manager:
+ <<: *dnac_login
+ config:
+ - ip_address_list: ['204.1.2.2', '204.1.2.5', '204.1.2.4']
+ site_name: "Global/USA/San Francisco/Building_1/floor_1"
+ run_compliance: False
+ sync_device_config: True
+
+
+ - name: Run Compliance and Sync Device Configuration with IP address list
+ cisco.dnac.network_compliance_workflow_manager:
+ <<: *dnac_login
+ config:
+ - ip_address_list: ['204.1.2.2', '204.1.2.5', '204.1.2.4']
+ run_compliance: True
+ sync_device_config: True
+
+
+ - name: Run Compliance and Sync Device Configuration with Site
+ cisco.dnac.network_compliance_workflow_manager:
+ <<: *dnac_login
+ config:
+ - site_name: "Global/USA/San Francisco/Building_1/floor_1"
+ run_compliance: True
+ sync_device_config: True
+
+
+ - name: Run Compliance with specific categories and Sync Device Configuration with IP address list
+ cisco.dnac.network_compliance_workflow_manager:
+ <<: *dnac_login
+ config:
+ - ip_address_list: ['204.1.2.2', '204.1.2.5', '204.1.2.4']
+ run_compliance_categories: ['INTENT', 'RUNNING_CONFIG', 'IMAGE', 'PSIRT']
+ sync_device_config: True
+
+
+ - name: Run Compliance with specific categories and Sync Device Configuration with Site
+ cisco.dnac.network_compliance_workflow_manager:
+ <<: *dnac_login
+ config:
+ - site_name: "Global/USA/San Francisco/Building_1/floor_1"
+ run_compliance_categories: ['INTENT', 'RUNNING_CONFIG', 'IMAGE', 'PSIRT']
+ sync_device_config: True
+
+
+ - name: Run Compliance and Sync Device Configuration using both IP address list and Site
+ cisco.dnac.network_compliance_workflow_manager:
+ <<: *dnac_login
+ config:
+ - ip_address_list: ['204.1.2.2', '204.1.2.5', '204.1.2.4']
+ site_name: "Global/USA/San Francisco/Building_1/floor_1"
+ run_compliance: True
+ sync_device_config: True
diff --git a/ansible_collections/cisco/dnac/playbooks/network_settings_workflow_manager.yml b/ansible_collections/cisco/dnac/playbooks/network_settings_workflow_manager.yml
index 36b88ac2d..11ddde205 100644
--- a/ansible_collections/cisco/dnac/playbooks/network_settings_workflow_manager.yml
+++ b/ansible_collections/cisco/dnac/playbooks/network_settings_workflow_manager.yml
@@ -13,7 +13,7 @@
dnac_verify: "{{ dnac_verify }}"
dnac_debug: "{{ dnac_debug }}"
dnac_log: True
- dnac_log_level: "{{ dnac_log_level }}"
+ dnac_log_level: DEBUG
dnac_log_append: True
dnac_log_file_path: "{{ dnac_log_file_path }}"
state: merged
@@ -23,58 +23,70 @@
settings:
ip_pool:
- name: Global_Pool2
- gateway: '' #use this for updating
+ pool_type: Generic
ip_address_space: IPv6 #required when we are creating
cidr: 2001:db8::/64 #required when we are creating
+ gateway: '' #use this for updating
+ dhcp_server_ips: [] #use this for updating
+ dns_server_ips: [] #use this for updating
+ # prev_name: Global_Pool2
+ - name: Global_Pool3
pool_type: Generic
+ ip_address_space: IPv4 #required when we are creating
+ cidr: 10.0.0.0/8 #required when we are creating
+ gateway: '' #use this for updating
dhcp_server_ips: [] #use this for updating
dns_server_ips: [] #use this for updating
# prev_name: Global_Pool2
reserve_pool_details:
+ - site_name: Global/Chennai/Trill
+ name: IP_Pool_3
+ pool_type: LAN
ipv6_address_space: True
- ipv4_global_pool: 100.0.0.0/8
+ # ipv4_global_pool: 100.0.0.0/8
+ ipv4_global_pool_name: Global_Pool1
ipv4_prefix: True
ipv4_prefix_length: 9
ipv4_subnet: 100.128.0.0
ipv4_gateway: 100.128.0.1
- # ipv4_dns_servers: [100.128.0.1]
- name: IP_Pool_3
+ ipv4_dns_servers: []
ipv6_prefix: True
ipv6_prefix_length: 64
ipv6_global_pool: 2001:db8::/64
+ # ipv6_global_pool_name: Global_Pool2
ipv6_subnet: '2001:db8::'
- site_name: Global/Chennai/Trill
slaac_support: True
# prev_name: IP_Pool_4
- pool_type: LAN
network_management_details:
+ site_name: Global/Chennai
settings:
+ network_aaa: #works only if we system settigns is set
+ primary_server_address: 10.0.0.20 #Mandatory for AAA and ISE
+ secondary_server_address: 10.0.0.21
+ protocol: TACACS
+ server_type: AAA
+ # shared_secret: string #ISE
+ client_and_endpoint_aaa: #works only if we system settigns is set
+ primary_server_address: 10.197.156.42 #Mandatory for AAA and ISE
+ secondary_server_address: 10.0.0.21
+ protocol: RADIUS
+ server_type: AAA
+ # shared_secret: string #ISE
dhcp_server:
- 10.0.0.1
dns_server:
domain_name: cisco.com
primary_ip_address: 10.0.0.2
secondary_ip_address: 10.0.0.3
- client_and_endpoint_aaa: #works only if we system settigns is set
- ip_address: 10.197.156.42 #Mandatory for ISE, sec ip for AAA
- network: 10.0.0.20
- protocol: RADIUS
- servers: AAA
- # shared_secret: string #ISE
+ ntp_server:
+ - 10.0.0.5
+ timezone: GMT
message_of_the_day:
banner_message: hello
- retain_existing_banner: 'true'
+ retain_existing_banner: True
netflow_collector:
ip_address: 10.0.0.4
port: 443
- network_aaa: #works only if we system settigns is set
- ip_address: 10.0.0.21 #Mandatory for ISE, sec ip for AAA
- network: 10.0.0.20
- protocol: TACACS
- servers: AAA
- # shared_secret: string #ISE
- ntp_server:
- - 10.0.0.5
snmp_server:
configure_dnac_ip: false
# ip_addresses:
@@ -83,8 +95,6 @@
configure_dnac_ip: false
# ip_addresses:
# - 10.0.0.7
- timezone: GMT
- site_name: Global/Chennai
- name: Delete Global Pool and Release Pool Reservation
cisco.dnac.network_settings_workflow_manager:
@@ -104,5 +114,5 @@
ip_pool:
- name: Global_Pool2
reserve_pool_details:
+ - site_name: Global/Chennai/Trill
name: IP_Pool_3
- site_name: Global/Chennai/Trill
diff --git a/ansible_collections/cisco/dnac/playbooks/template_workflow_manager.yml b/ansible_collections/cisco/dnac/playbooks/template_workflow_manager.yml
index 3cfed07e7..be296ff2e 100644
--- a/ansible_collections/cisco/dnac/playbooks/template_workflow_manager.yml
+++ b/ansible_collections/cisco/dnac/playbooks/template_workflow_manager.yml
@@ -29,7 +29,6 @@
version_description: "{{ item.description }}"
language: "{{ item.language }}"
software_type: "{{ item.type }}"
- software_variant: "{{ item.variant }}"
device_types:
- product_family: "{{ item.family }}"
export: