查询资源实例
功能介绍
根据项目ID查询指定资源类型的资源实例。
资源、资源tag默认按照创建时间倒序。
URI
POST /autoscaling-api/v1/{project_id}/{resource_type}/resource_instances/action
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
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
资源标签键。最大长度127个unicode字符。key不能为空。(搜索时不对此参数做校验)。最多为10个,不能为空或者空字符串。且不能重复。
values
是
Array of strings
资源标签值列表,每个值最大长度255个unicode字符,每个key下最多为10个,同一个key中values不能重复。
- “*”为系统保留字符,如果value是以“*”开头表示按照“*”后面的值全模糊匹配。不能只传入“*”。
- 如果values为空列表但不可缺省,则表示any_value(查询任意value)。value之间为或的关系。
- 请求样例
- action为filter时请求样例
本示例展示了查询租户下按包含标签key=key1,value=value,不包含key=key2,value=value2,索引位置100,查询最大记录数为100的伸缩组资源信息。
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"] }] }
- action为count时请求样例
本示例展示了查询租户下按包含标签key=key1,value=value,不包含key=key2,value=value2的伸缩组资源数目。
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"] }, { "key": "key2", "values": ["value1", "value2"] }], "matches": [{ "key": "resource_name", "value": "resource1" }] }
- action为filter时请求样例
响应消息
- 响应参数
表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
资源名称,没有资源时默认为空字符串。
- 响应样例
- 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 }
- action为filter时响应样例
返回值
- 正常
- 异常
返回值
说明
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
网关超时。
错误码
请参考错误码。