
# 通过标签过滤查询备份策略
#### 功能介绍
通过标签过滤查询备份策略。
#### URI
- URI格式 POST /v2/{project_id}/backuppolicy/resource_instances/action
  
- 参数说明
  
  | 参数         | 是否必选 | 描述   |
  |:---|:---|:---|
  | project_id | 是    | 项目ID |
     
  
 
#### 请求
- 参数说明
  
  | 参数           | 是否必选 | 参数类型           | 描述                                                                                                                                                                                                                                                                         |
  |:---|:---|:---|:---|
  | tags         | 否    | list\<dict\>   | 包含标签，标签的个数最多10个。                                                                                                                                                                                                                                                           |
  | key          | 是    | string         | 键，标签之间的键不能重复。                                                                                                                                                                                                                                                              |
  | values       | 是    | list\<string\> | 值的集合，最多10个，且不能重复。                                                                                                                                                                                                                                                          |
  | tags_any     | 否    | list\<dict\>   | 包含任一标签 tags不允许为空列表。 tags中最多包含10个key。 tags中key不允许重复。 结果返回包含任一标签的资源列表，key之间是或的关系，key-value结构中value是或的关系。  |
  | key          | 是    | string         | 键。                                                                                                                                                                                                                                                                         |
  | values       | 是    | list\<string\> | 值的集合。                                                                                                                                                                                                                                                                      |
  | not_tags     | 否    | list\<dict\>   | 不包含标签 tags不允许为空列表。 tags中最多包含10个key。 tags中key不允许重复。 结果返回不包含所有标签的资源列表，key之间是与的关系，key-value结构中value是或的关系。    |
  | key          | 是    | string         | 键。                                                                                                                                                                                                                                                                         |
  | values       | 是    | list\<string\> | 值的集合。                                                                                                                                                                                                                                                                      |
  | not_tags_any | 否    | list\<dict\>   | 不包含任一标签 tags不允许为空列表。 tags中最多包含10个key。 tags中key不允许重复。 结果返回不包含任一标签的资源列表，key之间是或的关系，key-value结构张value是或的关系。 |
  | key          | 是    | string         | 键。                                                                                                                                                                                                                                                                         |
  | values       | 是    | list\<string\> | 值的集合。                                                                                                                                                                                                                                                                      |
  | matches      | 否    | list\<dict\>   | 搜索条件，支持模糊搜索。                                                                                                                                                                                                                                                               |
  | key          | 是    | string         | 搜索的字段名，目前只支持"resource_name"。                                                                                                                                                                                                                                               |
  | value        | 是    | string         | 搜索的值。                                                                                                                                                                                                                                                                      |
  | limit        | 否    | string         | 查询记录数（action为count时无此参数）如果action为filter默认为1000，limit最多为1000，不能为负数，最小值为1。                                                                                                                                                                                                   |
  | offset       | 否    | string         | 索引位置，偏移量（action为count时无此参数）从第一条数据偏移offset条数据后开始查询，如果action为filter默认为0（偏移0条数据，表示从第一条数据开始查询），必须为数字，不能为负数。                                                                                                                                                                    |
  | action       | 是    | string         | 取值如下： "filter"：过滤查询 "count"：查询总数                                                                                                                                                         |
     
  

- 请求示例
  ```
  {
    "limit": "10",
    "offset": "0",
    "tags":
        [
          {
             "key": "Tag001",
             "values":["Value001","Value002"]
           }
         ],
    "action":"filter"
  }
  ```
  
 
#### 响应
- 要素说明
  
  | 参数             | 参数类型         | 描述                                                                                                                                            |
  |:---|:---|:---|
  | total_count    | integer      | 资源总数。                                                                                                                                         |
  | resources      | list\<dict\> | 资源列表。                                                                                                                                         |
  | resource_id    | string       | 资源ID。                                                                                                                                         |
  | resouce_detail | object       | 资源详情，用于扩展。                                                                                                                                    |
  | resource_name  | string       | 资源名称。                                                                                                                                         |
  | tags           | list\<dict\> | 标签信息列表。                                                                                                                                       |
  | key            | string       | 键。                                                                                                                                            |
  | value          | string       | 值。                                                                                                                                            |
  | message        | string       | 出现错误时，返回的错误消息。                                                                                                                                |
  | code           | string       | 出现错误时，返回的错误码。 错误码的具体含义请参考[错误码](https://support.huaweicloud.com/api-vbs/zh-cn_topic_0022472083.html)。 |
     
  
- 响应样例
  ```
  {
    "total_count":10,
    "resources":[
      {
        "resource_name": "name",
        "resource_id": "0781095c-b8ab-4ce5-99f3-4c5f6ff75319",
        "resource_detail": null,
        "tags": [{
            "key":"key",
            "value":"value"
         }]
      }
    ]
  }
  ```
  或
  ```
  {
      "error": {
          "message": "XXXX",
          "code": "XXX"
      }
  }
  ```
  
 
#### 状态码
- 正常 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-vbs/zh-cn_topic_0022472083.html)。
