# 查询资源实例列表
#### 功能介绍
根据标签过滤条件查询资源实例列表。
#### URI
POST /v1/{resource_type}/resource-instances/filter
表1路径参数 
| 参数            | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
|:---|:---|:---|:---|
| resource_type | 是    | String | **参数解释**： 资源类型，用于指定要操作的资源类型。 **约束限制**： 不涉及。 **取值范围**： - oauth2CredentialProvider：OAuth2凭证提供商   - apiKeyCredentialProvider：API Key凭证提供商   - stsCredentialProvider：STS凭证提供商   - tokenVault：令牌保管库   - workloadIdentityDirectory：工作负载身份目录   - workloadIdentity：工作负载身份   - policyEngine：策略集    **默认取值**： 不涉及。 |
   
表2Query参数 
| 参数     | 是否必选 | 参数类型    | 描述                                                                                                                                                                                                                                                                                                                                                             |
|:---|:---|:---|:---|
| limit  | 否    | Integer | **参数解释**： 每页返回的最大资源数量，用于分页查询。 **约束限制**： 不涉及。 **取值范围**： 1\~1000。 **默认取值**： 1000。      |
| offset | 否    | Integer | **参数解释**： 分页偏移量，从第一条数据偏移offset条数据后开始查询。 **约束限制**： 不涉及。 **取值范围**： 最小值为0。 **默认取值**： 0。 |
   
#### 请求参数
表3请求Body参数 
| 参数              | 是否必选 | 参数类型                                                                 | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
|:---|:---|:---|:---|
| without_any_tag | 否    | Boolean                                                              | **参数解释**： 是否查询不带标签的资源。当该字段为true时，查询所有不带标签的资源，此时忽略"tags"字段。 **约束限制**： 不涉及。 **取值范围**： - true：查询不带标签的资源。   - false：按tags字段过滤。    **默认取值**： false |
| tags            | 否    | Array of [TagFilter] objects | **参数解释**： 标签过滤条件列表，用于按标签过滤资源实例。 **约束限制**： 不涉及。 **取值范围**： 数组长度范围\[0,20\]，最多包含20个key，每个key下的value最多20个。 **默认取值**： 不涉及。                                                                                                                                                                                                                                                                                                                                                                              |
| matches         | 否    | Array of [Match] objects         | **参数解释**： 搜索字段列表，用于按资源名称过滤。 **约束限制**： 不涉及。 **取值范围**： 数组长度范围\[0,20\]。 **默认取值**： 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                               |
   
 表4TagFilter 
| 参数     | 是否必选 | 参数类型             | 描述                                                                                                                                                                                                                                                                                                                                                                           |
|:---|:---|:---|:---|
| key    | 是    | String           | **参数解释**： 标签键，用于标识要过滤的标签名称。 **约束限制**： 不涉及。 **取值范围**： 长度为1\~128个字符。 **默认取值**： 不涉及。                  |
| values | 是    | Array of strings | **参数解释**： 标签值列表，用于标识要过滤的标签值。 **约束限制**： 不涉及。 **取值范围**： 数组长度范围\[0,20\]，每个值最大长度255个字符。 **默认取值**： 不涉及。 |
   
 表5Match 
| 参数    | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
|:---|:---|:---|:---|
| key   | 是    | String | **参数解释**： 搜索字段的键，用于指定按哪个字段进行搜索。 **约束限制**： 不涉及。 **取值范围**： - resource_name：按资源名称搜索。    **默认取值**： 不涉及。 |
| value | 是    | String | **参数解释**： 搜索字段的值，用于指定搜索的关键字。 **约束限制**： 不涉及。 **取值范围**： 每个值最大长度255个unicode字符。 **默认取值**： 不涉及。                                                                                                                                                                                    |
   
