更新时间:2024-07-22 GMT+08:00

查询资源实例

功能介绍

根据项目ID查询指定资源类型的资源实例。

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

URI

POST /autoscaling-api/v1/{project_id}/{resource_type}/resource_instances/action

表1 参数说明

参数

是否必选

参数类型

描述

project_id

String

项目ID

resource_type

String

资源类型,枚举类:scaling_group_tag

请求参数

表2 请求参数

参数

是否必选

参数类型

描述

tags

Array of Tag objects

过滤条件,包含标签,最多包含10个Key,结构体不能缺失,详情请见表 Tag字段数据结构说明

tags_any

Array of Tag objects

过滤条件,包含任意标签,最多包含10个Key,详情请见表 Tag字段数据结构说明

not_tags

Array of Tag objects

过滤条件,不包含标签,最多包含10个Key,详情请见表 Tag字段数据结构说明

not_tags_any

Array of Tag objects

过滤条件,不包含任意标签,最多包含10个Key,详情请见表 Tag字段数据结构说明

limit

String

查询记录数,最大值为1000,不能为负数,最小值为1。

  • 如果action的值为count,此参数无效。
  • 如果action的值为filter,limit默认为1000。

marker

String

分页位置标识(索引位置)。推荐使用offset字段设置索引位置。

分页位置标识(资源ID或索引位置)。

action

String

操作标识,包括filter和count两种。

  • filter(过滤):表示按标签过滤资源,返回符合条件的资源列表。此时,为分页查询。
  • count(查询总条数):表示按标签搜索资源,返回符合条件的资源个数。

offset

String

索引位置,从offset指定的下一条数据开始查询。必须为数字,不能为负数。

查询第一页数据时,不需要传入此参数。查询后续页码数据时,将查询前一页数据时响应体中的offset值带入此参数。

  • 如果action的值为count,此参数无效。
  • 如果action的值为filter,offset默认为0。

matches

Array of match objects

模糊搜索字段,详情请见表 match字段数据结构说明

表3 Tag字段数据结构说明

参数

是否必选

参数类型

描述

key

String

资源标签键。最大长度36个unicode字符。key不能为空。(搜索时不对此参数做校验)。最多为10个,不能为空或者空字符串。且不能重复。

values

Array of strings

资源标签值列表,每个值最大长度43个unicode字符,每个key下最多为10个,同一个key中values不能重复。

  • “*”为系统保留字符,如果value是以“*”开头表示按照“*”后面的值全模糊匹配。不能只传入“*”。
  • 如果values为空列表但不可缺省,则表示any_value(查询任意value)。value之间为或的关系。
表4 match字段数据结构说明

参数

是否必选

参数类型

描述

key

String

键,表示要匹配的字段。

当前key的参数值只能取“resource_name”。

value

String

值。为固定字典值。每个值最大长度255个unicode字符。若为空字符串、resource_id时为精确匹配。

请求示例

  • 查询租户下按包含标签key=key1,value=value1,不包含key=key2,value=value2,索引位置100,查询最大记录数为100的伸缩组资源信息,action为filter。
    POST https: //{Endpoint}/autoscaling-api/v1/{project_id}/scaling_group_tag/resource_instances/action
    
    {
    	"offset": "100",
    	"limit": "100",
    	"action": "filter",
    	"matches": [{
    		"key": "resource_name",
    		"value": "resource1"
    	}],
    	"not_tags": [{
    		"key": "key2",
    		"values": ["value2"]
    	}],
    	"tags": [{
    		"key": "key1",
    		"values": ["value1"]
    	}]
    }
  • 查询租户下按包含标签key=key1,value=value1,不包含key=key2,value=value2的伸缩组资源数目,action为count。
    POST https: //{Endpoint}/autoscaling-api/v1/{project_id}/scaling_group_tag/resource_instances/action
    
    {
    	"action": "count",
    	"not_tags": [{
    		"key": "key2",
    		"values": ["value2"]
    	}],
    	"tags": [{
    		"key": "key1",
    		"values": ["value1"]
    	}],
    	"matches": [{
    		"key": "resource_name",
    		"value": "resource1"
    	}]
    }

响应参数

表5 响应参数

参数

参数类型

描述

resources

Array of Resource objects

标签资源实例,详情请见表6

total_count

Integer

总记录数,当请求action为count时,仅返回该参数,不返回resources和marker值。

marker

String

分页位置标识

表6 Resource字段说明

参数

参数类型

描述

resource_id

String

资源详情ID

resource_detail

String

资源详情

tags

Array of ResourceTag objects

标签列表,没有标签默认为空数组,详情请见表7

resource_name

String

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

表7 ResourceTag字段说明

参数

参数类型

描述

key

String

资源标签键。最大长度36个unicode字符。

value

String

资源标签值。最大长度43个unicode字符。

响应示例

  • action为filter时响应示例
    {
    	"resources": [{
    		"resource_id": "64af4b6f-ec51-4436-8004-7a8f30080c87",
    		"resource_detail": "SCALING_GROUP_TAG",
    		"tags": [{
    			"key": "key1","value": "value1"
    		}],
    		"resource_name": "as_scaling_group_1"
    	},
    	{
    		"resource_id": "7122ef51-604b-40e7-b9b2-1de4cd78dc60",
    		"resource_detail": "SCALING_GROUP_TAG",
    		"tags": [{
    			"key": "key1","value": "value1"
    		}],
    		"resource_name": "as_scaling_group_2"
    	}],
    	"marker": "2",
    	"total_count": 2
    }
  • action为count时响应示例
    {
           "total_count": 1000
    }

返回值

  • 正常

    200

  • 异常

    返回值

    说明

    400 Bad Request

    服务器未能处理请求。

    401 Unauthorized

    被请求的页面需要用户名和密码。

    403 Forbidden

    对被请求的页面访问禁止。

    404 Not Found

    服务器无法找到被请求的页面。

    405 Method Not Allowed

    请求中指定的方法不被允许。

    406 Not Acceptable

    服务器生成的响应无法被客户端所接受。

    407 Proxy Authentication Required

    用户必须首先使用代理服务器进行验证,这样请求才会被处理。

    408 Request Timeout

    请求超出了服务器的等待时间。

    409 Conflict

    由于冲突,请求无法被完成。

    500 Internal Server Error

    请求未完成。服务异常。

    501 Not Implemented

    请求未完成。服务器不支持所请求的功能。

    502 Bad Gateway

    请求未完成。服务器从上游服务器收到一个无效的响应。

    503 Service Unavailable

    请求未完成。系统暂时异常。

    504 Gateway Timeout

    网关超时。

错误码

请参考错误码