cisco.dnac.template_workflow_manager (6.13.3) — module

Resource module for Template functions

| "added in version" 6.6.0 of cisco.dnac"

Authors: Madhan Sankaranarayanan (@madhansansel) Rishita Chowdhary (@rishitachowdhary) Akash Bhaskaran (@akabhask) Muthu Rakesh (@MUTHU-RAKESH-27)

Install collection

Install with ansible-galaxy collection install cisco.dnac:==6.13.3


Add to requirements.yml

  collections:
    - name: cisco.dnac
      version: 6.13.3

Description

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

Usage examples

  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Create a new template.
  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: 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
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Export the projects.
  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:
      export:
        project:
          - string
          - string
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Export 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:
      export:
        template:
          - project_name : string
            template_name: string
          - project_name: string
            template_name: string
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Import the Projects.
  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:
        project:
          do_version: false
          payload:
          - name: string
          - name: string
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- 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

Inputs

    
state:
    choices:
    - merged
    - deleted
    default: merged
    description: The state of Cisco Catalyst Center after module completion.
    type: str

config:
    description:
    - List of details of templates being managed.
    elements: dict
    required: true
    suboptions:
      configuration_templates:
        description: Perform operations such as Create/Update/Delete on a template.
        suboptions:
          author:
            description: Identifies the creator of the template.
            type: str
          composite:
            description: Specifies if the template is composite.
            type: bool
          containing_templates:
            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.
            elements: dict
            suboptions:
              composite:
                description: Specifies if the template is composite.
                type: bool
              description:
                description: Provides a description of the template.
                type: str
              device_types:
                description: List of dictionaries details the types of devices that the
                  templates can be applied to.
                elements: dict
                suboptions:
                  product_family:
                    description: Denotes the family to which the device belongs.
                    type: str
                  product_series:
                    description: Specifies the series classification of the device.
                    type: str
                  product_type:
                    description: Describes the exact type of the device.
                    type: str
                type: list
              id:
                description: Unique identifier for the template, represented as a UUID.
                type: str
              language:
                choices:
                - JINJA
                - VELOCITY
                description: Programming language used for templating. Options are 'JINJA'
                  for Jinja templating or 'VELOCITY' for Apache Velocity.
                type: str
              name:
                description: Designation of the template, serving as its unique name.
                type: str
              project_description:
                description: Narrative that elaborates on the purpose and scope of the
                  project.
                type: str
              project_name:
                description: Title of the project within which the template is categorized
                  and managed.
                type: str
              rollback_template_params:
                description: A list of dictionaries defining parameters necessary for
                  the rollback functionality of a template.
                elements: dict
                suboptions:
                  binding:
                    description: Associates the parameter with its source.
                    type: str
                  custom_order:
                    description: Specifies a user-defined ordering for the parameter.
                    type: int
                  data_type:
                    description: Identifies the data type of the parameter (e.g., string,
                      integer, boolean).
                    type: str
                  default_value:
                    description: Establishes a default value for the parameter, used if
                      no other value is provided.
                    type: str
                  description:
                    description: Provides a descriptive explanation of the parameter's
                      purpose.
                    type: str
                  display_name:
                    description: The name of the parameter as displayed to users.
                    type: str
                  group:
                    description: Categorizes the parameter into a named group for organizational
                      purposes.
                    type: str
                  id:
                    description: A unique identifier for the parameter, formatted as a
                      UUID.
                    type: str
                  instruction_text:
                    description: Gives guidance or instructions regarding the parameter's
                      use.
                    type: str
                  key:
                    description: A unique key that identifies the parameter within the
                      template.
                    type: str
                  not_param:
                    description: Indicates whether the entry is not to be treated as a
                      parameter.
                    type: bool
                  order:
                    description: Determines the sequence in which the parameter appears
                      relative to others.
                    type: int
                  param_array:
                    description: Specifies if the parameter should be treated as an array.
                    type: bool
                  parameter_name:
                    description: The name of the parameter.
                    type: str
                  provider:
                    description: Denotes the provider associated with the parameter.
                    type: str
                  range:
                    description: Defines the permissible range for the parameter's value.
                    elements: dict
                    suboptions:
                      id:
                        description: Unique identifier for the range, represented as a
                          UUID.
                        type: str
                      max_value:
                        description: Specifies the maximum allowable value for the parameter.
                        type: int
                      min_value:
                        description: Specifies the minimum allowable value for the parameter.
                        type: int
                    type: list
                  required:
                    description: Dictates whether the parameter is mandatory for template
                      operations.
                    type: bool
                  selection:
                    description: Contains options for parameter selection when a choice
                      is available.
                    suboptions:
                      default_selected_values:
                        description: Lists the default values that are preselected.
                        elements: str
                        type: list
                      id:
                        description: A unique identifier for the selection entity, represented
                          as a UUID.
                        type: str
                      selection_type:
                        description: Specifies the type of selection, such as 'SINGLE_SELECT'
                          or 'MULTI_SELECT'.
                        type: str
                      selection_values:
                        description: A dictionary of available values for selection.
                        type: dict
                    type: dict
                type: list
              tags:
                description: A list of dictionaries representing tags associated with
                  the Configuration Template during creation.
                elements: dict
                suboptions:
                  id:
                    description: The unique identifier for each tag, presented as a UUID.
                    type: str
                  name:
                    description: The descriptive label or name assigned to the tag.
                    type: str
                type: list
              template_content:
                description: The actual script or code constituting the body of the template.
                type: str
              template_params:
                description: The customization of the contents within the template.
                elements: dict
                suboptions:
                  binding:
                    description: Associates the parameter with its source.
                    type: str
                  custom_order:
                    description: Specifies a user-defined ordering for the parameter.
                    type: int
                  data_type:
                    description: Identifies the data type of the parameter (e.g., string,
                      integer, boolean).
                    type: str
                  default_value:
                    description: Establishes a default value for the parameter, used if
                      no other value is provided.
                    type: str
                  description:
                    description: Provides a descriptive explanation of the parameter's
                      purpose.
                    type: str
                  display_name:
                    description: The name of the parameter as displayed to users.
                    type: str
                  group:
                    description: Categorizes the parameter into a named group for organizational
                      purposes.
                    type: str
                  id:
                    description: A unique identifier for the parameter, formatted as a
                      UUID.
                    type: str
                  instruction_text:
                    description: Gives guidance or instructions regarding the parameter's
                      use.
                    type: str
                  key:
                    description: A unique key that identifies the parameter within the
                      template.
                    type: str
                  not_param:
                    description: Indicates whether the entry is not to be treated as a
                      parameter.
                    type: bool
                  order:
                    description: Determines the sequence in which the parameter appears
                      relative to others.
                    type: int
                  param_array:
                    description: Specifies if the parameter should be treated as an array.
                    type: bool
                  parameter_name:
                    description: The name of the parameter.
                    type: str
                  provider:
                    description: Denotes the provider associated with the parameter.
                    type: str
                  range:
                    description: Defines the permissible range for the parameter's value.
                    elements: dict
                    suboptions:
                      id:
                        description: Unique identifier for the range, represented as a
                          UUID.
                        type: str
                      max_value:
                        description: Specifies the maximum allowable value for the parameter.
                        type: int
                      min_value:
                        description: Specifies the minimum allowable value for the parameter.
                        type: int
                    type: list
                  required:
                    description: Dictates whether the parameter is mandatory for template
                      operations.
                    type: bool
                  selection:
                    description: Contains options for parameter selection when a choice
                      is available.
                    suboptions:
                      default_selected_values:
                        description: Lists the default values that are preselected.
                        elements: str
                        type: list
                      id:
                        description: A unique identifier for the selection entity, represented
                          as a UUID.
                        type: str
                      selection_type:
                        description: Specifies the type of selection, such as 'SINGLE_SELECT'
                          or 'MULTI_SELECT'.
                        type: str
                      selection_values:
                        description: A dictionary of available values for selection.
                        type: dict
                    type: dict
                type: list
              version:
                description: The current version of template.
                type: str
            type: list
          create_time:
            description: The creation time of the template refers to the initial development.
            type: int
          custom_params_order:
            description: Specifies the sequence in which custom parameters or variables
              should be arranged within the template.
            type: bool
          device_types:
            description: List of dictionaries details the types of devices that the templates
              can be applied to.
            elements: dict
            suboptions:
              product_family:
                description: Denotes the family to which the device belongs.
                type: str
              product_series:
                description: Specifies the series classification of the device.
                type: str
              product_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: A unique identifier, represented as a UUID.
            type: str
          language:
            choices:
            - JINJA
            - VELOCITY
            description: Programming language used for templating. Options are 'JINJA'
              for Jinja templating or 'VELOCITY' for Apache Velocity.
            type: str
          last_update_time:
            description: Indicates the most recent timestamp when the template was modified
              or revised.
            type: int
          latest_version_time:
            description: Indicates when the most recent version of a template was released
              or updated.
            type: int
          parent_template_id:
            description: Refers to the unique identifier of a template from which another
              template derives.
            type: str
          project_description:
            description: Narrative that elaborates on the purpose and scope of the project.
            type: str
          project_id:
            description: A unique identifier for the project, formatted as a UUID.
            type: str
          project_name:
            description: Title of the project within which the template is categorized
              and managed.
            type: str
          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: A list of dictionaries defining parameters necessary for the
              rollback functionality of a template.
            elements: dict
            suboptions:
              binding:
                description: Associates the parameter with its source.
                type: str
              custom_order:
                description: Specifies a user-defined ordering for the parameter.
                type: int
              data_type:
                description: Identifies the data type of the parameter (e.g., string,
                  integer, boolean).
                type: str
              default_value:
                description: Establishes a default value for the parameter, used if no
                  other value is provided.
                type: str
              description:
                description: Provides a descriptive explanation of the parameter's purpose.
                type: str
              display_name:
                description: The name of the parameter as displayed to users.
                type: str
              group:
                description: Categorizes the parameter into a named group for organizational
                  purposes.
                type: str
              id:
                description: A unique identifier for the parameter, formatted as a UUID.
                type: str
              instruction_text:
                description: Gives guidance or instructions regarding the parameter's
                  use.
                type: str
              key:
                description: A unique key that identifies the parameter within the template.
                type: str
              not_param:
                description: Indicates whether the entry is not to be treated as a parameter.
                type: bool
              order:
                description: Determines the sequence in which the parameter appears relative
                  to others.
                type: int
              param_array:
                description: Specifies if the parameter should be treated as an array.
                type: bool
              parameter_name:
                description: The name of the parameter.
                type: str
              provider:
                description: Denotes the provider associated with the parameter.
                type: str
              range:
                description: Defines the permissible range for the parameter's value.
                elements: dict
                suboptions:
                  id:
                    description: Unique identifier for the range, represented as a UUID.
                    type: str
                  max_value:
                    description: Specifies the maximum allowable value for the parameter.
                    type: int
                  min_value:
                    description: Specifies the minimum allowable value for the parameter.
                    type: int
                type: list
              required:
                description: Dictates whether the parameter is mandatory for template
                  operations.
                type: bool
              selection:
                description: Contains options for parameter selection when a choice is
                  available.
                suboptions:
                  default_selected_values:
                    description: Lists the default values that are preselected.
                    elements: str
                    type: list
                  id:
                    description: A unique identifier for the selection entity, represented
                      as a UUID.
                    type: str
                  selection_type:
                    description: Specifies the type of selection, such as 'SINGLE_SELECT'
                      or 'MULTI_SELECT'.
                    type: str
                  selection_values:
                    description: A dictionary of available values for selection.
                    type: dict
                type: dict
            type: list
          software_type:
            description: Applicable device software type. This field is mandatory to create
              a new template.
            type: str
          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_content:
            description: The actual script or code constituting the body of the template.
            type: str
          template_description:
            description: Provides a overview  of the template.
            type: str
          template_name:
            description: Name of template. This field is mandatory to create a new template.
            type: str
          template_params:
            description: The customization of the contents within the template.
            elements: dict
            suboptions:
              binding:
                description: Associates the parameter with its source.
                type: str
              custom_order:
                description: Specifies a user-defined ordering for the parameter.
                type: int
              data_type:
                description: Identifies the data type of the parameter (e.g., string,
                  integer, boolean).
                type: str
              default_value:
                description: Establishes a default value for the parameter, used if no
                  other value is provided.
                type: str
              description:
                description: Provides a descriptive explanation of the parameter's purpose.
                type: str
              display_name:
                description: The name of the parameter as displayed to users.
                type: str
              group:
                description: Categorizes the parameter into a named group for organizational
                  purposes.
                type: str
              id:
                description: A unique identifier for the parameter, formatted as a UUID.
                type: str
              instruction_text:
                description: Gives guidance or instructions regarding the parameter's
                  use.
                type: str
              key:
                description: A unique key that identifies the parameter within the template.
                type: str
              not_param:
                description: Indicates whether the entry is not to be treated as a parameter.
                type: bool
              order:
                description: Determines the sequence in which the parameter appears relative
                  to others.
                type: int
              param_array:
                description: Specifies if the parameter should be treated as an array.
                type: bool
              parameter_name:
                description: The name of the parameter.
                type: str
              provider:
                description: Denotes the provider associated with the parameter.
                type: str
              range:
                description: Defines the permissible range for the parameter's value.
                elements: dict
                suboptions:
                  id:
                    description: Unique identifier for the range, represented as a UUID.
                    type: str
                  max_value:
                    description: Specifies the maximum allowable value for the parameter.
                    type: int
                  min_value:
                    description: Specifies the minimum allowable value for the parameter.
                    type: int
                type: list
              required:
                description: Dictates whether the parameter is mandatory for template
                  operations.
                type: bool
              selection:
                description: Contains options for parameter selection when a choice is
                  available.
                suboptions:
                  default_selected_values:
                    description: Lists the default values that are preselected.
                    elements: str
                    type: list
                  id:
                    description: A unique identifier for the selection entity, represented
                      as a UUID.
                    type: str
                  selection_type:
                    description: Specifies the type of selection, such as 'SINGLE_SELECT'
                      or 'MULTI_SELECT'.
                    type: str
                  selection_values:
                    description: A dictionary of available values for selection.
                    type: dict
                type: dict
            type: list
          template_tag:
            description: Refers to a keyword, label, or metadata assigned to a template.
            elements: dict
            suboptions:
              id:
                description: A unique identifier for the tag, represented as a UUID.
                type: str
              name:
                description: The name of the tag.
                type: str
            type: list
          validation_errors:
            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: Refer to issues or discrepancies encountered during the processing
                  of a template within a software application.
                elements: dict
                type: list
              template_id:
                description: A unique identifier for the template, represented as a UUID.
                type: str
              template_version:
                description: The current version of validation process in the template.
                type: str
            type: dict
          version:
            description: The current version of template.
            type: str
          version_description:
            description: Template version comments.
            type: str
        type: dict
      export:
        description: Perform export on the projects and templates.
        suboptions:
          project:
            description: Export the project(s) details.
            elements: str
            type: list
          template:
            description: Export the template(s) details.
            elements: dict
            suboptions:
              project_name:
                description: Name of the project under the template available.
                type: str
              template_name:
                description: Name of the template which we need to be exported.
                type: str
            type: list
        type: dict
      import:
        description: Perform import on the projects and templates.
        suboptions:
          project:
            description: Import the projects.
            suboptions:
              do_version:
                description: 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.
                type: bool
            type: dict
          template:
            description: Import the templates.
            suboptions:
              do_version:
                description: 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.
                type: bool
              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.
                elements: dict
                suboptions:
                  author:
                    description: Identifies the creator of the template.
                    type: str
                  composite:
                    description: Specifies if the template is composite.
                    type: bool
                  containing_templates:
                    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.
                    elements: dict
                    suboptions:
                      composite:
                        description: Specifies if the template is composite.
                        type: bool
                      description:
                        description: Provides a description of the template.
                        type: str
                      device_types:
                        description: List of dictionaries details the types of devices
                          that the templates can be applied to.
                        elements: dict
                        suboptions:
                          product_family:
                            description: Denotes the family to which the device belongs.
                            type: str
                          product_series:
                            description: Specifies the series classification of the device.
                            type: str
                          product_type:
                            description: Describes the exact type of the device.
                            type: str
                        type: list
                      id:
                        description: Unique identifier for the template, represented as
                          a UUID.
                        type: str
                      language:
                        choices:
                        - JINJA
                        - VELOCITY
                        description: Programming language used for templating. Options
                          are 'JINJA' for Jinja templating or 'VELOCITY' for Apache Velocity.
                        type: str
                      name:
                        description: Designation of the template, serving as its unique
                          name.
                        type: str
                      project_name:
                        description: Title of the project within which the template is
                          categorized and managed.
                        type: str
                      rollback_template_params:
                        description: A list of dictionaries defining parameters necessary
                          for the rollback functionality of a template.
                        elements: dict
                        suboptions:
                          binding:
                            description: Associates the parameter with its source.
                            type: str
                          custom_order:
                            description: Specifies a user-defined ordering for the parameter.
                            type: int
                          data_type:
                            description: Identifies the data type of the parameter (e.g.,
                              string, integer, boolean).
                            type: str
                          default_value:
                            description: Establishes a default value for the parameter,
                              used if no other value is provided.
                            type: str
                          description:
                            description: Provides a descriptive explanation of the parameter's
                              purpose.
                            type: str
                          display_name:
                            description: The name of the parameter as displayed to users.
                            type: str
                          group:
                            description: Categorizes the parameter into a named group
                              for organizational purposes.
                            type: str
                          id:
                            description: A unique identifier for the parameter, formatted
                              as a UUID.
                            type: str
                          instruction_text:
                            description: Gives guidance or instructions regarding the
                              parameter's use.
                            type: str
                          key:
                            description: A unique key that identifies the parameter within
                              the template.
                            type: str
                          not_param:
                            description: Indicates whether the entry is not to be treated
                              as a parameter.
                            type: bool
                          order:
                            description: Determines the sequence in which the parameter
                              appears relative to others.
                            type: int
                          param_array:
                            description: Specifies if the parameter should be treated
                              as an array.
                            type: bool
                          parameter_name:
                            description: The name of the parameter.
                            type: str
                          provider:
                            description: Denotes the provider associated with the parameter.
                            type: str
                          range:
                            description: Defines the permissible range for the parameter's
                              value.
                            elements: dict
                            suboptions:
                              id:
                                description: Unique identifier for the range, represented
                                  as a UUID.
                                type: str
                              max_value:
                                description: Specifies the maximum allowable value for
                                  the parameter.
                                type: int
                              min_value:
                                description: Specifies the minimum allowable value for
                                  the parameter.
                                type: int
                            type: list
                          required:
                            description: Dictates whether the parameter is mandatory for
                              template operations.
                            type: bool
                          selection:
                            description: Contains options for parameter selection when
                              a choice is available.
                            suboptions:
                              default_selected_values:
                                description: Lists the default values that are preselected.
                                elements: str
                                type: list
                              id:
                                description: A unique identifier for the selection entity,
                                  represented as a UUID.
                                type: str
                              selection_type:
                                description: Specifies the type of selection, such as
                                  'SINGLE_SELECT' or 'MULTI_SELECT'.
                                type: str
                              selection_values:
                                description: A dictionary of available values for selection.
                                type: dict
                            type: dict
                        type: list
                      tags:
                        description: A list of dictionaries representing tags associated
                          with the Configuration Template during creation.
                        elements: dict
                        suboptions:
                          id:
                            description: The unique identifier for each tag, presented
                              as a UUID.
                            type: str
                          name:
                            description: The descriptive label or name assigned to the
                              tag.
                            type: str
                        type: list
                      template_content:
                        description: The actual script or code constituting the body of
                          the template.
                        type: str
                      template_params:
                        description: The customization of the contents within the template.
                        elements: dict
                        suboptions:
                          binding:
                            description: Associates the parameter with its source.
                            type: str
                          custom_order:
                            description: Specifies a user-defined ordering for the parameter.
                            type: int
                          data_type:
                            description: Identifies the data type of the parameter (e.g.,
                              string, integer, boolean).
                            type: str
                          default_value:
                            description: Establishes a default value for the parameter,
                              used if no other value is provided.
                            type: str
                          description:
                            description: Provides a descriptive explanation of the parameter's
                              purpose.
                            type: str
                          display_name:
                            description: The name of the parameter as displayed to users.
                            type: str
                          group:
                            description: Categorizes the parameter into a named group
                              for organizational purposes.
                            type: str
                          id:
                            description: A unique identifier for the parameter, formatted
                              as a UUID.
                            type: str
                          instruction_text:
                            description: Gives guidance or instructions regarding the
                              parameter's use.
                            type: str
                          key:
                            description: A unique key that identifies the parameter within
                              the template.
                            type: str
                          not_param:
                            description: Indicates whether the entry is not to be treated
                              as a parameter.
                            type: bool
                          order:
                            description: Determines the sequence in which the parameter
                              appears relative to others.
                            type: int
                          param_array:
                            description: Specifies if the parameter should be treated
                              as an array.
                            type: bool
                          parameter_name:
                            description: The name of the parameter.
                            type: str
                          provider:
                            description: Denotes the provider associated with the parameter.
                            type: str
                          range:
                            description: Defines the permissible range for the parameter's
                              value.
                            elements: dict
                            suboptions:
                              id:
                                description: Unique identifier for the range, represented
                                  as a UUID.
                                type: str
                              max_value:
                                description: Specifies the maximum allowable value for
                                  the parameter.
                                type: int
                              min_value:
                                description: Specifies the minimum allowable value for
                                  the parameter.
                                type: int
                            type: list
                          required:
                            description: Dictates whether the parameter is mandatory for
                              template operations.
                            type: bool
                          selection:
                            description: Contains options for parameter selection when
                              a choice is available.
                            suboptions:
                              default_selected_values:
                                description: Lists the default values that are preselected.
                                elements: str
                                type: list
                              id:
                                description: A unique identifier for the selection entity,
                                  represented as a UUID.
                                type: str
                              selection_type:
                                description: Specifies the type of selection, such as
                                  'SINGLE_SELECT' or 'MULTI_SELECT'.
                                type: str
                              selection_values:
                                description: A dictionary of available values for selection.
                                type: dict
                            type: dict
                        type: list
                      version:
                        description: The current version of template.
                        type: str
                    type: list
                  create_time:
                    description: The creation time of the template refers to the initial
                      development.
                    type: int
                  custom_params_order:
                    description: Specifies the sequence in which custom parameters or
                      variables should be arranged within the template.
                    type: bool
                  device_types:
                    description: List of dictionaries details the types of devices that
                      the templates can be applied to.
                    elements: dict
                    suboptions:
                      product_family:
                        description: Denotes the family to which the device belongs.
                        type: str
                      product_series:
                        description: Specifies the series classification of the device.
                        type: str
                      product_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: A unique identifier, represented as a UUID.
                    type: str
                  language:
                    choices:
                    - JINJA
                    - VELOCITY
                    description: Programming language used for templating. Options are
                      'JINJA' for Jinja templating or 'VELOCITY' for Apache Velocity.
                    type: str
                  last_update_time:
                    description: Indicates the most recent timestamp when the template
                      was modified or revised.
                    type: int
                  latest_version_time:
                    description: Indicates when the most recent version of a template
                      was released or updated.
                    type: int
                  parent_template_id:
                    description: Refers to the unique identifier of a template from which
                      another template derives.
                    type: str
                  project_description:
                    description: Narrative that elaborates on the purpose and scope of
                      the project.
                    type: str
                  project_id:
                    description: A unique identifier for the project, formatted as a UUID.
                    type: str
                  project_name:
                    description: Title of the project within which the template is categorized
                      and managed.
                    type: str
                  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: A list of dictionaries defining parameters necessary
                      for the rollback functionality of a template.
                    elements: dict
                    suboptions:
                      binding:
                        description: Associates the parameter with its source.
                        type: str
                      custom_order:
                        description: Specifies a user-defined ordering for the parameter.
                        type: int
                      data_type:
                        description: Identifies the data type of the parameter (e.g.,
                          string, integer, boolean).
                        type: str
                      default_value:
                        description: Establishes a default value for the parameter, used
                          if no other value is provided.
                        type: str
                      description:
                        description: Provides a descriptive explanation of the parameter's
                          purpose.
                        type: str
                      display_name:
                        description: The name of the parameter as displayed to users.
                        type: str
                      group:
                        description: Categorizes the parameter into a named group for
                          organizational purposes.
                        type: str
                      id:
                        description: A unique identifier for the parameter, formatted
                          as a UUID.
                        type: str
                      instruction_text:
                        description: Gives guidance or instructions regarding the parameter's
                          use.
                        type: str
                      key:
                        description: A unique key that identifies the parameter within
                          the template.
                        type: str
                      not_param:
                        description: Indicates whether the entry is not to be treated
                          as a parameter.
                        type: bool
                      order:
                        description: Determines the sequence in which the parameter appears
                          relative to others.
                        type: int
                      param_array:
                        description: Specifies if the parameter should be treated as an
                          array.
                        type: bool
                      parameter_name:
                        description: The name of the parameter.
                        type: str
                      provider:
                        description: Denotes the provider associated with the parameter.
                        type: str
                      range:
                        description: Defines the permissible range for the parameter's
                          value.
                        elements: dict
                        suboptions:
                          id:
                            description: Unique identifier for the range, represented
                              as a UUID.
                            type: str
                          max_value:
                            description: Specifies the maximum allowable value for the
                              parameter.
                            type: int
                          min_value:
                            description: Specifies the minimum allowable value for the
                              parameter.
                            type: int
                        type: list
                      required:
                        description: Dictates whether the parameter is mandatory for template
                          operations.
                        type: bool
                      selection:
                        description: Contains options for parameter selection when a choice
                          is available.
                        suboptions:
                          default_selected_values:
                            description: Lists the default values that are preselected.
                            elements: str
                            type: list
                          id:
                            description: A unique identifier for the selection entity,
                              represented as a UUID.
                            type: str
                          selection_type:
                            description: Specifies the type of selection, such as 'SINGLE_SELECT'
                              or 'MULTI_SELECT'.
                            type: str
                          selection_values:
                            description: A dictionary of available values for selection.
                            type: dict
                        type: dict
                    type: list
                  software_type:
                    description: Applicable device software type. This field is mandatory
                      to create a new template.
                    type: str
                  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_content:
                    description: The actual script or code constituting the body of the
                      template.
                    type: str
                  template_description:
                    description: Provides a overview  of the template.
                    type: str
                  template_name:
                    description: Name of template. This field is mandatory to create a
                      new template.
                    type: str
                  template_params:
                    description: The customization of the contents within the template.
                    elements: dict
                    suboptions:
                      binding:
                        description: Associates the parameter with its source.
                        type: str
                      custom_order:
                        description: Specifies a user-defined ordering for the parameter.
                        type: int
                      data_type:
                        description: Identifies the data type of the parameter (e.g.,
                          string, integer, boolean).
                        type: str
                      default_value:
                        description: Establishes a default value for the parameter, used
                          if no other value is provided.
                        type: str
                      description:
                        description: Provides a descriptive explanation of the parameter's
                          purpose.
                        type: str
                      display_name:
                        description: The name of the parameter as displayed to users.
                        type: str
                      group:
                        description: Categorizes the parameter into a named group for
                          organizational purposes.
                        type: str
                      id:
                        description: A unique identifier for the parameter, formatted
                          as a UUID.
                        type: str
                      instruction_text:
                        description: Gives guidance or instructions regarding the parameter's
                          use.
                        type: str
                      key:
                        description: A unique key that identifies the parameter within
                          the template.
                        type: str
                      not_param:
                        description: Indicates whether the entry is not to be treated
                          as a parameter.
                        type: bool
                      order:
                        description: Determines the sequence in which the parameter appears
                          relative to others.
                        type: int
                      param_array:
                        description: Specifies if the parameter should be treated as an
                          array.
                        type: bool
                      parameter_name:
                        description: The name of the parameter.
                        type: str
                      provider:
                        description: Denotes the provider associated with the parameter.
                        type: str
                      range:
                        description: Defines the permissible range for the parameter's
                          value.
                        elements: dict
                        suboptions:
                          id:
                            description: Unique identifier for the range, represented
                              as a UUID.
                            type: str
                          max_value:
                            description: Specifies the maximum allowable value for the
                              parameter.
                            type: int
                          min_value:
                            description: Specifies the minimum allowable value for the
                              parameter.
                            type: int
                        type: list
                      required:
                        description: Dictates whether the parameter is mandatory for template
                          operations.
                        type: bool
                      selection:
                        description: Contains options for parameter selection when a choice
                          is available.
                        suboptions:
                          default_selected_values:
                            description: Lists the default values that are preselected.
                            elements: str
                            type: list
                          id:
                            description: A unique identifier for the selection entity,
                              represented as a UUID.
                            type: str
                          selection_type:
                            description: Specifies the type of selection, such as 'SINGLE_SELECT'
                              or 'MULTI_SELECT'.
                            type: str
                          selection_values:
                            description: A dictionary of available values for selection.
                            type: dict
                        type: dict
                    type: list
                  template_tag:
                    description: Refers to a keyword, label, or metadata assigned to a
                      template.
                    elements: dict
                    suboptions:
                      id:
                        description: A unique identifier for the tag, represented as a
                          UUID.
                        type: str
                      name:
                        description: The name of the tag.
                        type: str
                    type: list
                  validation_errors:
                    description: Refer to issues or discrepancies identified during the
                      validation process.
                    suboptions:
                      rollback_template_errors:
                        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: Refer to issues or discrepancies encountered during
                          the processing of a template within a software application.
                        elements: dict
                        type: list
                      template_id:
                        description: A unique identifier for the template, represented
                          as a UUID.
                        type: str
                      template_version:
                        description: The current version of validation process in the
                          template.
                        type: str
                    type: dict
                  version:
                    description: The current version of template.
                    type: str
                type: list
              project_name:
                description: ProjectName path parameter. Project name to create template
                  under the project.
                type: str
              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
            type: dict
        type: dict
    type: list

