查询资源实例
功能介绍
该API用于通过标签过滤实例。
URI
POST /v2/{project_id}/{resource_type}/resource_instances/action
名称 |
参数类型 |
说明 |
---|---|---|
project_id |
String |
项目ID,获取方法请参见获取项目ID。 |
resource_type |
String |
资源类型
|
请求消息
请求参数
参数 |
是否必选 |
类型 |
描述 |
---|---|---|---|
Content-Type |
是 |
String |
消息体的类型(格式) 推荐您使用默认值application/json。 |
X-Auth-Token |
是 |
String |
用户Token。通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 |
ief-instance-id |
否 |
String |
铂金版实例ID,专业版实例为空值 |
名称 |
是否必选 |
参数类型 |
说明 |
---|---|---|---|
tags |
否 |
Array of tag objects |
包含标签,最多包含20个key,每个key下面的value最多10个,每个key对应的value可以为空数组但结构体不能缺失。Key不能重复,同一个key中values不能重复。结果返回包含所有标签的资源列表,key之间是与的关系,key-value结构中value是或的关系。如tags_any和tags字段同时存在,则去重后返回两者并集。无tag过滤条件时返回全量数据。 |
tags_any |
否 |
Array of tag objects |
包含任意标签,最多包含20个key,每个key下面的value最多10个。Key不能重复,同一个key中values不能重复。结果返回包含标签的资源列表,key之间是或的关系,key-value结构中value是或的关系。如tags_any和tags字段同时存在,则去重后返回两者并集。无过滤条件时返回全量数据。 |
not_tags |
否 |
Array of tag objects |
不包含标签,最多包含20个key,每个key下面的value最多10个。Key不能重复,同一个key中values不能重复。结果返回不包含标签的资源列表,key之间是与的关系,key-value结构中value是或的关系。无过滤条件时返回全量数据。 |
not_tags_any |
否 |
Array of tag objects |
不包含任意标签,最多包含20个key,每个key下面的value最多10个。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,只需要返回总条数,禁止返回其他字段。 |
matches |
否 |
Array of match objects |
搜索字段,key为要匹配的字段,如resource_name等。value为匹配的值。key为固定字典值,不能包含重复的key或不支持的key。 根据key的值确认是否需要模糊匹配,如resource_name默认为模糊搜索(不区分大小写,不支持*,支持字符串匹配),如果value为空字符串则返回空列表(IEF服务不存在资源名称为空的情况,因此这类情况返回空列表)。 |
console |
否 |
Boolean |
确认是否请求源是否为console,通过该字段来判断是否返回resource_detail内容,如果为true则返回,如果为false或者不带该参数则返回空列表。 |
sorted |
否 |
表31 object |
按标签过滤资源后返回结果的排序方式 |
名称 |
是否必选 |
参数类型 |
说明 |
---|---|---|---|
key |
是 |
String |
键。最大长度36个unicode字符。 key不能为空。(搜索时不对此参数做字符集校验),key不能为空或者空字符串,不能为空格,校验和使用之前先trim 前后半角空格。 |
values |
否 |
Array of strings |
值列表。每个值最大长度43个unicode字符,校验和使用之前先trim 前后半角空格。 *为系统保留字符,如果value是以*开头表示按照*后面的值全模糊匹配。不能只传入“*”。 如果values为空列表,则表示any_value(查询任意value)。value之间为或的关系。 |
名称 |
是否必选 |
参数类型 |
说明 |
---|---|---|---|
key |
是 |
String |
键。限定为resource_name,后续扩展。 |
value |
否 |
String |
值。每个值最大长度64个unicode字符。不校验字符集范围。 |
请求示例
action为filter时请求体:
{ "action": "filter", "limit": "10", "offset": "0", "matches":[{"key":"resource_name","value":"q"}], "tags":[ { "key":"test", "values": ["value1","value2"] } ] }
响应消息
响应参数
名称 |
是否必选 |
参数类型 |
说明 |
---|---|---|---|
resources |
是 |
Array of resource objects |
资源实例 |
total_count |
是 |
Integer |
总记录数 |
名称 |
是否必选 |
参数类型 |
说明 |
---|---|---|---|
resource_id |
是 |
String |
资源ID |
tags |
是 |
Array of resource_tag objects |
标签列表,没有标签默认为空数组 |
resource_name |
是 |
String |
资源名称,资源没有名称时默认为空字符串。 |
响应示例
action为filter时响应体:
{ "total_count": 2, "resources": [ { "tags": [ { "value": "", "key": "testtest" }, { "value": "value2", "key": "test" } ], "resource_name": "node_test_0108_1", "resource_id": "e25307d4-bd25-4c29-ba7f-176376ed2f99" }, { "tags": [ { "value": "value1", "key": "key1" }, { "value": "", "key": "test" } ], "resource_name": "node_test-0109_1", "resource_id": "fc3aeee8-24e1-4912-bf7a-54854251d0e5" } ] }
action为count时响应体:
{ "total_count": 2 }
错误码
请参见错误码。