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

查询中转IP实例

功能介绍

  • 使用标签过滤中转IP实例。

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

调用方法

请参见如何调用API

URI

POST /v3/{project_id}/transit-ips/resource_instances/action

表1 路径参数

参数

是否必选

参数类型

描述

project_id

String

项目的ID。

最小长度:1

最大长度:32

请求参数

表2 请求Header参数

参数

是否必选

参数类型

描述

X-Auth-Token

String

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

最小长度:1

最大长度:10240

表3 请求Body参数

参数

是否必选

参数类型

描述

offset

String

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

最小长度:0

最大长度:65535

limit

String

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

最小长度:1

最大长度:1000

action

String

操作标识(仅限于filter,count):filter(过滤),count(查询总条数) 如果是filter就是分页查询,如果是count只需按照条件将总条数返回即可。

枚举值:

  • filter

  • count

matches

Array of Match objects

搜索字段,key为要匹配的字段,如resource_name等。value为匹配的值。此字段为固定字典值。 根据不同的字段确认是否需要模糊匹配,如resource_name默认为模糊搜索(不区分大小写),如果value为空字符串精确匹配。resource_id为精确匹配。第一期只做resource_name,后续在扩展。

not_tags

Array of Tags objects

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

数组长度:1 - 10

tags

Array of Tags objects

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

数组长度:1 - 10

tags_any

Array of Tags objects

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

数组长度:1 - 10

not_tags_any

Array of Tags objects

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

数组长度:1 - 10

表4 Match

参数

是否必选

参数类型

描述

key

String

搜索条件key值。

最小长度:1

最大长度:128

value

String

搜索条件value。

最小长度:0

最大长度:255

表5 Tags

参数

是否必选

参数类型

描述

key

String

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

最小长度:1

最大长度:128

values

Array of strings

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

最小长度:0

最大长度:255

响应参数

状态码: 200

表6 响应Body参数

参数

参数类型

描述

resources

Array of Resource objects

资源列表。

数组长度:1 - 2000

request_id

String

请求id。

最小长度:1

最大长度:36

total_count

Integer

总记录数。

表7 Resource

参数

参数类型

描述

resource_detail

Object

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

resource_id

String

资源的ID。

最小长度:36

最大长度:36

resource_name

String

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

最小长度:0

最大长度:36

resource_tag

Array of ResourceTag objects

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

数组长度:1 - 10

表8 ResourceTag

参数

参数类型

描述

key

String

标签key值。

最小长度:1

最大长度:128

value

String

标签value。

最小长度:0

最大长度:255

请求示例

  • 查询中转IP实例,其中,操作标识为filter,进行分页查询,查询记录数为10条。

    POST  https://{Endpoint}/v3/cfa563efb77d4b6d9960781d82530fd8/transit-ips/resource_instances/action
    
    {
      "offset" : "10",
      "limit" : "10",
      "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" ]
      } ]
    }
  • 查询中转IP实例,其中,操作标识为count,按照条件将总条数返回。

    POST  https://{Endpoint}/v3/cfa563efb77d4b6d9960781d82530fd8/transit-ips/resource_instances/action
    
    {
      "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"
      } ]
    }

响应示例

状态码: 200

  • 查询操作成功。

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

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

  • 示例 1

    {
      "request_id" : "d70aabc854d3d301f9bb106e6b70ac99",
      "total_count" : 100
    }
  • 示例 2

    {
      "resources" : [ {
        "resource_detail" : null,
        "resource_id" : "ae33be9b-d2c0-441b-a8d0-f6dafedf1778",
        "resource_name" : "transit_ips",
        "tags" : [ {
          "key" : "key1",
          "value" : "value1"
        }, {
          "key" : "key2",
          "value" : "value1"
        } ]
      } ],
      "request_id" : "9e47d9476cfd346f864cb77acb274185",
      "total_count" : 1
    }

状态码

状态码

描述

200

  • 查询操作成功。

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

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

错误码

请参见错误码