cisco.dnac.template_intent module – Resource module for Template functions
Note
This module is part of the cisco.dnac collection (version 6.31.3).
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_intent.
New in cisco.dnac 6.6.0
Synopsis
- Manage operations create, update and delete of the resource Configuration Template. 
- API to create a template by project name and template name. 
- API to update a template by template name and project name. 
- API to delete a template by template name and project name. 
- API to export the projects for given projectNames. 
- API to export the templates for given templateIds. 
- API to manage operation create of the resource Configuration Template Import Project. 
- API to manage operation create of the resource Configuration Template Import Template. 
Requirements
The below requirements are needed on the host that executes this module.
- dnacentersdk == 2.4.5 
- python >= 3.9 
Parameters
| Parameter | Comments | 
|---|---|
| List of details of templates being managed. | |
| Create/Update/Delete template. | |
| Author of template. | |
| Is it composite template. Choices: 
 | |
| Configuration Template Create’s containingTemplates. | |
| Is it composite template. Choices: 
 | |
| Description of template. | |
| deviceTypes on which templates would be applied. | |
| Device family. | |
| Device series. | |
| Device type. | |
| UUID of template. | |
| Template language Choices: 
 | |
| Name of template. | |
| Description of the project created. | |
| Name of the project under which templates are managed. | |
| Params required for template rollback. | |
| Bind to source. | |
| CustomOrder of template param. | |
| Datatype of template param. | |
| Default value of template param. | |
| Description of template param. | |
| Display name of param. | |
| Group. | |
| UUID of template param. | |
| Instruction text for param. | |
| Key. | |
| Is it not a variable. Choices: 
 | |
| Order of template param. | |
| Is it an array. Choices: 
 | |
| Name of template param. | |
| Provider. | |
| Configuration Template Create’s range. | |
| UUID of range. | |
| Max value of range. | |
| Min value of range. | |
| Is param required. Choices: 
 | |
| Configuration Template Create’s selection. | |
| Default selection values. | |
| UUID of selection. | |
| Type of selection(SINGLE_SELECT or MULTI_SELECT). | |
| Selection values. | |
| Configuration Template Create’s tags. | |
| UUID of tag. | |
| Name of tag. | |
| Template content. | |
| Configuration Template Create’s templateParams. | |
| Bind to source. | |
| CustomOrder of template param. | |
| Datatype of template param. | |
| Default value of template param. | |
| Description of template param. | |
| Display name of param. | |
| Group. | |
| UUID of template param. | |
| Instruction text for param. | |
| Key. | |
| Is it not a variable. Choices: 
 | |
| Order of template param. | |
| Is it an array. Choices: 
 | |
| Name of template param. | |
| Provider. | |
| Configuration Template Create’s range. | |
| UUID of range. | |
| Max value of range. | |
| Min value of range. | |
| Is param required. Choices: 
 | |
| Configuration Template Create’s selection. | |
| Default selection values. | |
| UUID of selection. | |
| Type of selection(SINGLE_SELECT or MULTI_SELECT). | |
| Selection values. | |
| Current version of template. | |
| Create time of template. | |
| Custom Params Order. Choices: 
 | |
| Configuration Template Create’s deviceTypes. This field is mandatory to create a new template. | |
| Device family. | |
| Device series. | |
| Device type. | |
| Define failure policy if template provisioning fails. | |
| UUID of template. | |
| Template language Choices: 
 | |
| Update time of template. | |
| Latest versioned template time. | |
| Parent templateID. | |
| Project Description. | |
| Project UUID. | |
| Project name. | |
| Rollback template content. | |
| Configuration Template Create’s rollbackTemplateParams. | |
| Bind to source. | |
| CustomOrder of template param. | |
| Datatype of template param. | |
| Default value of template param. | |
| Description of template param. | |
| Display name of param. | |
| Group. | |
| UUID of template param. | |
| Instruction text for param. | |
| Key. | |
| Is it not a variable. Choices: 
 | |
| Order of template param. | |
| Is it an array. Choices: 
 | |
| Name of template param. | |
| Provider. | |
| Configuration Template Create’s range. | |
| UUID of range. | |
| Max value of range. | |
| Min value of range. | |
| Is param required. Choices: 
 | |
| Configuration Template Create’s selection. | |
| Default selection values. | |
| UUID of selection. | |
| Type of selection(SINGLE_SELECT or MULTI_SELECT). | |
| Selection values. | |
| Applicable device software type. This field is mandatory to create a new template. | |
| Applicable device software variant. | |
| Applicable device software version. | |
| Template content. | |
| Description of template. | |
| Name of template. This field is mandatory to create a new template. | |
| Configuration Template Create’s templateParams. | |
| Bind to source. | |
| CustomOrder of template param. | |
| Datatype of template param. | |
| Default value of template param. | |
| Description of template param. | |
| Display name of param. | |
| Group. | |
| UUID of template param. | |
| Instruction text for param. | |
| Key. | |
| Is it not a variable. Choices: 
 | |
