
# 根据标签查询资源实例数量 - CountResourceInstanceByTag
#### 功能介绍
根据标签查询资源实例数量
#### 调试
您可以在[API Explorer](https://console.huaweicloud.com/apiexplorer/#/openapi/DBSS/doc?api=CountResourceInstanceByTag)中调试该接口，支持自动认证鉴权。API Explorer可以自动生成SDK代码示例，并提供SDK代码示例调试功能。
#### 授权信息
账号具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备调用API所需的权限，具体权限要求请参见[权限和授权项](https://support.huaweicloud.com/api-dbss/dbss_01_0428.html)。
#### URI
POST /v1/{project_id}/{resource_type}/resource-instances/count
表1路径参数 
| 参数            | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
|:---|:---|:---|:---|
| project_id    | 是    | String | **参数解释**： 项目ID。可通过IAM服务\[查询指定IAM用户的项目列表\]接口获取。 **约束限制**： 不涉及 **取值范围**： 以IAM服务接口返回值为准，字符长度32-64。 **默认取值**： 不涉及                                                                                                                           |
| resource_type | 是    | String | **参数解释**： 资源类型。 **约束限制**： 不涉及 **取值范围**： - auditInstance：审计    **默认取值**： 不涉及 |
   
#### 请求参数
表2请求Header参数 
| 参数           | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
|:---|:---|:---|:---|
| X-Auth-Token | 是    | String | **参数解释**： 用户Token。通过调用IAM服务查询用户Token接口获取（响应消息头中X-Subject-Token的值）。 **约束限制**： 不涉及 **取值范围**： IAM服务查询用户Token接口为准 **默认取值**： 不涉及 |
   
表3请求Body参数 
| 参数              | 是否必选 | 参数类型                                                                                       | 描述                                                                                                                                                                                                                                               |
|:---|:---|:---|:---|
| matches         | 否    | Array of [matches] objects                   | 搜索字段,key为要匹配的字段，如resource_name等。value为匹配的值。key为固定字典值，不能包含重复的key或不支持的key。 根据key的值确认是否需要模糊匹配，如resource_name默认为模糊搜索（不区分大小写），如果value为空字符串精确匹配（多数服务不存在资源名称为空的情况，因此此类情况返回空列表）。resource_id为精确匹配。第一期只做resource_name，后续再扩展。                               |
| not_tags        | 否    | Array of [TagKeyValuesBean] objects | 不包含标签，最多包含50个key，每个key下面的value最多10个, 每个key对应的value可以为空数组但结构体不能缺失。Key不能重复，同一个key中values不能重复。结果返回不包含标签的资源列表，key之间是与的关系，key-value结构中value是或的关系。无过滤条件时返回全量数据                                                                                         |
| tags            | 否    | Array of [TagKeyValuesBean] objects | 包含标签，最多包含50个key，每个key下面的value最多10个，每个key对应的value可以为空数组但结构体不能缺失。Key不能重复，同一个key中values不能重复。结果返回包含所有标签的资源列表，key之间是与的关系，key-value结构中value是或的关系。无tag过滤条件时返回全量数据                                                                                       |
| tags_any        | 否    | Array of [TagKeyValuesBean] objects | 包含任意标签，最多包含50个key，每个key下面的value最多10个, 每个key对应的value可以为空数组但结构体不能缺失。Key不能重复，同一个key中values不能重复。结果返回包含标签的资源列表，key之间是或的关系，key-value结构中value是或的关系。无过滤条件时返回全量数据                                                                                         |
| not_tags_any    | 否    | Array of [TagKeyValuesBean] objects | 不包含任意标签，最多包含50个key，每个key下面的value最多10个, 每个key对应的value可以为空数组但结构体不能缺失。Key不能重复，同一个key中values不能重复。结果返回不包含标签的资源列表，key之间是或的关系，key-value结构中value是或的关系。无过滤条件时返回全量数据                                                                                       |
| sys_tags        | 否    | Array of [TagKeyValuesBean] objects | 仅op_service权限可以使用此字段做资源实例过滤条件。目前TMS调用时只包含一个tag结构体。key：_sys_enterprise_project_idvalue：企业项目id列表目前TMS调用时，key下面只包含一个value。0表示默认企业项目sys_tags和租户标签过滤条件（without_any_tag 、tags、tags_any、not_tags、not_tags_any）不能同时使用无sys_tags时按照tag接口处理，无tag过滤条件时返回全量数据 |
| without_any_tag | 否    | Boolean                                                                                    | 不包含任意一个标签，该字段为true时查询所有不带标签的资源，此时忽略 "tags"、"tags_any"、"not_tags"、"not_tags_any"字段                                                                                                                                                                |
   
 表4matches 
| 参数    | 是否必选 | 参数类型   | 描述                    |
|:---|:---|:---|:---|
| key   | 否    | String | 键，目前仅支持：resource_name |
| value | 否    | String | 值，需要匹配的资源名称           |
   
 表5TagKeyValuesBean 
| 参数     | 是否必选 | 参数类型             | 描述                                                                                                                                                                                                           |
|:---|:---|:---|:---|
| key    | 是    | String           | 键。最大长度128个unicode字符。 key不能为空。(搜索时不对此参数做字符集校验)，key不能为空或者空字符串，不能为空格，校验和使用之前先trim 前后半角空格                                                                                                                        |
| values | 是    | Array of strings | 值列表。每个值最大长度255个unicode字符，校验和使用之前先trim 前后半角空格。 value可为空数组但不可缺省。 如果values为空列表，则表示any_value（查询任意value）。value之间为或的关系 |
   
#### 响应参数
**状态码：200**
表6响应Body参数 
| 参数          | 参数类型                                                                          | 描述     |
|:---|:---|:---|
| resources   | Array of [resources] objects | 资源实例列表 |
| total_count | Integer                                                                       | 总记录数   |
   
 表7resources 
| 参数              | 参数类型                                                                        | 描述                                                                                                                                                                                                                                                                                                                  |
|:---|:---|:---|
| resource_id     | String                                                                      | 资源ID                                                                                                                                                                                                                                                                                                                |
| resource_name   | String                                                                      | 资源名称，资源没有名称时默认为空字符串，eip返回ip地址。                                                                                                                                                                                                                                                                                      |
| resource_detail | Object                                                                      | 资源详情。 资源对象，用于扩展，默认为空。                                                                                                                                                                                                                                                                                               |
| tags            | Array of [tags] objects         | 标签列表，没有标签默认为空数组                                                                                                                                                                                                                                                                                                     |
| sys_tags        | Array of [sys_tags] objects | 仅op_service权限才可以可以获取此字段： 目前只包含一个resource_tag 结构体 key：_sys_enterprise_project_id value：企业项目id，0表示默认企业项目 非op_service场景不能返回此字段 |
   
 表8tags 
| 参数    | 参数类型   | 描述            |
|:---|:---|:---|
| key   | String | 键。最大长度128个字符。 |
| value | String | 值             |
   
 表9sys_tags 
| 参数    | 参数类型   | 描述               |
|:---|:---|:---|
| key   | String | 键。最大长度128个字符。    |
| value | String | 值。每个值最大长度255个字符。 |
   
**状态码：400**
表10响应Body参数 
| 参数                            | 参数类型                                                                                      | 描述         |
|:---|:---|:---|
| details                       | Array of [DbssErrorDetail] objects | PDP5鉴权异常信息 |
| encoded_authorization_message | String                                                                                    | PDP5鉴权异常信息 |
| error_code                    | String                                                                                    | 错误码        |
| error_msg                     | String                                                                                    | 错误信息       |
   
 表11DbssErrorDetail 
| 参数         | 参数类型   | 描述       |
|:---|:---|:---|
| error_code | String | 错误码      |
| error_msg  | String | PDP5错误信息 |
   
**状态码：403**
表12响应Body参数 
| 参数                            | 参数类型                                                                                        | 描述         |
|:---|:---|:---|
| details                       | Array of [DbssErrorDetail] objects | PDP5鉴权异常信息 |
| encoded_authorization_message | String                                                                                      | PDP5鉴权异常信息 |
| error_code                    | String                                                                                      | 错误码        |
| error_msg                     | String                                                                                      | 错误信息       |
   
 表13DbssErrorDetail 
| 参数         | 参数类型   | 描述       |
|:---|:---|:---|
| error_code | String | 错误码      |
| error_msg  | String | PDP5错误信息 |
   
**状态码：500**
表14响应Body参数 
| 参数                            | 参数类型                                                                                        | 描述         |
|:---|:---|:---|
| details                       | Array of [DbssErrorDetail] objects | PDP5鉴权异常信息 |
| encoded_authorization_message | String                                                                                      | PDP5鉴权异常信息 |
| error_code                    | String                                                                                      | 错误码        |
| error_msg                     | String                                                                                      | 错误信息       |
   
 表15DbssErrorDetail 
| 参数         | 参数类型   | 描述       |
|:---|:---|:---|
| error_code | String | 错误码      |
| error_msg  | String | PDP5错误信息 |
   
#### 请求示例
```
/v1/{project_id}/{resource_type}/resource-instances/count
{
  "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" ]
  } ],
  "sys_tags" : [ {
    "key" : "_sys_enterprise_project_id",
    "values" : [ "5aa119a8-d25b-45a7-8d1b-88e127885635" ]
  } ]
}
```
#### 响应示例
**状态码：200**
成功
```
{
  "total_count" : 1000
}
```
#### 状态码
| 状态码 | 描述    |
|:---|:---|
| 200 | 成功    |
| 400 | 失败    |
| 403 | 认证失败  |
| 500 | 服务端错误 |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-dbss/ErrorCode.html)。
