# 创建包周期存储库 - CreatePostPaidVault
#### 功能介绍
创建包周期存储库
#### 授权信息
账号具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备调用API所需的权限。
- 如果使用角色与策略授权，具体权限要求请参见[权限和授权项](https://support.huaweicloud.com/api-cbr/cbr_04_0017.html)。
- 如果使用身份策略授权，当前API调用无需身份策略权限。
 
#### URI
POST /v3/{project_id}/vaults/order
表1路径参数 
| 参数         | 是否必选 | 参数类型   | 描述                                                                                                                                |
|:---|:---|:---|:---|
| project_id | 是    | String | 项目ID，默认取值不涉及。 获取方法请参见"[获取项目ID](https://support.huaweicloud.com/api-cbr/cbr_04_0022.html)"。 |
   
#### 请求参数
表2请求Header参数 
| 参数           | 是否必选 | 参数类型   | 描述                                                               |
|:---|:---|:---|:---|
| X-Auth-Token | 是    | String | 用户Token，通过调用IAM服务获取用户Token接口获取（响应消息头中X-Subject-Token的值）。默认取值不涉及。 |
   
表3请求Body参数 
| 参数    | 是否必选 | 参数类型                                                                        | 描述  |
|:---|:---|:---|:---|
| vault | 是    | [PrePaidVaultOrder] object | 存储库 |
   
 表4PrePaidVaultOrder 
| 参数                    | 是否必选 | 参数类型                                                                                | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
|:---|:---|:---|:---|
| name                  | 否    | String                                                                              | 存储库名称，最大支持64字符，只能由中文、字母、数字、"_"、"-"组成。默认取值不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| billing               | 是    | [PrePaidBillingCreate] object   | 创建存储库运营参数                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| resources             | 是    | Array of [ResourceCreate] objects     | 绑定的备份资源，未在创建时绑定资源填\[\]                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| description           | 否    | String                                                                              | 存储库描述，取值范围：最小长度：0，最大长度：255。默认取值不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| backup_policy_id      | 否    | String                                                                              | 备份策略ID，默认值为null，不自动备份。 获取方法请参见"[获取备份策略ID](https://support.huaweicloud.com/api-cbr/ListPolicies.html)"。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| tags                  | 否    | Array of [Tag] objects                           | 标签列表 tags不允许为空列表。 tags中最多包含10个key。 tags中key不允许重复。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| enterprise_project_id | 否    | String                                                                              | 企业项目ID，默认为'0'。 获取方法请参见"[获取企业项目ID](https://support.huaweicloud.com/usermanual-em/zh-cn_topic_0126101490.html)"。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| auto_bind             | 否    | Boolean                                                                             | 功能说明：是否支持自动挂载。默认为false。 取值范围： - true：支持自动挂载   - false：不支持自动挂载                                                                                                                                                        |
| bind_rules            | 否    | [VaultBindRules] object               | 自动挂载的规则                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| threshold             | 否    | Integer                                                                             | 功能说明：存储库容量阈值，存储库已用容量和总容量的百分比超过该值，如果smn_notify为开，将发送相关通知。 取值范围：\[1, 100\]，默认值为80。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| smn_notify            | 否    | Boolean                                                                             | 功能说明：是否发送smn通知开关，默认为true 取值范围： - true：发送smn通知   - false：不发送smn通知                                                                                                                                                     |
| parameters            | 否    | [VaultCreateParameters] object | 存储库订单联合参数                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| auto_expand           | 否    | Boolean                                                                             | 功能说明：是否开启存储库自动扩容能力（只支持按需存储库），默认为false。 取值范围： - true：支持自动扩容；   - false：不支持自动扩容。                                                                                                                                       |
| locked                | 否    | Boolean                                                                             | 功能说明：用于标识当前存储库是否已锁定，锁定的存储库不支持解锁。默认值为false。 关于备份锁定的详细信息，请参考"[开启备份锁定](https://support.huaweicloud.com/usermanual-cbr/cbr_01_0035.html)"。 取值范围： - true：锁定存储库   - false：不锁定存储库    |
   
 表5PrePaidBillingCreate 
| 参数               | 是否必选 | 参数类型    | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
|:---|:---|:---|:---|
| cloud_type       | 否    | String  | 云类型，默认为public，支持类型如下。 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：文件。默认取值不涉及。                                                                                                                                                                                                                                                                                                                                                                                          |
| protect_type     | 是    | String  | 保护类型，默认取值不涉及。取值范围如下： backup：备份，replication：复制                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| size             | 是    | Integer | 资源容量大小，单位GB，取值范围：10-10485760，默认取值不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| charging_mode    | 是    | String  | 计费模式，仅支持填写pre_paid：代表包年/包月模式                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| period_type      | 是    | String  | 功能说明：订购周期单位。charging_mode参数为pre_paid时period_type参数会生效，并且period_type参数为必选。默认取值不涉及。 取值范围： - month：月   - year：年    |
| period_num       | 是    | Integer | 功能说明：订购周期数，charging_mode为pre_paid时period_num参数会生效，并且period_num参数为为必选。默认取值不涉及。 取值范围：\[1-9\]                                                                                                                                                                                                                                                                                                                                                                                                                         |
| is_auto_renew    | 否    | Boolean | 功能说明：到期后是否自动续期，默认为false 取值范围： - true：到期后自动续期   - false：到期后不自动续期                                                 |
| is_auto_pay      | 否    | Boolean | 功能说明：是否自动付费，默认为false 取值范围： - true：下单后自动付费   - false：下单后不自动付费                                                    |
| console_url      | 否    | String  | 云服务console_url。 订购订单支付完成后，客户可以通过此URL跳转到云服务Console页面查看信息。（仅手动支付时涉及）。默认取值不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| is_multi_az      | 否    | Boolean | 功能说明：存储库是否具有多AZ属性，即底层备份是否为多AZ备份，默认为false 取值范围： - true：存储库具有多AZ属性   - false：存储库不具有多AZ属性                          |
   
 表6ResourceCreate 
| 参数         | 是否必选 | 参数类型                                                                        | 描述                                                                                                                                                                                                                                          |
|:---|:---|:---|:---|
| extra_info | 否    | [ResourceExtraInfo] object | 资源附加信息                                                                                                                                                                                                                                      |
| id         | 是    | String                                                                      | 待备份资源id，需要该资源暂未绑定到存储库中，且属于可备份的状态。默认取值不涉及。 获取方法请参见"[查询存储库绑定资源信息](https://support.huaweicloud.com/api-cbr/ShowVault.html)"，"[查询资源可保护性](https://support.huaweicloud.com/api-cbr/ShowProtectable.html)"。 |
| type       | 是    | String                                                                      | 待备份资源的类型: OS::Nova::Server：云服务器； OS::Cinder::Volume：云硬盘；OS::Ironic::BareMetalServer：裸金属服务器；OS::Sfs::Turbo：SFS Turbo文件系统；OS::Workspace::DesktopV2：云桌面。默认取值不涉及。                                                                               |
| name       | 否    | String                                                                      | 资源名称，长度限制：0-255字符。默认取值不涉及。                                                                                                                                                                                                                  |
   
 表7ResourceExtraInfo 
| 参数              | 是否必选 | 参数类型             | 描述                                                                                                                                                                                                         |
|:---|:---|:---|:---|
| exclude_volumes | 否    | Array of strings | **参数解释：** 需要排除备份的卷id。仅在多盘备份特性中有效，排除不需要备份的磁盘。当虚拟机新绑定磁盘时，也能继续排除之前设置不用备份的卷 **取值范围：** 不涉及 |
   
 表8Tag 
| 参数    | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
|:---|:---|:---|:---|
| key   | 是    | String | 键。 key最大长度为36个字符。 key不能为空字符串。 key前后空格会被丢弃。 key不能包含非打印字符ASCII(0-31)，"=","\*","\<","\>","\\",",","\|","/"。 key只能由中文，字母，数字，"-"，"_"组成。 创建时如果请求体中存在重复key则报错。 创建时，不允许重复key，如果数据库存在就覆盖。 删除时，允许重复key。 删除时，如果删除的标签不存在，默认处理成功,删除时不对标签字符集范围做校验。 删除时tags结构体不能缺失，key不能为空，或者空字符串。 |
| value | 是    | String | 值。 添加标签时value值必选，删除标签时value值可选。 value最大长度为43个字符。 value可以为空字符串。 value前后的空格会被丢弃。 value不能包含非打印字符ASCII(0-31)，"=","\*","\<","\>","\\",",","\|","/"。 value只能由中文，字母，数字，"-"，"_"，"."组成。                                                                                                                                                                                                                                                  |
   
 表9VaultBindRules 
| 参数   | 是否必选 | 参数类型                                                                          | 描述                                                                                                         |
|:---|:---|:---|:---|
| tags | 否    | Array of [BindRulesTags] objects | 按tags过滤自动绑定的资源 最小长度：0 最大长度：5 |
   
 表10BindRulesTags 
| 参数    | 是否必选 | 参数类型   | 描述                                                                                                                                             |
|:---|:---|:---|:---|
| key   | 是    | String | key不能包含非打印字符ASCII(0-31)，"=","\*","\<","\>","\\",",","\|","/"。默认取值不涉及。 key只能由中文，字母，数字，"-"，"_"组成。         |
| value | 是    | String | value不能包含非打印字符ASCII(0-31)，"=","\*","\<","\>","\\",",","\|","/"。默认取值不涉及。 value只能由中文，字母，数字，"-"，"_"，"."组成。 |
   
 表11VaultCreateParameters 
| 参数             | 是否必选 | 参数类型                                                                | 描述    |
|:---|:---|:---|:---|
| combined_order | 否    | [CombinedOrder] object | 组合订单。 |
   
 表12CombinedOrder 
| 参数                     | 是否必选 | 参数类型    | 描述                                        |
|:---|:---|:---|:---|
| combined_order_id      | 否    | String  | 组合订单ID，取值范围不涉及，默认取值不涉及。                   |
| combined_order_ecs_num | 否    | Integer | 组合订单中 ECS 服务器数量，取值范围：\[1, 1000\]，默认取值不涉及。 |
| combined_order_num     | 否    | Integer | 组合订单数量。取值范围：\[1, 1000\]，默认取值不涉及。          |
   
#### 响应参数
**状态码：200**
表13响应Body参数 
| 参数         | 参数类型                                                                             | 描述                              |
|:---|:---|:---|
| orders     | Array of [CbcOrderResult] objects | 订单详情                            |
| retCode    | Integer                                                                          | 创建结果代码。0：成功，其余表示创建失败。默认取值不涉及。   |
| errText    | String                                                                           | 创建结果信息，取值范围不涉及，默认取值不涉及。         |
| error_code | String                                                                           | 操作错误码。0：无错误，其余为创建失败错误码，默认取值不涉及。 |
   
 表14CbcOrderResult 
| 参数              | 参数类型    | 描述                            |
|:---|:---|:---|
| cloudServiceId  | String  | 云服务ID，取值范围不涉及，默认取值不涉及。        |
| orderId         | String  | 订单ID，取值范围不涉及，默认取值不涉及。         |
| subscribeResult | Integer | 订购结果，取值范围：1：成功；0：失败。默认取值不涉及。  |
| resourceId      | String  | 包周期资源预生成资源id。取值范围不涉及，默认取值不涉及。 |
   
**状态码：400**
表15响应Body参数 
| 参数         | 参数类型   | 描述                                                                |
|:---|:---|:---|
| error_code | String | 请参见[错误码](https://support.huaweicloud.com/api-cbr/ErrorCode.html)。 |
| error_msg  | String | 错误信息                                                              |
   
#### 请求示例
- 创建一个包周期云服务器备份存储库，存储库容量为80G，周期为一个月且绑定一个资源。
  ```
  POST https://{endpoint}/v3/f841e01fd2b14e7fa41b6ae7aa6b0594/vaults/order
  {
    "vault" : {
      "name" : "vault_name",
      "billing" : {
        "consistent_level" : "app_consistent",
        "object_type" : "server",
        "protect_type" : "backup",
        "size" : 80,
        "charging_mode" : "pre_paid",
        "period_type" : "month",
        "period_num" : 1
      },
      "resources" : [ {
        "id" : "23a320a5-3efd-4568-b1aa-8dd9183cc64c",
        "type" : "OS::Nova::Server"
      } ]
    }
  }
  ```
  
- 创建一个包周期云服务器备份存储库，存储库容量阈值为80G，云服务器数量为5，周期为一个月同时绑定一个资源并添加标签。
  ```
  POST https://{endpoint}/v3/f841e01fd2b14e7fa41b6ae7aa6b0594/vaults/order
  {
    "vault" : {
      "name" : "123",
      "description" : "description",
      "backup_policy_id" : "70e9c916-7109-472d-94e7-120900e4ba61",
      "tags" : [ {
        "key" : "key",
        "value" : "value"
      } ],
      "auto_bind" : false,
      "threshold" : 80,
      "smn_notify" : true,
      "parameters" : {
        "combined_order" : {
          "combined_order_id" : "CS2303030959MR1IT",
          "combined_order_ecs_num" : 5,
          "combined_order_num" : 5
        }
      },
      "bind_rules" : {
        "tags" : [ {
          "key" : "bind_rules_key",
          "value" : "bind_rules_value"
        } ]
      },
      "billing" : {
        "cloud_type" : "public",
        "is_auto_renew" : false,
        "is_auto_pay" : false,
        "console_url" : "https://www.com",
        "consistent_level" : "app_consistent",
        "object_type" : "server",
        "protect_type" : "backup",
        "size" : 80,
        "charging_mode" : "pre_paid",
        "period_type" : "month",
        "period_num" : 1
      },
      "resources" : [ {
        "id" : "8ef08ba1-81f7-4e41-ae49-d3e2fb0ba388",
        "type" : "OS::Nova::Server",
        "name" : "server_name",
        "extra_info" : {
          "exclude_volumes" : [ "1855eb9a-2b5e-4938-a9f0-aea08b6f9243" ]
        }
      } ]
    }
  }
  ```
  
 
#### 响应示例
**状态码：200**
```
{
  "orders" : [ {
    "orderId" : "CS2303030941NJJIW",
    "cloudServiceId" : "cbr",
    "subscribeResult" : 1,
    "resourceId" : "ef3bf6bb-1ffb-46c0-8b23-f935ded5024a"
  } ],
  "retCode" : 0,
  "errText" : "success",
  "error_code" : "0"
}
```
#### 状态码
| 状态码 | 描述          |
|:---|:---|
| 200 | OK          |
| 400 | Bad Request |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-cbr/ErrorCode.html)。
