
# 获取模板版本元数据
#### 功能介绍
获取模板版本元数据（ShowTemplateVersionMetadata）
此API用于展示某一版本模板的元数据
- template_id是模板的唯一Id。此Id由资源编排服务在生成模板的时候生成，为UUID。由于模板名仅仅在同一时间下唯一，即用户允许先生成一个叫HelloWorld的模板，删除，再重新创建一个同名模板。对于团队并行开发，用户可能希望确保当前我操作的模板就是我认为的那个，而不是其他队友删除后创建的同名模板。因此，使用ID就可以做到强匹配。资源编排服务保证每次创建的模板所对应的ID都不相同，更新不会影响ID。如果给予的template_id和当前模板管理的ID不一致，则返回400
  
ShowTemplateVersionMetadata返回的信息只包含模板版本元数据信息（具体摘要信息见ShowTemplateVersionMetadataResponseBody），如果用户需要了解模板版本内容，请调用ShowTemplateVersionContent
#### 调试
您可以在[API Explorer](https://console.huaweicloud.com/apiexplorer/#/openapi/AOS/doc?api=ShowTemplateVersionMetadata)中调试该接口，支持自动认证鉴权。API Explorer可以自动生成SDK代码示例，并提供SDK代码示例调试功能。
#### URI
GET /v1/{project_id}/templates/{template_name}/versions/{version_id}/metadata
表1路径参数 
| 参数            | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                     |
|:---|:---|:---|:---|
| project_id    | 是    | String | 项目ID，可以从调用API处获取，也可以从控制台获取。 [项目ID获取方式](https://support.huaweicloud.com/api-ticket/ticket_api_20002.html) 最小长度：**3** 最大长度：**64** |
| template_name | 是    | String | 模板（Template）的名字。此名字在domain_id+region下应唯一，可以使用中文、大小写英文、数字、下划线、中划线。首字符需为中文或者英文，区分大小写。 最小长度：**1** 最大长度：**128**                                                                                                  |
| version_id    | 是    | String | 模板版本ID，以大写V开头，每次创建模板版本，模板版本ID数字部分会自增加一 最小长度：**2** 最大长度：**11**                                                                                                                                                |
   
表2Query参数 
| 参数          | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                     |
|:---|:---|:---|:---|
| template_id | 否    | String | 模板的ID。当template_id存在时，模板服务会检查template_id是否和template_name匹配，不匹配会返回400 最小长度：**36** 最大长度：**36** |
   
#### 请求参数
表3请求Header参数 
| 参数                | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                    |
|:---|:---|:---|:---|
| Client-Request-Id | 是    | String | 用户指定的，对于此请求的唯一ID，用于定位某个请求，推荐使用UUID 最小长度：**36** 最大长度：**128** |
   
#### 响应参数
**状态码：200**
表4响应Body参数 
| 参数                  | 参数类型   | 描述                                                                                                                                                                                                                                                                    |
|:---|:---|:---|
| template_id         | String | 模板的唯一ID，由模板服务随机生成 最小长度：**36** 最大长度：**36**                                                                   |
| template_name       | String | 模板（Template）的名字。此名字在domain_id+region下应唯一，可以使用中文、大小写英文、数字、下划线、中划线。首字符需为中文或者英文，区分大小写。 最小长度：**1** 最大长度：**128** |
| version_description | String | 模板版本的描述。可用于客户识别自己的模板版本 最小长度：**0** 最大长度：**1024**                                                             |
| create_time         | String | 版本创建时间，格式遵循RFC3339，即yyyy-mm-ddTHH:MM:SSZ，如1970-01-01T00:00:00Z                                                                                                                                                                                                        |
   
**状态码：400**
表5响应Body参数 
| 参数                            | 参数类型                                                                                                   | 描述                |
|:---|:---|:---|
| error_code                    | String                                                                                                 | 错误码               |
| error_msg                     | String                                                                                                 | 错误描述              |
| encoded_authorization_message | String                                                                                                 | 包含有关未经授权请求的信息。    |
| details                       | Array of [Detail] objects | 权限拒绝时服务返回的详细错误信息。 |
   
 表6Detail 
| 参数         | 参数类型   | 描述   |
|:---|:---|:---|
| error_code | String | 响应码  |
| error_msg  | String | 响应消息 |
   
**状态码：401**
表7响应Body参数 
| 参数                            | 参数类型                                                                                                     | 描述                |
|:---|:---|:---|
| error_code                    | String                                                                                                   | 错误码               |
| error_msg                     | String                                                                                                   | 错误描述              |
| encoded_authorization_message | String                                                                                                   | 包含有关未经授权请求的信息。    |
| details                       | Array of [Detail] objects | 权限拒绝时服务返回的详细错误信息。 |
   
 表8Detail 
| 参数         | 参数类型   | 描述   |
|:---|:---|:---|
| error_code | String | 响应码  |
| error_msg  | String | 响应消息 |
   
**状态码：403**
表9响应Body参数 
| 参数                            | 参数类型                                                                                                     | 描述                |
|:---|:---|:---|
| error_code                    | String                                                                                                   | 错误码               |
| error_msg                     | String                                                                                                   | 错误描述              |
| encoded_authorization_message | String                                                                                                   | 包含有关未经授权请求的信息。    |
| details                       | Array of [Detail] objects | 权限拒绝时服务返回的详细错误信息。 |
   
 表10Detail 
| 参数         | 参数类型   | 描述   |
|:---|:---|:---|
| error_code | String | 响应码  |
| error_msg  | String | 响应消息 |
   
**状态码：404**
表11响应Body参数 
| 参数                            | 参数类型                                                                                                     | 描述                |
|:---|:---|:---|
| error_code                    | String                                                                                                   | 错误码               |
| error_msg                     | String                                                                                                   | 错误描述              |
| encoded_authorization_message | String                                                                                                   | 包含有关未经授权请求的信息。    |
| details                       | Array of [Detail] objects | 权限拒绝时服务返回的详细错误信息。 |
   
 表12Detail 
| 参数         | 参数类型   | 描述   |
|:---|:---|:---|
| error_code | String | 响应码  |
| error_msg  | String | 响应消息 |
   
**状态码：429**
表13响应Body参数 
| 参数                            | 参数类型                                                                                                     | 描述                |
|:---|:---|:---|
| error_code                    | String                                                                                                   | 错误码               |
| error_msg                     | String                                                                                                   | 错误描述              |
| encoded_authorization_message | String                                                                                                   | 包含有关未经授权请求的信息。    |
| details                       | Array of [Detail] objects | 权限拒绝时服务返回的详细错误信息。 |
   
 表14Detail 
| 参数         | 参数类型   | 描述   |
|:---|:---|:---|
| error_code | String | 响应码  |
| error_msg  | String | 响应消息 |
   
**状态码：500**
表15响应Body参数 
| 参数                            | 参数类型                                                                                                     | 描述                |
|:---|:---|:---|
| error_code                    | String                                                                                                   | 错误码               |
| error_msg                     | String                                                                                                   | 错误描述              |
| encoded_authorization_message | String                                                                                                   | 包含有关未经授权请求的信息。    |
| details                       | Array of [Detail] objects | 权限拒绝时服务返回的详细错误信息。 |
   
 表16Detail 
| 参数         | 参数类型   | 描述   |
|:---|:---|:---|
| error_code | String | 响应码  |
| error_msg  | String | 响应消息 |
   
#### 请求示例
- 展示某一版本模板的元数据
  ```
  GET https://{endpoint}/v1/c364070ab35041ddae68cf8b4839b60f/templates/my_template/versions/V10/metadata
  ```
  
- 展示某一版本模板的元数据，并提供模板id以校验是否与当前模板匹配
  ```
  GET https://{endpoint}/v1/c364070ab35041ddae68cf8b4839b60f/templates/my_template/versions/V10/metadata?template_id=1b15e005-bdbb-4bd7-8f9a-a09b6774b4b3
  ```
  
 
#### 响应示例
**状态码：200**
获取模板版本元数据成功
```
{
  "template_id" : "1b15e005-bdbb-4bd7-8f9a-a09b6774b4b3",
  "template_name" : "my_template",
  "version_description" : "version description",
  "create_time" : "2023-05-09T08:00:00Z"
}
```
#### 状态码
| 状态码 | 描述            |
|:---|:---|
| 200 | 获取模板版本元数据成功   |
| 400 | 用户请求非法        |
| 401 | 用户身份认证失败      |
| 403 | 用户无权限调用此API   |
| 404 | 模板不存在或模板版本不存在 |
| 429 | 请求数量过多        |
| 500 | 服务器内部错误       |
   
