Creating a Vault¶
Function¶
This API is used to create a vault.
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 | User-defined vault description Minimum: 0 Maximum: 64 |
name | Yes | String | Vault name Minimum: 1 Maximum: 64 |
resources | Yes | Array of ResourceCreate objects | Associated resources. Set this parameter to [] if no resources are associated when creating a vault. Array Length: 0 - 255 |
tags | No | Array of Tag objects | Tag list This list cannot be an empty list. The list can contain up to 20 keys. Keys in this list must be unique. |
auto_bind | No | Boolean | Whether automatic association is supported |
bind_rules | No | VaultBindRules object | Rules for automatic association |
Parameter | Mandatory | Type | Description |
---|---|---|---|
cloud_type | No | String | Cloud type, which is public |
consistent_level | Yes | String | Vault specification, which is crash_consistent by default (crash consistent backup) |
object_type | Yes | String | Object type, which can be server, disk, or turbo |
protect_type | Yes | String | Protection type, which can be backup or replication |
size | Yes | Integer | Capacity, in GB Minimum: 10 Maximum: 10485760 |
charging_mode | No | String | Billing mode, which is post_paid Default: post_paid |
is_auto_renew | No | Boolean | Whether to automatically renew the subscription after expiration. By default, it is not renewed. Default: false |
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. Default: false |
console_url | No | String | Redirection URL Minimum: 1 Maximum: 255 |
Parameter | Mandatory | Type | Description |
---|---|---|---|
extra_info | No | ResourceExtraInfo object | Additional 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, or OS::Sfs::Turbo |
name | No | String | Resource name Minimum: 0 Maximum: 255 |
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 the following characters: ASCII (0-31), equal signs (=), asterisks ( It can contain only letters, digits, hyphens (-), and underscores (_). |
value | No | 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 the following characters: ASCII (0-31), equal signs (=), asterisks ( It can contain only letters, digits, hyphens (-), and underscores (_). |
Parameter | Mandatory | Type | Description |
---|---|---|---|
tags | No | Array of BindRulesTags objects | Filters automatically associated resources by tag. |
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, underscores (_), and hyphens (-). |
value | No | String | The value cannot contain non-printable ASCII characters (0-31) and the following characters: =*<>,|/ The value can contain only letters, digits, underscores (_), and hyphens (-). |
Response Parameters¶
Status code: 200
Parameter | Type | Description |
---|---|---|
vault | VaultCreateResource object | Objects returned after a vault query |
Parameter | Type | Description |
---|---|---|
billing | Billing object | Operations information |
description | String | User-defined vault description Minimum: 0 Maximum: 255 |
id | String | Vault ID |
name | String | Vault name Minimum: 1 Maximum: 64 |
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 |
auto_bind | Boolean | Whether to enable automatic association. Its default value is false (not enable). |
bind_rules | VaultBindRules object | Association rules |
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. |
Parameter | Type | Description |
---|---|---|
allocated | Integer | Allocated capacity, in GB. |
charging_mode | String | Billing mode, which is post_paid |
cloud_type | String | Cloud type, which is public |
consistent_level | String | Vault specification, which is crash_consistent by default (crash consistent backup) |
object_type | String | Object type, which can be server, disk, or turbo |
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 Minimum: 1 Maximum: 10485760 |
spec_code | String | Specification code 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 Enumeration values:
|
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 |
Parameter | Type | Description |
---|---|---|
extra_info | ResourceExtraInfo object | Additional information of the resource |
id | String | ID of the resource to be backed up |
name | String | Name of the resource to be backed up Minimum: 0 Maximum: 255 |
protect_status | String | Protection status Enumeration values:
|
size | Integer | Allocated capacity for the associated resources, in GB |
type | String | Type of the resource to be backed up, which can be OS::Nova::Server, OS::Cinder::Volume, or OS::Sfs::Turbo |
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 the following characters: ASCII (0-31), equal signs (=), asterisks ( 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 the following characters: ASCII (0-31), equal signs (=), asterisks ( It can contain only letters, digits, hyphens (-), and underscores (_). |
Parameter | Type | Description |
---|---|---|
tags | Array of BindRulesTags objects | Filters automatically associated resources by tag. |
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, underscores (_), and hyphens (-). |
value | String | The value cannot contain non-printable ASCII characters (0-31) and the following characters: =*<>,|/ The value can contain only letters, digits, underscores (_), and hyphens (-). |
Status code: 400
Parameter | Type | Description |
---|---|---|
error_code | String | For details, see Error Codes. |
error_msg | String | Error message |
Example Requests¶
Creating a 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 disk backup vault (with mandatory parameters only)
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.