4.4 存储库
4.4.1 创建存储库
功能介绍
创建存储库
调试
您可以在API Explorer中调试该接口。
URI
POST /v3/{project_id}/vaults
表4-102 路径参数
参数 是否必选 参数类型 描述
project_id 是 String 项目ID
请求参数
表4-103 请求 Header 参数
参数 是否必选 参数类型 描述
X-Auth-Token 是 String 用户Token。 通过调用IAM服务 获取用户Token接口获取(响应 消息头中X-Subject-Token的 值)。
表4-104 请求 Body 参数
参数 是否必选 参数类型 描述
vault 是 VaultCreate
object 存储库创建参数
表4-105 VaultCreate
参数 是否必选 参数类型 描述
backup_policy
_id 否 String 备份策略ID,不设置时为null,
不自动备份。
billing 是 BillingCreate
object 创建参数信息
description 否 String 描述
最小长度:0 最大长度:64
name 是 String 存储库名称
最小长度:1 最大长度:64 resources 是 Array of
ResourceRes p objects
绑定的备份资源,未在创建时绑 定资源填[]
tags 否 Array of Tag
objects 标签列表 tags不允许为空列 表。 tags中最多包含10个key。
tags中key不允许重复。
enterprise_pro
ject_id 否 String 企业项目ID,默认为‘0’。
auto_bind 否 Boolean 是否支持自动挂载。
bind_rules 否 VaultBindRul
es object 自动挂载的规则
auto_expand 否 Boolean 是否开启存储库自动扩容能力
(只支持按需存储库)。
表4-106 BillingCreate
参数 是否必选 参数类型 描述
cloud_type 否 String 公有云:public ;混合云:hybrid consistent_lev
el 是 String 规格,崩溃一致性
(crash_consistent)或应用一 致性(app_consistent)
object_type 是 String 对象类型:云服务器
(server),云硬盘(disk),
文件系统(turbo)。
protect_type 是 String 保护类型:备份(backup)、
复制(replication)。
参数 是否必选 参数类型 描述
size 是 Integer 容量,单位GB
最小值:1
最大值:10485760 charging_mod
e 否 String 创建模式,按需:post_paid,
包周期:pre_paid,默认为 post_paid
缺省值:post_paid
period_type 否 String 创建类型,charging_mode为 pre_paid必填,按年(year)或者 按月(month)
枚举值:
● year
● month
period_num 否 Integer 创建类型的数量,
charging_mode为pre_paid必填 is_auto_renew 否 Boolean 到期后是否自动续期,默认不续
期
缺省值:false
is_auto_pay 否 Boolean 是否自动付费,默认为不自动付 费
缺省值:false console_url 否 String 跳转URL
最小长度:1 最大长度:255 extra_info 否 BillbingCreat
eExtraInfo object
创建参数扩展信息
表4-107 BillbingCreateExtraInfo
参数 是否必选 参数类型 描述
combined_ord
er_id 否 String 组合创建ID,组合创建时必传。
combined_ord
er_ecs_num 否 Integer 组合创建数量,组合创建时必 填。
表4-108 ResourceResp
参数 是否必选 参数类型 描述
extra_info 否 ResourceExtr
aInfo object 资源附加信息
id 是 String 待备份资源id
name 是 String 待备份资源名称
最小长度:0 最大长度:255 protect_status 否 String 保护状态
枚举值:
● available
● error
● protecting
● restoring
● removing
size 否 Integer 资源已分配容量,单位为GB
type 是 String 待备份资源的类型: backup_size 否 Integer 副本大小 backup_count 否 Integer 副本数量
表4-109 ResourceExtraInfo
参数 是否必选 参数类型 描述
表4-110 ResourceExtraInfoIncludeVolumes
参数 是否必选 参数类型 描述
id 是 String 卷ID,仅支持uuid
os_version 否 String 操作系统类型
表4-111 VaultBindRules
参数 是否必选 参数类型 描述
tags 否 Array of Tag
objects 按tags过滤自动绑定的资源
表4-112 Tag
参数 是否必选 参数类型 描述
key 是 String 键。
key最大长度为36个字符。
key不能为空字符串。
key前后空格会被丢弃。
key不能包含非打印字符 ASCII(0-31),“=”,“*”,
“<”,“>”,“\”,“,”,“|”,
“/”。
key只能由中文,字母,数字,
“-”,“_”组成。
value 否 String 值。
添加标签时value值必选,删除 标签时value值可选。
value最大长度为43个字符。
value可以为空字符串。
value前后的空格会被丢弃。
value不能包含非打印字符 ASCII(0-31),“=”,“*”,
“<”,“>”,“\”,“,”,“|”,
“/”。
value只能由中文,字母,数 字,“-”,“_”,“.”组成。
响应参数
状态码: 200
表4-113 响应 Body 参数
参数 参数类型 描述
vault Vault object 存储库查询返回对象
表4-114 Vault
参数 参数类型 描述
billing Billing object 运营信息
description String 存储库自定义描述信息。
最小长度:0 最大长度:255
id String 存储库ID
name String 存储库名称
最小长度:1 最大长度:64 project_id String 项目ID
provider_id String 存储库资源类型id resources Array of
ResourceRes p objects
存储库资源
tags Array of Tag
objects 存储库标签 enterprise_pro
ject_id String 企业项目id,默认为‘0’。
auto_bind Boolean 是否自动绑定,默认为false,不支持。
bind_rules VaultBindRul
es object 绑定规则 user_id String 用户id
created_at String 创建时间,例如:"2020-02-05T10:38:34.209782"
auto_expand Boolean 是否开启存储库自动扩容能力(只支持按需存储 库)。
smn_notify Boolean 存储库smn消息通知开关 缺省值:true
参数 参数类型 描述
threshold Integer 存储库容量阈值,已用容量占总容量达到此百分 比即发送相关通知
最小值:1 最大值:100 缺省值:80
表4-115 Billing
参数 参数类型 描述
allocated Integer 已分配容量,单位GB charging_mod
e String 创建模式,按需:post_paid,包周期:
pre_paid,默认为post_paid cloud_type String 公有云:public ;混合云:hybrid consistent_lev
el String 规格,崩溃一致性(crash_consistent)或应用一 致性(app_consistent)
object_type String 对象类型:云服务器(server),云硬盘
(disk),文件系统(turbo)。
order_id String 订单ID product_id String 产品ID
protect_type String 保护类型:备份(backup)、复制 (replication)。
size Integer 容量,单位GB
最小值:1
最大值:10485760
spec_code String 规格编码。 云服务备份存储库:
vault.backup.server.normal;云硬盘备份存储 库:vault.backup.volume.normal;文件备份存 储库:vault.backup.turbo.normal
status String 存储库状态 枚举值:
● available
● lock
● frozen
● deleting
● error storage_unit String 存储库桶名
参数 参数类型 描述
used Integer 已使用容量,单位MB frozen_scene String 冻结场景
表4-116 ResourceResp
参数 参数类型 描述
extra_info ResourceExtr
aInfo object 资源附加信息
id String 待备份资源id
name String 待备份资源名称
最小长度:0 最大长度:255 protect_status String 保护状态
枚举值:
● available
● error
● protecting
● restoring
● removing
size Integer 资源已分配容量,单位为GB
type String 待备份资源的类型: OS::Nova::Server,
OS::Cinder::Volume, OS::Ironic::BareMetalServer, OS::Native::Server, OS::Sfs::Turbo
backup_size Integer 副本大小 backup_count Integer 副本数量
表4-117 ResourceExtraInfo
参数 参数类型 描述
include_volu
mes Array of ResourceExtr aInfoInclude Volumes objects
指定需要备份的卷,若有指定值,则每次备份都只 备份指定的卷,如虚拟机绑定存储库之后新绑定 的卷不会备份;若为空默认为资源全部卷;仅虚 拟机磁盘级备份特性中有效。
表4-118 ResourceExtraInfoIncludeVolumes
参数 参数类型 描述
id String 卷ID,仅支持uuid
os_version String 操作系统类型
表4-119 VaultBindRules
参数 参数类型 描述
tags Array of Tag
objects 按tags过滤自动绑定的资源
表4-120 Tag
参数 参数类型 描述
key String 键。
key最大长度为36个字符。
key不能为空字符串。
key前后空格会被丢弃。
key不能包含非打印字符ASCII(0-31),“=”,
“*”,“<”,“>”,“\”,“,”,“|”,“/”。
key只能由中文,字母,数字,“-”,“_”组 成。
value String 值。
添加标签时value值必选,删除标签时value值可 选。
value最大长度为43个字符。
value可以为空字符串。
value前后的空格会被丢弃。
value不能包含非打印字符ASCII(0-31),“=”,
“*”,“<”,“>”,“\”,“,”,“|”,“/”。
value只能由中文,字母,数字,“-”,“_”,
“.”组成。
状态码: 400
表4-121 响应 Body 参数
参数 参数类型 描述
error_code String 请参见错误码。
error_msg String 错误信息
请求示例
● 创建云硬盘存储库,只包含必备参数
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,
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"
"enterprise_project_id" : "0"
}}
响应示例
状态码: 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" : {
"spec_code" : "vault.backup.server.normal", "size" : 100,
"cloud_type" : "public", "product_id" : null,
"consistent_level" : "crash_consistent", "storage_unit" : null,
"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
400 Bad Request
错误码
请参见错误码。