文档首页/ 云堡垒机 CBH/ API参考/ API说明/ 标签管理/ 统计符合标签条件的实例数量
更新时间:2024-11-12 GMT+08:00

统计符合标签条件的实例数量

功能介绍

统计符合标签条件的实例数量。

调用方法

请参见如何调用API

URI

POST /v2/{project_id}/cbs/instance/count

表1 路径参数

参数

是否必选

参数类型

描述

project_id

String

项目ID。

获取方法详见API参考,附录"获取项目ID"

请求参数

表2 请求Header参数

参数

是否必选

参数类型

描述

X-Auth-Token

String

用户Token。

通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。

可参考"IAM获取IAM用户Token"获取

表3 请求Body参数

参数

是否必选

参数类型

描述

without_any_tag

Boolean

不包含任意一个标签,该字段为true时查询所有不带标签的资源。

此时忽略 “tags”、“tags_any”、“not_tags”、“not_tags_any”字段。

tags

Array of Tags objects

包含标签,最多包含50个key,每个key下面的value最多10个,每个key对应的value可以为空数组但结构体不能缺失。

Key不能重复,同一个key中values不能重复。结果返回包含所有标签的资源列表,key之间是与的关系, key-value结构中value是或的关系。

无tag过滤条件时返回全量数据。

tags_any

Array of Tags objects

包含任意标签,最多包含50个key,每个key下面的value最多10个,每个key对应的value可以为空数组但结构体不能缺失。Key不能重复,同一个key中values不能重复。

结果返回包含标签的资源列表,key之间是或的关系,key-value结构中value是或的关系。

无过滤条件时返回全量数据。

not_tags

Array of Tags objects

不包含标签,最多包含50个key,每个key下面的value最多10个, 每个key对应的value可以为空数组但结构体不能缺失。Key不能重复,同一个key中values不能重复。

结果返回不包含标签的资源列表,key之间是与的关系,key-value结构中value是或的关系。

无过滤条件时返回全量数据。

not_tags_any

Array of Tags objects

不包含任意标签,最多包含50个key,每个key下面的value最多10个, 每个key对应的value可以为空数组但结构体不能缺失。Key不能重复,同一个key中values不能重复。

结果返回不包含标签的资源列表,key之间是或的关系,key-value结构中value是或的关系。

无过滤条件时返回全量数据。

sys_tags

Array of Tags objects

仅op_service权限可以使用此字段做资源实例过滤条件。

目前TMS调用时只包含一个tag结构体。

key:_sys_enterprise_project_id

value:企业项目id列表

目前TMS调用时,key下面只包含一个value。0表示默认企业项目

sys_tags和租户标签过滤条件(without_any_tag 、tags、tags_any、not_tags、not_tags_any)不能同时使用

无sys_tags时按照tag接口处理,无tag过滤条件时返回全量数据。

matches

Array of Match objects

搜索字段,key为要匹配的字段,如resource_name等。

value为匹配的值。key为固定字典值,不能包含重复的key或不支持的key。

根据key的值确认是否需要模糊匹配,如resource_name默认为模糊搜索(不区分大小写),如果value为空字符串精确匹配(多数服务不存在资源名称为空的情况,因此此类情况返回空列表)。

resource_id为精确匹配。第一期只做resource_name,后续再扩展。

表4 Tags

参数

是否必选

参数类型

描述

key

String

键。

说明:

说明:

  • key不能为空,长度1~128个字符(中文也可以输入128个字符)
  • 可用 UTF-8 格式表示的字母(包含中文)、数字和空格,以及以下字符: _ . : = + - @
  • _sys_开头属于系统标签,租户不能输入
  • 建议正则:^((?!sys)[\p{L}\p{Z}\p{N}_.:=+\-@]*)$

values

Array of strings

值列表。

说明:

说明:

  • 长度0~255个字符(中文也可以输入255个字符)
  • 可用 UTF-8 格式表示的字母(包含中文)、数字和空格,以及以下字符: _ . : / = + - @ 建议正则:^([\p{L}\p{Z}\p{N}_.:/=+-@]*)$
  • 资源标签值可以为空(empty or null)
  • 预定义标签值不可以为空
表5 Match

参数

是否必选

参数类型

描述

key

String

键。第一期限定为resource_name,后续扩展。

value

String

值。每个值最大长度255个unicode字符 。不校验字符集范。

响应参数

状态码: 200

表6 响应Body参数

参数

参数类型

描述

total_count

Integer

总记录数。

状态码: 400

表7 响应Body参数

参数

参数类型

描述

error_code

String

错误码

error_description

String

请求参数错误。

状态码: 401

表8 响应Body参数

参数

参数类型

描述

error_code

String

错误码

error_description

String

校验TOKEN失败。

状态码: 403

表9 响应Body参数

参数

参数类型

描述

error_code

String

错误码

error_description

String

租户无权限操作。

状态码: 404

表10 响应Body参数

参数

参数类型

描述

error_code

String

错误码

error_description

String

没有找到CBH资源。

请求示例

{
  "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

Show Project Tags Success

{
  "total_count" : 1000
}

状态码

状态码

描述

200

Show Project Tags Success

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

错误码

请参见错误码