#### 响应参数
**状态码：200**
表6响应Body参数 
| 参数          | 参数类型                                                                        | 描述                                                                                                                                                 |
|:---|:---|:---|
| resources   | Array of [ResourceItem] objects | **参数解释**： 资源实例列表。 **取值范围**： 不涉及。 |
| total_count | Integer                                                                     | **参数解释**： 总记录数。 **取值范围**： 不涉及。   |
   
 表7ResourceItem 
| 参数            | 参数类型                                                      | 描述                                                                                                                                                          |
|:---|:---|:---|
| resource_id   | String                                                    | **参数解释**： 资源ID，用于唯一标识一个资源。 **取值范围**： 不涉及。 |
| resource_name | String                                                    | **参数解释**： 资源名称。 **取值范围**： 不涉及。            |
| tags          | Array of [Tag] objects | **参数解释**： 标签列表。 **取值范围**： 不涉及。            |
   
 表8Tag 
| 参数    | 参数类型   | 描述                                                                                                                                                                                                                                         |
|:---|:---|:---|
| key   | String | **参数解释**： 标签键，用于标识标签的名称。 **取值范围**： 可以包含任意语种字母、数字、空格以及"_"、"."、":"、"/"、"="、"+"、"-"、"@"符号的任意组合，长度为1\~128个字符。                |
| value | String | **参数解释**： 标签值，用于标识标签的具体内容。 **取值范围**： 可以包含任意语种字母、数字、空格以及"_"、"."、":"、"/"、"="、"+"、"-"、"@"、"\&"符号的任意组合，可以是空字符串，长度为0\~255个字符。 |
   
**状态码：400**
表9响应Body参数 
| 参数                            | 参数类型   | 描述                                                                                                                                                                      |
|:---|:---|:---|
| error_code                    | String | **参数解释**： 错误码。 **取值范围**： 不涉及。                         |
| error_msg                     | String | **参数解释**： 错误信息。 **取值范围**： 不涉及。                        |
| request_id                    | String | **参数解释**： 请求ID。 **取值范围**： 不涉及。                        |
| encoded_authorization_message | String | **参数解释**： 加密后的认证失败信息，可以通过STS5解密接口进行解密。 **取值范围**： 不涉及。 |
   
**状态码：403**
表10响应Body参数 
| 参数                            | 参数类型   | 描述                                                                                                                                                                      |
|:---|:---|:---|
| error_code                    | String | **参数解释**： 错误码。 **取值范围**： 不涉及。                         |
| error_msg                     | String | **参数解释**： 错误信息。 **取值范围**： 不涉及。                        |
| request_id                    | String | **参数解释**： 请求ID。 **取值范围**： 不涉及。                        |
| encoded_authorization_message | String | **参数解释**： 加密后的认证失败信息，可以通过STS5解密接口进行解密。 **取值范围**： 不涉及。 |
   
#### 请求示例
根据标签过滤条件查询资源实例列表。
```
POST https://{endpoint}/v1/{resource_type}/resource-instances/filter
{
  "without_any_tag" : false,
  "tags" : [ {
    "key" : "environment",
    "values" : [ "production" ]
  } ],
  "matches" : [ {
    "key" : "resource_name",
    "value" : "my_resource"
  } ]
}
```
#### 响应示例
**状态码：200**
```
{
  "resources" : [ {
    "resource_id" : "684a2c3e5f1b9d0e7a3c4f56",
    "resource_name" : "my_workload_identity_1",
    "tags" : [ {
      "key" : "environment",
      "value" : "production"
    }, {
      "key" : "team",
      "value" : "platform"
    } ]
  }, {
    "resource_id" : "684a2c3e5f1b9d0e7a3c4f57",
    "resource_name" : "my_token_vault_1",
    "tags" : [ {
      "key" : "environment",
      "value" : "staging"
    } ]
  } ],
  "total_count" : 2
}
```
#### 状态码
| 状态码 | 描述      |
|:---|:---|
| 200 | 请求成功。   |
| 400 | 请求体异常。  |
| 403 | 没有操作权限。 |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-agentidentity/ErrorCode.html)。