dnac_log:
    default: false
    description:
    - 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.
    type: bool

dnac_host:
    description:
    - The hostname of the Cisco Catalyst Center.
    required: true
    type: str

dnac_port:
    default: '443'
    description:
    - Specifies the port number associated with the Cisco Catalyst Center.
    type: str

dnac_debug:
    default: false
    description:
    - Indicates whether debugging is enabled in the Cisco Catalyst Center SDK.
    type: bool

dnac_verify:
    default: true
    description:
    - Flag to enable or disable SSL certificate verification.
    type: bool

dnac_version:
    default: 2.2.3.3
    description:
    - Specifies the version of the Cisco Catalyst Center that the SDK should use.
    type: str

config_verify:
    default: false
    description: Set to True to verify the Cisco Catalyst Center after applying the playbook
      config.
    type: bool

dnac_password:
    description:
    - The password for authentication at the Cisco Catalyst Center.
    type: str

dnac_username:
    aliases:
    - user
    default: admin
    description:
    - The username for authentication at the Cisco Catalyst Center.
    type: str

dnac_log_level:
    default: WARNING
    description:
    - 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.
    type: str

dnac_log_append:
    default: true
    description: Determines the mode of the file. Set to True for 'append' mode. Set to
      False for 'write' mode.
    type: bool

