cisco.dnac.template_workflow_manager module – Resource module for Template functions
Note
This module is part of the cisco.dnac collection (version 6.39.0).
You might already have this collection installed if you are using the ansible
package.
It is not included in ansible-core
.
To check whether it is installed, run ansible-galaxy collection list
.
To install it, use: ansible-galaxy collection install cisco.dnac
.
You need further requirements to be able to use this module,
see Requirements for details.
To use it in a playbook, specify: cisco.dnac.template_workflow_manager
.
New in cisco.dnac 6.33.0
Synopsis
Manages operations for creating, updating, and deleting configuration templates.
Creates templates by project and template names.
Updates templates by project and template names.
Deletes templates by project and template names.
Exports projects and templates based on specified parameters.
Handles the creation of resources for importing configuration templates and projects.
Requirements
The below requirements are needed on the host that executes this module.
dnacentersdk >= 2.8.6
python >= 3.9
Parameters
Parameter |
Comments |
---|---|
Details of templates to manage. |
|
Operations for Create/Update/Delete on a template. |
|
Creator of the template. |
|
Indicates whether the template should be committed after configuration changes. If set to ‘false’, the changes are not committed immediately, allowing for additional modifications before an explicit commit. Choices:
|
|
Specifies if the template is composite. Choices:
|
|
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. |
|
Specifies if the template is composite. Choices:
|
|
List of dictionaries details the types of devices that the templates can be applied to. |
|
Denotes the family to which the device belongs. Choices:
|
|
Specifies the series classification of the device. |
|
Describes the exact type of the device. |
|
Unique identifier for the template, represented as a UUID. |
|
Programming language used for templating. Options are ‘JINJA’ for Jinja templating or ‘VELOCITY’ for Apache Velocity. Choices:
|
|
Designation of the template, serving as its unique name. |
|
Narrative that elaborates on the purpose and scope of the project. |
|
Title of the project within which the template is categorized and managed. |
|
A list of dictionaries representing tags associated with the Configuration Template during creation. |
|
The unique identifier for each tag, presented as a UUID. |
|
The descriptive label or name assigned to the tag. |
|
The actual script or code constituting the body of the template. |
|
Provides a description of the template. |
|
The customization of the contents within the template. |
|
Associates the parameter with its source. |
|
Specifies a user-defined ordering for the parameter. |
|
Identifies the data type of the parameter (e.g., string, integer, boolean). |
|
Establishes a default value for the parameter, used if no other value is provided. |
|
Provides a descriptive explanation of the parameter’s purpose. |
|
The name of the parameter as displayed to users. |
|
Categorizes the parameter into a named group for organizational purposes. |
|
A unique identifier for the parameter, formatted as a UUID. |
|
Gives guidance or instructions regarding the parameter’s use. |
|
A unique key that identifies the parameter within the template. |
|
Indicates whether the entry is not to be treated as a parameter. Choices:
|
|
Determines the sequence in which the parameter appears relative to others. |
|
Specifies if the parameter should be treated as an array. Choices:
|
|
The name of the parameter. |
|
Denotes the provider associated with the parameter. |
|
Defines the permissible range for the parameter’s value. |
|
Unique identifier for the range, represented as a UUID. |
|
Specifies the maximum allowable value for the parameter. |
|
Specifies the minimum allowable value for the parameter. |
|
Dictates whether the parameter is required for template operations. Choices:
|
|
Contains options for parameter selection when a choice is available. |
|
Lists the default values that are preselected. |
|
A unique identifier for the selection entity, represented as a UUID. |
|
Specifies the type of selection, such as ‘SINGLE_SELECT’ or ‘MULTI_SELECT’. |
|
A dictionary of available values for selection. |
|
The current version of template. |
|
Specifies the sequence in which custom parameters or variables should be arranged within the template. Choices:
|
|
List of dictionaries details the types of devices that the templates can be applied to. |
|
Denotes the family to which the device belongs. Choices:
|
|
Specifies the series classification of the device. |
|
Describes the exact type of the device. |
|
Define failure policy if template provisioning fails. failure_policy will be enabled only when the composite is set to True. Choices:
|
|
A unique identifier, represented as a UUID. |
|
Programming language used for templating. Options are ‘JINJA’ for Jinja templating or ‘VELOCITY’ for Apache Velocity. Choices:
|
|
New name of the template. Use this field to update the name of the existing template. |
|
Narrative that elaborates on the purpose and scope of the project. |
|
Title of the project within which the template is categorized and managed. |
|
Applicable device software type. This field is required to create a new template. Choices:
|
|
Applicable device software version. |
|
The actual script or code constituting the body of the template. |
|
Provides a overview of the template. |
|
Name of template. This field is required to create a new template. |
|
The customization of the contents within the template. |
|
Associates the parameter with its source. |
|
Specifies a user-defined ordering for the parameter. |
|
Identifies the data type of the parameter (e.g., string, integer, boolean). |
|
Establishes a default value for the parameter, used if no other value is provided. |
|
Provides a descriptive explanation of the parameter’s purpose. |
|
The name of the parameter as displayed to users. |
|
Categorizes the parameter into a named group for organizational purposes. |
|
A unique identifier for the parameter, formatted as a UUID. |
|
Gives guidance or instructions regarding the parameter’s use. |
|
A unique key that identifies the parameter within the template. |
|
Indicates whether the entry is not to be treated as a parameter. Choices:
|
|
Determines the sequence in which the parameter appears relative to others. |
|
Specifies if the parameter should be treated as an array. Choices:
|
|
The name of the parameter. |
|
Denotes the provider associated with the parameter. |
|
Defines the permissible range for the parameter’s value. |
|
Unique identifier for the range, represented as a UUID. |
|
Specifies the maximum allowable value for the parameter. |
|
Specifies the minimum allowable value for the parameter. |
|
Dictates whether the parameter is required for template operations. Choices:
|
|
Contains options for parameter selection when a choice is available. |
|
Lists the default values that are preselected. |
|
A unique identifier for the selection entity, represented as a UUID. |
|
Specifies the type of selection, such as ‘SINGLE_SELECT’ or ‘MULTI_SELECT’. |
|
A dictionary of available values for selection. |
|
Refers to a keyword, label, or metadata assigned to a template. |
|
A unique identifier for the tag, represented as a UUID. |
|
The name of the tag. |
|
The current version of template. |
|
Template version comments. |
|
To deploy the template to the devices based on either list of site provisionig details with further filtering criteria like device family, device role, device tag or by providing the device specific details which includes device_ips, device_hostnames, serial_numbers or mac_addresses. |
|
A boolean flag that specifies whether the device’s running configuration should be copied to the startup configuration after applying the template. If set to ‘true’, the updated configuration will be saved to the startup configuration. be copied to the start up config from the device before applying the template. Choices:
|
|
Details specific to devices where the template will be deployed, including lists of device IPs, hostnames, serial numbers, or MAC addresses. |
|
A list of hostnames of the devices where the template will be deployed. |
|
A list of IP addresses of the devices where the template will be deployed. |
|
A list of MAC addresses of the devices where the template will be deployed. |
|
A list of serial numbers of the devices where the template will be deployed. |
|
Boolean flag to indicate whether the template should be forcefully pushed to the devices, overriding any existing configuration. Choices:
|
|
Boolean flag indicating whether the template is composite, which means the template is built using multiple smaller templates. Choices:
|
|
Provide the name of project under which the template is available. |
|
A list of configuration parameters required for provisioning resources in the system. These parameters define specific settings or details that must be supplied when deploying templates. If the template uses system variables (variables prefixed with __, (e.g., __device), the corresponding resource parameters must be provided to ensure successful deployment. |
|
Specifies the scope in which the resource parameter is to be provisioned. Possible enum values are - - RUNTIME - A parameter with a runtime scope is provided at the time of deployment. These values are dynamic and may change with each deployment, as they are based on the specific context of the deployment. - DESIGN - A parameter with a design scope is defined during the design phase of the template. These values are static after template creation and remain consistent across deployments. |
|
The type of the resource param that is to be provisioned during template deployment - Specifies the type of the resource parameter to be provisioned during template deployment. - Possible enum values are - - MANAGED_DEVICE_UUID - Used when the parameter value is the UUID of the device. - MANAGED_DEVICE_IP - Used when the parameter value is the device’s IP address. - MANAGED_DEVICE_HOSTNAME - Used when the parameter value is the device’s hostname. - SITE_UUID - Used when the parameter value is the UUID of a site. - MANAGED_AP_LOCATIONS - Used when the parameter value is the locations of managed access points within the network. - SECONDARY_MANAGED_AP_LOCATIONS - Used when the parameter value is the locations of secondary or backup managed access points. - SSID_NAME - Used when the parameter value is the name of a wireless network. - POLICY_PROFILE - Used when the parameter value is a set of policies that can be applied to network devices or users. - From the above enum values, the following resource types support value provisioning at runtime - MANAGED_DEVICE_UUID - MANAGED_DEVICE_IP - MANAGED_DEVICE_HOSTNAME - SITE_UUID - For all other resource types, the values must be provided at design time in the playbook. |
|
The actual value of the resource param to be provisioned. |
|
Parameters related to site-based provisioning, allowing the deployment of templates to devices associated with specific sites, with optional filtering by device family, role, or tag. |
|
Family of the devices (e.g., switches, routers) used to filter devices for template deployment. |
|
Role of the devices (e.g., access, core, edge) used to filter devices for template deployment. |
|
Specific device tag used to filter devices for template deployment. |
|
Name of the site where the devices are associated for provisioning. |
|
Name of the template to be deployed. |
|
A list of parameter name-value pairs used for customizing the template with specific values for each device. |
|
Name of the parameter in the template that needs to be replaced with a specific value. |
|
Value assigned to the parameter for deployment to devices. |
|
This is useful for targeting specific template versions, such as rolling back to a tested version. |
|
Perform export on the projects and templates. |
|
Export the project(s) details. |
|
Export the template(s) details. |
|
Name of the project under the template available. |
|
Name of the template which we need to be exported. |
|
Perform import on the projects and templates. |
|
Import the projects. |
|
Determines whether to create a new version of the project with the imported contents. If set to true and the project already exists, a new version will be created. If false, the operation will fail with a ‘Project already exists’ error if the project already exists. Choices:
|
|
Directly imports configuration data into the system using the provided payload. Offers an alternative to ‘project_file’ for importing configurations without referencing an external file. Ignored if ‘project_file’ is also provided. |
|
Name of the project to be imported. |
|
Specifies the path to a JSON file that contains the import project configuration. If both ‘project_file’ and ‘payload’ are provided, the ‘project_file’ will be given priority. |
|
Import the templates. |
|
DoVersion query parameter. If this flag is true, creates a new version of the template with the imported contents, if the templates already exists. ” If false and if template already exists, then operation fails with ‘Template already exists’ error. Choices:
|
|
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. |
|
Identifies the creator of the template. |
|
Specifies if the template is composite. Choices:
|
|
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. |
|
Specifies if the template is composite. Choices:
|
|
Provides a description of the template. |
|
List of dictionaries details the types of devices that the templates can be applied to. |
|
Denotes the family to which the device belongs. Choices:
|
|
Specifies the series classification of the device. |
|
Describes the exact type of the device. |
|
Unique identifier for the template, represented as a UUID. |
|
Programming language used for templating. Options are ‘JINJA’ for Jinja templating or ‘VELOCITY’ for Apache Velocity. Choices:
|
|
Designation of the template, serving as its unique name. |
|
Title of the project within which the template is categorized and managed. |
|
A list of dictionaries representing tags associated with the Configuration Template during creation. |
|
The unique identifier for each tag, presented as a UUID. |
|
The descriptive label or name assigned to the tag. |
|
The actual script or code constituting the body of the template. |
|
The customization of the contents within the template. |
|
Associates the parameter with its source. |
|
Specifies a user-defined ordering for the parameter. |
|
Identifies the data type of the parameter (e.g., string, integer, boolean). |
|
Establishes a default value for the parameter, used if no other value is provided. |
|
Provides a descriptive explanation of the parameter’s purpose. |
|
The name of the parameter as displayed to users. |
|
Categorizes the parameter into a named group for organizational purposes. |
|
A unique identifier for the parameter, formatted as a UUID. |
|
Gives guidance or instructions regarding the parameter’s use. |
|
A unique key that identifies the parameter within the template. |
|
Indicates whether the entry is not to be treated as a parameter. Choices:
|
|
Determines the sequence in which the parameter appears relative to others. |
|
Specifies if the parameter should be treated as an array. Choices:
|
|
The name of the parameter. |
|
Denotes the provider associated with the parameter. |
|
Defines the permissible range for the parameter’s value. |
|
Unique identifier for the range, represented as a UUID. |
|
Specifies the maximum allowable value for the parameter. |
|
Specifies the minimum allowable value for the parameter. |
|
Dictates whether the parameter is required for template operations. Choices:
|
|
Contains options for parameter selection when a choice is available. |
|
Lists the default values that are preselected. |
|
A unique identifier for the selection entity, represented as a UUID. |
|
Specifies the type of selection, such as ‘SINGLE_SELECT’ or ‘MULTI_SELECT’. |
|
A dictionary of available values for selection. |
|
The current version of template. |
|
Specifies the sequence in which custom parameters or variables should be arranged within the template. Choices:
|
|
List of dictionaries details the types of devices that the templates can be applied to. |
|
Denotes the family to which the device belongs. Choices:
|
|
Specifies the series classification of the device. |
|
Describes the exact type of the device. |
|
Define failure policy if template provisioning fails. failure_policy will be enabled only when the composite is set to True. Choices:
|
|
A unique identifier, represented as a UUID. |
|
Programming language used for templating. Options are ‘JINJA’ for Jinja templating or ‘VELOCITY’ for Apache Velocity. Choices:
|
|
Narrative that elaborates on the purpose and scope of the project. |
|
Title of the project within which the template is categorized and managed. |
|
Applicable device software type. This field is required to create a new template. Choices:
|
|
Applicable device software version. |
|
The actual script or code constituting the body of the template. |
|
Provides a overview of the template. |
|
Name of template. This field is required to create a new template. |
|
The customization of the contents within the template. |
|
Associates the parameter with its source. |
|
Specifies a user-defined ordering for the parameter. |
|
Identifies the data type of the parameter (e.g., string, integer, boolean). |
|
Establishes a default value for the parameter, used if no other value is provided. |
|
Provides a descriptive explanation of the parameter’s purpose. |
|
The name of the parameter as displayed to users. |
|
Categorizes the parameter into a named group for organizational purposes. |
|
A unique identifier for the parameter, formatted as a UUID. |
|
Gives guidance or instructions regarding the parameter’s use. |
|
A unique key that identifies the parameter within the template. |
|
Indicates whether the entry is not to be treated as a parameter. Choices:
|
|
Determines the sequence in which the parameter appears relative to others. |
|
Specifies if the parameter should be treated as an array. Choices:
|
|
The name of the parameter. |
|
Denotes the provider associated with the parameter. |
|
Defines the permissible range for the parameter’s value. |
|
Unique identifier for the range, represented as a UUID. |
|
Specifies the maximum allowable value for the parameter. |
|
Specifies the minimum allowable value for the parameter. |
|
Dictates whether the parameter is required for template operations. Choices:
|
|
Contains options for parameter selection when a choice is available. |
|
Lists the default values that are preselected. |
|
A unique identifier for the selection entity, represented as a UUID. |
|
Specifies the type of selection, such as ‘SINGLE_SELECT’ or ‘MULTI_SELECT’. |
|
A dictionary of available values for selection. |
|
Refers to a keyword, label, or metadata assigned to a template. |
|
A unique identifier for the tag, represented as a UUID. |
|
The name of the tag. |
|
The current version of template. |
|
ProjectName path parameter. Project name to create template under the project. |
|
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. |
|
Create, update, or delete projects with associated details such as name, and description. |
|
A brief description of the project. |
|
The name of the project. This is used to identify the project for creation, update, or deletion. |
|
Specify a new name for the project when updating an existing project. |
|
If set to True, verifies the Cisco Catalyst Center configuration after applying the playbook. Choices:
|
|
Defines the timeout in seconds for API calls to retrieve task details. If the task details are not received within this period, the process will end, and a timeout notification will be logged. Default: |
|
Indicates whether debugging is enabled in the Cisco Catalyst Center SDK. Choices:
|
|
The hostname of the Cisco Catalyst Center. |
|
Flag to enable/disable playbook execution logging. When true and dnac_log_file_path is provided, - Create the log file at the execution location with the specified name. When true and dnac_log_file_path is not provided, - Create the log file at the execution location with the name ‘dnac.log’. When false, - Logging is disabled. If the log file doesn’t exist, - It is created in append or write mode based on the “dnac_log_append” flag. If the log file exists, - It is overwritten or appended based on the “dnac_log_append” flag. Choices:
|
|
Determines the mode of the file. Set to True for ‘append’ mode. Set to False for ‘write’ mode. Choices:
|
|
Governs logging. Logs are recorded if dnac_log is True. If path is not specified, - When ‘dnac_log_append’ is True, ‘dnac.log’ is generated in the current Ansible directory; logs are appended. - When ‘dnac_log_append’ is False, ‘dnac.log’ is generated; logs are overwritten. If path is specified, - When ‘dnac_log_append’ is True, the file opens in append mode. - When ‘dnac_log_append’ is False, the file opens in write (w) mode. - In shared file scenarios, without append mode, content is overwritten after each module execution. - For a shared log file, set append to False for the 1st module (to overwrite); for subsequent modules, set append to True. Default: |
|
Sets the threshold for log level. Messages with a level equal to or higher than this will be logged. Levels are listed in order of severity [CRITICAL, ERROR, WARNING, INFO, DEBUG]. CRITICAL indicates serious errors halting the program. Displays only CRITICAL messages. ERROR indicates problems preventing a function. Displays ERROR and CRITICAL messages. WARNING indicates potential future issues. Displays WARNING, ERROR, CRITICAL messages. INFO tracks normal operation. Displays INFO, WARNING, ERROR, CRITICAL messages. DEBUG provides detailed diagnostic info. Displays all log messages. Default: |
|
The password for authentication at the Cisco Catalyst Center. |
|
Specifies the port number associated with the Cisco Catalyst Center. Default: |
|
Specifies the interval in seconds between successive calls to the API to retrieve task details. Default: |
|
The username for authentication at the Cisco Catalyst Center. Default: |
|
Flag to enable or disable SSL certificate verification. Choices:
|
|
Specifies the version of the Cisco Catalyst Center that the SDK should use. Default: |
|
Desired state of the Cisco Catalyst Center after module execution. Choices:
|
|
Flag for Cisco Catalyst Center SDK to enable the validation of request bodies against a JSON schema. Choices:
|
Notes
Note
SDK Method used are configuration_templates.ConfigurationTemplates.create_template, configuration_templates.ConfigurationTemplates.deletes_the_template, configuration_templates.ConfigurationTemplates.update_template, configuration_templates.ConfigurationTemplates.export_projects, configuration_templates.ConfigurationTemplates.export_templates, configuration_templates.ConfigurationTemplates.imports_the_projects_provided, configuration_templates.ConfigurationTemplates.imports_the_templates_provided,
Paths used are post /dna/intent/api/v1/template-programmer/project/{projectId}/template, delete /dna/intent/api/v1/template-programmer/template/{templateId}, put /dna/intent/api/v1/template-programmer/template, post /dna/intent/api/v1/template-programmer/project/name/exportprojects, post /dna/intent/api/v1/template-programmer/template/exporttemplates, post /dna/intent/api/v1/template-programmer/project/importprojects, post /dna/intent/api/v1/template-programmer/project/name/{projectName}/template/importtemplates,
While deploying the template to devices, the value for the following resource types can be filled in the resource parameters at RUNTIME- MANAGED_DEVICE_UUID, MANAGED_DEVICE_IP, MANAGED_DEVICE_HOSTNAME, and SITE_UUID. For all other resource types, the value must be provided at DESIGN time in the playbook.
Does not support
check_mode
The plugin runs on the control node and does not use any ansible connection plugins instead embedded connection manager from Cisco Catalyst Center SDK
The parameters starting with dnac_ are used by the Cisco Catalyst Center Python SDK to establish the connection
Examples
---
- name: Create a new template.
cisco.dnac.template_workflow_manager:
dnac_host: "{{ dnac_host }}"
dnac_port: "{{ dnac_port }}"
dnac_username: "{{ dnac_username }}"
dnac_password: "{{ dnac_password }}"
dnac_verify: "{{ dnac_verify }}"
dnac_version: "{{ dnac_version }}"
dnac_debug: "{{ dnac_debug }}"
dnac_log_level: "{{ dnac_log_level }}"
dnac_log: true
config_verify: true
state: merged
config:
- configuration_templates:
author: string
composite: true
custom_params_order: true
template_description: string
device_types:
- product_family: string
product_series: string
product_type: string
failure_policy: string
id: string
language: string
template_name: string
project_name: string
project_description: string
software_type: string
software_version: string
tags:
- id: string
name: string
template_content: string
version: string
- name: Update a template.
cisco.dnac.template_workflow_manager:
dnac_host: "{{ dnac_host }}"
dnac_port: "{{ dnac_port }}"
dnac_username: "{{ dnac_username }}"
dnac_password: "{{ dnac_password }}"
dnac_verify: "{{ dnac_verify }}"
dnac_version: "{{ dnac_version }}"
dnac_debug: "{{ dnac_debug }}"
dnac_log_level: "{{ dnac_log_level }}"
dnac_log: true
config_verify: true
state: merged
config:
- configuration_templates:
author: string
composite: true
custom_params_order: true
template_description: string
device_types:
- product_family: string
product_series: string
product_type: string
failure_policy: string
id: string
language: string
template_name: string
new_template_name: string
project_name: string
project_description: string
software_type: string
software_version: string
tags:
- id: string
name: string
template_content: string
- name: Export the projects.
cisco.dnac.template_workflow_manager:
dnac_host: "{{ dnac_host }}"
dnac_port: "{{ dnac_port }}"
dnac_username: "{{ dnac_username }}"
dnac_password: "{{ dnac_password }}"
dnac_verify: "{{ dnac_verify }}"
dnac_version: "{{ dnac_version }}"
dnac_debug: "{{ dnac_debug }}"
dnac_log_level: "{{ dnac_log_level }}"
dnac_log: true
config_verify: true
state: merged
config:
export:
project:
- string
- string
- name: Export the templates.
cisco.dnac.template_workflow_manager:
dnac_host: "{{ dnac_host }}"
dnac_port: "{{ dnac_port }}"
dnac_username: "{{ dnac_username }}"
dnac_password: "{{ dnac_password }}"
dnac_verify: "{{ dnac_verify }}"
dnac_version: "{{ dnac_version }}"
dnac_debug: "{{ dnac_debug }}"
dnac_log_level: "{{ dnac_log_level }}"
dnac_log: true
config_verify: true
state: merged
config:
export:
template:
- project_name: string
template_name: string
- project_name: string
template_name: string
- name: Import the Projects.
cisco.dnac.template_workflow_manager:
dnac_host: "{{ dnac_host }}"
dnac_port: "{{ dnac_port }}"
dnac_username: "{{ dnac_username }}"
dnac_password: "{{ dnac_password }}"
dnac_verify: "{{ dnac_verify }}"
dnac_version: "{{ dnac_version }}"
dnac_debug: "{{ dnac_debug }}"
dnac_log_level: "{{ dnac_log_level }}"
dnac_log: true
config_verify: true
state: merged
config:
import:
project:
do_version: false
payload:
- name: string
- name: string
- name: Import the Templates.
cisco.dnac.template_workflow_manager:
dnac_host: "{{ dnac_host }}"
dnac_port: "{{ dnac_port }}"
dnac_username: "{{ dnac_username }}"
dnac_password: "{{ dnac_password }}"
dnac_verify: "{{ dnac_verify }}"
dnac_version: "{{ dnac_version }}"
dnac_debug: "{{ dnac_debug }}"
dnac_log_level: "{{ dnac_log_level }}"
dnac_log: true
config_verify: true
state: merged
config:
import:
template:
do_version: false
project_name: string
template_file: string
- name: Creating a JINJA-based template to configure
access VLAN and interfaces on Catalyst 9300
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:
- configuration_templates:
author: Test_User
composite: false
custom_params_order: true
template_description: Template to configure access
VLAN and access interfaces
device_types:
- product_family: Switches and Hubs
product_series: Cisco Catalyst 9300 Series
Switches
failure_policy: ABORT_TARGET_ON_ERROR
language: JINJA
template_name: PnP-Upstream-SW1
project_name: access_vlan_template_9300_switches
project_description: This project contains
all the templates for Access Switches
software_type: IOS-XE
template_content: |
{% raw %}
vlan {{ vlan }}
interface {{ interface }}
no shutdown
switchport access vlan {{ vlan }}
switchport mode access
description {{ interface_description }}
{% endraw %}
version: "1.0"
- name: Creating a VELOCITY-based Fusion Router template
for Catalyst 3850 switches
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:
- configuration_templates:
template_name: "Fusion Router Config"
template_description: "VELOCITY template to configure
L3 handoff and loopback on Catalyst 3850"
project_name: "Network Configuration Templates"
tags: []
author: admin
device_types:
- product_family: "Switches and Hubs"
product_series: "Cisco Catalyst 3850 Series
Ethernet Stackable Switch"
software_type: IOS-XE
language: VELOCITY
failure_policy: ABORT_TARGET_ON_ERROR
template_content: |
! L3handoff Vlan
vlan $VLANID
hostname Old$__device.hostname
interface Loopback0
ip address $LOOPBACKIP 255.255.255.255
ipv6 address $LOOPBACKIPV6
ipv6 enable
ipv6 nd other-config-flag
ipv6 dhcp server EMPPool
! L3handdoff interface for provider VN
interface Vlan$VLANID
description L3handoff $VLANID
ip address $interfaceIP 255.255.255.252
ip route-cache same-interface
ipv6 address $interfaceIPV6
ipv6 enable
ipv6 tcp adjust-mss 1400
- name: Deploy the given template to the devices based
on site specific details and other filtering mode
cisco.dnac.template_workflow_manager:
dnac_host: "{{ dnac_host }}"
dnac_port: "{{ dnac_port }}"
dnac_username: "{{ dnac_username }}"
dnac_password: "{{ dnac_password }}"
dnac_verify: "{{ dnac_verify }}"
dnac_version: "{{ dnac_version }}"
dnac_debug: "{{ dnac_debug }}"
dnac_log_level: "{{ dnac_log_level }}"
dnac_log: true
config_verify: true
state: merged
config:
deploy_template:
project_name: "Sample_Project"
template_name: "Sample Template"
force_push: true
template_parameters:
- param_name: "vlan_id"
param_value: "1431"
- param_name: "vlan_name"
param_value: "testvlan31"
site_provisioning_details:
- site_name: "Global/Bangalore/Building14/Floor1"
device_family: "Switches and Hubs"
- name: Deploy the given template to the devices based
on device specific details
cisco.dnac.template_workflow_manager:
dnac_host: "{{ dnac_host }}"
dnac_port: "{{ dnac_port }}"
dnac_username: "{{ dnac_username }}"
dnac_password: "{{ dnac_password }}"
dnac_verify: "{{ dnac_verify }}"
dnac_version: "{{ dnac_version }}"
dnac_debug: "{{ dnac_debug }}"
dnac_log_level: "{{ dnac_log_level }}"
dnac_log: true
config_verify: true
state: merged
config:
deploy_template:
project_name: "Sample_Project"
template_name: "Sample Template"
force_push: true
template_parameters:
- param_name: "vlan_id"
param_value: "1431"
- param_name: "vlan_name"
param_value: "testvlan31"
device_details:
device_ips: ["10.1.2.1", "10.2.3.4"]
- name: Deploy template to the devices using resource
parameters and copying config
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:
deploy_template:
project_name: "Sample_Project"
template_name: "Sample Template"
force_push: true
template_parameters:
- param_name: "vlan_id"
param_value: "1431"
- param_name: "vlan_name"
param_value: "testvlan31"
resource_parameters:
- resource_type: "MANAGED_DEVICE_IP"
resource_scope: "RUNTIME"
device_details:
device_ips: ["10.1.2.1", "10.2.3.4"]
copy_config: true
- name: Delete the given project or template from the
Cisco Catalyst Center
cisco.dnac.template_workflow_manager:
dnac_host: "{{ dnac_host }}"
dnac_port: "{{ dnac_port }}"
dnac_username: "{{ dnac_username }}"
dnac_password: "{{ dnac_password }}"
dnac_verify: "{{ dnac_verify }}"
dnac_version: "{{ dnac_version }}"
dnac_debug: "{{ dnac_debug }}"
dnac_log_level: "{{ dnac_log_level }}"
dnac_log: true
config_verify: true
state: deleted
config:
configuration_templates:
project_name: "Sample_Project"
template_name: "Sample Template"
language: "velocity"
software_type: "IOS-XE"
device_types:
- product_family: "Switches and Hubs"
- name: Create a New Project
cisco.dnac.template_workflow_manager:
dnac_host: "{{ dnac_host }}"
dnac_port: "{{ dnac_port }}"
dnac_username: "{{ dnac_username }}"
dnac_password: "{{ dnac_password }}"
dnac_verify: "{{ dnac_verify }}"
dnac_version: "{{ dnac_version }}"
dnac_debug: "{{ dnac_debug }}"
dnac_log_level: "{{ dnac_log_level }}"
dnac_log: true
config_verify: true
state: merged
config:
- projects:
- name: Wireless_Controller
description: Centralized repository for managing templates and configurations for wireless controllers (WLCs).
- name: Update project name and details.
cisco.dnac.template_workflow_manager:
dnac_host: "{{ dnac_host }}"
dnac_port: "{{ dnac_port }}"
dnac_username: "{{ dnac_username }}"
dnac_password: "{{ dnac_password }}"
dnac_verify: "{{ dnac_verify }}"
dnac_version: "{{ dnac_version }}"
dnac_debug: "{{ dnac_debug }}"
dnac_log_level: "{{ dnac_log_level }}"
dnac_log: true
config_verify: true
state: merged
config:
- projects:
- name: Wireless_Controller
new_name: Wireless_Template_Management
description: Centralized repository for managing templates and configurations for wireless controllers (WLCs).
- name: Delete project based on the name.
cisco.dnac.template_workflow_manager:
dnac_host: "{{ dnac_host }}"
dnac_port: "{{ dnac_port }}"
dnac_username: "{{ dnac_username }}"
dnac_password: "{{ dnac_password }}"
dnac_verify: "{{ dnac_verify }}"
dnac_version: "{{ dnac_version }}"
dnac_debug: "{{ dnac_debug }}"
dnac_log_level: "{{ dnac_log_level }}"
dnac_log: true
config_verify: true
state: deleted
config:
- projects:
- name: Wireless_Template_Management
Return Values
Common return values are documented here, the following are the fields unique to this module:
Key |
Description |
---|---|
A dictionary with versioning details of the template as returned by the Cisco Catalyst Center Python SDK Returned: always Sample: |
|
A list with the response returned by the Cisco Catalyst Center Python SDK Returned: always Sample: |
|
A dictionary with the exisiting template deatails as returned by the Cisco Catalyst Center Python SDK Returned: always Sample: |
|
Details of the templates in the list as returned by the Cisco Catalyst Center Python SDK Returned: always Sample: |
|
Details of the projects in the list as returned by the Cisco Catalyst Center Python SDK Returned: always Sample: |
|
Response when a project is created successfully Returned: always Sample: |
|
Provides details of the response when a project is successfully updated using the Cisco Catalyst Center Python SDK. Returned: always Sample: |
|
Response when a project is Deleted successfully. Returned: always Sample: |