更新时间:2023-12-14 GMT+08:00

查询公网NAT网关资源实例

功能介绍

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

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

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

接口约束

  • 需使用VPC域名调用公网NAT标签API。

调用方法

请参见如何调用API

URI

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

表1 路径参数

参数

是否必选

参数类型

描述

project_id

String

项目的ID。

请求参数

表2 请求Header参数

参数

是否必选

参数类型

描述

X-Auth-Token

String

用户Token。 用户Token也就是调用获取用户Token获取请求认证接口的响应值,该接口是唯一不需要认证的接口。 请求响应成功后在响应消息头中包含的“X-Subject-Token”的值即为Token值。

表3 请求Body参数

参数

是否必选

参数类型

描述

tags

Array of Tag objects

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

数组长度:1 - 10

tags_any

Array of Tag objects

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

not_tags

Array of Tag objects

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

not_tags_any

Array of Tag objects

不包含任意标签对象列表,最多包含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 of Match objects

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

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

表4 Tag

参数

是否必选

参数类型

描述

key

String

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

values

Array of strings

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

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

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

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

表5 Match

参数

是否必选

参数类型

描述

key

String

键。限定为resource_name。

value

String

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

响应参数

状态码: 200

表6 响应Body参数

参数

参数类型

描述

resources

Array of Resource objects

资源对象列表。请参考表Resource字段数据结构说明。

total_count

Integer

总记录数

表7 Resource

参数

参数类型

描述

resource_id

String

资源ID

resource_detail

Object

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

tags

Array of ResourceTag objects

标签列表,没有标签默认为空数组。请参考表ResourceTag字段数据结构说明。

resource_name

String

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

表8 ResourceTag

参数

参数类型

描述

key

String

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

value

String

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

请求示例

  • 查询公网NAT网关资源实例,其中,操作标识为filter,进行分页查询,查询记录数为100条。

    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" ]
      } ]
    }
  • 查询公网NAT网关资源实例,其中,操作标识为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" ]
      } ]
    }

响应示例

状态码: 200

  • 查询操作成功。

  • 示例1:action为filter时的响应体

  • 示例2:action为count时的响应体

  • 示例 1

    {
      "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
    }
  • 示例 2

    {
      "total_count" : 1000
    }

状态码

状态码

描述

200

  • 查询操作成功。

  • 示例1:action为filter时的响应体

  • 示例2:action为count时的响应体

错误码

请参见错误码