说明
创建云硬盘快照,单个租户下的单个云硬盘在首次创建快照时,会通过订单流程创建,之后的快照不再通过订单创建;如果租户主动退订快照订单后,再次创建时仍会订单流程创建。
接口功能介绍
创建云硬盘快照,单个租户下的单个云硬盘在创建第一个快照时,会创建快照的订单,之后的快照无需创建订单;
接口约束
1、单个云硬盘支持创建快照个数最多为50个(手动快照最多40个)。
2、快照创建地域应与源云硬盘所在地域相同。
3、只有可用状态(即未挂载和已挂载状态)的云硬盘才可以创建快照。
4、同一个租户下在同一个资源池下的快照名称不能重复。
5、磁盘模式为FCSAN的云硬盘不支持创建快照,磁盘模式为ISCSI的云硬盘不支持创建快照。
URI
POST /v4/ebs_snapshot/create
请求参数
请求体body参数
参数 | 是否必填 | 参数类型 | 说明 | 示例 | 下级对象 |
---|---|---|---|---|---|
clientToken | 否 | String | 客户端存根,用于保证订单幂等性。要求单个云平台账户内唯一 | 参考请求示例 | |
regionID | 是 | String | 资源池ID | 参考请求示例 | |
snapshotName | 是 | String | 快照名称。仅允许英文字母数字及_或者-,且长度为2-64字符参考请求示例 | 参考请求示例 | |
volumeID | 是 | String | 云硬盘ID | 参考请求示例 | |
retentionPolicy | 是 | String | 快照保留策略。取值范围:[custom/forever],custom:自定义保留天数,forever:永久保留 | 参考请求示例 | |
retentionTime | 否 | Integer | 自定义快照保留天数。取值范围:1-65535。当快照保留策略为custom时该参数为必填,否则不识别该参数 | 参考请求示例 |
响应参数
参数 | 是否必填 | 参数类型 | 说明 | 示例 | 下级对象 |
---|---|---|---|---|---|
statusCode | 是 | Integer | 返回状态码(800为成功,900为失败) | 参考响应示例 | |
message | 是 | String | 失败时的错误描述,一般为英文描述 | 参考响应示例 | |
description | 是 | String | 失败时的错误描述,一般为中文描述 | 参考响应示例 | |
details | 是 | String | 可忽略 | 参考响应示例 | |
returnObj | 是 | Object | returnObj | 参考响应示例 | 参考表returnObj |
errorCode | 是 | String | 业务细分码,为product.module.code三段式码. 参考通用结果码 |
参考响应示例 | |
errorDetail | 是 | Object | 错误明细。一般情况下,会对订单侧(bss)的云硬盘订单业务相关的错误做明确的错误映射和提升,有唯一对应的errorCode。 其他订单侧(bss)的错误,以ebs.order.procFailed的errorCode统一映射返回,并在errorDetail中返回订单侧的详细错误信息 |
参考响应示例 |
表 returnObj
参数 | 是否必填 | 参数类型 | 说明 | 示例 | 下级对象 |
---|---|---|---|---|---|
masterOrderID | 是 | String | 订单ID。调用方在拿到masterOrderID之后,在若干错误情况下, 可以使用materOrderID进一步确认订单状态及资源状态。参考通用结果码 |
参考响应示例 | |
masterOrderNO | 是 | String | 订单号 | 参考响应示例 | |
regionID | 是 | String | 资源所属资源池ID | 参考响应示例 | |
resources | 是 | Object | 资源明细列表,参考表resources | 参考响应示例 | 参考表resources |
jobID | 是 | Object | 非首次创建或者下单时,返回创建快照任务ID | 参考响应示例 |
表 resources
参数 | 是否必填 | 参数类型 | 说明 | 示例 | 下级对象 |
---|---|---|---|---|---|
resourceID | 是 | String | 单项资源的变配、续订、退订等需要该资源项的ID。 比如某个云主机资源作为主资源,对其挂载 |
磁盘操作时,需要磁盘资源项的资源ID | 参考响应示例 |
orderID | 是 | String | 无需关心 | 参考响应示例 | |
startTime | 是 | Integer | 启动时刻,epoch时戳,毫秒精度 | 参考响应示例 | |
expireTime | 是 | Integer | 过期时刻,epoch时戳,毫秒精度 | 参考响应示例 | |
createTime | 是 | Integer | 创建时刻,epoch时戳,毫秒精度 | 参考响应示例 | |
updateTime | 是 | Integer | 更新时刻,epoch时戳,毫秒精度 | 参考响应示例 | |
status | 是 | Integer | 资源状态,无需关心。参考masterResourceStatus | 参考响应示例 | |
isMaster | 是 | Boolean | 是否是主资源项 | 参考响应示例 | |
itemValue | 是 | Integer | 资源规格,快照均为按量计费,无需关心 | 参考响应示例 | |
resourceUUID | 是 | String | 资源UUID,结合regionID一起使用 | 参考响应示例 |
表 errorDetail
参数 | 是否必填 | 参数类型 | 说明 | 示例 |
---|---|---|---|---|
bssErrCode | 是 | String | bss错误明细码,包含于bss格式化JSON错误信息中 | 参考响应示例 |
bssErrMsg | 是 | String | bss错误信息,包含于bss格式化JSON错误信息中 | 参考响应示例 |
bssOrigErr | 是 | String | 无法明确解码bss错误信息时,原样透出的bss错误信息 | 参考响应示例 |
bssErrPrefixHint | 是 | String | bss格式化JSON错误信息的前置提示信息 | 参考响应示例 |
请求示例
请求头header
无
请求体body
{
"regionID":"fc862f71-d629-4a0e-9fe0-b104963b3f05",
"snapshotName":"snapshot-001",
"volumeId":"36e88a58-1ebf-40ac-91b6-a8c0eca38314",
"retentionPolicy":"forever"
}
响应示例
{
"description" : "订单处理中,可使用订单ID查询或使用原clientToken重试下单",
"errorCode" : "ebs.order.inProgress",
"message" : "order in progress",
"details": "",
"returnObj" : {
"masterOrderID" : "f2533a837273484e93e9bed79f848307",
"masterOrderNO" : "20221110210941194620",
"regionID" : "81f7728662dd11ec810800155d307d5b"
},
"statusCode" : 900
}
或者
{
"returnObj": {
"item_config":[{
"master": True,
"resourceType": "EBS",
"itemConfig": {
"az_name": "az1",
"snapshotName": "snapshot-001",
"volumeType": "SATA-SNAP",
"volumeId": "36e88a58-1ebf-40ac-91b6-a8c0eca38314",
"billMode": "2"
},
"itemValue": "1"
}],
"cycle_type": "ON_DEMAND"
},
"details": "",
"message": "SUCCESS",
"description": "成功",
"statusCode": 800
}
或者
{
"returnObj": {
"jobID": "f29d6cbe-6171-11ed-b9da-525400cc3b79"
},
"details": "",
"message": "SUCCESS",
"description": "成功",
"statusCode": 800
}
状态码
状态码 | 描述 |
---|---|
800 | 表示请求成功 |
900 | 订单类返回900并且message为order in progress为成功,其他情况为失败 |
错误码
请参考通用结果码。