Creating a Vault
Function
Creating a Vault
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}/vaults
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
project_id |
Yes |
String |
Project ID |
Request Parameters
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
X-Auth-Token |
Yes |
String |
User token The token can be obtained by calling the IAM API used to obtain a user token. The value of X-Subject-Token in the response header is the user token. |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
vault |
Yes |
VaultCreate object |
Parameters for creating a vault |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
backup_policy_id |
No |
String |
Backup policy ID. If the value of this parameter is null, automatic backup is not performed. |
billing |
Yes |
BillingCreate object |
Parameter information for creation |
description |
No |
String |
Description |
name |
Yes |
String |
Vault name |
resources |
Yes |
Array of ResourceCreate objects |
Associated resources. Set this parameter to [] if no resources are associated when creating a vault. |
tags |
No |
Array of Tag objects |
Tag list. This list cannot be an empty list. The list can contain up to 10 keys.Keys in this list must be unique. |
enterprise_project_id |
No |
String |
Enterprise project ID |
auto_bind |
No |
Boolean |
Whether automatic association is supported |
bind_rules |
No |
VaultBindRules object |
Rules for automatic association |
auto_expand |
No |
Boolean |
Whether to enable auto capacity expansion for the vault. Only pay-per-use vaults support auto capacity expansion. |
threshold |
No |
Integer |
Vault capacity threshold. If the vault capacity usage exceeds this threshold, a notification will or will not be sent based on the smn_notify parameter configured. Default value: 80 Maximum value: 100 Minimum value: 1 |
smn_notify |
No |
Boolean |
Exception notification The default value is true. |
backup_name_prefix |
No |
String |
Backup name prefix. If configured, the names of all automatic backups generated for the vault will use this prefix. |
demand_billing |
No |
Boolean |
Whether the vault capacity can be exceeded. The parameter value can be set to true only when a yearly/monthly vault is created. |
sys_lock_source_service |
No |
String |
Used to identify the SMB service. You can set it to SMB or leave it empty. |
locked |
No |
Boolean |
Whether the vault is locked. A locked vault cannot be unlocked. |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
cloud_type |
No |
String |
Cloud type, which can be public or hybrid |
consistent_level |
Yes |
String |
Vault specification, which can be crash_consistent (crash consistent backup) or app_consistent (application consistency backup) |
object_type |
Yes |
String |
Object type, which can be server, disk, turbo, workspace, vmware, rds, or file |
protect_type |
Yes |
String |
Protection type, which can be backup or replication |
size |
Yes |
Integer |
Capacity, in GB |
charging_mode |
No |
String |
Billing mode, which can be post_paid (pay-per-use) or pre_paid (yearly/monthly). The default value is post_paid. |
period_type |
No |
String |
Package type. This parameter is mandatory if charging_mode is set to pre_paid. Possible values are year (yearly) or month (monthly). |
period_num |
No |
Integer |
Required duration for the package. This parameter is mandatory if charging_mode is set to pre_paid. |
is_auto_renew |
No |
Boolean |
Whether to automatically renew the subscription after expiration. By default, it is not renewed. |
is_auto_pay |
No |
Boolean |
Whether the fee is automatically deducted from the customer's account balance after an order is submitted. The non-automatic payment mode is used by default. |
console_url |
No |
String |
Redirection URL |
is_multi_az |
No |
Boolean |
Multi-AZ attribute of a vault. The default value is false. |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
extra_info |
No |
ResourceExtraInfo object |
Extra information of the resource |
id |
Yes |
String |
ID of the resource to be backed up |
type |
Yes |
String |
Type of the resource to be backed up, which can be OS::Nova::Server, OS::Cinder::Volume, OS::Ironic::BareMetalServer, OS::Native::Server, OS::Sfs::Turbo, or OS::Workspace::DesktopV2 |
name |
No |
String |
Backup name |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
exclude_volumes |
No |
Array of strings |
IDs of the disks that will not be backed up. This parameter is used when servers are added to a vault, which include all server disks. But some disks do not need to be backed up. Or in case that a server was previously added and some disks on this server do not need to be backed up. |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
key |
Yes |
String |
Key It can contain a maximum of 36 characters. It cannot be an empty string. Spaces before and after a key will be discarded. It cannot contain non-printable ASCII characters (0–31) and the following characters: =*<>,|/ It can contain only letters, digits, hyphens (-), and underscores (_). |
value |
Yes |
String |
Value It is mandatory when a tag is added and optional when a tag is deleted. It can contain a maximum of 43 characters. It can be an empty string. Spaces before and after a value will be discarded. It cannot contain non-printable ASCII characters (0–31) and the following characters: =*<>,|/ It can contain only letters, digits, hyphens (-), underscores (_), and periods (.). |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
tags |
No |
Array of BindRulesTags objects |
Filters automatically associated resources by tag. Minimum length: 0 characters Maximum length: 5 characters |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
key |
Yes |
String |
The key cannot contain non-printable ASCII characters (0–31) and the following characters: =*<>,|/ The key can contain only letters, digits, hyphens (-), and underscores (_). |
value |
Yes |
String |
The value cannot contain non-printable ASCII characters (0–31) and the following characters: =*<>,|/ The value can contain only letters, digits, periods (.), hyphens (-), and underscores (_). |
Response Parameters
Status code: 200
Parameter |
Type |
Description |
---|---|---|
vault |
VaultCreateResource object |
Objects returned after a vault query |
Parameter |
Type |
Description |
---|---|---|
billing |
Billing object |
Operation info |
description |
String |
User-defined vault description |
id |
String |
Vault ID |
name |
String |
Vault name |
project_id |
String |
Project ID |
provider_id |
String |
ID of the vault resource type |
resources |
Array of ResourceResp objects |
Vault resources |
tags |
Array of Tag objects |
Vault tags |
enterprise_project_id |
String |
Enterprise project ID. Its default value is 0. |
auto_bind |
Boolean |
Indicates whether automatic association is enabled. Its default value is false (not enabled). |
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 auto capacity expansion for the vault. Only pay-per-use vaults support auto capacity expansion. |
smn_notify |
Boolean |
Exception notification function |
threshold |
Integer |
Vault capacity threshold. If the vault capacity usage exceeds this threshold, an exception notification is sent. |
backup_name_prefix |
String |
Backup name prefix |
demand_billing |
Boolean |
Whether the vault capacity can be exceeded. |
cbc_delete_count |
Integer |
Vault deletion count |
frozen |
Boolean |
Whether the vault is frozen |
sys_lock_source_service |
String |
Used to identify the SMB service. You can set the parameter to SMB or leave it blank. |
locked |
Boolean |
Whether the vault is locked. A locked vault cannot be unlocked. |
Parameter |
Type |
Description |
---|---|---|
allocated |
Integer |
Allocated capacity, in GB. |
charging_mode |
String |
Billing mode, which can be post_paid (pay-per-use) or pre_paid (yearly/monthly). The default value is post_paid. |
cloud_type |
String |
Cloud type, which can be public or hybrid |
consistent_level |
String |
Vault specification, which can be crash_consistent (crash consistent backup) or app_consistent (application consistency backup) |
object_type |
String |
Object type, which can be server, disk, turbo, workspace, vmware, rds, or file |
order_id |
String |
Order ID |
product_id |
String |
Product ID |
protect_type |
String |
Protection type, which can be backup or replication |
size |
Integer |
Capacity, in GB |
spec_code |
String |
Specification codeServer 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 |
storage_unit |
String |
Name of the bucket for the vault |
used |
Integer |
Used capacity, in MB. |
frozen_scene |
String |
Scenario when an account is frozen |
is_multi_az |
Boolean |
Multi-AZ attribute of a vault |
Parameter |
Type |
Description |
---|---|---|
extra_info |
ResourceExtraInfo object |
Extra information of the resource |
id |
String |
ID of the resource to be backed up |
name |
String |
Name of the resource to be backed up |
protect_status |
String |
Protection status |
size |
Integer |
Allocated capacity for the associated resource, in GB |
type |
String |
Type of the resource to be backed up, which can be OS::Nova::Server, OS::Cinder::Volume, OS::Ironic::BareMetalServer, OS::Native::Server, OS::Sfs::Turbo, or OS::Workspace::DesktopV2 |
backup_size |
Integer |
Backup size |
backup_count |
Integer |
Number of backups |
Parameter |
Type |
Description |
---|---|---|
exclude_volumes |
Array of strings |
IDs of the disks that will not be backed up. This parameter is used when servers are added to a vault, which include all server disks. But some disks do not need to be backed up. Or in case that a server was previously added and some disks on this server do not need to be backed up. |
Parameter |
Type |
Description |
---|---|---|
key |
String |
Key It can contain a maximum of 36 characters. It cannot be an empty string. Spaces before and after a key will be discarded. It cannot contain non-printable ASCII characters (0–31) and the following characters: =*<>,|/ It can contain only letters, digits, hyphens (-), and underscores (_). |
value |
String |
Value It is mandatory when a tag is added and optional when a tag is deleted. It can contain a maximum of 43 characters. It can be an empty string. Spaces before and after a value will be discarded. It cannot contain non-printable ASCII characters (0–31) and the following characters: =*<>,|/ It can contain only letters, digits, hyphens (-), underscores (_), and periods (.). |
Parameter |
Type |
Description |
---|---|---|
tags |
Array of BindRulesTags objects |
Filters automatically associated resources by tag. Minimum length: 0 characters Maximum length: 5 characters |
Parameter |
Type |
Description |
---|---|---|
key |
String |
The key cannot contain non-printable ASCII characters (0–31) and the following characters: =*<>,|/ The key can contain only letters, digits, hyphens (-), and underscores (_). |
value |
String |
The value cannot contain non-printable ASCII characters (0–31) and the following characters: =*<>,|/ The value can contain only letters, digits, periods (.), hyphens (-), and underscores (_). |
Parameter |
Type |
Description |
---|---|---|
cloudServiceId |
String |
Cloud service ID |
orderId |
String |
Order ID |
subscribeResult |
Integer |
Subscription result. 1: succeeded; 0: Failed |
resourceId |
String |
ID of a pre-generated yearly/monthly resource |
Status code: 400
Parameter |
Type |
Description |
---|---|---|
error_code |
String |
For details, see Error Codes. |
error_msg |
String |
Error message |
Example Requests
-
Creating a 100-GB pay-per-use cloud server backup vault, associating resources, and adding tags
POST https://{endpoint}/v3/f841e01fd2b14e7fa41b6ae7aa6b0594/vaults { "vault" : { "backup_policy_id" : "6dd81d7d-a4cb-443e-b8ed-1af0bd3a261b", "billing" : { "cloud_type" : "public", "consistent_level" : "crash_consistent", "object_type" : "server", "protect_type" : "backup", "size" : 100, "charging_mode" : "post_paid", "is_auto_renew" : false, "is_auto_pay" : false, "console_url" : "https://console.demo.com/cbr/?agencyId=97fcd896b7914cb98f553a087232e243®ion=testregion/cbr/manager/csbs/vaultList" }, "description" : "vault_description", "name" : "vault_name", "resources" : [ { "extra_info" : { "exclude_volumes" : [ "43a320a5-3efd-4568-b1aa-8dd9183cc64b" ] }, "id" : "23a320a5-3efd-4568-b1aa-8dd9183cc64c", "type" : "OS::Nova::Server" } ], "tags" : [ { "key" : "key01", "value" : "value01" } ], "enterprise_project_id" : "0" } }
-
Creating a 40-GB pay-per-use cloud disk backup vault
POST https://{endpoint}/v3/f841e01fd2b14e7fa41b6ae7aa6b0594/vaults { "vault" : { "billing" : { "consistent_level" : "crash_consistent", "object_type" : "disk", "protect_type" : "backup", "size" : 40, "charging_mode" : "post_paid", "is_auto_renew" : false, "is_auto_pay" : false }, "name" : "test", "resources" : [ ] } }
Example Responses
Status code: 200
OK
{ "vault" : { "provider_id" : "0daac4c5-6707-4851-97ba-169e36266b66", "description" : "vault_description", "tags" : [ { "value" : "value01", "key" : "key01" } ], "enterprise_project_id" : 0, "auto_bind" : false, "id" : "ad7627ae-5b0b-492e-b6bd-cd809b745197", "user_id" : "38d65be2ecd840d19046e239e841a734", "name" : "vault_name", "billing" : { "status" : "available", "used" : 0, "protect_type" : "backup", "object_type" : "server", "allocated" : 40, "spec_code" : "vault.backup.server.normal", "size" : 100, "cloud_type" : "public", "consistent_level" : "crash_consistent", "charging_mode" : "post_paid" }, "created_at" : "2019-05-23T12:51:10.071+00:00", "project_id" : "fc347bc64ccd4589ae52e4f44b7433c7", "resources" : [ { "name" : "ecs-b977-0002", "backup_size" : 0, "protect_status" : "available", "backup_count" : 0, "extra_info" : { "exclude_volumes" : [ "1855eb9a-2b5e-4938-a9f0-aea08b6f9243", "5a51e8b3-2f65-4045-896f-f8ffae14b064" ] }, "type" : "OS::Nova::Server", "id" : "23a320a5-3efd-4568-b1aa-8dd9183cc64c", "size" : 40 } ] } }
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