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. Obtained by calling the corresponding IAM API. If the request is successfully processed, the value of X-Subject-Token included in the response header is the token value. |
| 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. |
| 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. The default value is 0. |
| 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 this function. |
| Parameter | Mandatory | Type | Description |
|---|---|---|---|
| cloud_type | No | String | Cloud platform Enumeration values:
|
| consistent_level | Yes | String | Backup specifications |
| object_type | Yes | String | Object type. Possible values are server (cloud servers), disk (EVS disks), and turbo (SFS Turbo file systems). |
| protect_type | Yes | String | Operation type Enumeration values:
|
| size | Yes | Integer | Capacity, in GB Minimum: 1 Maximum: 10485760 |
| charging_mode | No | String | Billing mode. Possible values are post_paid (pay-per-use) or pre_paid (yearly/monthly packages). The value defaults to post_paid. Default: post_paid Enumeration values:
|
| period_type | No | String | Package type. This parameter is mandatory if charging_mode is set to pre_paid. Possible values are year (yearly) or monthly (month). Enumeration values:
|
| 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. 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 |
| extra_info | No | BillbingCreateExtraInfo object | Extended information for creating a vault |
| Parameter | Mandatory | Type | Description |
|---|---|---|---|
| combined_order_id | No | String | ID of the application for creating vaults in combination. This parameter is mandatory when creating vaults in combination. |
| combined_order_ecs_num | No | Integer | Number of items in the application for creating vaults in the combination mode. This parameter is mandatory when creating vaults in the combination mode. |
| 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. Possible values are as follows: OS::Nova::Server, OS::Cinder::Volume, OS::Ironic::BareMetalServer, OS::Native::Server, and OS::Sfs::Turbo |
| name | No | String | Resource name Minimum: 0 Maximum: 255 |
| Parameter | Mandatory | Type | Description |
|---|---|---|---|
| exclude_volumes | No | Array of strings | ID of the disk that is excluded from the backup. This parameter is used only when there are VM disk backups. |
| include_volumes | No | Array of ResourceExtraInfoIncludeVolumes objects | Disk to be backed up |
| Parameter | Mandatory | Type | Description |
|---|---|---|---|
| id | Yes | String | EVS disk ID. Only UUID is supported. |
| os_version | No | String | OS type |
| Parameter | Mandatory | Type | Description |
|---|---|---|---|
| tags | No | Array of Tag objects | Filters automatically associated resources by tag. |
| Parameter | Mandatory | Type | Description |
|---|---|---|---|
| key | Yes | String | Key. It consists of up to 36 characters. It cannot be an empty string. Spaces before and after a key will be deprecated. It cannot contain ASCII (0-31) or the following characters: =*<>,|/ It can contain only Chinese characters, letters, digits, hyphens, and underscores. |
| value | No | String | Value. The value of this parameter 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 deprecated. It cannot contain ASCII (0-31) or the following characters: =*<>,|/ It can contain only Chinese characters, letters, digits, hyphens, and underscores. |
Response Parameters
Status code: 200
| Parameter | Type | Description |
|---|---|---|
| vault | Vault object | Objects returned after the query by a vault |
| Parameter | Type | Description |
|---|---|---|
| billing | Billing object | Operation info |
| 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 | Vault type |
| resources | Array of ResourceResp objects | Vault resources |
| tags | Array of Tag objects | Vault tags |
| enterprise_project_id | String | Enterprise project ID. The default value is 0. |
| auto_bind | Boolean | Specifies whether automatic association is enabled. The default value is false, indicating that automatic association is disabled. |
| bind_rules | VaultBindRules object | Association rule |
| user_id | String | User ID |
| created_at | String | Creation time, such as 2020-02-05T10:38:34.209782 |
| auto_expand | Boolean | Whether to enable auto capacity expansion for the vault. Only pay-per-use vaults support this function. |
| Parameter | Type | Description |
|---|---|---|
| allocated | Integer | Allocated capacity, in MB. |
| charging_mode | String | Creation mode Enumeration values:
|
| cloud_type | String | Cloud platform Enumeration values:
|
| consistent_level | String | Backup specifications |
| object_type | String | Object type. Possible values are server (cloud servers), disk (EVS disks), and turbo (SFS Turbo file systems). |
| order_id | String | Order ID |
| product_id | String | Product ID |
| protect_type | String | Protection type Enumeration values:
|
| size | Integer | Capacity, in GB Minimum: 1 Maximum: 10485760 |
| spec_code | String | Specification code Enumeration values:
|
| 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 | 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 Minimum: 0 Maximum: 255 |
| protect_status | String | Protection status Enumeration values:
|
| size | Integer | Allocated capacity for the associated resource, in GB |
| type | String | Type of the resource to be backed up. Possible values are as follows: OS::Nova::Server, OS::Cinder::Volume, OS::Ironic::BareMetalServer, OS::Native::Server, and OS::Sfs::Turbo |
| backup_size | Integer | Backup size |
| backup_count | Integer | Number of backups |
| Parameter | Type | Description |
|---|---|---|
| exclude_volumes | Array of strings | ID of the disk that is excluded from the backup. This parameter is used only when there are VM disk backups. |
| include_volumes | Array of ResourceExtraInfoIncludeVolumes objects | Disk to be backed up |
| Parameter | Type | Description |
|---|---|---|
| id | String | EVS disk ID. Only UUID is supported. |
| os_version | String | OS type |
| Parameter | Type | Description |
|---|---|---|
| tags | Array of Tag objects | Filters automatically associated resources by tag. |
| Parameter | Type | Description |
|---|---|---|
| key | String | Key. It consists of up to 36 characters. It cannot be an empty string. Spaces before and after a key will be deprecated. It cannot contain ASCII (0-31) or the following characters: =*<>,|/ It can contain only Chinese characters, letters, digits, hyphens, and underscores. |
| value | String | Value. The value of this parameter 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 deprecated. It cannot contain ASCII (0-31) or the following characters: =*<>,|/ It can contain only Chinese characters, letters, digits, hyphens, and underscores. |
Status code: 400
| Parameter | Type | Description |
|---|---|---|
| error_code | String | For details, see Error Codes. |
| error_msg | String | Error message |
Example Requests
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" : {
"include_volumes" : [ {
"id" : "73ee8446-bce7-4371-9650-b440b5f4c1d0",
"os_version" : "CentOS 7.6 64bit"
} ]
},
"id" : "23a320a5-3efd-4568-b1aa-8dd9183cc64c",
"type" : "OS::Nova::Server"
} ],
"tags" : [ {
"key" : "key01",
"value" : "value01"
} ],
"enterprise_project_id" : "0"
}
} 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.071232",
"project_id" : "fc347bc64ccd4589ae52e4f44b7433c7",
"resources" : [ {
"name" : "ecs-b977-0002",
"backup_size" : 0,
"protect_status" : "available",
"backup_count" : 0,
"extra_info" : {
"include_volumes" : [ {
"os_version" : "CentOS 7.6 64bit",
"id" : "73ee8446-bce7-4371-9650-b440b5f4c1d0"
} ]
},
"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.
Last Article: Vaults
Next Article: Querying a Specified Vault
Did this article solve your problem?
Thank you for your score!Your feedback would help us improve the website.