
# 查询资源实例 - ListResourceInstances
#### 功能介绍
根据项目ID查询指定资源类型的资源实例。
资源、资源tag默认按照创建时间倒序。
#### 调试
您可以在[API Explorer](https://console.huaweicloud.com/apiexplorer/#/openapi/AS/doc?api=ListResourceInstances)中调试该接口。
#### 授权信息
账号具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备调用API所需的权限。
- 如果使用角色与策略授权，具体权限要求请参见[权限和授权项](https://support.huaweicloud.com/api-as/as_07_0200.html)。
- 如果使用身份策略授权，需具备如下身份策略权限。
  
  | 授权项                    | 访问级别 | 资源类型（\*为必须） | 条件键                                                                                                                                                                                                                                                                                                                                                                                                              | 别名                   | 依赖的授权项 |
  |:---|:---|:---|:---|:---|:---|
  | as::listResourcesByTag | list | -           | - [g:ResourceTag/\<tag-key\>](https://support.huaweicloud.com/usermanual-iam5/iam_01_0934.html#section2)  - [g:TagKeys](https://support.huaweicloud.com/usermanual-iam5/iam_01_1287.html)   | as:tagResources:list | -      |
     
  
 
#### URI
POST /autoscaling-api/v1/{project_id}/{resource_type}/resource_instances/action
表1参数说明 
| 参数            | 是否必选 | 参数类型   | 描述                         |
|:---|:---|:---|:---|
| project_id    | 是    | String | 项目ID                       |
| resource_type | 是    | String | 资源类型，枚举类：scaling_group_tag |
   
#### 请求参数
表2请求参数 
| 参数           | 是否必选 | 参数类型                                                        | 描述                                                                                                                                                                                                                                                                                                                                                                  |
|:---|:---|:---|:---|
| tags         | 否    | Array of [Tag] objects    | 过滤条件，包含标签，最多包含10个Key，结构体不能缺失，详情请见[表 Tag字段数据结构说明]。                                                                                                                                                                                                                                                                                 |
| tags_any     | 否    | Array of [Tag] objects    | 过滤条件，包含任意标签，最多包含10个Key，详情请见[表 Tag字段数据结构说明]。                                                                                                                                                                                                                                                                                       |
| not_tags     | 否    | Array of [Tag] objects    | 过滤条件，不包含标签，最多包含10个Key，详情请见[表 Tag字段数据结构说明]。                                                                                                                                                                                                                                                                                        |
| not_tags_any | 否    | Array of [Tag] objects    | 过滤条件，不包含任意标签，最多包含10个Key，详情请见[表 Tag字段数据结构说明]。                                                                                                                                                                                                                                                                                      |
| limit        | 否    | String                                                      | 查询记录数，最大值为1000，不能为负数，最小值为1。 - 如果action的值为count，此参数无效。  - 如果action的值为filter，limit默认为1000。                                                                                             |
| marker       | 否    | String                                                      | 分页位置标识（索引位置）。推荐使用offset字段设置索引位置。 分页位置标识(资源ID或索引位置)。                                                                                                                                                                                                                                                                                   |
| action       | 是    | String                                                      | 操作标识，包括filter和count两种。 - filter（过滤）：表示按标签过滤资源，返回符合条件的资源列表。此时，为分页查询。  - count（查询总条数）：表示按标签搜索资源，返回符合条件的资源个数。                                                                          |
| offset       | 否    | String                                                      | 索引位置，从offset指定的下一条数据开始查询。必须为数字，不能为负数。 查询第一页数据时，不需要传入此参数。查询后续页码数据时，将查询前一页数据时响应体中的offset值带入此参数。 - 如果action的值为count，此参数无效。  - 如果action的值为filter，offset默认为0。   |
| matches      | 否    | Array of [match] objects | 模糊搜索字段，详情请见[表 match字段数据结构说明]。                                                                                                                                                                                                                                                                                                    |
   
 表3Tag字段数据结构说明 
| 参数     | 是否必选 | 参数类型             | 描述                                                                                                                                                                                                                                                                                                                                                                    |
|:---|:---|:---|:---|
| key    | 是    | String           | 资源标签键。最大长度36个unicode字符。key不能为空。（搜索时不对此参数做校验）。最多为10个，不能为空或者空字符串。且不能重复。                                                                                                                                                                                                                                                                                                 |
| values | 是    | Array of strings | 资源标签值列表，每个值最大长度43个unicode字符，每个key下最多为10个，同一个key中values不能重复。 - "\*"为系统保留字符，如果value是以"\*"开头表示按照"\*"后面的值全模糊匹配。不能只传入"\*"。  - 如果values为空列表但不可缺省，则表示any_value（查询任意value）。value之间为或的关系。   |
   
 表4match字段数据结构说明 
| 参数    | 是否必选 | 参数类型   | 描述                                                                  |
|:---|:---|:---|:---|
| key   | 是    | String | 键，表示要匹配的字段。 当前key的参数值只能取"resource_name"。 |
| value | 是    | String | 值。为固定字典值。每个值最大长度255个unicode字符。若为空字符串、resource_id时为精确匹配。             |
   
#### 请求示例
- 查询租户下按包含标签key=key1，value=value1，不包含key=key2，value=value2，索引位置100，查询最大记录数为100的伸缩组资源信息，action为filter。
  ```
  POST https: //{Endpoint}/autoscaling-api/v1/{project_id}/scaling_group_tag/resource_instances/action
  {
  "offset": "100",
  "limit": "100",
  "action": "filter",
  "matches": [{
  "key": "resource_name",
  "value": "resource1"
  }],
  "not_tags": [{
  "key": "key2",
  "values": ["value2"]
  }],
  "tags": [{
  "key": "key1",
  "values": ["value1"]
  }]
  }
  ```
  

- 查询租户下按包含标签key=key1，value=value1，不包含key=key2，value=value2的伸缩组资源数目，action为count。
  ```
  POST https: //{Endpoint}/autoscaling-api/v1/{project_id}/scaling_group_tag/resource_instances/action
  {
  "action": "count",
  "not_tags": [{
  "key": "key2",
  "values": ["value2"]
  }],
  "tags": [{
  "key": "key1",
  "values": ["value1"]
  }],
  "matches": [{
  "key": "resource_name",
  "value": "resource1"
  }]
  }
  ```
  
 
#### 响应参数
表5响应参数 
| 参数          | 参数类型                                                           | 描述                                                  |
|:---|:---|:---|
| resources   | Array of [Resource] objects | 标签资源实例，详情请见[表6]。 |
| total_count | Integer                                                        | 总记录数，当请求action为count时，仅返回该参数，不返回resources和marker值。  |
| marker      | String                                                         | 分页位置标识                                              |
   
 表6Resource字段说明 
| 参数              | 参数类型                                                              | 描述                                                           |
|:---|:---|:---|
| resource_id     | String                                                            | 资源详情ID                                                       |
| resource_detail | String                                                            | 资源详情                                                         |
| tags            | Array of [ResourceTag] objects | 标签列表，没有标签默认为空数组，详情请见[表7]。 |
| resource_name   | String                                                            | 资源名称，没有资源时默认为空字符串。                                           |
   
 表7ResourceTag字段说明 
| 参数    | 参数类型   | 描述                      |
|:---|:---|:---|
| key   | String | 资源标签键。最大长度36个unicode字符。 |
| value | String | 资源标签值。最大长度43个unicode字符。 |
   
#### 响应示例
- action为filter时响应示例
  ```
  {
  "resources": [{
  "resource_id": "64af4b6f-ec51-4436-8004-7a8f30080c87",
  "resource_detail": "SCALING_GROUP_TAG",
  "tags": [{
  "key": "key1","value": "value1"
  }],
  "resource_name": "as_scaling_group_1"
  },
  {
  "resource_id": "7122ef51-604b-40e7-b9b2-1de4cd78dc60",
  "resource_detail": "SCALING_GROUP_TAG",
  "tags": [{
  "key": "key1","value": "value1"
  }],
  "resource_name": "as_scaling_group_2"
  }],
  "marker": "2",
  "total_count": 2
  }
  ```
  
- action为count时响应示例
  ```
  {
         "total_count": 1000
  }
  ```
  
 
#### 返回值
- 正常 200
  
- 异常
  
  | 返回值                               | 说明                           |
  |:---|:---|
  | 400 Bad Request                   | 服务器未能处理请求。                   |
  | 401 Unauthorized                  | 被请求的页面需要用户名和密码。              |
  | 403 Forbidden                     | 对被请求的页面访问禁止。                 |
  | 404 Not Found                     | 服务器无法找到被请求的页面。               |
  | 405 Method Not Allowed            | 请求中指定的方法不被允许。                |
  | 406 Not Acceptable                | 服务器生成的响应无法被客户端所接受。           |
  | 407 Proxy Authentication Required | 用户必须首先使用代理服务器进行验证，这样请求才会被处理。 |
  | 408 Request Timeout               | 请求超出了服务器的等待时间。               |
  | 409 Conflict                      | 由于冲突，请求无法被完成。                |
  | 500 Internal Server Error         | 请求未完成。服务异常。                  |
  | 501 Not Implemented               | 请求未完成。服务器不支持所请求的功能。          |
  | 502 Bad Gateway                   | 请求未完成。服务器从上游服务器收到一个无效的响应。    |
  | 503 Service Unavailable           | 请求未完成。系统暂时异常。                |
  | 504 Gateway Timeout               | 网关超时。                        |
     
  
 
#### 错误码
请参考[错误码](https://support.huaweicloud.com/api-as/as_07_0102.html)。
