查询存储库资源实例 - ShowVaultResourceInstances
功能介绍
使用标签过滤实例
标签管理服务需要提供按标签过滤各服务实例并汇总显示在列表中,需要各服务提供查询能力
授权信息
账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限。
- 如果使用角色与策略授权,具体权限要求请参见权限和授权项。
 - 如果使用身份策略授权,当前API调用无需身份策略权限。
 
URI
POST /v3/{project_id}/vault/resource_instances/action
| 
        参数  | 
      
        是否必选  | 
      
        参数类型  | 
      
        描述  | 
     
|---|---|---|---|
| 
        project_id  | 
      
        是  | 
      
        String  | 
      
        项目id  | 
     
| 
        参数  | 
      
        是否必选  | 
      
        参数类型  | 
      
        描述  | 
     
|---|---|---|---|
| 
        enterprise_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  | 
      
        云类型,默认为public,支持类型如下。 public:公有云; hybrid: 混合云  | 
     
| 
        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,格式为UUID。默认取值不涉及。  | 
     
| 
        resource_detail  | 
      
        InstancesResourceDetail object  | 
      
        资源详情  | 
     
| 
        tags  | 
      
        Array of Tag objects  | 
      
        标签列表 没有标签默认为空数字。  | 
     
| 
        resource_name  | 
      
        String  | 
      
        待备份资源名称,长度限制:0-255字符。默认取值不涉及。  | 
     
| 
        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  | 
      
        存储库自定义描述信息,不能包含“<”,“>”,最大支持255个字符。  | 
     
| 
        id  | 
      
        String  | 
      
        存储库ID,取值范围不涉及。  | 
     
| 
        name  | 
      
        String  | 
      
        存储库名称,最大支持64字符,只能由中文、字母、数字、“_”、“-”组成。  | 
     
| 
        project_id  | 
      
        String  | 
      
        项目ID。 获取方法请参见"获取项目ID"。  | 
     
| 
        provider_id  | 
      
        String  | 
      
        存储库资源类型ID,取值范围如下: 0daac4c5-6707-4851-97ba-169e36266b66,云服务器。d1603440-187d-4516-af25-121250c7cc97,云硬盘。3f3c3220-245c-4805-b811-758870015881,SFS Turbo。a13639de-00be-4e94-af30-26912d75e4a2,混合云VMware备份。  | 
     
| 
        resources  | 
      
        Array of ResourceResp objects  | 
      
        存储库资源  | 
     
| 
        tags  | 
      
        Array of Tag objects  | 
      
        存储库标签  | 
     
| 
        enterprise_project_id  | 
      
        String  | 
      
        企业项目ID。 获取方法请参见"获取企业项目ID"。  | 
     
| 
        auto_bind  | 
      
        Boolean  | 
      
        功能说明:是否支持自动挂载。 取值范围:  | 
     
| 
        bind_rules  | 
      
        VaultBindRules object  | 
      
        绑定规则  | 
     
| 
        user_id  | 
      
        String  | 
      
        用户id  | 
     
| 
        created_at  | 
      
        String  | 
      
        创建时间,例如:"2020-02-05T10:38:34.209782"  | 
     
| 
        auto_expand  | 
      
        Boolean  | 
      
        功能说明:是否开启存储库自动扩容能力(只支持按需存储库),取值范围:true:支持自动扩容;false:不支持自动扩容。  | 
     
| 
        smn_notify  | 
      
        Boolean  | 
      
        功能说明:是否发送smn通知开关。 取值范围:  | 
     
| 
        threshold  | 
      
        Integer  | 
      
        功能说明:存储库容量阈值,存储库已用容量和总容量的百分比超过该值,如果smn_notify为开,将发送相关通知。 取值范围:[1, 100]。  | 
     
| 
        sys_lock_source_service  | 
      
        String  | 
      
        用于标识SMB服务,支持传入SMB和空。 SMB:标识为SMB服务调用 空字符串:表示为普通服务调用  | 
     
| 
        locked  | 
      
        Boolean  | 
      
        功能说明:用于标识当前存储库是否已锁定,锁定的存储库不支持解锁。 关于备份锁定的详细信息,请参考"开启备份锁定"。 取值范围:  | 
     
| 
        availability_zone  | 
      
        String  | 
      
        存储库可用区信息,最大支持32字符。  | 
     
| 
        参数  | 
      
        参数类型  | 
      
        描述  | 
     
|---|---|---|
| 
        allocated  | 
      
        Integer  | 
      
        已分配容量,单位GB。取值范围:10-10485760。  | 
     
| 
        charging_mode  | 
      
        String  | 
      
        功能说明:计费模式。取值范围:post_paid:按需,pre_paid:包年包月  | 
     
| 
        cloud_type  | 
      
        String  | 
      
        云类型,支持类型如下。 public:公有云; hybrid: 混合云  | 
     
| 
        consistent_level  | 
      
        String  | 
      
        功能描述:存储库规格。取值范围:app_consistent: 应用一致性,crash_consistent: 崩溃一致性。  | 
     
| 
        object_type  | 
      
        String  | 
      
        对象类型,支持"server", "disk", "turbo", "workspace", "vmware", "rds"和"file"共七种。server:云服务器,disk:云硬盘,turbo:文件系统,workspace:云桌面,vmware:VMware,rds:关系型数据库,file:文件。  | 
     
| 
        order_id  | 
      
        String  | 
      
        订单ID,UUID格式。  | 
     
| 
        product_id  | 
      
        String  | 
      
        产品ID,UUID格式。  | 
     
| 
        protect_type  | 
      
        String  | 
      
        保护类型,取值范围如下: backup:备份,replication:复制  | 
     
| 
        size  | 
      
        Integer  | 
      
        容量,单位GB。取值范围:10-10485760。  | 
     
| 
        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属性,即底层备份是否为多AZ备份。 取值范围:  | 
     
| 
        参数  | 
      
        参数类型  | 
      
        描述  | 
     
|---|---|---|
| 
        extra_info  | 
      
        ResourceExtraInfo object  | 
      
        资源附加信息  | 
     
| 
        id  | 
      
        String  | 
      
        待备份资源id,需要该资源已经绑定到该存储库中,且属于可备份的状态。 获取方法请参见"查询存储库绑定资源信息","查询资源可保护性"。  | 
     
| 
        name  | 
      
        String  | 
      
        待备份资源名称,长度限制:0-255字符。  | 
     
| 
        protect_status  | 
      
        String  | 
      
        保护状态,取值范围如下:  | 
     
| 
        size  | 
      
        Integer  | 
      
        资源已分配容量,单位为GB,取值范围不涉及。  | 
     
| 
        type  | 
      
        String  | 
      
        待备份资源的类型: OS::Nova::Server:云服务器; OS::Cinder::Volume:云硬盘;OS::Ironic::BareMetalServer:裸金属服务器;OS::Sfs::Turbo:SFS Turbo文件系统;OS::Workspace::DesktopV2:云桌面。  | 
     
| 
        backup_size  | 
      
        Integer  | 
      
        备份副本大小。单位GB。取值范围不涉及。  | 
     
| 
        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" : [ "value" ]
  } ],
  "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  | 
     
错误码
请参见错误码。