创建存储库 - CreateVault
功能介绍
创建存储库
授权信息
账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限。
- 如果使用角色与策略授权,具体权限要求请参见权限和授权项。
- 如果使用身份策略授权,当前API调用无需身份策略权限。
URI
POST /v3/{project_id}/vaults
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| project_id | 是 | String | 参数解释: 项目ID,获取方法请参见获取项目ID 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
请求参数
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| X-Auth-Token | 是 | String | 参数解释: 用户Token。 通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| vault | 是 | VaultCreate object | 参数解释: 存储库创建参数,可以设置存储库的名称,规格等属性 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| backup_policy_id | 否 | String | 参数解释: 备份策略ID,用于指定自动备份时的备份策略,获取方法请参见获取备份策略ID 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
| billing | 是 | BillingCreate object | 参数解释: 创建存储库运营参数,包括存储库的大小,存储的资源的类型等属性 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
| description | 否 | String | 参数解释: 存储库的描述 约束限制: 不涉及 取值范围: 最大支持255个字符,但不能包含“<”,“>” 默认取值: 不涉及 |
| name | 是 | String | 参数解释: 存储库名称。 取值范围: 只能由中文、字母、数字、“_”、“-”组成,最大支持64个字符。默认取值不涉及。 |
| resources | 是 | Array of ResourceCreate objects | 参数解释: 绑定的备份资源 约束限制: 不涉及 取值范围: 未在创建时绑定资源填[],最大支持同时绑定255个资源 默认取值: 不涉及 |
| tags | 否 | Array of VaultTagReq objects | 参数解释: 标签列表,标签由标签键和标签值组成,便于用户管理资源 约束限制: tags中最多包含10个key。 取值范围: 不涉及 默认取值: 不涉及 |
| enterprise_project_id | 否 | String | 参数解释: 企业项目ID,获取方法请参见获取企业项目ID 约束限制: 不涉及 取值范围: 不涉及 默认取值: 默认为‘0’ |
| auto_bind | 否 | Boolean | 参数解释: 是否支持自动挂载,开启时会根据挂载规则,自动绑定资源进行备份 约束限制: 不涉及 取值范围: 默认取值: false |
| bind_rules | 否 | VaultBindRules object | 参数解释: 自动挂载的规则,可以设置根据标签自动绑定资源的规则 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
| auto_expand | 否 | Boolean | 参数解释: 功能说明:是否开启存储库自动扩容能力(只支持按需存储库) 约束限制: 不涉及 取值范围: true:支持自动扩容 false:不支持自动扩容 默认取值: false |
| threshold | 否 | Integer | 参数解释: 存储库容量阈值,存储库已用容量和总容量的百分比超过该值,如果smn_notify为开,将发送相关通知 约束限制: 不涉及 取值范围: [1, 100],代表已用容量占总容量的1%-100% 默认取值: 80 |
| smn_notify | 否 | Boolean | 参数解释: 是否发送smn通知开关 约束限制: 不涉及 取值范围: 默认取值: true |
| backup_name_prefix | 否 | String | 参数解释: 备份名称前缀,设置后该存储库自动备份产生的备份副本都将携带该备份名称前缀 约束限制: 不涉及 取值范围: 最大支持32个字符 默认取值: 不涉及 |
| demand_billing | 否 | Boolean | 参数解释: 存储库使用是否允许超出容量 约束限制: 只有创建包周期存储库时才允许该值为true 取值范围: 默认取值: false |
| sys_lock_source_service | 否 | String | 参数解释: 用于标识SMB服务,支持传入SMB和空 约束限制: 不涉及 取值范围: 默认取值: 不涉及 |
| locked | 否 | Boolean | 参数解释: 用于标识当前存储库是否已锁定,锁定的存储库不支持解锁,关于备份锁定的详细信息,请参考开启备份锁定 约束限制: 不涉及 取值范围: 默认取值: 不涉及 |
| availability_zone | 否 | String | 参数解释: 存储库可用区信息 约束限制: 不涉及 取值范围: 最大支持32字符 默认取值: 不涉及 |
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| cloud_type | 否 | String | 参数解释: 云类型 约束限制: 不涉及 取值范围: public:公有云; hybrid: 混合云 默认取值: public |
| consistent_level | 是 | String | 参数解释: 存储库规格 约束限制: 不涉及 取值范围: app_consistent: 应用一致性,crash_consistent: 崩溃一致性 默认取值: 不涉及 |
| object_type | 是 | String | 参数解释: 对象类型 约束限制: 不涉及 取值范围: 支持"server", "disk", "turbo", "workspace", "vmware", "rds"和"file"共七种。server:云服务器,disk:云硬盘,turbo:文件系统,workspace:云桌面,vmware:VMware,rds:关系型数据库,file:文件 默认取值: 不涉及 |
| protect_type | 是 | String | 参数解释: 保护类型 约束限制: 不涉及 取值范围: backup:备份,replication:复制 默认取值: 不涉及 |
| size | 是 | Integer | 参数解释: 资源容量大小,单位GB 约束限制: 不涉及 取值范围: 10-10485760 默认取值: 不涉及 |
| charging_mode | 否 | String | 参数解释: 计费模式 约束限制: 不涉及 取值范围: 取值范围:post_paid:按需,pre_paid:包年包月 默认取值: 默认值为post_paid |
| period_type | 否 | String | 参数解释: 订购周期单位 约束限制: charging_mode参数为pre_paid时period_type参数会生效,并且period_type参数为必选 取值范围: 默认取值: 不涉及 |
| period_num | 否 | Integer | 参数解释: 订购周期数 约束限制: charging_mode为pre_paid时period_num参数会生效,并且period_num参数为必选 取值范围: [1-9],代表定义一到九个周期 默认取值: 不涉及 |
| is_auto_renew | 否 | Boolean | 参数解释: 到期后是否自动续期 约束限制: 不涉及 取值范围: 默认取值: 不涉及 |
| is_auto_pay | 否 | Boolean | 参数解释: 是否自动付费 约束限制: 不涉及 取值范围: 默认取值: false |
| console_url | 否 | String | 参数解释: 云服务console_url。 订购订单支付完成后,客户可以通过此URL跳转到云服务Console页面查看信息 约束限制: 仅手动支付时涉及 取值范围: 不涉及 默认取值: 不涉及 |
| is_multi_az | 否 | Boolean | 参数解释: 存储库是否具有多AZ属性,即底层备份是否为多AZ备份 约束限制: 不涉及 取值范围: 默认取值: false |
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| extra_info | 否 | ResourceExtraInfo object | 参数解释: 资源附加信息,用于设置需要备份的卷以及不需要备份的卷等属性 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
| id | 是 | String | 参数解释: 待备份资源ID,获取方法请参见查询存储库绑定资源信息,查询资源可保护性 约束限制: 需要该资源暂未绑定到存储库中,且属于可备份的状态 取值范围: 不涉及 默认取值: 不涉及 |
| type | 是 | String | 参数解释: 待备份资源的类型,用于指定待备份的资源类型,不同类型对应不同的云服务资源。 约束限制: 不涉及 取值范围: OS::Nova::Server:云服务器; OS::Cinder::Volume:云硬盘;OS::Ironic::BareMetalServer:裸金属服务器;OS::Sfs::Turbo:SFS Turbo文件系统;OS::Workspace::DesktopV2:云桌面。 默认取值: 不涉及 |
| name | 否 | String | 参数解释: 资源名称 约束限制: 不涉及 取值范围: 长度限制:0-255字符 默认取值: 不涉及 |
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| exclude_volumes | 否 | Array of strings | 参数解释: 需要排除备份的卷ID列表,列表元素为String类型的UUID。 约束限制: 仅在多盘备份特性中有效,排除不需要备份的磁盘。当虚拟机新绑定磁盘时,也能继续排除之前设置不用备份的卷。 取值范围: 不涉及 默认取值: 不涉及 |
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| key | 是 | String | 参数解释: 标签的键,用于标识和分类资源。 约束限制: 创建时,如果请求体中存在重复key则报错,如果数据库存在就覆盖。 取值范围: key最大长度为36个字符且不能为空字符串,前后空格会被丢弃。 key不能包含非打印字符ASCII(0-31),“=”,“*”,“<”,“>”,“\”,“,”,“|”,“/”。 key只能由中文,字母,数字,“-”,“_”组成。 默认取值: 不涉及 |
| value | 是 | String | 参数解释: 标签的值,用于描述存储库资源的具体属性 约束限制: 添加标签时value必填 取值范围: 最大长度43字符且允许为空,前后空格会自动去除但是value不能包含非打印字符及= * < > \ , | /等特殊符号。 默认取值: 不涉及 |
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| tags | 否 | Array of BindRulesTags objects | 参数解释: 按标签过滤自动绑定的资源 约束限制: 不涉及 取值范围: 最小长度:0 最大长度:5 默认取值: 不涉及 |
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| key | 是 | String | 参数解释: 标签的键,用于标识和分类存储库资源 约束限制: 不涉及 取值范围: key不能包含非打印字符ASCII(0-31),“=”,“*”,“<”,“>”,“\”,“,”,“|”,“/”。 key只能由中文,字母,数字,“-”,“_”组成。 默认取值: 不涉及 |
| value | 是 | String | 参数解释: 标签的值,与键配合使用,用于更精确地标识和分类存储库资源 约束限制: 不涉及 取值范围: value不能包含非打印字符ASCII(0-31),“=”,“*”,“<”,“>”,“\”,“,”,“|”,“/”。 value只能由中文,字母,数字,“-”,“_”,“.”组成。 默认取值: 不涉及 |
响应参数
状态码:200
| 参数 | 参数类型 | 描述 |
|---|---|---|
| vault | VaultCreateResource object | 存储库查询返回对象(仅按需创建时显示) |
| orders | Array of CbcOrderResult objects | 包周期创建订单信息(仅包周期创建时显示) |
| retCode | Integer | 包周期订购结果(仅包周期创建时显示) |
| errText | String | 包周期创建错误信息(仅包周期创建时显示) |
| error_code | String | 包周期创建错误码(仅包周期创建时显示) |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| billing | Billing object | 运营信息 |
| description | String | 存储库自定义描述信息,不能包含“<”,“>”,最大支持255个字符。 |
| id | String | 存储库ID,取值范围不涉及。 |
| name | String | 参数解释: 存储库名称。 取值范围: 只能由中文、字母、数字、“_”、“-”组成,最大支持64个字符。 |
| project_id | String | 项目ID,取值范围不涉及。 |
| provider_id | String | 存储库资源类型id,取值范围不涉及。 |
| resources | Array of ResourceResp objects | 存储库资源 |
| tags | Array of Tag objects | 存储库标签 |
| enterprise_project_id | String | 云备份企业项目ID,获取方法可参考查询企业项目列表接口。 |
| auto_bind | Boolean | 功能说明:是否支持自动挂载。 取值范围: |
| bind_rules | VaultBindRules object | 绑定规则 |
| user_id | String | 用户id,取值范围不涉及。 |
| created_at | String | 创建时间,例如:"2020-02-05T10:38:34.209782",取值范围不涉及。 |
| auto_expand | Boolean | 功能说明:是否开启存储库自动扩容能力(只支持按需存储库)。取值范围:true:支持自动扩容;false:不支持自动扩容。 |
| smn_notify | Boolean | 功能说明:是否发送smn通知开关。 取值范围: |
| threshold | Integer | 功能说明:存储库容量阈值,存储库已用容量和总容量的百分比超过该值,如果smn_notify为开,将发送相关通知。 取值范围:[1, 100]。 |
| backup_name_prefix | String | 备份名称前缀,设置后该存储库自动备份产生的备份副本都将携带该备份名称前缀。最大支持32个字符。 |
| demand_billing | Boolean | 是否允许使用超出存储库容量 |
| cbc_delete_count | Integer | 存储库删除次数,取值范围不涉及。 |
| frozen | Boolean | 存储库是否冻结 |
| sys_lock_source_service | String | 用于标识SMB服务,支持传入SMB和空。 SMB:标识为SMB服务调用 空字符串:表示为普通服务调用 |
| locked | Boolean | 功能说明:用于标识当前存储库是否已锁定,锁定的存储库不支持解锁。 关于备份锁定的详细信息,请参考"开启备份锁定"。 取值范围: |
| availability_zone | String | 存储库可用区信息,最大支持32字符。 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| allocated | Integer | 参数解释: 已分配容量,单位GB 取值范围: 10-10485760 |
| charging_mode | String | 参数解释: 计费模式 取值范围: post_paid:按需,pre_paid:包年包月 |
| cloud_type | String | 参数解释: 云类型 取值范围: public:公有云; hybrid: 混合云 |
| consistent_level | String | 参数解释: 存储库规格 取值范围: app_consistent: 应用一致性,crash_consistent: 崩溃一致性 |
| object_type | String | 参数解释: 对象类型 取值范围: 支持"server", "disk", "turbo", "workspace", "vmware", "rds"和"file"共七种。server:云服务器,disk:云硬盘,turbo:文件系统,workspace:云桌面,vmware:VMware,rds:关系型数据库,file:文件。 |
| order_id | String | 参数解释: 订单ID 取值范围: 格式为UUID |
| product_id | String | 参数解释: 产品ID 取值范围: 格式为UUID |
| protect_type | String | 参数解释: 保护类型 取值范围: backup:备份,replication:复制 |
| size | Integer | 参数解释: 容量,单位MB 取值范围: 10-10485760 |
| spec_code | String | 参数解释: 规格编码 取值范围: 云服务备份存储库:vault.backup.server.normal;云硬盘备份存储库:vault.backup.volume.normal;文件备份存储库:vault.backup.turbo.normal |
| status | String | 参数解释: 存储库状态 取值范围: |
| storage_unit | String | 参数解释: 存储库桶名 取值范围: 不涉及 |
| used | Integer | 参数解释: 已使用容量,单位MB 取值范围: 不涉及 |
| frozen_scene | String | 参数解释: 冻结场景,说明具体冻结原因 取值范围: |
| is_multi_az | Boolean | 参数解释: 存储库是否具有多AZ属性,即底层备份是否为多AZ备份 取值范围: |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| extra_info | ResourceExtraInfoResp object | 参数解释: 资源附加信息,包括备份时包含的卷或排除的卷等信息 取值范围: 不涉及 |
| id | String | 参数解释: 待备份资源id,需要该资源已经绑定到该存储库中,且属于可备份的状态。 获取方法请参见"查询存储库绑定资源信息","查询资源可保护性"。 取值范围: 取值范围不涉及 |
| name | String | 参数解释: 待备份资源名称。 取值范围: 长度为0~255个字符。 |
| protect_status | String | 参数解释: 保护状态 取值范围: |
| size | Integer | 参数解释: 资源已分配容量,单位为GB 取值范围: 不涉及 |
| type | String | 参数解释: 待备份资源的类型 取值范围: 待备份资源的类型: OS::Nova::Server:云服务器; OS::Cinder::Volume:云硬盘;OS::Ironic::BareMetalServer:裸金属服务器;OS::Sfs::Turbo:SFS Turbo文件系统;OS::Workspace::DesktopV2:云桌面。 |
| backup_size | Integer | 参数解释: 备份副本大小。单位GB。 取值范围: 不涉及 |
| backup_count | Integer | 参数解释: 备份副本数量 取值范围: 不涉及 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| exclude_volumes | Array of strings | 参数解释: 需要排除备份的卷ID列表,列表元素为String类型的UUID。 取值范围: 不涉及 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| key | String | 参数解释: 标签的键,用于标识和分类资源。 key最大长度为36个字符且不能为空字符串,前后空格会被丢弃。 key不能包含非打印字符ASCII(0-31),“=”,“*”,“<”,“>”,“\”,“,”,“|”,“/”。 key只能由中文,字母,数字,“-”,“_”组成。 创建时,如果请求体中存在重复key则报错,如果数据库存在就覆盖。 删除时,允许重复key,如果删除的标签不存在,默认处理成功,删除时不对标签字符集范围做校验。 删除时tags结构体不能缺失,key不能为空,或者空字符串。 取值范围: 不涉及 |
| value | String | 参数解释: 标签的值,用于描述存储库资源的具体属性。 添加标签时value必填,删除时选填,最大长度43字符且允许为空,前后空格会自动去除。此外,value不能包含非打印字符及= * < > \ , | /等特殊符号。 取值范围: 不涉及 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| tags | Array of BindRulesTags objects | 参数解释: 按标签过滤自动绑定的资源 取值范围: 最小长度:0 最大长度:5 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| key | String | 参数解释: 标签的键,用于标识和分类存储库资源 取值范围: key不能包含非打印字符ASCII(0-31),“=”,“*”,“<”,“>”,“\”,“,”,“|”,“/”。 key只能由中文,字母,数字,“-”,“_”组成。 |
| value | String | 参数解释: 标签的值,与键配合使用,用于更精确地标识和分类存储库资源 取值范围: value不能包含非打印字符ASCII(0-31),“=”,“*”,“<”,“>”,“\”,“,”,“|”,“/”。 value只能由中文,字母,数字,“-”,“_”,“.”组成。 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| cloudServiceId | String | 参数解释: 云服务ID 取值范围: 不涉及 |
| orderId | String | 参数解释: 订单ID 取值范围: 不涉及 |
| subscribeResult | Integer | 参数解释: 订购结果 取值范围: 1:成功;0:失败 |
| resourceId | String | 参数解释: 包周期资源预生成资源ID 取值范围: 不涉及 |
状态码:400
| 参数 | 参数类型 | 描述 |
|---|---|---|
| error_code | String | 请参见错误码。 |
| error_msg | String | 错误信息 |
请求示例
-
创建一个云服务器存储库,存储库容量为100G,按需计费,且同时绑定资源和添加标签。
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" } } -
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" : [ ] } }
响应示例
状态码:200
{
"vault": {
"provider_id": "0daac4c5-6707-4851-97ba-169e36266b66",
"description": "vault_description",
"tags": [
{
"value": "value01",
"key": "key01"
}
],
"enterprise_project_id": "397f5075cb6d420cb4eb3a11d8967e12",
"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
}
]
}
} 状态码
| 状态码 | 描述 |
|---|---|
| 200 | 创建存储库成功响应体。按需创建时只有vault对象,包周期创建时只有orders,retCode,errText,error_code对象。 |
| 400 | Bad Request |
错误码
请参见错误码。