根据标签查询资源实例数量
功能介绍
根据标签查询资源实例数量
调用方法
请参见如何调用API。
URI
POST /v1/{project_id}/{resource_type}/resource-instances/count
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| project_id | 是 | String | 项目ID |
| resource_type | 是 | String | 资源类型。
|
请求参数
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| X-Auth-Token | 是 | String | 用户Token。 通过调用IAM服务查询用户Token接口获取(响应消息头中X-Subject-Token的值)。 |
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| 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 | 否 | TagKeyValuesBean object | 仅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”字段 |
响应参数
状态码: 200
| 参数 | 参数类型 | 描述 |
|---|---|---|
| total_count | Integer | 总记录数 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| key | String | 键 |
| value | String | 值 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| key | String | 键 |
| value | String | 值 |
状态码: 400
| 参数 | 参数类型 | 描述 |
|---|---|---|
| error | Object | 错误信息返回体。 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| error_code | String | 错误请求返回的错误码。 |
| error_msg | String | 错误请求返回的错误信息。 |
状态码: 403
| 参数 | 参数类型 | 描述 |
|---|---|---|
| error | Object | 错误信息返回体。 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| error_code | String | 错误请求返回的错误码。 |
| error_msg | String | 错误请求返回的错误信息。 |
状态码: 500
| 参数 | 参数类型 | 描述 |
|---|---|---|
| error | Object | 错误信息返回体。 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| error_code | String | 错误请求返回的错误码。 |
| error_msg | String | 错误请求返回的错误信息。 |
请求示例
/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
} 状态码: 400
失败
{
"error" : {
"error_code" : "DBSS.XXXX",
"error_msg" : "XXX"
}
} 状态码
| 状态码 | 描述 |
|---|---|
| 200 | 成功 |
| 400 | 失败 |
| 403 | 认证失败 |
| 500 | 服务端错误 |
错误码
请参见错误码。