更新时间:2025-08-11 GMT+08:00

创建模板版本

功能介绍

创建模板版本(CreateTemplateVersion)

此API用于创建新的模板版本

  • 请求中必须包括template_uri或template_body。前者为模板内容obs链接,后者为模板内容

  • 新创建的模板版本版本ID会自动在当前最大模板版本ID的基础上加1

  • 创建模板版本需要的具体信息详见:CreateTemplateVersionRequestBody

  • template_id是模板的唯一Id。此Id由资源编排服务在生成模板的时候生成,为UUID。由于模板名仅仅在同一时间下唯一,即用户允许先生成一个叫HelloWorld的模板,删除,再重新创建一个同名模板。对于团队并行开发,用户可能希望确保,当前我操作的模板就是我认为的那个,而不是其他队友删除后创建的同名模板。因此,使用ID就可以做到强匹配。资源编排服务保证每次创建的模板所对应的ID都不相同,更新不会影响ID。如果给予的template_id和当前模板管理的ID不一致,则返回400

URI

POST /v1/{project_id}/templates/{template_name}/versions

表1 路径参数

参数

是否必选

参数类型

描述

project_id

String

项目ID,可以从调用API处获取,也可以从控制台获取。

项目ID获取方式

template_name

String

模板(Template)的名字。此名字在domain_id+region下应唯一,可以使用中文、大小写英文、数字、下划线、中划线。首字符需为中文或者英文,区分大小写。

表2 Query参数

参数

是否必选

参数类型

描述

template_id

String

模板的ID。当template_id存在时,模板服务会检查template_id是否和template_name匹配,不匹配会返回400

请求参数

表3 请求Header参数

参数

是否必选

参数类型

描述

Client-Request-Id

String

用户指定的,对于此请求的唯一ID,用于定位某个请求,推荐使用UUID

表4 请求Body参数

参数

是否必选

参数类型

描述

version_description

String

模板版本的描述。可用于客户识别自己的模板版本

template_body

String

HCL模板,描述了模板中使用的资源 template_body 和 template_uri 有且仅有一个存在

template_uri

String

HCL模板的obs链接,该模板描述了资源的目标状态

对应的文件应该是纯tf文件或zip压缩包

纯tf文件需要以.tf或者.tf.json结尾,并遵守hcl语法

压缩包目前只支持zip格式,文件需要以".zip"结尾。解压后的文件不得包含".tfvars"文件

template_body 和 template_uri 有且仅有一个存在

响应参数

状态码:200

表5 响应Body参数

参数

参数类型

描述

version_id

String

模板模板版本ID

状态码:400

表6 响应Body参数

参数

参数类型

描述

error_code

String

错误码

error_msg

String

错误描述

encoded_authorization_message

String

包含有关未经授权请求的信息。

details

Array of Detail objects

权限拒绝时服务返回的详细错误信息。

表7 Detail

参数

参数类型

描述

error_code

String

响应码

error_msg

String

响应消息

状态码:401

表8 响应Body参数

参数

参数类型

描述

error_code

String

错误码

error_msg

String

错误描述

encoded_authorization_message

String

包含有关未经授权请求的信息。

details

Array of Detail objects

权限拒绝时服务返回的详细错误信息。

表9 Detail

参数

参数类型

描述

error_code

String

响应码

error_msg

String

响应消息

状态码:403

表10 响应Body参数

参数

参数类型

描述

error_code

String

错误码

error_msg

String

错误描述

encoded_authorization_message

String

包含有关未经授权请求的信息。

details

Array of Detail objects

权限拒绝时服务返回的详细错误信息。

表11 Detail

参数

参数类型

描述

error_code

String

响应码

error_msg

String

响应消息

状态码:404

表12 响应Body参数

参数

参数类型

描述

error_code

String

错误码

error_msg

String

错误描述

encoded_authorization_message

String

包含有关未经授权请求的信息。

details

Array of Detail objects

权限拒绝时服务返回的详细错误信息。

表13 Detail

参数

参数类型

描述

error_code

String

响应码

error_msg

String

响应消息

状态码:429

表14 响应Body参数

参数

参数类型

描述

error_code

String

错误码

error_msg

String

错误描述

encoded_authorization_message

String

包含有关未经授权请求的信息。

details

Array of Detail objects

权限拒绝时服务返回的详细错误信息。

表15 Detail

参数

参数类型

描述

error_code

String

响应码

error_msg

String

响应消息

状态码:500

表16 响应Body参数

参数

参数类型

描述

error_code

String

错误码

error_msg

String

错误描述

encoded_authorization_message

String

包含有关未经授权请求的信息。

details

Array of Detail objects

权限拒绝时服务返回的详细错误信息。

表17 Detail

参数

参数类型

描述

error_code

String

响应码

error_msg

String

响应消息

请求示例

响应示例

状态码

状态码

描述

200

创建模板版本成功

400

用户请求非法

401

用户身份认证失败

403

用户无权限调用此API

404

模板不存在

429

请求数量过多

500

服务器内部错误