dnac_log_file_path:
    default: dnac.log
    description:
    - 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.
    type: str

dnac_api_task_timeout:
    default: 1200
    description: 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.
    type: int

dnac_task_poll_interval:
    default: 2
    description: Specifies the interval in seconds between successive calls to the API
      to retrieve task details.
    type: int

validate_response_schema:
    default: true
    description:
    - Flag for Cisco Catalyst Center SDK to enable the validation of request bodies against
      a JSON schema.
    type: bool

Outputs

response_1:
  description: A dictionary with versioning details of the template as returned by
    the Cisco Catalyst Center Python SDK
  returned: always
  sample: "{\n  \"response\": {\n                    \"endTime\": 0,\n           \
    \         \"version\": 0,\n                    \"data\": String,\n           \
    \         \"startTime\": 0,\n                    \"username\": String,\n     \
    \               \"progress\": String,\n                    \"serviceType\": String,\
    \ \"rootId\": String,\n                    \"isError\": bool,\n              \
    \      \"instanceTenantId\": String,\n                    \"id\": String\n   \
    \                 \"version\": 0\n              },\n  \"msg\": String\n}\n"
  type: dict
response_2:
  description: A list with the response returned by the Cisco Catalyst Center Python
    SDK
  returned: always
  sample: "{\n  \"response\": [],\n  \"msg\": String\n}\n"
  type: list
response_3:
  description: A dictionary with the exisiting template deatails as returned by the
    Cisco Catalyst Center Python SDK
  returned: always
  sample: "{\n  \"response\": {},\n  \"msg\": String\n}\n"
  type: dict
response_4:
  description: Details of the templates in the list as returned by the Cisco Catalyst
    Center Python SDK
  returned: always
  sample: "{\n  \"response\": {},\n  \"msg\": String\n}\n"
  type: dict
response_5:
  description: Details of the projects in the list as returned by the Cisco Catalyst
    Center Python SDK
  returned: always
  sample: "{\n  \"response\": {},\n  \"msg\": String\n}\n"
  type: dict