更新时间:2024-11-04 GMT+08:00

获取模板版本内容

功能介绍

获取模板版本内容(ShowTemplateVersionContent)

此API用于获取用户的模板版本内容

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

  • 此api会以临时重定向形式返回模板内容的下载链接,用户通过下载获取模板版本内容(OBS Pre Signed地址,有效期为5分钟)

  • 如果手动访问重定向的obs下载链接,请求时不可以携带任何的Request-Header,否则会导致签名失败

ShowTemplateVersionContent返回的信息只包含模板版本内容,如果想知道模板版本的元数据,请调用ShowTemplateVersionMetadata

URI

GET /v1/{project_id}/templates/{template_name}/versions/{version_id}

表1 路径参数

参数

是否必选

参数类型

描述

project_id

String

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

项目ID获取方式

template_name

String

用户希望创建的模板名称

version_id

String

模板版本ID,以大写V开头,每次创建模板版本,模板版本ID数字部分会自增加一

表2 Query参数

参数

是否必选

参数类型

描述

template_id

String

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

access_control_source_vpc_ids

Array of strings

允许访问资源栈模板的source vpc id列表, source vpc id应仅包含小写字母、数字或中划线。

access_control_source_ips

Array of strings

允许访问资源栈模板的source ip列表,source ip应是具有CIDR表示法且带有子网掩码的IPv4地址。

请求参数

表3 请求Header参数

参数

是否必选

参数类型

描述

Client-Request-Id

String

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

响应参数

状态码: 200

表4 响应Body参数

参数

参数类型

描述

-

String

空响应体

状态码: 307

表5 响应Header参数

参数

参数类型

描述

Location

String

HTTP重定向指定头域,客户端可通过此头域重定向至新地址。其内容为模板下载链接,为OBS Pre Signed地址,有效期为10分钟

表6 响应Body参数

参数

参数类型

描述

-

String

空响应体

状态码: 400

表7 响应Body参数

参数

参数类型

描述

error_code

String

错误码

error_msg

String

错误描述

encoded_authorization_message

String

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

details

Array of Detail objects

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

表8 Detail

参数

参数类型

描述

error_code

String

响应码

error_msg

String

响应消息

状态码: 401

表9 响应Body参数

参数

参数类型

描述

error_code

String

错误码

error_msg

String

错误描述

encoded_authorization_message

String

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

details

Array of Detail objects

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

表10 Detail

参数

参数类型

描述

error_code

String

响应码

error_msg

String

响应消息

状态码: 403

表11 响应Body参数

参数

参数类型

描述

error_code

String

错误码

error_msg

String

错误描述

encoded_authorization_message

String

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

details

Array of Detail objects

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

表12 Detail

参数

参数类型

描述

error_code

String

响应码

error_msg

String

响应消息

状态码: 404

表13 响应Body参数

参数

参数类型

描述

error_code

String

错误码

error_msg

String

错误描述

encoded_authorization_message

String

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

details

Array of Detail objects

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

表14 Detail

参数

参数类型

描述

error_code

String

响应码

error_msg

String

响应消息

状态码: 429

表15 响应Body参数

参数

参数类型

描述

error_code

String

错误码

error_msg

String

错误描述

encoded_authorization_message

String

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

details

Array of Detail objects

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

表16 Detail

参数

参数类型

描述

error_code

String

响应码

error_msg

String

响应消息

状态码: 500

表17 响应Body参数

参数

参数类型

描述

error_code

String

错误码

error_msg

String

错误描述

encoded_authorization_message

String

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

details

Array of Detail objects

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

表18 Detail

参数

参数类型

描述

error_code

String

响应码

error_msg

String

响应消息

请求示例

  • 获取指定模板的指定版本内容

    GET https://{endpoint}/v1/c364070ab35041ddae68cf8b4839b60f/templates/my_template/versions/V1
  • 获取指定模板的指定版本内容,并提供模板id以校验是否与当前模板匹配

    GET https://{endpoint}/v1/c364070ab35041ddae68cf8b4839b60f/templates/my_template/versions/V1?template_id=1b15e005-bdbb-4bd7-8f9a-a09b6774b4b3
  • 获取指定模板的指定版本内容,并提供access_control_source_ips以控制允许访问资源模板的ip

    GET https://{endpoint}/v1/c364070ab35041ddae68cf8b4839b60f/templates/my_template/versions/V1?access_control_source_ips=100.11.5.100/24&access_control_source_ips=100.22.5.100/24
  • 获取指定模板的指定版本内容,并提供access_control_source_vpc_ids以控制允许访问资源模板的vpc id

    GET https://{endpoint}/v1/c364070ab35041ddae68cf8b4839b60f/templates/my_template/versions/V1?access_control_source_vpc_ids=d42a8768-ad3c-4bca-91t8-53870f3402a9&access_control_source_vpc_ids=d42a8768-ad3c-4bca-91t8-53870f3402a8

响应示例

状态码

状态码

描述

200

空响应体

307

请求模板版本内容成功,重定向至下载链接进行下载

400

用户请求非法

401

用户身份认证失败

403

用户无权限调用此API

404

模板不存在或模板版本不存在

429

请求数量过多

500

服务器内部错误