
# 查询资源实例列表 - QueryResourceInstances
#### 功能介绍
根据标签查询资源实例列表。
#### 调用方法
请参见[如何调用API](https://support.huaweicloud.com/api-vpn/vpn_api_0008.html)。
#### 授权信息
账号具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备调用API所需的权限。
- 如果使用角色与策略授权，具体权限要求请参见[权限和授权项](https://support.huaweicloud.com/api-vpn/vpn_api_0044.html)。
- 如果使用身份策略授权，需具备如下身份策略权限。
| 授权项                        | 访问级别 | 资源类型（\*为必须） | 条件键 | 别名 | 依赖的授权项 |
|:---|:---|:---|:---|:---|:---|
| vpn:resourceInstances:list | list | -           | -   | -  | -      |
   
#### URI
POST /v5/{project_id}/{resource_type}/resource-instances/filter
表1参数说明 
| 名称            | 类型     | 是否必选 | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
|:---|:---|:---|:---|
| project_id    | String | 是    | 项目ID，可以通过[获取项目ID](https://support.huaweicloud.com/api-vpn/vpn_api_0051.html)获取项目ID。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| resource_type | String | 是    | - 功能说明：资源类型。  - 取值范围： vpn-gateway：站点入云VPN网关。 customer-gateway：对端网关。 vpn-connection：VPN连接。 p2c-vpn-gateways：终端入云VPN网关。    |
   
表2请求Query参数列表 
| 名称     | 类型      | 是否必选 | 描述                                                                                                                                                                                                                                                                                                                                                                                                 |
|:---|:---|:---|:---|
| limit  | Integer | 否    | - 功能说明：查询记录数。  - 取值范围：1-1000。  - 默认值：1000。                   |
| offset | Integer | 否    | - 功能说明：索引位置。从第offset条数据的下一条数据开始查询。  - 取值范围：最小值为0。  - 默认值：0。   |
   
#### 请求消息
- 请求参数
  表3请求参数 
  | 名称              | 类型                                                                          | 是否必选 | 描述                                                                                                                                                                                                                                                                     |
  |:---|:---|:---|:---|
  | without_any_tag | Boolean                                                                     | 否    | - 功能说明：该字段为true时查询所有不带标签的资源，此时忽略 "tags"字段。该字段为false或者未提供该参数时，该条件不生效，即返回所有资源或按"tags"，"matches"等条件过滤。                     |
  | tags            | Array of [Tag] objects           | 否    | - 功能说明：标签列表。  - 约束：最多填写20个。   |
  | matches         | Array of [Match] objects | 否    | - 功能说明：搜索字段，包含key和value。key为要匹配的字段，如resource_name等。value为匹配的值。key为固定字典值。                                             |
     
   表4Tag 
  | 名称     | 类型              | 是否必选 | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                      |
  |:---|:---|:---|:---|
  | key    | String          | 是    | - 功能说明：标签的键。  - 取值范围：1-128个字符。                                                                                                                                                           |
  | values | Array of String | 是    | - 功能说明：标签的值列表。如果values为空列表，则表示any_value。value之间为或的关系。  - 取值范围：0-255个字符。  - 约束：最多填写20个。   |
     
   表5Match 
  | 名称    | 类型     | 是否必选 | 描述                                                                                                                                                                                                                                                                                    |
  |:---|:---|:---|:---|
  | key   | String | 是    | - 功能说明：匹配的键。  - 取值范围：resource_name。     |
  | value | String | 是    | - 功能说明：匹配的值。  - 取值范围：0-255个字符。   |
     
  
- 请求样例
  ```
  POST https://{Endpoint}/v5/{project_id}/{resource_type}/resource-instances/filter
  {
      "tags": [{
              "key": "key1",
              "values": [
                  "value1",
                  "value2"
              ]
          },
          {
              "key": "key2",
              "values": [
                  "value1",
                  "value2"
              ]
          }
      ],
      "matches": [{
          "key": "resource_name",
          "value": "resource1"
      }],
      "without_any_tag": "false"
  }
  ```
  
 
#### 响应消息
- 响应参数 返回状态码为 200: 查询成功。
  表6响应Body参数列表 
  | 名称          | 类型                                                                     | 描述      |
  |:---|:---|:---|
  | resources   | Array of [Resource] objects | 资源对象列表。 |
  | total_count | Integer                                                                | 总记录数。   |
     
   表7Resource 
  | 名称              | 类型                                                                               | 描述              |
  |:---|:---|:---|
  | resource_id     | String                                                                           | 资源ID。           |
  | resource_detail | object                                                                           | 资源详情。用于扩展，默认为空。 |
  | tags            | Array of [ResourceTag] objects | 标签列表。           |
  | resource_name   | String                                                                           | 资源名称。           |
     
   表8ResourceTag 
  | 名称    | 类型     | 描述    |
  |:---|:---|:---|
  | key   | String | 标签的键。 |
  | value | String | 标签的值。 |
     
  
- 响应样例
  ```
  {
      "resources": [{
          "resource_id": "134f9fb1-demo-a8df-va86-2040a5c13325",
          "resource_name": "resource1",
          "tags": [{
              "key": "key1",
              "value": "value1"
          }]
      }],
      "total_count": 1000
  }
  ```
  
 
#### 状态码
请参见[状态码](https://support.huaweicloud.com/api-vpn/vpn_api_0052.html)。
