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

查询NAT网关资源实例

功能介绍

使用标签过滤NAT网关资源实例。

标签管理服务需要提供按标签过滤NAT网关服务实例并汇总显示在列表中,需要NAT网关服务提供查询能力。

资源默认按照创建时间倒序,资源tag也按照创建时间倒序。

URI

  • URI格式

POST /v2.0/{project_id}/nat_gateways/resource_instances/action

  • 参数说明
表1 参数说明

参数

是否必选

参数类型

描述

project_id

String

项目的ID。

请求消息

请求参数如表2所示。

表2 请求参数

参数

是否必选

参数类型

描述

tags

Array<Object>

包含标签对象列表,最多包含10个key,每个key下面的value最多10个,结构体不能缺失,key不能为空或者空字符串。Key不能重复,同一个key中values不能重复。返回包含所有标签的资源列表,key之间是与的关系,key-value结构中value是或的关系。无tag过滤条件时返回全量数据。

tags_any

Array<Object>

包含任意标签对象列表,最多包含10个key,每个key下面的value最多10个,结构体不能缺失,key不能为空或者空字符串。Key不能重复,同一个key中values不能重复。返回包含标签的资源列表,key之间是或的关系,key-value结构中value是或的关系。无过滤条件时返回全量数据。

not_tags

Array<Object>

不包含标签对象列表,最多包含10个key,每个key下面的value最多10个,结构体不能缺失,key不能为空或者空字符串。Key不能重复,同一个key中values不能重复。返回不包含标签的资源列表,key之间是与的关系,key-value结构中value是或的关系。无过滤条件时返回全量数据。

not_tags_any

Array<Object>

不包含任意标签对象列表,最多包含10个key,每个key下面的value最多10个,结构体不能缺失,key不能为空或者空字符串。Key不能重复,同一个key中values不能重复。返回不包含标签的资源列表,key之间是或的关系,key-value结构中value是或的关系。无过滤条件时返回全量数据。

limit

String

查询记录数(action为count时无此参数)如果action为filter默认为1000,limit最多为1000,不能为负数,最小值为1

offset

String

(索引位置),从offset指定的下一条数据开始查询。查询第一页数据时,不需要传入此参数,查询后续页码数据时,将查询前一页数据时响应体中的值带入此参数(action为count时无此参数)如果action为filter默认为0,必须为数字,不能为负数

action

String

操作标识(仅限于filter,count):filter(过滤),count(查询总条数)

如果是filter就是分页查询,如果是count只需按照条件将总条数返回即可。禁止返回其他字段。

matches

Array<match>

搜索字段列表,key为要匹配的字段,如resource_name等。value为匹配的值。此字段为固定字典值。

根据不同的字段确认是否需要模糊匹配,如resource_name默认为模糊搜索(不区分大小写),如果value为空字符串精确匹配。resource_id为精确匹配。

表3 tag 字段数据结构说明

参数

是否必选

参数类型

描述

key

String

键。最大长度127个unicode字符。key不能为空或者空字符串,不能为空格,校验和使用之前先trim前后空格。

values

Array<String>

值列表。每个值最大长度255个unicode字符,不能为空格,校验和使用之前先trim前后空格。

*为系统保留字符,value可为空但不可缺省。

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

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

表4 match字段数据结构说明

参数

是否必须

参数类型

描述

key

String

键。限定为resource_name。

value

String

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

响应消息

响应参数如表5所示。

表5 响应参数

参数

参数类型

描述

resources

Array<resource>

资源对象列表。表6

total_count

Integer

总记录数

表6 resource字段数据结构说明

参数

参数类型

描述

resource_id

String

资源ID

resource_detail

Object

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

tags

Array<resource_tag>

标签列表,没有标签默认为空数组。请参考表7

resource_name

String

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

表7 resource_tag字段数据结构说明

参数

参数类型

描述

key

String

键。最大长度36个unicode字符。key不能为空。不能包含非打印字符ASCII(0-31),*,<,>,\,=

value

String

值。每个值最大长度43个unicode字符,可以为空字符串。不能包含非打印字符ASCII(0-31), *,<,>,\,=

示例

  • 请求样例
    1. action为filter时的请求体
    POST  https://{VPC_endpoint}/v2.0/9ad601814ac94c80bf7bb9073ded66fc/nat_gateways/resource_instances/action 
    {
        "offset": "100", 
        "limit": "100", 
        "action": "filter", 
        "matches": [
            {
                "key": "resource_name", 
                "value": "nat_gateways"
            }
        ], 
        "not_tags": [
            {
                "key": "key1", 
                "values": [
                    "*value1", 
                    "value2"
                ]
            }
        ], 
        "tags": [
            {
                "key": "key2", 
                "values": [
                    "*value3", 
                    "value4"
                ]
            }
        ], 
        "tags_any": [
            {
                "key": "key3", 
                "values": [
                    "*value5", 
                    "value6"
                ]
            }
        ],
        "not_tags_any": [
            {
                "key": "key4", 
                "values": [
                    "*value7", 
                    "value8"
                ]
            }
        ]
    }
    1. action为count时的请求体
    POST  https://{VPC_endpoint}/v2.0/9ad601814ac94c80bf7bb9073ded66fc/nat_gateways/resource_instances/action        {
        "action": "count", 
        "matches": [
            {
                "key": "resource_name", 
                "value": "nat_gateways"
            }
        ], 
        "not_tags": [
            {
                "key": "key1", 
                "values": [
                    "*value1", 
                    "value2"
                ]
            }
        ], 
        "tags": [
            {
                "key": "key2", 
                "values": [
                    "*value3", 
                    "value4"
                ]
            }
        ], 
        "tags_any": [
            {
                "key": "key3", 
                "values": [
                    "*value5", 
                    "value6"
                ]
            }
        ],
        "not_tags_any": [
            {
                "key": "key4", 
                "values": [
                    "*value7", 
                    "value8"
                ]
            }
        ]
    }
  • 响应样例
    1. action为filter时响应体
    { 
        "resources": [
            {
                "resource_detail": null, 
                "resource_id": "e5ad289f-9c56-4daf-b08b-2e53a983473a", 
                "resource_name": "nat_gateways", 
                "tags": [
                    {
                       "key": "key2",
                       "value": "value4"
                    },
                    {
                       "key": "key2",
                       "value": "value3"
                    }
                ]
            }
        ], 
        "total_count": 1000
    }
    1. action为count时响应体
    { 
        "total_count": 1000
    }

状态码

请参考状态码