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. For details about how to obtain the project ID, see Obtaining a 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, which is used to specify the backup policy for automatic backups. The default value is null. For details about how to obtain the backup policy ID, see Obtaining a Backup Policy ID. |
billing |
Yes |
BillingCreate object |
Billing parameter for creating a vault. |
description |
No |
String |
Description of the vault. It can contain a maximum of 255 characters. |
name |
Yes |
String |
Vault name. The value can contain a maximum of 64 characters, including letters, digits, underscores (_), and hyphens (-). |
resources |
Yes |
Array of ResourceCreate objects |
Resources to be associated with the vault. If there is no need to associate resources during vault creation, enter []. A maximum of 255 resources can be associated. |
tags |
No |
Array of Tag objects |
Tag list. Constraints: The list can contain up to 10 keys. |
enterprise_project_id |
No |
String |
Enterprise project ID. Its default value is 0. For details, see Obtaining an Enterprise Project ID. |
auto_bind |
No |
Boolean |
Whether automatic association is supported. Default value: false. The options are as follows: |
bind_rules |
No |
VaultBindRules object |
Rules for automatic association |
auto_expand |
No |
Boolean |
Whether to enable automatic capacity expansion (supported for pay-per-use vaults only). The default value is false. The value can be true (supporting automatic capacity expansion) or false (not supporting automatic capacity expansion. |
threshold |
No |
Integer |
Vault capacity threshold. If the vault usage exceeds this threshold and smn_notify is true, a notification will be sent. Value range: 1 to 100. The default value is 80. |
smn_notify |
No |
Boolean |
Whether to send SMN notifications. The default value is true. The options are as follows: |
backup_name_prefix |
No |
String |
Backup name prefix. If configured, the names of all automatic backups generated for the vault will use this prefix. It can contain a maximum of 32 characters. |
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 |
SMB service identifier. The value can be SMB or an empty string. By default, this parameter is left blank. SMB: CBR is called as an SMB service. An empty string: CBR is called as a common service. |
locked |
No |
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: |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
cloud_type |
No |
String |
Cloud type. The default value is public. The following types are supported: public: public cloud; hybrid: hybrid cloud |
consistent_level |
Yes |
String |
Vault specifications. app_consistent: application consistency; crash_consistent: crash consistency |
object_type |
Yes |
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 |
protect_type |
Yes |
String |
Protection type. The value can be: backup or replication |
size |
Yes |
Integer |
Resource capacity, in GB. The value ranges from 10 to 10485760. |
charging_mode |
No |
String |
description: |- Billing mode. The default value is post_paid. post_paid: pay-per-use; pre_paid: yearly/monthly |
period_type |
No |
String |
The unit of the subscription term. This parameter is mandatory only when charging_mode is pre_paid. The options are as follows: |
period_num |
No |
Integer |
Subscription term. This parameter is mandatory only when charging_mode is pre_paid. Value range: [1-9] |
is_auto_renew |
No |
Boolean |
Specifies whether to automatically renew the subscription upon expiration. The default value is false. The options are as follows: |
is_auto_pay |
No |
Boolean |
Specifies whether to automatically pay for the order. The default value is false. The options are as follows: |
console_url |
No |
String |
Cloud service console URL. The URL used to switch to the cloud service console to view information after the subscription is complete. (This parameter is used only for manual payment.) |
is_multi_az |
No |
Boolean |
Specifies whether the vault has the multi-AZ attribute, that is, whether the underlying backup is a multi-AZ backup. The default value is false. The options are as follows: |
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. 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. |
type |
Yes |
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 |
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 |
Vaults displayed during a query (displayed only during the creation of pay-per-use vaults). |
orders |
Array of CbcOrderResult objects |
Error code displayed during the creation of a yearly/monthly order. |
retCode |
Integer |
Yearly/monthly subscription result. |
errText |
String |
Error code displayed during the creation of a yearly/monthly vault. |
error_code |
String |
Error code displayed during the creation of a yearly/monthly vault. |
Parameter |
Type |
Description |
---|---|---|
billing |
Billing object |
Operation info |
description |
String |
User-defined vault description |
id |
String |
Vault ID |
name |
String |
Vault name. The value can contain a maximum of 64 characters, including letters, digits, underscores (_), and hyphens (-). |
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. For details, see Obtaining an Enterprise Project ID. |
auto_bind |
Boolean |
Whether automatic association is supported. Default value: false. The options are as follows: |
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 default value is false. The value can be true (supporting automatic capacity expansion) or false (not supporting automatic capacity expansion. |
smn_notify |
Boolean |
Whether to send SMN notifications. The default value is true. The options are as follows: |
threshold |
Integer |
Vault capacity threshold. If the vault usage exceeds this threshold and smn_notify is true, a notification will be sent. Value range: 1 to 100. The default value is 80. |
backup_name_prefix |
String |
Backup name prefix. If configured, the names of all automatic backups generated for the vault will use this prefix. It can contain a maximum of 32 characters. |
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 |
SMB service identifier. The value can be SMB or an empty string. By default, this parameter is left blank. SMB: CBR is called as an SMB service. 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: |
Parameter |
Type |
Description |
---|---|---|
allocated |
Integer |
Allocated capacity, in GB. |
charging_mode |
String |
Billing mode. The default value is post_paid. post_paid: pay-per-use; pre_paid: yearly/monthly |
cloud_type |
String |
Cloud type. The default value is public. 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 |
product_id |
String |
Product ID |
protect_type |
String |
Protection type. The value 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 |
Specifies whether the vault has the multi-AZ attribute, that is, whether the underlying backup is a multi-AZ backup. The default value is false. The options are as follows: |
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 |
size |
Integer |
Allocated capacity for the associated resource, in GB |
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. Unit: GB |
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
Response body for successful creation of a vault. For a pay-per-use vault, only vault is returned. For a yearly/monthly vault, only orders, retCode, errText, and error_code are returned.
{ "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 |
Response body for successful creation of a vault. For a pay-per-use vault, only vault is returned. For a yearly/monthly vault, only orders, retCode, errText, and error_code are returned. |
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