
# 列举资源栈资源
#### 功能介绍
列举资源栈资源（ListStackResources）
此API用于列举资源栈中当前管理的所有资源的信息
当资源栈处于非终态时，仅输出资源栈下资源的简要信息，包含逻辑资源名称（logical_resource_name），逻辑资源类型（logical_resource_type），物理资源id（physical_resource_id），物理资源名称（physical_resource_name），资源状态（status）等信息；当资源栈处于终态时，将额外输出具体信息，如资源属性（resource_attributes）
非终态包括但不限于以下状态：
- 正在部署（DEPLOYMENT_IN_PROGRESS）
  
- 正在删除（DELETION_IN_PROGRESS）
  
- 正在回滚（ROLLBACK_IN_PROGRESS）
  
支持分页返回。如果响应中存在next_marker，则表示实际总输出比当前响应中包含的输出多。在对请求的后续调用中，在请求参数中使用此值，以获取输出的下一部分。您应该重复此操作，直到next_marker响应元素返回为null
#### 调试
您可以在[API Explorer](https://console.huaweicloud.com/apiexplorer/#/openapi/AOS/doc?api=ListStackResources)中调试该接口，支持自动认证鉴权。API Explorer可以自动生成SDK代码示例，并提供SDK代码示例调试功能。
#### URI
GET /v1/{project_id}/stacks/{stack_name}/resources
表1路径参数 
| 参数         | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                     |
|:---|:---|:---|:---|
| project_id | 是    | String | 项目ID，可以从调用API处获取，也可以从控制台获取。 [项目ID获取方式](https://support.huaweicloud.com/api-ticket/ticket_api_20002.html) 最小长度：**3** 最大长度：**64** |
| stack_name | 是    | String | 资源栈的名称。此名字在domain_id+区域+project_id下应唯一，可以使用中文、大小写英文、数字、下划线、中划线。首字符需为中文或者英文，区分大小写。 最小长度：**1** 最大长度：**128**                                                                                                    |
   
表2Query参数 
| 参数       | 是否必选 | 参数类型    | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
|:---|:---|:---|:---|
| stack_id | 否    | String  | 资源栈（stack）的唯一ID。 此ID由资源编排服务在生成资源栈的时候生成，为UUID。 由于资源栈名仅仅在同一时间下唯一，即用户允许先生成一个叫HelloWorld的资源栈，删除，再重新创建一个同名资源栈。 对于团队并行开发，用户可能希望确保，当前我操作的资源栈就是我认为的那个，而不是其他队友删除后创建的同名资源栈。因此，使用ID就可以做到强匹配。 资源编排服务保证每次创建的资源栈所对应的ID都不相同，更新不会影响ID。如果给予的stack_id和当前资源栈的ID不一致，则返回400 最小长度：**36** 最大长度：**36** |
| marker   | 否    | String  | 分页标记。当一页无法返回所有结果，上一次的请求将返回next_marker以指引还有更多页数，用户可以将next_marker中的值放到此处以查询下一页的信息。此marker只能用于与上一请求指定的相同参数的请求。不指定时默认从第一页开始查询。 最小长度：**1** 最大长度：**512**                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| limit    | 否    | Integer | 每页返回的最多结果数量 最小值：**10** 最大值：**1000** 缺省值：**1000**                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
   
#### 请求参数
表3请求Header参数 
| 参数                | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                    |
|:---|:---|:---|:---|
| Client-Request-Id | 是    | String | 用户指定的，对于此请求的唯一ID，用于定位某个请求，推荐使用UUID 最小长度：**36** 最大长度：**128** |
   
#### 响应参数
**状态码：200**
表4响应Body参数 
| 参数              | 参数类型                                                                                                                 | 描述             |
|:---|:---|:---|
| stack_resources | Array of [StackResource] objects | 资源栈中所管理的资源信息列表 |
| page_info       | [PageInfo] object                     | 分页信息           |
   
 表5StackResource 
| 参数                     | 参数类型                                                                                                                         | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
|:---|:---|:---|
| physical_resource_id   | String                                                                                                                       | 资源的物理id，由该资源的provider、云服务或其他服务提供方在资源部署的时候生成 注：与physical相关的参数可以在模板以外的地方，作为该资源的一种标识                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| physical_resource_name | String                                                                                                                       | 资源的物理名称，由该资源的provider、云服务或其他服务提供方在资源部署的时候定义 注：与physical相关的参数可以在模板以外的地方，作为该资源的一种标识                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| logical_resource_name  | String                                                                                                                       | 资源的逻辑名称，由用户在模板中定义 注：与 logical 相关的参数仅仅在模板内部，作为该资源的一种标识 以HCL格式的模板为例，logical_resource_name 为 my_hello_world_vpc ``` resource "huaweicloud_vpc" "my_hello_world_vpc" { name = "test_vpc" } ``` 以json格式的模板为例，logical_resource_name 为 my_hello_world_vpc ``` { "resource": { "huaweicloud_vpc": { "my_hello_world_vpc": { "name": "test_vpc" } } } } ```                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| logical_resource_type  | String                                                                                                                       | 资源的类型 注：与 logical 相关的参数仅仅在模板内部，作为该资源的一种标识 以HCL格式的模板为例，logical_resource_type 为 huaweicloud_vpc ``` resource "huaweicloud_vpc" "my_hello_world_vpc" { name = "test_vpc" } ``` 以json格式的模板为例，logical_resource_type 为 huaweicloud_vpc ``` { "resource": { "huaweicloud_vpc": { "my_hello_world_vpc": { "name": "test_vpc" } } } } ```                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| index_key              | String                                                                                                                       | 资源的索引，如果用户在模板中使用了count或for_each则会返回index_key。如果index_key出现，则logical_resource_name + index_key可以作为该资源的一种标识 如果用户在模板中使用count，则index_key为从0开始的数字 以HCL格式的模板为例，用户在模板中可以通过*huaweicloud_vpc.my_hello_world_vpc\[0\]* 和*huaweicloud_vpc.my_hello_world_vpc\[1\]*标识两个资源 ``` resource "huaweicloud_vpc" "my_hello_world_vpc" { count = 2 name = "test_vpc" } ``` 以json格式的模板为例，用户在模板中可以通过*huaweicloud_vpc.my_hello_world_vpc\[0\]* 和*huaweicloud_vpc.my_hello_world_vpc\[1\]*标识两个资源 ``` { "resource": { "huaweicloud_vpc": { "my_hello_world_vpc": { "name": "test_vpc", "count": 2 } } } } ``` 如果用户在模板中使用for_each，则index_key为用户自定义的字符串 以HCL格式的模板为例，用户在模板中可以通过*huaweicloud_vpc.my_hello_world_vpc\["vpc1"\]* 和*huaweicloud_vpc.my_hello_world_vpc\["vpc2"\]*标识两个资源 ``` resource "huaweicloud_vpc" "my_hello_world_vpc" { for_each = { "vpc1" = "test_vpc" "vpc2" = "test_vpc" } name = each.value } ``` 以json格式的模板为例，用户在模板中可以通过*huaweicloud_vpc.my_hello_world_vpc\["vpc1"\]* 和*huaweicloud_vpc.my_hello_world_vpc\["vpc2"\]*标识两个资源 ``` { "resource": { "huaweicloud_vpc": { "my_hello_world_vpc": { "for_each": { "vpc1": "test_vpc", "vpc2": "test_vpc" } "name": "${each.value}" } } } } ```                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| resource_status        | String                                                                                                                       | 资源的状态 - *CREATION_IN_PROGRESS* - 正在生成   - *CREATION_FAILED* - 生成失败   - *CREATION_COMPLETE* - 生成完成   - *DELETION_IN_PROGRESS* - 正在删除   - *DELETION_FAILED* - 删除失败   - *DELETION_COMPLETE* - 已经删除   - *UPDATE_IN_PROGRESS* - 正在更新。此处的更新特指非替换式更新，如果是替换式更新，则使用CREATION后DELETION   - *UPDATE_FAILED* - 更新失败。此处的更新特指非替换式更新，如果是替换式更新，则使用CREATION后DELETION   - *UPDATE_COMPLETE* - 更新完成。此处的更新特指非替换式更新，如果是替换式更新，则使用CREATION后DELETION    |
| status_message         | String                                                                                                                       | 当该资源状态为任意失败状态（即以 *FAILED* 结尾时），将会展示简要的错误信息总结以供debug                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| resource_attributes    | Array of [ResourceAttribute] objects | 资源属性列表                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
   
 表6ResourceAttribute 
| 参数    | 参数类型   | 描述     |
|:---|:---|:---|
| key   | String | 资源属性的键 |
| value | String | 资源属性的值 |
   
 表7PageInfo 
| 参数              | 参数类型    | 描述                                                                                                    |
|:---|:---|:---|
| next_marker     | String  | 向后分页标识符。如果存在，则表示实际总输出比当前响应中包含的输出多。在对请求的后续调用中，在请求参数中使用此值，以获取输出的下一部分。您应该重复此操作，直到next_marker响应元素返回为null。 |
| previous_marker | String  | 向前分页标识符。                                                                                              |
| current_count   | Integer | 本页显示的条目数量。                                                                                            |
   
**状态码：400**
表8响应Body参数 
| 参数                            | 参数类型                                                                                                   | 描述                                                                                                                                                                                    |
|:---|:---|:---|
| error_code                    | String                                                                                                 | 响应码 最小长度：**11** 最大长度：**11** |
| error_msg                     | String                                                                                                 | 响应消息                                                                                                                                                                                  |
| encoded_authorization_message | String                                                                                                 | 包含有关未经授权请求的信息。                                                                                                                                                                        |
| details                       | Array of [Detail] objects | 权限拒绝时服务返回的详细错误信息。                                                                                                                                                                     |
   
 表9Detail 
| 参数         | 参数类型   | 描述   |
|:---|:---|:---|
| error_code | String | 响应码  |
| error_msg  | String | 响应消息 |
   
**状态码：401**
表10响应Body参数 
| 参数                            | 参数类型                                                                                                     | 描述                                                                                                                                                                                    |
|:---|:---|:---|
| error_code                    | String                                                                                                   | 响应码 最小长度：**11** 最大长度：**11** |
| error_msg                     | String                                                                                                   | 响应消息                                                                                                                                                                                  |
| encoded_authorization_message | String                                                                                                   | 包含有关未经授权请求的信息。                                                                                                                                                                        |
| details                       | Array of [Detail] objects | 权限拒绝时服务返回的详细错误信息。                                                                                                                                                                     |
   
 表11Detail 
| 参数         | 参数类型   | 描述   |
|:---|:---|:---|
| error_code | String | 响应码  |
| error_msg  | String | 响应消息 |
   
**状态码：403**
表12响应Body参数 
| 参数                            | 参数类型                                                                                                     | 描述                                                                                                                                                                                    |
|:---|:---|:---|
| error_code                    | String                                                                                                   | 响应码 最小长度：**11** 最大长度：**11** |
| error_msg                     | String                                                                                                   | 响应消息                                                                                                                                                                                  |
| encoded_authorization_message | String                                                                                                   | 包含有关未经授权请求的信息。                                                                                                                                                                        |
| details                       | Array of [Detail] objects | 权限拒绝时服务返回的详细错误信息。                                                                                                                                                                     |
   
 表13Detail 
| 参数         | 参数类型   | 描述   |
|:---|:---|:---|
| error_code | String | 响应码  |
| error_msg  | String | 响应消息 |
   
**状态码：404**
表14响应Body参数 
| 参数                            | 参数类型                                                                                                     | 描述                                                                                                                                                                                    |
|:---|:---|:---|
| error_code                    | String                                                                                                   | 响应码 最小长度：**11** 最大长度：**11** |
| error_msg                     | String                                                                                                   | 响应消息                                                                                                                                                                                  |
| encoded_authorization_message | String                                                                                                   | 包含有关未经授权请求的信息。                                                                                                                                                                        |
| details                       | Array of [Detail] objects | 权限拒绝时服务返回的详细错误信息。                                                                                                                                                                     |
   
 表15Detail 
| 参数         | 参数类型   | 描述   |
|:---|:---|:---|
| error_code | String | 响应码  |
| error_msg  | String | 响应消息 |
   
**状态码：429**
表16响应Body参数 
| 参数                            | 参数类型                                                                                                     | 描述                                                                                                                                                                                    |
|:---|:---|:---|
| error_code                    | String                                                                                                   | 响应码 最小长度：**11** 最大长度：**11** |
| error_msg                     | String                                                                                                   | 响应消息                                                                                                                                                                                  |
| encoded_authorization_message | String                                                                                                   | 包含有关未经授权请求的信息。                                                                                                                                                                        |
| details                       | Array of [Detail] objects | 权限拒绝时服务返回的详细错误信息。                                                                                                                                                                     |
   
 表17Detail 
| 参数         | 参数类型   | 描述   |
|:---|:---|:---|
| error_code | String | 响应码  |
| error_msg  | String | 响应消息 |
   
**状态码：500**
表18响应Body参数 
| 参数                            | 参数类型                                                                                                     | 描述                                                                                                                                                                                    |
|:---|:---|:---|
| error_code                    | String                                                                                                   | 响应码 最小长度：**11** 最大长度：**11** |
| error_msg                     | String                                                                                                   | 响应消息                                                                                                                                                                                  |
| encoded_authorization_message | String                                                                                                   | 包含有关未经授权请求的信息。                                                                                                                                                                        |
| details                       | Array of [Detail] objects | 权限拒绝时服务返回的详细错误信息。                                                                                                                                                                     |
   
 表19Detail 
| 参数         | 参数类型   | 描述   |
|:---|:---|:---|
| error_code | String | 响应码  |
| error_msg  | String | 响应消息 |
   
#### 请求示例
- 列举资源栈资源
  ```
  GET https://{endpoint}/v1/ba2b9930c977f71edaeaa3a5e96a8ff1/stacks/my_hello_world_stack/resources
  ```
  
- 列举资源栈资源，并提供资源栈id以校验是否与当前资源栈匹配
  ```
  GET https://{endpoint}/v1/ba2b9930c977f71edaeaa3a5e96a8ff1/stacks/my_hello_world_stack/resources?stack_id=ea6a4f0e-ee8a-494e-b12a-8be4a1e65af2
  ```
  
 
#### 响应示例
**状态码：200**
列举资源栈资源成功
```
{
  "stack_resources" : [ {
    "logical_resource_name" : "vpc",
    "logical_resource_type" : "huaweicloud_vpc",
    "physical_resource_id" : "38d617da-9b7f-4550-9ff7-d0e271dd4735",
    "physical_resource_name" : "my_vpc",
    "resource_attributes" : [ {
      "key" : "cidr",
      "value" : "172.16.0.0/16"
    }, {
      "key" : "description",
      "value" : ""
    }, {
      "key" : "enterprise_project_id",
      "value" : "0"
    }, {
      "key" : "id",
      "value" : "38d617da-9b7f-4550-9ff7-d0e271dd4735"
    }, {
      "key" : "name",
      "value" : "test_name"
    }, {
      "key" : "region",
      "value" : "cn-north-7"
    }, {
      "key" : "routes",
      "value" : "[]"
    }, {
      "key" : "secondary_cidr",
      "value" : "null"
    }, {
      "key" : "status",
      "value" : "OK"
    }, {
      "key" : "tags",
      "value" : "null"
    }, {
      "key" : "timeouts",
      "value" : "null"
    } ],
    "resource_status" : "CREATION_COMPLETE"
  } ],
  "page_info" : {
    "current_count" : 1,
    "next_marker" : null,
    "previous_marker" : "zxc1oHc08HcCmypYGTsOoRcvoHUvHRUAW5NOSnc1oHc08HcCPZrwP5NOeTlRiukJgtGxeujJeuGwGIihaIUCmypYGTsOtqvKPr2xmH8fPqpGWyQ0axGwGZp9aqvx8pQ7m5FvGTsJiKk7gtNFiuaxetdRCks="
  }
}
```
#### 状态码
| 状态码 | 描述          |
|:---|:---|
| 200 | 列举资源栈资源成功   |
| 400 | 用户请求非法      |
| 401 | 用户身份认证失败    |
| 403 | 用户无权限调用此API |
| 404 | 资源栈不存在      |
| 429 | 请求数量过多      |
| 500 | 服务器内部错误     |
   