| Order of template param. | |
| Is it an array. Choices: 
 | |
| Name of template param. | |
| Provider. | |
| Configuration Template Create’s range. | |
| UUID of range. | |
| Max value of range. | |
| Min value of range. | |
| Is param required. Choices: 
 | |
| Configuration Template Create’s selection. | |
| Default selection values. | |
| UUID of selection. | |
| Type of selection(SINGLE_SELECT or MULTI_SELECT). | |
| Selection values. | |
| Configuration Template Create’s tags. | |
| UUID of tag. | |
| Name of tag. | |
| Configuration Template Create’s validationErrors. | |
| Validation or design conflicts errors of rollback template. | |
| Validation or design conflicts errors. | |
| UUID of template. | |
| Current version of template. | |
| Current version of template. | |
| Template version comments. | |
| Export the project/template details. | |
| Export the project. | |
| Export the template. | |
| Name of the project under the template available. | |
| Name of the template which we need to export | |
| Import the project/template details. | |
| Import the project details. | |
| 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: 
 | |
| Import the template details. | |
| 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: 
 | |
| Configuration Template Import Template’s payload. | |
| Author of template. | |
| Is it composite template. Choices: 
 | |
| Configuration Template Import Template’s containingTemplates. | |
| Is it composite template. Choices: 
 | |
| Description of template. | |
| Configuration Template Import Template’s deviceTypes. | |
| Device family. | |
| Device series. | |
| Device type. | |
| UUID of template. | |
| Template language (JINJA or VELOCITY). | |
| Name of template. | |
| Project name. | |
| Configuration Template Import Template’s rollbackTemplateParams. | |
| Bind to source. | |
| CustomOrder of template param. | |
| Datatype of template param. | |
| Default value of template param. | |
| Description of template param. | |
| Display name of param. | |
| Group. | |
| UUID of template param. | |
| Instruction text for param. | |
| Key. | |
| Is it not a variable. Choices: 
 | |
| Order of template param. | |
| Is it an array. Choices: 
 | |
| Name of template param. | |
| Provider. | |
| Configuration Template Import Template’s range. | |
| UUID of range. | |
| Max value of range. | |
| Min value of range. | |
| Is param required. Choices: 
 | |
| Configuration Template Import Template’s selection. | |
| Default selection values. | |
| UUID of selection. | |
| Type of selection(SINGLE_SELECT or MULTI_SELECT). | |
| Selection values. | |
| Configuration Template Import Template’s tags. | |
| UUID of tag. | |
| Name of tag. | |
| Template content. | |
| Configuration Template Import Template’s templateParams. | |
| Bind to source. | |
| CustomOrder of template param. | |
| Datatype of template param. | |
| Default value of template param. | |
| Description of template param. | |
| Display name of param. | |
| Group. | |
| UUID of template param. | |
| Instruction text for param. | |
| Key. | |
| Is it not a variable. Choices: 
 | |
| Order of template param. | |
| Is it an array. Choices: 
 | |
| Name of template param. | |
| Provider. | |
| Configuration Template Import Template’s range. | |
| UUID of range. | |
| Max value of range. | |
| Min value of range. | |
| Is param required. Choices: 
 | |
| Configuration Template Import Template’s selection. | |
| Default selection values. | |
| UUID of selection. | |
| Type of selection(SINGLE_SELECT or MULTI_SELECT). | |
| Selection values. | |
| Current version of template. | |
| Create time of template. | |
| Custom Params Order. Choices: 
 | |
| Description of template. | |
| Configuration Template Import Template’s deviceTypes. | |
| Device family. | |
| Device series. | |
| Device type. | |
| Define failure policy if template provisioning fails. | |
| UUID of template. | |
| Template language (JINJA or VELOCITY). | |
| Update time of template. | |
| Latest versioned template time. | |
| Name of template. | |
| Parent templateID. | |
| Project UUID. | |
| Project name. | |
| Rollback template content. | |
| Configuration Template Import Template’s rollbackTemplateParams. | |
| Bind to source. | |
| CustomOrder of template param. | |
| Datatype of template param. | |
| Default value of template param. | |
| Description of template param. | |
| Display name of param. | |
| Group. | |
| UUID of template param. | |
| Instruction text for param. | |
| Key. | |
| Is it not a variable. Choices: 
 | |
| Order of template param. | |
| Is it an array. Choices: 
 | |
