更新时间:2024-09-26 GMT+08:00

根据标签查询负载均衡器

功能介绍

根据标签过滤查询负载均衡实例。

接口约束

无。

URI

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

表1 参数说明

参数

是否必选

参数类型

描述

project_id

String

标签所在的项目ID。

请求参数

表2 请求Header参数

参数

是否必选

参数类型

描述

X-Auth-Token

String

用户token

表3 请求参数

参数

是否必选

参数类型

描述

tags

Array

待查询的负载均衡器的标签列表,最多包含20个key,每个key下面的value最多20个;

key不能为空或者空字符串。

Key不能重复,同一个key中values不能重复。

详见表4 tags 字段数据结构说明

limit

Integer

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

offset

Integer

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

action

String

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

matches

Array

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

详见表5

表4 tags 字段数据结构说明

参数

是否必选

参数类型

描述

key

String

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

values

Array

标签的值列表。每个值最大长度255个unicode字符,value之间为或的关系。

当values为空列表时,表示按key全量搜索,当values中的元素value以“*”开头时,表示按*后面的值全模糊匹配。

表5 matches字段数据结构说明

参数

是否必选

参数类型

描述

key

String

匹配的键。

取值范围:

  • resource_name:资源名称;
  • resource_id:资源id;

value

String

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

响应参数

表6 响应参数

参数

参数类型

描述

resources

Array

负载均衡器对象的列表。详见表7

total_count

Integer

总记录数。

表7 resource 字段数据结构说明

参数

参数类型

描述

resource_id

String

资源ID。

resource_detail

String

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

tags

Array

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

resource_name

String

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

super_resource_id

String

父级资源id

表8 tags 字段数据结构说明

参数

参数类型

描述

key

String

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

value

String

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

请求示例

  • 请求样例1 action为filter时的请求体
    POST https://{Endpoint}/v2.0/6a0de1c3-7d74-4f4a-b75e-e57135bd2b97/loadbalancers/resource_instances/action
    
    {
        "offset": "100", 
        "limit": "100", 
        "action": "filter", 
        "matches": [
            {
                "key": "resource_name", 
                "value": "resource1"
            }
        ], 
        "tags": [
            {
                "key": "key1", 
                "values": [
                    "*value1", 
                    "value2"
                ]
            }
        ]
    }
  • 请求样例2 action为count时的请求体
    POST https://{Endpoint}/v2.0/6a0de1c3-7d74-4f4a-b75e-e57135bd2b97/loadbalancers/resource_instances/action
    
    {
        "action": "count", 
        "tags": [
            {
                "key": "key1",
                "values": [
                    "value1", 
                    "value2"
                ]
            }, 
            {
                "key": "key2", 
                "values": [
                    "value1", 
                    "value2"
                ]
            }
        ], 
        "matches": [
            {
                "key": "resource_name", 
                "value": "resource1"
            }
        ]
    }

响应示例

  • 响应样例1 action为filter时响应体
    {
        "resources": [
            {
                "resource_detail": "", 
                "resource_id": "154d135b-3a89-4e89-8023-06efb9acdc05", 
                "resource_name": "resouece1", 
                "tags": [
                    {
                        "key": "key1",
                        "value": "value1"
                    }, 
                    {
                        "key": "key2", 
                        "value": "value1"
                    }
                ]
            }
        ], 
        "total_count": 1000
    }
  • 响应样例2 action为count时响应体
    {
        "total_count": 1000
    }

返回码

请参见返回码