更新时间:2022-01-25 GMT+08:00

查询资源实例

功能介绍

使用标签查询资源实例。

资源实例按照创建时间倒序。

URI

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

参数说明请参见表1
表1 URI格式的参数说明

名称

是否必选

参数类型

说明

project_id

String

项目ID。通过获取项目ID获取。

resource_type

String

资源的类型:DNS-public_zone,DNS-private_zone,DNS-public_recordset,DNS-private_recordset,DNS-ptr_record。

请求

  • 参数说明
    表2 请求样例的参数说明

    名称

    是否必选

    参数类型

    说明

    tags

    Array of tags objects

    包含标签。详细内容请参见表3

    最多包含10个key,每个key下面的value最多10个,结构体不能缺失,key不能为空或者空字符串。Key不能重复,同一个key中values不能重复。

    tags_any

    Array of tags objects

    包含任意标签。详细内容请参见表3

    最多包含10个key,每个key下面的value最多10个,结构体不能缺失,key不能为空或者空字符串。Key不能重复,同一个key中values不能重复。

    not_tags

    Array of tags objects

    不包含标签。详细内容请参见表3

    最多包含10个key,每个key下面的value最多10个,结构体不能缺失,key不能为空或者空字符串。Key不能重复,同一个key中values不能重复。

    not_tags_any

    Array of tags objects

    不包含任意标签。详细内容请参见表3

    最多包含10个key,每个key下面的value最多10个,结构体不能缺失,key不能为空或者空字符串。Key不能重复,同一个key中values不能重复。

    limit

    Integer

    每页返回的资源个数。

    取值范围:1~1000

    参数取值说明:

    • 如果action为filter时,默认为1000。
    • 如果action为count时,无此参数。

    offset

    Integer

    分页查询起始偏移量,表示从偏移量的下一个资源开始查询。

    取值范围:0~2147483647

    默认值为0。

    参数取值说明:

    • 查询第一页数据时,不需要传入此参数。
    • 查询后续页码数据时,将查询前一页数据时响应体中的值带入此参数。
    • 如果action为filter时,默认为0,必须为数字,不能为负数。
    • 如果action为count时,无此参数。

    action

    String

    操作标识(区分大小写)。

    取值范围:

    • filter:分页过滤查询
    • count:查询总条数

    matches

    Array of matches objects

    搜索字段。详细内容请参见表4

    key为要匹配的字段,value为匹配的值。

    如果value为空字符串则精确匹配,否则模糊匹配。

    表3 tags参数数据结构说明

    名称

    是否必选

    参数类型

    说明

    key

    String

    键。最大长度127个unicode字符。key不能为空。(搜索时不对此参数做校验)

    values

    Array of strings

    值列表。

    每个值最大长度255个unicode字符。

    *为系统保留字符。

    如果里面的value是以*开头,时表示按照*后面的值全模糊匹配。

    如果values缺失,则表示匹配任意值。value之间为或的关系。

    表4 matches参数数据结构说明

    名称

    是否必选

    参数类型

    说明

    key

    String

    键。当前值限定为resource_name。

    value

    String

    值。每个值最大长度255个unicode字符。不能包含“_”,“%”特殊字符。

  • 请求样例
    通过标签查询资源实例。
    POST https://{DNS_Endpoint}/v2/{project_id}/DNS-private_zone/resource_instances/action
    action为filter时:
    {
        "offset": "100", 
        "limit": "100", 
        "action": "filter", 
        "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"
                ]
            }
        ]
    }
    action为count时:
    {
        "action": "count", 
        "not_tags": [
            {
                "key": "key1", 
                "values": [
                    "value1", 
                    "*value2"
                ]
            }
        ], 
        "tags": [
            {
                "key": "key1", 
                "values": [
                    "value1", 
                    "value2"
                ]
            }, 
            {
                "key": "key2", 
                "values": [
                    "value1", 
                    "value2"
                ]
            }
        ], 
        "tags_any": [
            {
                "key": "key1", 
                "values": [
                    "value1", 
                    "value2"
                ]
            }
        ], 
        "not_tags_any": [
            {
                "key": "key1", 
                "values": [
                    "value1", 
                    "value2"
                ]
            }
        ], 
        "matches": [
            {
                "key": "resource_name", 
                "value": "resource1"
            }
        ]
    }

响应

  • 参数说明
    表5 响应样例的参数说明

    名称

    参数类型

    说明

    resources

    Array of resource objects

    资源列表。详细内容请参见表6

    total_count

    Integer

    满足查询条件的资源总数,不受分页(即limit、offset参数)影响。

    表6 resource参数数据结构说明

    名称

    参数类型

    说明

    resource_id

    String

    资源ID

    resource_detail

    Object

    资源详情。资源对象,用于扩展,默认为空。

    tags

    Array of tag objects

    标签列表,没有标签默认为空数组。详细信息请参见表2

    resource_name

    String

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

  • 响应样例
    action为filter时:
    {
        "resources": [
            {
                "resource_detail": null, 
                "resource_id": "cdfs_cefs_wesas_12_dsad", 
                "resource_name": "resouece1", 
                "tags": [
                    {
                        "key": "key1", 
                        "value": "value1"
                    }, 
                    {
                        "key": "key2", 
                        "value": "value1"
                    }
                ]
            }
        ], 
        "total_count": 1000
    }
    action为count时:
    {
        "total_count": 1000
    }

返回值

接口正常的返回值为2xx,例如200、202或者204。

返回值含义以及更多返回值请参考状态码