Querying Vault Resources
Function
This API is used to filter resources by tag.
Tag Management Service (TMS) uses this API to filter and list resources of each service by tag. These services must have the query capabilities.
Debugging
You can debug this API through automatic authentication in API Explorer or use the SDK sample code generated by API Explorer.
URI
POST /v3/{project_id}/vault/resource_instances/action
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
project_id |
Yes |
String |
Project ID |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
enterprise_project_id |
No |
String |
Enterprise project ID. |
Request Parameters
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
without_any_tag |
No |
Boolean |
If this parameter is set to true, all resources without tags are queried. In this case, the tag, not_tags, tags_any, and not_tags_any fields are ignored. |
tags |
No |
Array of TagsReq objects |
List of included tags. Backups with these tags will be filtered. This list cannot be an empty list. The list can contain up to 10 keys. Keys in this list must be unique. The response returns resources containing any tags in this list. Keys in this list are in an AND relationship while values in each key-value structure is in an OR relationship. If no tag filtering condition is specified, full data is returned. |
tags_any |
No |
Array of TagsReq objects |
List of tags. Backups with any tags in this list will be filtered. This list cannot be an empty list. The list can contain up to 10 keys. Keys in this list must be unique. The response returns resources containing any tags in this list. Keys in this list are in an OR relationship while values in each key-value structure is in an OR relationship. If no tag filtering condition is specified, full data is returned. |
not_tags |
No |
Array of TagsReq objects |
List of excluded tags. Backups without these tags will be filtered. This list cannot be an empty list. The list can contain up to 10 keys. Keys in this list must be unique. The response returns resources containing no tags in this list. Keys in this list are in an AND relationship while values in each key-value structure is in an OR relationship. If no tag filtering condition is specified, full data is returned. |
not_tags_any |
No |
Array of TagsReq objects |
List of tags. Backups without any tags in this list will be filtered. This list cannot be an empty list. The list can contain up to 10 keys. Keys in this list must be unique. The response returns resources without any tags in this list. Keys in this list are in an OR relationship while values in each key-value structure is in an OR relationship. If no tag filtering condition is specified, full data is returned. |
sys_tags |
No |
Array of SysTags objects |
Only users with the op_service permission can use this field to filter resources. Currently, TMS calls can only one tag structure. key: _sys_enterprise_project_id values: List of enterprise project IDs Currently, key contains only one value. 0 indicates the default enterprise project. sys_tags and tenant tag filtering conditions (tags, tags_any, not_tags, and not_tags_any) cannot be used at the same time. If no sys_tags exists, use other tag APIs for filtering. If no tag filtering condition is specified, full data is returned. This list cannot be an empty list. |
limit |
No |
String |
Query count. (This parameter is not displayed when action is set to count.) If action is set to filter, the value defaults to 1000. The value ranges from 1 to 1000. If you set a value not within this range, an error will be reported. The number of returned records does not exceed the value of limit. |
offset |
No |
String |
Index position. (This parameter is not displayed when action is set to count.) If action is set to filter, the value defaults to 0 and the minimum value of offset is 0. The first record in the query result is the offset+1 record that meets the query criteria. |
action |
Yes |
String |
Operation identifier. Possible values are filter and count. The value filter indicates pagination query. The value count indicates that the total number of query results meeting the search criteria will be returned. |
matches |
No |
Array of Match objects |
Search criteria supported by resources Keys in this list must be unique. Only one key is supported currently. Multiple-key support will be available later. |
cloud_type |
No |
String |
Cloud type. The default value is public. The following types are supported: public: public cloud; hybrid: hybrid cloud |
object_type |
No |
String |
Resource type |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
key |
Yes |
String |
Key It contains a maximum of 127 Unicode characters. A tag key cannot be an empty string. Spaces before and after a key will be deprecated. |
values |
Yes |
Array of strings |
List of values The list can contain up to 10 values. A tag value contains up to 255 Unicode characters. Spaces before and after a key will be deprecated. Values in this list must be unique. Values in this list are in an OR relationship. This list can be empty and each value can be an empty character string. If this list is left blank, it indicates that all values are included. The asterisk (*) is a reserved character in the system. If the value starts with *, it indicates that fuzzy match is performed based on the value following *. The value cannot contain only asterisks. |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
key |
Yes |
String |
Key Key of the system tag, which is obtained from the whitelist and cannot be defined randomly. Currently, only the _sys_enterprise_project_id field is supported, and the corresponding value indicates the enterprise project ID. |
values |
Yes |
Array of strings |
List of values Currently, only the enterprise project ID is used. The default enterprise project ID is 0. |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
key |
Yes |
String |
Key A key can only be set to resource_name, indicating the resource name. |
value |
Yes |
String |
Value A value consists of up to 255 characters If key is set to resource_name, an empty character string indicates exact match and any non-empty string indicates fuzzy match. |
Response Parameters
Status code: 200
Parameter |
Type |
Description |
---|---|---|
resources |
Array of TagResource objects |
List of matched resources (This parameter is not displayed if action is set to count.) |
total_count |
Integer |
Total number of matched resources |
Parameter |
Type |
Description |
---|---|---|
resource_id |
String |
Resource ID, in UUID format. Default value: N/A |
resource_detail |
InstancesResourceDetail object |
Resource details |
tags |
Array of Tag objects |
Tag list If there is no tag, an empty array is used by default. |
resource_name |
String |
Name of the resource to be backed up. The value can contain a maximum of 255 characters. Default value: N/A |
sys_tags |
Array of SysTag objects |
Only users with the op_service permission can obtain this field. Currently, only resource_tag is included. key: _sys_enterprise_project_id value: enterprise project ID. Value 0 indicates the default enterprise project. This field is not returned in the non-op_service scenario. |
Parameter |
Type |
Description |
---|---|---|
billing |
Billing object |
Operation info |
description |
String |
Custom description of the vault. The value cannot contain angle brackets (< or >) and can contain a maximum of 255 characters. |
id |
String |
Vault ID. Range: N/A |
name |
String |
Vault name. The value can contain a maximum of 64 characters, including letters, digits, underscores (_), and hyphens (-). |
project_id |
String |
Project ID. For details about how to obtain the project ID, see Obtaining a Project ID. |
provider_id |
String |
Vault resource type. The value can be: 0daac4c5-6707-4851-97ba-169e36266b66: cloud server d1603440-187d-4516-af25-121250c7cc97: EVS disk 3f3c3220-245c-4805-b811-758870015881, SFS Turbo a13639de-00be-4e94-af30-26912d75e4a2: VMware backup on the hybrid cloud |
resources |
Array of ResourceResp objects |
Vault resources |
tags |
Array of Tag objects |
Vault tags |
enterprise_project_id |
String |
Enterprise project ID. For details, see Obtaining an Enterprise Project ID. |
auto_bind |
Boolean |
Whether automatic association is supported. The value can be: |
bind_rules |
VaultBindRules object |
Association rule |
user_id |
String |
User ID |
created_at |
String |
Creation time, for example, 2020-02-05T10:38:34.209782 |
auto_expand |
Boolean |
Whether to enable automatic capacity expansion (supported for pay-per-use vaults only). The value can be true or false. true: Automatic capacity expansion is supported. false: Automatic capacity expansion is not supported. |
smn_notify |
Boolean |
Whether to send SMN notifications. The value can be: |
threshold |
Integer |
Vault capacity threshold. If the vault usage exceeds this threshold and smn_notify is true, a notification will be sent. Range: [1,100] |
sys_lock_source_service |
String |
SMB identifier. The value can be SMB or an empty string. SMB: CBR is called as a service for SMB. An empty string: CBR is called as a common service. |
locked |
Boolean |
Whether the vault is locked. A locked vault cannot be unlocked. For details about backup locking, see Enabling Backup Locking. The options are as follows: |
availability_zone |
String |
Availability zone of the vault. The value can contain a maximum of 32 characters. |
Parameter |
Type |
Description |
---|---|---|
allocated |
Integer |
Allocated capacity, in GB. Range: 10 to 10485760 |
charging_mode |
String |
Billing mode. post_paid: pay-per-use; pre_paid: yearly/monthly |
cloud_type |
String |
Cloud type. The following types are supported: public: public cloud; hybrid: hybrid cloud |
consistent_level |
String |
Vault specifications. app_consistent: application consistency; crash_consistent: crash consistency. |
object_type |
String |
Object type. The value can be server, disk, turbo, workspace, vmware, rds, or file. server: cloud server; disk: EVS disk; turbo: file system; workspace: Workspace; vmware: VMware; rds: RDS; file: file |
order_id |
String |
Order ID, in UUID format. |
product_id |
String |
Product ID, in UUID format. |
protect_type |
String |
Protection type. The value can be: backup or replication |
size |
Integer |
Capacity, in GB. Range: 10 to 10485760 |
spec_code |
String |
Specification code. The value can be: Server backup vault: vault.backup.server.normal; Disk backup vault: vault.backup.volume.normal; File system backup vault: vault.backup.turbo.normal |
status |
String |
Vault status. The value can be: |
storage_unit |
String |
Bucket name. Range: N/A |
used |
Integer |
Used capacity, in MB. Range: N/A |
frozen_scene |
String |
Freezing scenario. The value can be: |
is_multi_az |
Boolean |
Specifies whether the vault has the multi-AZ attribute, that is, whether the underlying backup is a multi-AZ backup. The value can be: |
Parameter |
Type |
Description |
---|---|---|
extra_info |
ResourceExtraInfo object |
Extra information of the resource |
id |
String |
ID of the resource to be backed up. The resource must have been associated with the vault and can be backed up. For details about how to obtain the ID, see Querying Information About the Resources Associated with a Vault and Querying Protectable Resources. |
name |
String |
Name of the resource to be backed up. The value can contain a maximum of 255 characters. |
protect_status |
String |
Protection status. The value can be: |
size |
Integer |
Allocated capacity for the associated resources, in GB. Range: N/A |
type |
String |
Type of the resource to be backed up: OS::Nova::Server: ECS; OS::Cinder::Volume: EVS disks; OS::Ironic::BareMetalServer: Bare Metal Servers; OS::Sfs::Turbo: SFS Turbo file systems; OS::Workspace::DesktopV2: Workspaces |
backup_size |
Integer |
Backup replica size in GB. Range: N/A |
backup_count |
Integer |
Number of replicas. Range: N/A |
Parameter |
Type |
Description |
---|---|---|
exclude_volumes |
Array of strings |
ID of the volume that does not need to be backed up. This parameter is valid only for multi-disk backup. It specifies the disks that do not need to be backed up. When a disk is newly attached to a VM, the volume that does not need to be backed up can also be excluded. Default value: N/A |
Parameter |
Type |
Description |
---|---|---|
tags |
Array of BindRulesTags objects |
Resources automatically filtered by tag. Minimum length: 0 characters Maximum length: 5 characters |
Parameter |
Type |
Description |
---|---|---|
key |
String |
The key cannot contain the following characters: ASCII (0-31), equal signs (=), asterisks (*), left angle brackets (<), right angle brackets (>), backslashes (), commas (,), vertical bars (|), and slashes (/). Default value: N/A The key can contain only letters, digits, hyphens (-), and underscores (). |
value |
String |
The value cannot contain the following characters: ASCII (0-31), equal signs (=), asterisks (*), left angle brackets (<), right angle brackets (>), backslashes (), commas (,), vertical bars (|), and slashes (/). Default value: N/A The value can contain only letters, digits, hyphens (-), underscores (), and periods (.). |
Parameter |
Type |
Description |
---|---|---|
key |
String |
Tag key. Default value: N/A A tag key consists of up to 36 characters. It cannot be an empty string. Spaces before and after a key will be discarded. The key cannot contain the following characters: ASCII (0-31), equal signs (=), asterisks (*), left angle brackets (<), right angle brackets (>), backslashes (), commas (,), vertical bars (|), and slashes (/). It can contain only letters, digits, hyphens (-), and underscores (). |
value |
String |
Tag value. Default value: N/A It is mandatory when a tag is added and optional when a tag is deleted. It consists of up to 43 characters. It can be an empty string. Spaces before and after a value will be discarded. The value cannot contain the following characters: ASCII (0-31), equal signs (=), asterisks (*), left angle brackets (<), right angle brackets (>), backslashes (), commas (,), vertical bars (|), and slashes (/). The value can contain only letters, digits, hyphens (-), underscores (), and periods (.). |
Parameter |
Type |
Description |
---|---|---|
key |
String |
Key Key of the system tag, which is obtained from the whitelist and cannot be defined randomly. Currently, only the _sys_enterprise_project_id field is supported, and the corresponding value indicates the enterprise project ID. |
value |
String |
Value Currently, only the enterprise project ID is used. The default enterprise project ID is 0. |
Status code: 400
Parameter |
Type |
Description |
---|---|---|
error_code |
String |
For details, see Error Codes. |
error_msg |
String |
Error message |
Example Requests
Querying vault resources by tag
POST https://{endpoint}/v3/{project_id}/vault/resource_instances/action { "tags" : [ { "key" : "string", "values" : [ "value" ] } ], "action" : "filter" }
Example Responses
Status code: 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" : [ ] } ] }
Status Codes
Status Code |
Description |
---|---|
200 |
OK |
400 |
Bad Request |
Error Codes
See Error Codes.
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.See the reply and handling status in My Cloud VOC.
For any further questions, feel free to contact us through the chatbot.
Chatbot