更新时间:2024-04-22 GMT+08:00

查询资源实例

功能介绍

该API用于通过标签过滤实例。

URI

POST /v2/{project_id}/{resource_type}/resource_instances/action

表1 Path参数

名称

参数类型

说明

project_id

String

项目ID,获取方法请参见获取项目ID

resource_type

String

资源类型

  • ief-edge_node
  • ief-deployment
  • ief-application
  • ief-device

请求消息

请求参数

表2 请求Header参数

参数

是否必选

类型

描述

Content-Type

String

消息体的类型(格式)

推荐您使用默认值application/json。

X-Auth-Token

String

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

ief-instance-id

String

铂金版实例ID,专业版实例为空值

表3 请求Body参数

名称

是否必选

参数类型

说明

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

按标签过滤资源后返回结果的排序方式

表4 tag

名称

是否必选

参数类型

说明

key

String

键。最大长度36个unicode字符。 key不能为空。(搜索时不对此参数做字符集校验),key不能为空或者空字符串,不能为空格,校验和使用之前先trim 前后半角空格。

values

Array of strings

值列表。每个值最大长度43个unicode字符,校验和使用之前先trim 前后半角空格。

*为系统保留字符,如果value是以*开头表示按照*后面的值全模糊匹配。不能只传入“*”。

如果values为空列表,则表示any_value(查询任意value)。value之间为或的关系。

表5 match

名称

是否必选

参数类型

说明

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"]
        }
        ]
}

响应消息

响应参数

表6 响应Body参数

名称

是否必选

参数类型

说明

resources

Array of resource objects

资源实例

total_count

Integer

总记录数

表7 resource

名称

是否必选

参数类型

说明

resource_id

String

资源ID

tags

Array of resource_tag objects

标签列表,没有标签默认为空数组

resource_name

String

资源名称,资源没有名称时默认为空字符串。

表8 resource_tag

名称

是否必选

参数类型

说明

key

String

value

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
}

错误码

请参见错误码