查询NAT网关资源实例
功能介绍
使用标签过滤NAT网关资源实例。
标签管理服务需要提供按标签过滤NAT网关服务实例并汇总显示在列表中,需要NAT网关服务提供查询能力。
资源默认按照创建时间倒序,资源tag也按照创建时间倒序。
URI
- URI格式
POST /v2.0/{project_id}/nat_gateways/resource_instances/action
- 参数说明
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
project_id |
是 |
String |
项目的ID。 |
请求消息
请求参数如表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为精确匹配。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
key |
是 |
String |
键。最大长度127个unicode字符。key不能为空或者空字符串,不能为空格,校验和使用之前先trim前后空格。 |
values |
是 |
Array<String> |
值列表。每个值最大长度255个unicode字符,不能为空格,校验和使用之前先trim前后空格。 *为系统保留字符,value可为空但不可缺省。 如果里面的value是以*开头表示按照*后面的值全模糊匹配。 如果values为空列表,则表示any_value(查询任意value)。value之间为或的关系。 |
参数 |
是否必须 |
参数类型 |
描述 |
---|---|---|---|
key |
是 |
String |
键。限定为resource_name。 |
value |
是 |
String |
值。每个值最大长度255个unicode字符。 |
响应消息
响应参数如表5所示。
参数 |
参数类型 |
描述 |
---|---|---|
resource_id |
String |
资源ID |
resource_detail |
Object |
资源详情。资源对象,用于扩展。默认为空 |
tags |
Array<resource_tag> |
标签列表,没有标签默认为空数组。请参考表7。 |
resource_name |
String |
资源名称,没有默认为空字符串 |
示例
- 请求样例
- 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" ] } ] }
- 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" ] } ] }
- 响应样例
- 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 }
- action为count时响应体
{ "total_count": 1000 }
状态码
请参考状态码。