获取模板版本内容
功能介绍
获取模板版本内容(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}
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
project_id |
是 |
String |
项目ID,可以从调用API处获取,也可以从控制台获取。 |
template_name |
是 |
String |
用户希望创建的模板名称 |
version_id |
是 |
String |
模板版本ID,以大写V开头,每次创建模板版本,模板版本ID数字部分会自增加一 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
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地址。 |
请求参数
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
Client-Request-Id |
是 |
String |
用户指定的,对于此请求的唯一ID,用于定位某个请求,推荐使用UUID |
响应参数
状态码: 307
参数 |
参数类型 |
描述 |
---|---|---|
Location |
String |
HTTP重定向指定头域,客户端可通过此头域重定向至新地址。其内容为模板下载链接,为OBS Pre Signed地址,有效期为10分钟 |
参数 |
参数类型 |
描述 |
---|---|---|
- |
String |
空响应体 |
状态码: 400
参数 |
参数类型 |
描述 |
---|---|---|
error_code |
String |
错误码 |
error_msg |
String |
错误描述 |
encoded_authorization_message |
String |
包含有关未经授权请求的信息。 |
details |
Array of Detail objects |
权限拒绝时服务返回的详细错误信息。 |
状态码: 401
参数 |
参数类型 |
描述 |
---|---|---|
error_code |
String |
错误码 |
error_msg |
String |
错误描述 |
encoded_authorization_message |
String |
包含有关未经授权请求的信息。 |
details |
Array of Detail objects |
权限拒绝时服务返回的详细错误信息。 |
状态码: 403
参数 |
参数类型 |
描述 |
---|---|---|
error_code |
String |
错误码 |
error_msg |
String |
错误描述 |
encoded_authorization_message |
String |
包含有关未经授权请求的信息。 |
details |
Array of Detail objects |
权限拒绝时服务返回的详细错误信息。 |
状态码: 404
参数 |
参数类型 |
描述 |
---|---|---|
error_code |
String |
错误码 |
error_msg |
String |
错误描述 |
encoded_authorization_message |
String |
包含有关未经授权请求的信息。 |
details |
Array of Detail objects |
权限拒绝时服务返回的详细错误信息。 |
状态码: 429
参数 |
参数类型 |
描述 |
---|---|---|
error_code |
String |
错误码 |
error_msg |
String |
错误描述 |
encoded_authorization_message |
String |
包含有关未经授权请求的信息。 |
details |
Array of Detail objects |
权限拒绝时服务返回的详细错误信息。 |
状态码: 500
参数 |
参数类型 |
描述 |
---|---|---|
error_code |
String |
错误码 |
error_msg |
String |
错误描述 |
encoded_authorization_message |
String |
包含有关未经授权请求的信息。 |
details |
Array of Detail objects |
权限拒绝时服务返回的详细错误信息。 |
请求示例
-
获取指定模板的指定版本内容
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 |
服务器内部错误 |