查询存储库资源实例
功能介绍
使用标签过滤实例
标签管理服务需要提供按标签过滤各服务实例并汇总显示在列表中,需要各服务提供查询能力
URI
POST /v3/{project_id}/vault/resource_instances/action
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
project_id |
是 |
String |
项目id |
请求参数
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
without_any_tag |
否 |
Boolean |
不包含任意一个标签,该字段为true时查询所有不带标签的资源,此时忽略 “tags”、“tags_any”、“not_tags”、“not_tags_any”字段。 |
tags |
否 |
Array of TagsReq objects |
包含标签。 tags不允许为空列表。 tags中最多包含10个key。 tags中key不允许重复。 tags中多个key之间是“与”的关系。 结果返回包含所有标签的资源列表,key之间是与的关系,key-value结构中value是或的关系。 无过滤条件时返回全量数据。 |
tags_any |
否 |
Array of TagsReq objects |
包含任一标签。 tags不允许为空列表。 tags中最多包含10个key。 tags中key不允许重复。 结果返回包含任一标签的资源列表,key之间是或的关系,key-value结构中value是或的关系。 无过滤条件时返回全量数据。 |
not_tags |
否 |
Array of TagsReq objects |
不包含标签。 tags不允许为空列表。 tags中最多包含10个key。 tags中key不允许重复。 结果返回不包含所有标签的资源列表,key之间是与的关系,key-value结构中value是或的关系。 无过滤条件时返回全量数据。 |
not_tags_any |
否 |
Array of TagsReq objects |
不包含任一标签。 tags不允许为空列表。 tags中最多包含10个key。 tags中key不允许重复。 结果返回不包含任一标签的资源列表,key之间是或的关系,key-value结构张value是或的关系。 无过滤条件时返回全量数据。 |
sys_tags |
否 |
Array of SysTags objects |
仅op_service权限可以使用此字段做资源实例过滤条件。 目前TMS调用时只包含一个tag结构体。
目前TMS调用时,key下面只包含一个value,0表示默认企业项目。 sys_tags和租户标签过滤条件(tags、tags_any、not_tags、not_tags_any)不能同时使用。 无sys_tags时按照tag接口处理,无tag过滤条件时返回全量数据。 sys_tags不能为空列表 |
limit |
否 |
String |
查询记录数(action为count时无此参数)如果action为filter时,默认为1000,limit最小值为1,limit最大值为1000, 不在范围内报错。返回的结果中记录数不超过limit。 |
offset |
否 |
String |
索引位置(action为count时无此参数)如果action为filter时,默认为0,offset最小值为0。返回的结果中第一条记录为符合查询条件的第offset+1条记录。 |
action |
是 |
String |
操作标识取值范围为:"filter", "count"。如果是filter就是分页查询,如果是count只需按照条件将总条数返回即可 |
matches |
否 |
Array of Match objects |
资源本身支持的查询条件。 matches中key不允许重复。 数组长度最大值为 1,后续再扩展。 |
cloud_type |
否 |
String |
云类型
|
object_type |
否 |
String |
资源类型
|
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
key |
是 |
String |
键。 最大长度127个unicode字符。 不允许为空字符串。 前后的空格会被丢弃。 |
values |
是 |
Array of strings |
值列表。 values中最多包含10个value。 每个value最大长度255个unicode字符。前后的空格会被丢弃。 values中value不允许重复。 values中多个value之间是"或"的关系。 values允许为空列表,value允许为空字符串。 values如果为空列表,表示任意值。 *为系统保留字符,如果value是以*开头表示按照*后面的值全模糊匹配,不能只传入“*”。 |
响应参数
状态码: 200
参数 |
参数类型 |
描述 |
---|---|---|
resources |
Array of TagResource objects |
符合查询条件的资源列表(action为count时无此参数)。 |
total_count |
Integer |
符合查询条件的资源总个数 |
参数 |
参数类型 |
描述 |
---|---|---|
resource_id |
String |
资源ID |
resource_detail |
InstancesResourceDetail object |
资源详情 |
tags |
Array of Tag objects |
标签列表 没有标签默认为空数字。 |
resource_name |
String |
资源名称 |
sys_tags |
Array of SysTag objects |
仅op_service权限才可以获取此字段: 目前只包含一个resource_tag 结构体。 key:_sys_enterprise_project_id value:企业项目id,0表示默认企业项目 非op_service场景不能返回此字段。 |
参数 |
参数类型 |
描述 |
---|---|---|
billing |
Billing object |
运营信息 |
description |
String |
存储库自定义描述信息。 |
id |
String |
存储库ID |
name |
String |
存储库名称 |
project_id |
String |
项目ID |
provider_id |
String |
存储库资源类型id |
resources |
Array of ResourceResp objects |
存储库资源 |
tags |
Array of Tag objects |
存储库标签 |
enterprise_project_id |
String |
企业项目id,默认为‘0’。 |
auto_bind |
Boolean |
是否自动绑定,默认为false,不支持。 |
bind_rules |
VaultBindRules object |
绑定规则 |
user_id |
String |
用户id |
created_at |
String |
创建时间,例如:"2020-02-05T10:38:34.209782" |
auto_expand |
Boolean |
是否开启存储库自动扩容能力(只支持按需存储库)。 |
smn_notify |
Boolean |
存储库smn消息通知开关 |
threshold |
Integer |
存储库容量阈值,已用容量占总容量达到此百分比即发送相关通知 |
sys_lock_source_service |
String |
用于标识SMB服务,您可以设置为SMB或者空 |
locked |
Boolean |
用于标识当前存储库是否已锁定,锁定的存储库不支持解锁。 |
参数 |
参数类型 |
描述 |
---|---|---|
allocated |
Integer |
已分配容量,单位GB |
charging_mode |
String |
创建模式,按需:post_paid,包周期:pre_paid,默认为post_paid |
cloud_type |
String |
公有云:public ;混合云:hybrid |
consistent_level |
String |
规格,崩溃一致性(crash_consistent)或应用一致性(app_consistent) |
object_type |
String |
对象类型:云服务器(server),云硬盘(disk),文件系统(turbo),云桌面(workspace),VMware(vmware),关系型数据库(rds),文件(file)。 |
order_id |
String |
订单ID |
product_id |
String |
产品ID |
protect_type |
String |
保护类型:备份(backup)、复制(replication)。 |
size |
Integer |
容量,单位GB |
spec_code |
String |
规格编码。 云服务备份存储库:vault.backup.server.normal;云硬盘备份存储库:vault.backup.volume.normal;文件备份存储库:vault.backup.turbo.normal |
status |
String |
存储库状态
|
storage_unit |
String |
存储库桶名 |
used |
Integer |
已使用容量,单位MB |
frozen_scene |
String |
冻结场景 |
is_multi_az |
Boolean |
存储库多az属性 |
参数 |
参数类型 |
描述 |
---|---|---|
extra_info |
ResourceExtraInfo object |
资源附加信息 |
id |
String |
待备份资源id |
name |
String |
待备份资源名称 |
protect_status |
String |
保护状态
|
size |
Integer |
资源已分配容量,单位为GB |
type |
String |
待备份资源的类型: OS::Nova::Server, OS::Cinder::Volume, OS::Ironic::BareMetalServer, OS::Native::Server, OS::Sfs::Turbo, OS::Workspace::DesktopV2 |
backup_size |
Integer |
副本大小 |
backup_count |
Integer |
副本数量 |
参数 |
参数类型 |
描述 |
---|---|---|
exclude_volumes |
Array of strings |
需要排除备份的卷id。仅在多盘备份特性中有效,排除不需要备份的磁盘。当虚拟机新绑定磁盘时,也能继续排除之前设置不用备份的卷。 |
参数 |
参数类型 |
描述 |
---|---|---|
key |
String |
key不能包含非打印字符ASCII(0-31),“=”,“*”,“<”,“>”,“\”,“,”,“|”,“/”。 key只能由中文,字母,数字,“-”,“_”组成。 |
value |
String |
value不能包含非打印字符ASCII(0-31),“=”,“*”,“<”,“>”,“\”,“,”,“|”,“/”。 value只能由中文,字母,数字,“-”,“_”,“.”组成。 |
参数 |
参数类型 |
描述 |
---|---|---|
key |
String |
键。 key最大长度为36个字符。 key不能为空字符串。 key前后空格会被丢弃。 key不能包含非打印字符ASCII(0-31),“=”,“*”,“<”,“>”,“\”,“,”,“|”,“/”。 key只能由中文,字母,数字,“-”,“_”组成。 |
value |
String |
值。 添加标签时value值必选,删除标签时value值可选。 value最大长度为43个字符。 value可以为空字符串。 value前后的空格会被丢弃。 value不能包含非打印字符ASCII(0-31),“=”,“*”,“<”,“>”,“\”,“,”,“|”,“/”。 value只能由中文,字母,数字,“-”,“_”,“.”组成。 |
参数 |
参数类型 |
描述 |
---|---|---|
key |
String |
键。 系统标签的key,从白名单中取,不能随意定义。 目前仅支持 _sys_enterprise_project_id字段,对应 的value为企业项目ID。 |
value |
String |
值。 目前仅会用到企业项目ID,其中默认的企业项目ID为“0”。 |
状态码: 400
参数 |
参数类型 |
描述 |
---|---|---|
error_code |
String |
请参见错误码。 |
error_msg |
String |
错误信息 |
请求示例
使用标签分页查询存储库资源实例。
POST https://{endpoint}/v3/{project_id}/vault/resource_instances/action { "tags" : [ { "key" : "string", "values" : [ "vaule" ] } ], "action" : "filter" }
响应示例
状态码: 200
OK
{ "total_count" : 7, "resources" : [ { "resource_id" : "e54f7854-8de8-4f98-acf1-65f330bfe877", "resource_name" : "vault-7698-api-test", "resource_detail" : { "vault" : { "id" : "e54f7854-8de8-4f98-acf1-65f330bfe877", "name" : "vault-7698-api-test", "resources" : [ ], "provider_id" : "0daac4c5-6707-4851-97ba-169e36266b66", "created_at" : "2023-04-21T08:20:43.022+00:00", "project_id" : "667230ba418f48f1996329f174693053", "enterprise_project_id" : 0, "auto_bind" : false, "bind_rules" : { }, "auto_expand" : false, "smn_notify" : true, "threshold" : 80, "user_id" : "0ae13f012b80d2d81f11c0129285d34b", "billing" : { "allocated" : 0, "cloud_type" : "public", "consistent_level" : "crash_consistent", "charging_mode" : "pre_paid", "order_id" : "CS23042116192E6CZ", "product_id" : "00301-231151-0--0", "protect_type" : "backup", "object_type" : "server", "spec_code" : "vault.backup.server.normal", "used" : 0, "status" : "available", "size" : 100 }, "tags" : [ ] } }, "tags" : [ ] } ] }
状态码
状态码 |
描述 |
---|---|
200 |
OK |
400 |
Bad Request |
错误码
请参见错误码。