cisco.dnac.template_workflow_manager 模块 – 模板功能的资源模块
注意
此模块是 cisco.dnac 集合(版本 6.25.0)的一部分。
如果您正在使用 ansible
包,您可能已经安装了此集合。它不包含在 ansible-core
中。要检查是否已安装,请运行 ansible-galaxy collection list
。
要安装它,请使用:ansible-galaxy collection install cisco.dnac
。您需要其他要求才能使用此模块,有关详细信息,请参阅要求。
要在 playbook 中使用它,请指定:cisco.dnac.template_workflow_manager
。
cisco.dnac 6.6.0 中的新增功能
概要
管理资源配置模板的创建、更新和删除操作。
API 用于按项目名称和模板名称创建模板。
API 用于按模板名称和项目名称更新模板。
API 用于按模板名称和项目名称删除模板。
API 用于导出给定 projectNames 的项目。
API 用于导出给定 templateIds 的模板。
API 用于管理资源配置模板导入项目的创建操作。
API 用于管理资源配置模板导入模板的创建操作。
要求
执行此模块的主机需要满足以下要求。
dnacentersdk >= 2.7.2
python >= 3.9
参数
参数 |
注释 |
---|---|
正在管理的模板的详细信息列表。 |
|
对模板执行创建/更新/删除等操作。 |
|
标识模板的创建者。 |
|
指定模板是否是复合的。 选择
|
|
引用主模板中的一组模板,以定义更复杂或模块化的配置。 这在支持分层或嵌套模板的系统中尤其有用。 在此,父模板可能包含子模板以形成完整的配置。 |
|
指定模板是否是复合的。 选择
|
|
提供模板的描述。 |
|
字典列表,详细说明可应用模板的设备类型。 |
|
表示设备所属的系列。 选择
|
|
指定设备的系列分类。 |
|
描述设备的精确类型。 |
|
模板的唯一标识符,表示为 UUID。 |
|
用于模板的编程语言。选项为:Jinja 模板的 ‘JINJA’ 或 Apache Velocity 的 ‘VELOCITY’。 选择
|
|
模板的名称,用作其唯一名称。 |
|
阐述项目目的和范围的叙述。 |
|
模板在其分类和管理的项目标题。 |
|
表示创建期间与配置模板关联的标记的字典列表。 |
|
每个标记的唯一标识符,以 UUID 形式呈现。 |
|
分配给标记的描述性标签或名称。 |
|
构成模板主体的实际脚本或代码。 |
|
模板内内容的自定义。 |
|
将参数与其来源关联。 |
|
为参数指定用户定义的排序。 |
|
标识参数的数据类型(例如,字符串、整数、布尔值)。 |
|
为参数建立默认值,如果没有提供其他值则使用该值。 |
|
提供对参数用途的描述性解释。 |
|
向用户显示的参数名称。 |
|
将参数分类到命名的组中以进行组织。 |
|
参数的唯一标识符,格式为 UUID。 |
|
提供有关参数使用的指导或说明。 |
|
在模板中标识参数的唯一键。 |
|
指示条目是否不被视为参数。 选择
|
|
确定参数相对于其他参数出现的顺序。 |
|
指定是否应将参数视为数组。 选择
|
|
参数的名称。 |
|
表示与参数关联的提供程序。 |
|
定义参数值的允许范围。 |
|
范围的唯一标识符,表示为 UUID。 |
|
指定参数允许的最大值。 |
|
指定参数允许的最小值。 |
|
指示模板操作是否需要该参数。 选择
|
|
包含有选择时用于参数选择的选项。 |
|
列出预先选择的默认值。 |
|
选择实体的唯一标识符,表示为 UUID。 |
|
指定选择的类型,例如“SINGLE_SELECT”或“MULTI_SELECT”。 |
|
可供选择的值的字典。 |
|
模板的当前版本。 |
|
指定在模板中自定义参数或变量应排列的顺序。 选择
|
|
字典列表,详细说明可应用模板的设备类型。 |
|
表示设备所属的系列。 选择
|
|
指定设备的系列分类。 |
|
描述设备的精确类型。 |
|
定义模板配置失败时的失败策略。 仅当 composite 设置为 True 时,failure_policy 才会启用。 选择
|
|
一个唯一的标识符,表示为 UUID。 |
|
用于模板的编程语言。选项为:Jinja 模板的 ‘JINJA’ 或 Apache Velocity 的 ‘VELOCITY’。 选择
|
|
阐述项目目的和范围的叙述。 |
|
模板在其分类和管理的项目标题。 |
|
适用的设备软件类型。创建新模板时,此字段是必需的。 选择
|
|
适用的设备软件版本。 |
|
构成模板主体的实际脚本或代码。 |
|
提供模板的概述。 |
|
模板的名称。创建新模板时,此字段是必需的。 |
|
模板内内容的自定义。 |
|
将参数与其来源关联。 |
|
为参数指定用户定义的排序。 |
|
标识参数的数据类型(例如,字符串、整数、布尔值)。 |
|
为参数建立默认值,如果没有提供其他值则使用该值。 |
|
提供对参数用途的描述性解释。 |
|
向用户显示的参数名称。 |
|
将参数分类到命名的组中以进行组织。 |
|
参数的唯一标识符,格式为 UUID。 |
|
提供有关参数使用的指导或说明。 |
|
在模板中标识参数的唯一键。 |
|
指示条目是否不被视为参数。 选择
|
|
确定参数相对于其他参数出现的顺序。 |
|
指定是否应将参数视为数组。 选择
|
|
参数的名称。 |
|
表示与参数关联的提供程序。 |
|
定义参数值的允许范围。 |
|
范围的唯一标识符,表示为 UUID。 |
|
指定参数允许的最大值。 |
|
指定参数允许的最小值。 |
|
指示模板操作是否需要该参数。 选择
|
|
包含有选择时用于参数选择的选项。 |
|
列出预先选择的默认值。 |
|
选择实体的唯一标识符,表示为 UUID。 |
|
指定选择的类型,例如“SINGLE_SELECT”或“MULTI_SELECT”。 |
|
可供选择的值的字典。 |
|
指分配给模板的关键字、标签或元数据。 |
|
标签的唯一标识符,表示为 UUID。 |
|
标签的名称。 |
|
模板的当前版本。 |
|
模板版本注释。 |
|
根据站点配置详细信息列表(具有设备系列、设备角色、设备标签等进一步的筛选条件)或提供包括 device_ips、device_hostnames、serial_numbers 或 mac_addresses 的设备特定详细信息,将模板部署到设备。 |
|
将部署模板的设备的特定详细信息,包括设备 IP、主机名、序列号或 MAC 地址列表。 |
|
将部署模板的设备的主机名列表。 |
|
将部署模板的设备的 IP 地址列表。 |
|
将部署模板的设备的 MAC 地址列表。 |
|
将部署模板的设备的序列号列表。 |
|
指示是否应将模板强制推送到设备,覆盖任何现有配置的布尔标志。 选择
|
|
指示模板是否为复合模板的布尔标志,这意味着该模板是使用多个较小的模板构建的。 选择
|
|
提供模板可用的项目名称。 |
|
与基于站点的配置相关的参数,允许将模板部署到与特定站点关联的设备,并可选择按设备系列、角色或标签进行筛选。 |
|
设备系列(例如,交换机、路由器),用于筛选用于模板部署的设备。 |
|
设备角色(例如,接入、核心、边缘),用于筛选用于模板部署的设备。 |
|
用于筛选用于模板部署的特定设备标签。 |
|
与配置关联的设备所在的站点名称。 |
|
要部署的模板的名称。 |
|
用于使用每个设备的特定值自定义模板的参数名称-值对列表。 |
|
模板中需要替换为特定值的参数的名称。 |
|
分配给参数以部署到设备的值。 |
|
对项目和模板执行导出。 |
|
导出项目详细信息。 |
|
导出模板详细信息。 |
|
模板可用的项目名称。 |
|
我们需要导出的模板的名称。 |
|
对项目和模板执行导入。 |
|
导入项目。 |
|
确定是否使用导入的内容创建项目的新版本。 如果设置为 true 并且项目已存在,则将创建新版本。 如果为 false,并且项目已存在,则操作将失败并显示“项目已存在”错误。 选择
|
|
使用提供的有效负载将配置数据直接导入系统。 为导入配置提供了一种替代 “project_file” 的方法,无需引用外部文件。 如果还提供了“project_file”,则忽略此项。 |
|
要导入的项目的名称。 |
|
指定包含导入项目配置的 JSON 文件的路径。 如果同时提供了 “project_file” 和 “payload”,则 “project_file” 将具有优先权。 |
|
导入模板。 |
|
DoVersion 查询参数。如果此标志为 true,则使用导入的内容创建模板的新版本(如果模板已存在)。“如果为 false 并且模板已存在,则操作将失败并显示“模板已存在”错误。 选择
|
|
payload 参数用于将配置数据直接导入系统。 payload 提供了一种替代的配置导入方式,无需引用外部文件。 如果同时提供了 “template_file” 和 “payload”,则 “template_file” 将具有优先权。 |
|
标识模板的创建者。 |
|
指定模板是否是复合的。 选择
|
|
引用主模板中的一组模板,以定义更复杂或模块化的配置。 这在支持分层或嵌套模板的系统中尤其有用。 在此,父模板可能包含子模板以形成完整的配置。 |
|
指定模板是否是复合的。 选择
|
|
提供模板的描述。 |
|
字典列表,详细说明可应用模板的设备类型。 |
|
表示设备所属的系列。 选择
|
|
指定设备的系列分类。 |
|
描述设备的精确类型。 |
|
模板的唯一标识符,表示为 UUID。 |
|
用于模板的编程语言。选项为:Jinja 模板的 ‘JINJA’ 或 Apache Velocity 的 ‘VELOCITY’。 选择
|
|
模板的名称,用作其唯一名称。 |
|
模板在其分类和管理的项目标题。 |
|
表示创建期间与配置模板关联的标记的字典列表。 |
|
每个标记的唯一标识符,以 UUID 形式呈现。 |
|
分配给标记的描述性标签或名称。 |
|
构成模板主体的实际脚本或代码。 |
|
模板内内容的自定义。 |
|
将参数与其来源关联。 |
|
为参数指定用户定义的排序。 |
|
标识参数的数据类型(例如,字符串、整数、布尔值)。 |
|
为参数建立默认值,如果没有提供其他值则使用该值。 |
|
提供对参数用途的描述性解释。 |
|
向用户显示的参数名称。 |
|
将参数分类到命名的组中以进行组织。 |
|
参数的唯一标识符,格式为 UUID。 |
|
提供有关参数使用的指导或说明。 |
|
在模板中标识参数的唯一键。 |
|
指示条目是否不被视为参数。 选择
|
|
确定参数相对于其他参数出现的顺序。 |
|
指定是否应将参数视为数组。 选择
|
|
参数的名称。 |
|
表示与参数关联的提供程序。 |
|
定义参数值的允许范围。 |
|
范围的唯一标识符,表示为 UUID。 |
|
指定参数允许的最大值。 |
|
指定参数允许的最小值。 |
|
指示模板操作是否需要该参数。 选择
|
|
包含有选择时用于参数选择的选项。 |
|
列出预先选择的默认值。 |
|
选择实体的唯一标识符,表示为 UUID。 |
|
指定选择的类型,例如“SINGLE_SELECT”或“MULTI_SELECT”。 |
|
可供选择的值的字典。 |
|
模板的当前版本。 |
|
指定在模板中自定义参数或变量应排列的顺序。 选择
|
|
字典列表,详细说明可应用模板的设备类型。 |
|
表示设备所属的系列。 选择
|
|
指定设备的系列分类。 |
|
描述设备的精确类型。 |
|
定义模板配置失败时的失败策略。 仅当 composite 设置为 True 时,failure_policy 才会启用。 选择
|
|
一个唯一的标识符,表示为 UUID。 |
|
用于模板的编程语言。选项为:Jinja 模板的 ‘JINJA’ 或 Apache Velocity 的 ‘VELOCITY’。 选择
|
|
阐述项目目的和范围的叙述。 |
|
模板在其分类和管理的项目标题。 |
|
适用的设备软件类型。创建新模板时,此字段是必需的。 选择
|
|
适用的设备软件版本。 |
|
构成模板主体的实际脚本或代码。 |
|
提供模板的概述。 |
|
模板的名称。创建新模板时,此字段是必需的。 |
|
模板内内容的自定义。 |
|
将参数与其来源关联。 |
|
为参数指定用户定义的排序。 |
|
标识参数的数据类型(例如,字符串、整数、布尔值)。 |
|
为参数建立默认值,如果没有提供其他值则使用该值。 |
|
提供对参数用途的描述性解释。 |
|
向用户显示的参数名称。 |
|
将参数分类到命名的组中以进行组织。 |
|
参数的唯一标识符,格式为 UUID。 |
|
提供有关参数使用的指导或说明。 |
|
在模板中标识参数的唯一键。 |
|
指示条目是否不被视为参数。 选择
|
|
确定参数相对于其他参数出现的顺序。 |
|
指定是否应将参数视为数组。 选择
|
|
参数的名称。 |
|
表示与参数关联的提供程序。 |
|
定义参数值的允许范围。 |
|
范围的唯一标识符,表示为 UUID。 |
|
指定参数允许的最大值。 |
|
指定参数允许的最小值。 |
|
指示模板操作是否需要该参数。 选择
|
|
包含有选择时用于参数选择的选项。 |
|
列出预先选择的默认值。 |
|
选择实体的唯一标识符,表示为 UUID。 |
|
指定选择的类型,例如“SINGLE_SELECT”或“MULTI_SELECT”。 |
|
可供选择的值的字典。 |
|
指分配给模板的关键字、标签或元数据。 |
|
标签的唯一标识符,表示为 UUID。 |
|
标签的名称。 |
|
模板的当前版本。 |
|
ProjectName 路径参数。在项目下创建模板的项目名称。 |
|
指定包含导入模板的 JSON 文件的路径。 如果同时提供了 “template_file” 和 “payload”,则 “template_file” 将具有优先权。 |
|
设置为 True 以在应用 playbook 配置后验证 Cisco Catalyst Center。 选择
|
|
定义用于检索任务详细信息的 API 调用的超时时间(以秒为单位)。如果在此期间内未收到任务详细信息,该过程将结束,并且将记录超时通知。 默认值: |
|
指示是否在 Cisco Catalyst Center SDK 中启用了调试。 选择
|
|
Cisco Catalyst Center 的主机名。 |
|
用于启用/禁用 playbook 执行日志记录的标志。 当为 true 且提供了 dnac_log_file_path 时,- 在执行位置创建具有指定名称的日志文件。 当为 true 且未提供 dnac_log_file_path 时,- 在执行位置创建名为 “dnac.log” 的日志文件。 当为 false 时,- 禁用日志记录。 如果日志文件不存在,- 将根据 “dnac_log_append” 标志以追加或写入模式创建日志文件。 如果日志文件存在,- 将根据 “dnac_log_append” 标志覆盖或追加日志文件。 选择
|
|
确定文件的模式。设置为 True 表示 “追加” 模式。设置为 False 表示 “写入” 模式。 选择
|
|
控制日志记录。如果 dnac_log 为 True,则会记录日志。 如果未指定路径,- 当 “dnac_log_append” 为 True 时,将在当前 Ansible 目录中生成 “dnac.log”;日志将追加。- 当 “dnac_log_append” 为 False 时,将生成 “dnac.log”;日志将被覆盖。 如果指定了路径,- 当 “dnac_log_append” 为 True 时,该文件将以追加模式打开。- 当 “dnac_log_append” 为 False 时,该文件将以写入 (w) 模式打开。- 在共享文件场景中,如果不使用追加模式,则每次模块执行后内容都会被覆盖。- 对于共享日志文件,将第一个模块的 append 设置为 False(以覆盖);对于后续模块,将 append 设置为 True。 默认值: |
|
设置日志级别的阈值。将记录级别等于或高于此级别的消息。级别按严重性顺序列出 [CRITICAL, ERROR, WARNING, INFO, DEBUG]。 CRITICAL 表示会停止程序的严重错误。仅显示 CRITICAL 消息。 ERROR 表示会阻止功能的故障。显示 ERROR 和 CRITICAL 消息。 WARNING 表示潜在的未来问题。显示 WARNING、ERROR 和 CRITICAL 消息。 INFO 跟踪正常操作。显示 INFO、WARNING、ERROR 和 CRITICAL 消息。 DEBUG 提供详细的诊断信息。显示所有日志消息。 默认值: |
|
用于在 Cisco Catalyst Center 进行身份验证的密码。 |
|
指定与 Cisco Catalyst Center 关联的端口号。 默认值: |
|
指定连续调用 API 以检索任务详细信息的时间间隔(以秒为单位)。 默认值: |
|
用于在 Cisco Catalyst Center 进行身份验证的用户名。 默认值: |
|
用于启用或禁用 SSL 证书验证的标志。 选择
|
|
指定 SDK 应使用的 Cisco Catalyst Center 版本。 默认值: |
|
模块完成后 Cisco Catalyst Center 的状态。 选择
|
|
用于 Cisco Catalyst Center SDK 的标志,用于启用根据 JSON 模式验证请求主体。 选择
|
备注
注意
使用的 SDK 方法为 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、
使用的路径为 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、
不支持
check_mode
该插件在控制节点上运行,不使用任何 ansible 连接插件,而是使用 Cisco Catalyst Center SDK 中的嵌入式连接管理器
以 dnac_ 开头的参数由 Cisco Catalyst Center Python SDK 用于建立连接
示例
- 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
custom_params_order: true
description: string
device_types:
- product_family: string
product_series: string
product_type: string
failure_policy: string
id: string
language: string
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: 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
- 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
- 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
- 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
- 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_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"
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_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"
device_details:
- device_ips: ["10.1.2.1", "10.2.3.4"]
- name: Delete the given project or template from the Cisco Catalyst Center
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: deleted
config_verify: True
config:
configuration_templates:
project_name: "Sample_Project"
template_name: "Sample Template"
language: "velocity"
software_type: "IOS-XE"
device_types:
- product_family: "Switches and Hubs"
返回值
常见返回值在此处记录 此处,以下是此模块特有的字段
Key |
描述 |
---|---|
一个字典,包含 Cisco Catalyst Center Python SDK 返回的模板版本详细信息 返回: 总是 示例: |
|
一个列表,包含 Cisco Catalyst Center Python SDK 返回的响应 返回: 总是 示例: |
|
一个字典,包含 Cisco Catalyst Center Python SDK 返回的现有模板详细信息 返回: 总是 示例: |
|
列表中模板的详细信息,由 Cisco Catalyst Center Python SDK 返回 返回: 总是 示例: |
|
列表中项目的详细信息,由 Cisco Catalyst Center Python SDK 返回 返回: 总是 示例: |