| Name of template param. | |
| Provider. | |
| Configuration Template Import Template’s range. | |
| UUID of range. | |
| Max value of range. | |
| Min value of range. | |
| Is param required. Choices: 
 | |
| Configuration Template Import Template’s selection. | |
| Default selection values. | |
| UUID of selection. | |
| Type of selection(SINGLE_SELECT or MULTI_SELECT). | |
| Selection values. | |
| Applicable device software type. | |
| Applicable device software variant. | |
| Applicable device software version. | |
| Configuration Template Import Template’s tags. | |
| UUID of tag. | |
| Name of tag. | |
| Template content. | |
| Configuration Template Import Template’s templateParams. | |
| Bind to source. | |
| CustomOrder of template param. | |
| Datatype of template param. | |
| Default value of template param. | |
| Description of template param. | |
| Display name of param. | |
| Group. | |
| UUID of template param. | |
| Instruction text for param. | |
| Key. | |
| Is it not a variable. Choices: 
 | |
| Order of template param. | |
| Is it an array. Choices: 
 | |
| Name of template param. | |
| Provider. | |
| Configuration Template Import Template’s range. | |
| UUID of range. | |
| Max value of range. | |
| Min value of range. | |
| Is param required. Choices: 
 | |
| Configuration Template Import Template’s selection. | |
| Default selection values. | |
| UUID of selection. | |
| Type of selection(SINGLE_SELECT or MULTI_SELECT). | |
| Selection values. | |
| Configuration Template Import Template’s validationErrors. | |
| Validation or design conflicts errors of rollback template. | |
| Validation or design conflicts errors. | |
| UUID of template. | |
| Current version of template. | |
| Current version of template. | |
| ProjectName path parameter. Project name to create template under the project. | |
| Set to True to verify the Cisco DNA Center after applying the playbook config. 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:  | |
| Flag for Cisco DNA Center SDK to enable debugging. Choices: 
 | |
| The Cisco DNA Center hostname. | |
| 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 Cisco DNA Center password to authenticate. | |
| The Cisco DNA Center port. Default:  | |
| Specifies the interval in seconds between successive calls to the API to retrieve task details. Default:  | |
| The Cisco DNA Center username to authenticate. Default:  | |
| Flag to enable or disable SSL certificate verification. Choices: 
 | |
| Informs the SDK which version of Cisco DNA Center to use. Default:  | |
| The state of DNAC after module completion. Choices: 
 | |
| Flag for Cisco DNA 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, 
- Does not support - check_mode
- The plugin runs on the control node and does not use any ansible connection plugins, but instead the embedded connection manager from Cisco DNAC SDK 
- The parameters starting with dnac_ are used by the Cisco DNAC Python SDK to establish the connection 
Examples
- name: Create a new template, export and import the project and template.
  cisco.dnac.template_intent:
    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: string
          composite: true
          create_time: 0
          custom_params_order: true
          description: string
          device_types:
            - product_family: string
              product_series: string
              product_type: string
          failure_policy: string
          id: string
          language: string
          last_update_time: 0
          latest_version_time: 0
          name: string
          parent_template_id: string
          project_id: string
          project_name: string
          project_description: string
          rollback_template_content: string
          software_type: string
          software_variant: string
          software_version: string
          tags:
            - id: string
              name: string
          template_content: string
          validation_errors:
            rollback_template_errors:
              - {}
            template_errors:
              - {}
            template_id: string
            template_version: string
          version: string
        export:
          project:
            - string
          template:
            - project_name: string
              template_name: string
        import:
          project:
            do_version: true
          export:
            do_version: true
            payload:
              - author: string
                composite: true
                containing_templates:
                  - composite: true
                    description: string
                    device_types:
                      - product_family: string
                        product_series: string
                        product_type: string
                    id: string
                    language: string
                    name: string
                    project_name: string
                    rollback_template_params:
                      - binding: string
                        custom_order: 0
                        data_type: string
                        default_value: string
                        description: string
                        display_name: string
                        group: string
                        id: string
                        instruction_text: string
                        key: string
                        not_param: true
                        order: 0
                        param_array: true
                        parameter_name: string
                        provider: string
                        range:
                          - id: string
                project_name: string
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 DNAC Python SDK Returned: always Sample:  | |
| A list with the response returned by the Cisco DNAC Python SDK Returned: always Sample:  | |
| A dictionary with the exisiting template deatails as returned by the Cisco DNAC Python SDK Returned: always Sample:  | |
| Details of the templates in the list as returned by the Cisco DNAC Python SDK Returned: always Sample:  | |
| Details of the projects in the list as returned by the Cisco DNAC Python SDK Returned: always Sample:  | 
