
# 按标签查询云服务器列表（废弃）
#### 功能介绍
使用标签过滤弹性云服务器，并返回云服务器使用的所有标签和资源列表。
该接口支持企业项目细粒度权限的校验，具体细粒度请参见 [ecs:cloudServers:list](https://support.huaweicloud.com/api-ecs/ecs_06_0019.html)
#### URI
POST /v1/{project_id}/cloudservers/resource_instances/action
参数说明请参见[表1]。
 表1参数说明 
| 参数         | 是否必选 | 描述                                                                                                                    |
|:---|:---|:---|
| project_id | 是    | 项目ID。 获取方法请参见[获取项目ID](https://support.huaweicloud.com/api-ecs/ecs_01_0016.html)。 |
   
#### 请求消息
请求参数如[表2]所示。
 表2请求参数 
| 参数       | 是否必选 | 参数类型             | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
|:---|:---|:---|:---|
| action   | 是    | String           | 值为filter：表示按标签过滤弹性云服务器，返回符合条件的云服务器列表。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| limit    | 否    | String           | 查询返回的云服务器数量限制，最多为1000，不能为负数。 - 如果action的值为count时，此参数无效。  - 如果action的值为filter时，limit必填，取值范围\[0-1000\]，如果不传值，系统默认limit值为1000。                                                                                                                                                                                                                            |
| offset   | 否    | String           | 偏移量：指定返回记录的开始位置，必须为数字，取值范围为大于或等于0。 查询第一页数据时，可以不传入此参数。 - 如果action的值为count时，此参数无效。  - 如果action的值为filter时，必填，如果用户不传值，系统默认offset值为0。                                                                                                                                                |
| tags     | 否    | Array of objects | 查询包含所有指定标签的弹性云服务器，详情请参见[表3]。 - 结构体不能缺失。  - key不能为空或者空字符串。  - key不能重复。  - 同一个key中values不能重复。   |
| not_tags | 否    | Array of strings | 查询不包含所有指定标签的弹性云服务器。 - 结构体不能缺失。  - key不能为空或者空字符串。  - Key不能重复。  - 同一个key中values不能重复。                                                     |
| matches  | 否    | Array of objects | 搜索字段，用于按条件搜索弹性云服务器。 当前仅支持按resource_name进行搜索。更多信息，请参见[表4]。                                                                                                                                                                                                                                                                                                                                                                                                                                |
   
 表3tag字段数据结构说明 
| 参数     | 是否必选 | 参数类型             | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
|:---|:---|:---|:---|
| key    | 是    | String           | 键。 - 最大长度128个unicode字符。  - key不能为空。                                                                                                                                                                                                                                             |
| values | 是    | Array of strings | 值列表。 - value不允许重复。  - 每个值最大长度255个unicode字符。  - 如果values为空则表示any_value。  - value之间为或的关系。   |
   
 表4match字段数据结构说明 
| 参数    | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
|:---|:---|:---|:---|
| key   | 是    | String | 键，表示要匹配的字段。 当前key的参数值只能取"resource_name"，此时value的参数值为云服务器名称。 - key不能重复，value为匹配的值。  - 此字段为固定字典值。  - 不允许为空字符串。   |
| value | 是    | String | 值。 当前key的参数值只能取"resource_name"，此时value的参数值为云服务器名称。 - 每个值最大长度255个unicode字符。  - 不可以为空 。                                                                                                              |
   
#### 响应消息
**响应参数**
响应参数如[表5]所示。
 表5响应参数 
| 参数          | 参数类型             | 描述                                                               |
|:---|:---|:---|
| resources   | Array of objects | 返回的云服务器列表，详情参见[表6]。 |
| total_count | Integer          | 总记录数                                                             |
   
 表6resource字段数据结构说明 
| 参数              | 参数类型             | 描述              |
|:---|:---|:---|
| resource_id     | String           | 云服务器ID          |
| resource_detail | String           | 预留字段。           |
| tags            | Array of objects | 标签列表。           |
| resource_name   | String           | 资源名称，即弹性云服务器名称。 |
   
表7resource_tag字段数据结构说明 
| 参数    | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                        |
|:---|:---|:---|
| key   | String | 键。 - 最大长度128个unicode字符。  - key不能为空。  - 只能包含字母、数字、下划线"_"、中划线"-"。   |
| value | String | 值。 - 每个值最大长度255个unicode字符。  - 可以为空字符串。  - 只能包含字母、数字、下划线"_"、中划线"-"。     |
   
#### 示例
- 请求示例
  ```
  POST  https://{endpoint}/v1/{project_id}/cloudservers/resource_instances/action
  ```
  ```
  {
      "offset": "100", 
      "limit": "1", 
      "action": "filter", 
      "matches":[
      {
          "key": "resource_name", 
          "value": "ecs_test"
       }], 
      "tags": [
      {
          "key": "key1", 
          "values": [
              "value1", 
              "value2"
          ]
      }]
  }
  ```
  

- 响应示例
  ```
  {
        "resources": [
           {
              "resource_detail": null, 
              "resource_id": "31760ffa-6711-406d-bc94-bce4ae925a8a", 
              "resource_name": "ecs_test", 
              "tags": [
                  {
                     "key": "key1"，
                     "value": "value1"
                  }
               ]
           }
         ], 
        "total_count": 1000
  }
  ```
  
 
#### 返回值
请参考[通用请求返回值](https://support.huaweicloud.com/api-ecs/ecs_07_0001.html)。
#### 错误码
请参考[错误码](https://support.huaweicloud.com/api-ecs/ecs_07_0002.html)。
