
# 通过标签查询保护实例 - ListProtectedInstancesByTags
#### 功能介绍
使用标签过滤保护实例
#### 接口约束
无
#### 调试
您可以在[API Explorer](https://console.huaweicloud.com/apiexplorer/#/openapi/SDRS/doc?api=ListProtectedInstancesByTags)中调试该接口，支持自动认证鉴权。API Explorer可以自动生成SDK代码示例，并提供SDK代码示例调试功能。
#### URI
POST /v1/{project_id}/protected-instances/resource_instances/action
表1路径参数 
| 参数         | 是否必选 | 参数类型   | 描述    |
|:---|:---|:---|:---|
| project_id | 是    | String | 项目ID。 |
   
#### 请求参数
表2请求Header参数 
| 参数           | 是否必选 | 参数类型   | 描述                                                      |
|:---|:---|:---|:---|
| X-Auth-Token | 是    | String | 用户Token。通过调用IAM服务获取用户Token接口获取（响应消息头中X-Subject-Token的值） |
   
表3请求Body参数 
| 参数           | 是否必选 | 参数类型                                                               | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
|:---|:---|:---|:---|
| tags         | 否    | Array of [TagParams] objects     | 包含标签，最多包含10个key，每个key下面的value最多10个，每个key对应的value可以为空数组但结构体不能缺失。Key不能重复，同一个key中values不能重复。结果返回包含所有标签的资源列表，key之间是与的关系，key-value结构中value是或的关系。无tag过滤条件时返回全量数据。                                                                                                                                                                                                                                                                                                           |
| tags_any     | 否    | Array of [TagParams] objects     | 包含任意标签，最多包含10个key，每个key下面的value最多10个, 每个key对应的value可以为空数组但结构体不能缺失。Key不能重复，同一个key中values不能重复。结果返回包含标签的资源列表，key之间是或的关系，key-value结构中value是或的关系。无过滤条件时返回全量数据。                                                                                                                                                                                                                                                                                                             |
| not_tags     | 否    | Array of [TagParams] objects     | 不包含标签，最多包含10个key，每个key下面的value最多10个, 每个key对应的value可以为空数组但结构体不能缺失。Key不能重复，同一个key中values不能重复。结果返回不包含标签的资源列表，key之间是与的关系，key-value结构中value是或的关系。无过滤条件时返回全量数据。                                                                                                                                                                                                                                                                                                             |
| not_tags_any | 否    | Array of [TagParams] objects     | 不包含任意标签，最多包含10个key，每个key下面的value最多10个, 每个key对应的value可以为空数组但结构体不能缺失。Key不能重复，同一个key中values不能重复。结果返回不包含标签的资源列表，key之间是或的关系，key-value结构中value是或的关系。无过滤条件时返回全量数据。                                                                                                                                                                                                                                                                                                           |
| limit        | 否    | String                                                             | 查询记录数（action为count时无此参数）如果action为filter默认为1000，limit最多为1000,不能为负数，最小值为1。                                                                                                                                                                                                                                                                                                                                                                                              |
| offset       | 否    | String                                                             | 索引位置，偏移量（action为count时无此参数）从第一条数据偏移offset条数据后开始查询，如果action为filter默认为0（偏移0条数据，表示从第一条数据开始查询），必须为数字，不能为负数。                                                                                                                                                                                                                                                                                                                                                               |
| action       | 是    | String                                                             | 操作标识（仅限于filter，count）：filter（过滤），count(查询总条数)。如果是filter就按照过滤条件查询，如果是count，只需要返回总条数，禁止返回其他字段。 枚举值： - **filter**   - **count**    |
| matches      | 否    | Array of [MatchParams] objects | 搜索字段,key为要匹配的字段，如resource_name等。value为匹配的值。key为固定字典值，不能包含重复的key或不支持的key。根据key的值确认是否需要模糊匹配，如resource_name默认为模糊搜索（不区分大小写），如果value为空字符串精确匹配。目前只有resource_name，后续再扩展。                                                                                                                                                                                                                                                                                                     |
   
 表4TagParams 
| 参数     | 是否必选 | 参数类型             | 描述                                                                                                                                            |
|:---|:---|:---|:---|
| key    | 是    | String           | 键。最大长度127个unicode字符。 key不能为空。key不能为空或者空字符串，不能为空格，使用之前先trim 前后半角空格。                                                                            |
| values | 是    | Array of strings | 值列表。每个值最大长度255个unicode字符，使用之前先trim 前后半角空格。\*为系统保留字符，如果value是以\*开头表示按照\*后面的值全模糊匹配。不能只传入"\*"。如果values为空列表，则表示any_value（查询任意value）。value之间为或的关系。 |
   
 表5MatchParams 
| 参数    | 是否必选 | 参数类型   | 描述                         |
|:---|:---|:---|:---|
| key   | 是    | String | 键。目前限定为resource_name，后续扩展。 |
| value | 是    | String | 值。每个值最大长度255个unicode字符。    |
   
#### 响应参数
**状态码： 200**
表6响应Body参数 
| 参数          | 参数类型                                                                      | 描述                |
|:---|:---|:---|
| resources   | Array of [ResourceParams] objects | 返回的保护实例列表。        |
| total_count | Integer                                                                   | 总记录数。该值不受过滤条件的影响。 |
   
 表7ResourceParams 
| 参数              | 参数类型                                                                                      | 描述                   |
|:---|:---|:---|
| resource_id     | String                                                                                    | 保护实例ID。              |
| resource_detail | [ShowProtectedInstanceParams] object | 保护实例详情。              |
| tags            | Array of [ResourceTag] objects                       | 标签列表，没有标签默认为空数组。     |
| resource_name   | String                                                                                    | 保护实例名称，没有名称时默认为空字符串。 |
   
 表8ShowProtectedInstanceParams 
| 参数               | 参数类型                                                                                                | 描述                                                                                                                        |
|:---|:---|:---|
| id               | String                                                                                              | 保护实例的ID。                                                                                                                  |
| name             | String                                                                                              | 保护实例的名称。                                                                                                                  |
| description      | String                                                                                              | 保护实例的描述。                                                                                                                  |
| status           | String                                                                                              | 保护实例的状态。                                                                                                                  |
| source_server    | String                                                                                              | 生产站点云服务器ID。                                                                                                               |
| target_server    | String                                                                                              | 容灾站点云服务器ID。                                                                                                               |
| server_group_id  | String                                                                                              | 保护组的ID。                                                                                                                   |
| created_at       | String                                                                                              | 创建时间。默认格式为："yyyy-MM-dd HH:mm:ss.SSS"，例："2019-04-01 12:00:00.000"。                                                         |
| updated_at       | String                                                                                              | 更新时间。默认格式为："yyyy-MM-dd HH:mm:ss.SSS"，例："2019-04-01 12:00:00.000"。                                                         |
| metadata         | [MetadataParams] object                                     | 保护实例元数据信息。                                                                                                                |
| attachment       | Array of [ProtectedInstanceAttachment] objects | 挂载的复制对列表。                                                                                                                 |
| tags             | Array of [ResourceTag] objects                                 | 标签列表。                                                                                                                     |
| progress         | Integer                                                                                             | 保护实例的同步进度。单位：百分比（%）。                                                                                                      |
| priority_station | String                                                                                              | 标识保护实例所在保护组的当前生产站点可用区。source：表示当前生产站点可用区为保护组source_availability_zone的值。target：表示当前生产站点可用区为保护组的target_availability_zone的值。 |
   
 表9MetadataParams 
| 参数               | 参数类型   | 描述                                          |
|:---|:---|:---|
| __system__frozen | String | 保护实例元数据中资源冻结的字段。 true：表示资源被冻结。 空：表示资源没有被冻结。 |
   
 表10ProtectedInstanceAttachment 
| 参数          | 参数类型   | 描述     |
|:---|:---|:---|
| replication | String | 复制对ID。 |
| device      | String | 挂载点。   |
   
 表11ResourceTag 
| 参数    | 参数类型   | 描述                                                                                                                                     |
|:---|:---|:---|
| key   | String | 键。同一资源的key值不能重复。最大长度为36个UNICODE字符。key不能为空，不允许为空字符串。不能包含以下字符：非打印字符ASCII(0-31)特殊字符"\*","\<","\>","\\","=",",","\|","/"键。不能为空。对于同一资源键值唯一。 |
| value | String | 值。最大长度为43个UNICODE字符。value不能为空，可以为空字符串。不能包含以下字符：非打印字符ASCII(0-31)特殊字符"\*","\<","\>","\\","=",",","\|","/"。长度不超过43个字符。                    |
   
**状态码： 400**
表12响应Body参数 
| 参数    | 参数类型                                                  | 描述     |
|:---|:---|:---|
| error | [ErrorInfo] object | 失败返回结构 |
   
 表13ErrorInfo 
| 参数      | 参数类型   | 描述   |
|:---|:---|:---|
| message | String | 错误信息 |
| code    | String | 错误码  |
   
**状态码： 401**
表14响应Body参数 
| 参数    | 参数类型                                                  | 描述     |
|:---|:---|:---|
| error | [ErrorInfo] object | 失败返回结构 |
   
表15ErrorInfo 
| 参数      | 参数类型   | 描述   |
|:---|:---|:---|
| message | String | 错误信息 |
| code    | String | 错误码  |
   
**状态码： 403**
表16响应Body参数 
| 参数    | 参数类型                                                  | 描述     |
|:---|:---|:---|
| error | [ErrorInfo] object | 失败返回结构 |
   
表17ErrorInfo 
| 参数      | 参数类型   | 描述   |
|:---|:---|:---|
| message | String | 错误信息 |
| code    | String | 错误码  |
   
**状态码： 404**
表18响应Body参数 
| 参数    | 参数类型                                                  | 描述     |
|:---|:---|:---|
| error | [ErrorInfo] object | 失败返回结构 |
   
表19ErrorInfo 
| 参数      | 参数类型   | 描述   |
|:---|:---|:---|
| message | String | 错误信息 |
| code    | String | 错误码  |
   
**状态码： 500**
表20响应Body参数 
| 参数    | 参数类型                                                  | 描述     |
|:---|:---|:---|
| error | [ErrorInfo] object | 失败返回结构 |
   
表21ErrorInfo 
| 参数      | 参数类型   | 描述   |
|:---|:---|:---|
| message | String | 错误信息 |
| code    | String | 错误码  |
   
#### 请求示例
```
POST https://{Endpoint}/v1/{project_id}/protected-instances/resource_instances/action
{
  "offset" : "100",
  "limit" : "100",
  "action" : "filter",
  "matches" : [ {
    "key" : "resource_name",
    "value" : "resource1"
  } ],
  "not_tags" : [ {
    "key" : "key1",
    "values" : [ "*value1", "value2" ]
  } ],
  "tags" : [ {
    "key" : "key1",
    "values" : [ "*value1", "value2" ]
  } ],
  "tags_any" : [ {
    "key" : "key1",
    "values" : [ "value1", "value2" ]
  } ],
  "not_tags_any" : [ {
    "key" : "key1",
    "values" : [ "value1", "value2" ]
  } ]
}
```
#### 响应示例
**状态码： 200**
OK
```
{
  "resources" : [ {
    "resource_id" : "d5a00c87-6b82-414a-a09e-59c37fff44d0",
    "resource_name" : "Protected-Instance-c801",
    "resource_detail" : {
      "id" : "d5a00c87-6b82-414a-a09e-59c37fff44d0",
      "name" : "Protected-Instance-c801",
      "description" : null,
      "server_group_id" : "525fbd01-d4d1-44fc-b341-6d734bcce245",
      "status" : "protected",
      "progress" : 100,
      "source_server" : "73aff1d7-48d2-494e-a9f1-a7d3ffad31ff",
      "target_server" : "0f6bc56b-a3bb-4707-a4fb-ccd4db5fac59",
      "created_at" : "2019-05-28 08:17:50.066",
      "updated_at" : "2019-05-30 01:40:00.74",
      "priority_station" : "source",
      "attachment" : [ {
        "replication" : "42e2016e-b96e-4f75-aa57-1377a9cb45e4",
        "device" : "/dev/vda"
      } ],
      "tags" : [ {
        "key" : "GH1111113fffffKdddddd",
        "value" : "aaappppppppddddddd"
      } ],
      "metadata" : { }
    },
    "tags" : [ {
      "key" : "GH1111113fffffKdddddd",
      "value" : "aaappppppppddddddd"
    } ]
  } ],
  "total_count" : 1
}
```
#### 状态码
| 状态码 | 描述                    |
|:---|:---|
| 200 | OK                    |
| 400 | Bad Request           |
| 401 | Unauthorized          |
| 403 | Forbidden             |
| 404 | Not Found             |
| 500 | Internal Server Error |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-sdrs/ErrorCode.html)。
