说明
当前接口使用前请使用资源池概况信息查询接口查询带对接的资源池信息,如资源池信息"regionVersion": "v4.0",即可使用;如资源池信息"regionVersion": "v3.0", 不可使用。
接口功能介绍
从快照创建云硬盘。
接口约束
1、云硬盘类型、加密属性、所在地域可用区快照源云硬盘保持一致;
2、创建磁盘容量不小于快照源盘容量;
3、只有快照状态为可用时才能从快照创建云硬盘;
4、单个快照支持创建云硬盘个数最多为128个;
URI
POST /v4/ebs/new-from-snapshot-ebs-snap
请求参数
请求体body参数
参数 | 是否必填 | 参数类型 | 说明 | 示例 | 下级对象 |
---|---|---|---|---|---|
snapshotID | 是 | String | 快照ID | 参考请求示例 | |
clientToken | 否 | String | 客户端存根,用于保证订单幂等性。要求单个云平台账户内唯一 | 参考请求示例 | |
regionID | 是 | String | 资源池ID, 例:100054c0416811e9a6690242ac110002 | 参考请求示例 | |
multiAttach | 否 | Boolean | 是否多云主机挂载,默认false | 参考请求示例 | |
projectID | 否 | String | 企业项目ID,默认为”0” | 参考请求示例 | |
diskMode | 是 | String | 磁盘模式,VBD/ISCSI/FCSAN | 参考请求示例 | |
diskName | 是 | String | 磁盘命名,单账户单资源池下,命名需唯一 | 参考请求示例 | |
diskSize | 是 | Integer | 磁盘大小,单位GB,容量不小于快照容量 | 参考请求示例 | |
onDemand | 否 | Boolean | 是否按需下单。默认为true | 参考请求示例 | |
cycleType | 否 | String | 包周期类型,year/month。onDemand为false时,必须指定。 | 参考请求示例 | |
cycleCount | 否 | Integer | 包周期数。onDemand为false时必须指定。周期最大长度不能超过5年 | 参考请求示例 |
响应参数
参数 | 是否必填 | 参数类型 | 说明 | 示例 | 下级对象 |
---|---|---|---|---|---|
statusCode | 是 | Integer | 返回状态码(800为成功,900为处理中/失败) | 参考响应示例 | |
message | 是 | String | 失败时的错误描述,一般为英文描述 | 参考响应示例 | |
description | 是 | String | 失败时的错误描述,一般为中文描述 | 参考响应示例 | |
returnObj | 是 | Object | returnObj | 参考响应示例 | returnObj |
details | 是 | String | 可忽略 | 参考响应示例 | |
errorCode | 是 | String | 业务细分码,为product.module.code三段式码.参考通用结果码 | 参考响应示例 | errorCode |
errorDetail | 是 | Object | 错误明细。一般情况下,会对订单侧(bss)的云硬盘订单业务相关的错误做明确的错误映射和提升,有唯一对应的errorCode。 其他订单侧(bss)的错误,以ebs.order.procFailed的errorCode统一映射返回,并在errorDetail中返回订单侧的详细错误信息 | 参考响应示例 | errorDetail |
表 returnObj
参数 | 是否必填 | 参数类型 | 说明 | 示例 | 下级对象 |
---|---|---|---|---|---|
masterOrderID | 是 | String | 订单ID。调用方在拿到masterOrderID之后,在若干错误情况下,可以使用materOrderID进一步确认订单状态及资源状态 | 参考响应示例 | |
masterOrderNO | 是 | String | 订单号 | 参考响应示例 | |
masterResourceID | 是 | String | 主资源ID。云硬盘场景下,无需关心。 | 参考响应示例 | |
masterResourceStatus | 是 | String | 主资源状态。只有主订单资源会返回。unknown/failed/ starting,具体状态信息请参考资源状态 | 参考响应示例 | |
regionID | 是 | String | 资源所属资源池ID | 参考响应示例 | |
resources | 是 | Object | 资源明细列表,参考表resources | 参考响应示例 | resources |
表 resources
参数 | 是否必填 | 参数类型 | 说明 | 示例 | 下级对象 |
---|---|---|---|---|---|
diskID | 是 | String | 云硬盘ID | 参考响应示例 | |
orderID | 是 | String | 无需关心 | 参考响应示例 | |
startTime | 是 | Integer | 启动时刻,epoch时戳,毫秒精度 | 参考响应示例 | |
createTime | 是 | Integer | 创建时刻,epoch时戳,毫秒精度 | 参考响应示例 | |
updateTime | 是 | Integer | 更新时刻,epoch时戳,毫秒精度 | 参考响应示例 | |
status | 是 | Integer | 资源状态,无需关心。参考masterResourceStatus | 参考响应示例 | |
isMaster | 是 | Boolean | 是否是主资源项 | 参考响应示例 | |
itemValue | 是 | Integer | 资源规格,磁盘资源为磁盘大小GB | 参考响应示例 | |
diskName | 是 | String | 云硬盘名称 | 参考响应示例 | |
resourceType | 是 | String | 云硬盘资源类型为EBS,只有一种 | 参考响应示例 | |
masterOrderID | 是 | String | 订单ID | 参考响应示例 | |
masterResourceID | 是 | String | 主资源ID | 参考响应示例 |
表 errorDetail
参数 | 是否必填 | 参数类型 | 说明 | 示例 | 下级对象 |
---|---|---|---|---|---|
bssErrCode | 是 | String | bss错误明细码,包含于bss格式化JSON错误信息中 | 参考响应示例 | |
bssErrMsg | 是 | String | bss错误信息,包含于bss格式化JSON错误信息中 | 参考响应示例 | |
bssOrigErr | 是 | String | 无法明确解码bss错误信息时,原样透出的bss错误信息 | 参考响应示例 | |
bssErrPrefixHint | 是 | String | bss格式化JSON错误信息的前置提示信息 | 参考响应示例 |
请求示例
请求头header
{
}
请求体body
{
"snapshotID":"3f868846-f47f-4619-a5b4-a02e9714f744",
"clientToken": "cbe3840c-bda4-4102-b68f-98c9d7190d69",
"regionID": "41f64827f25f468595ffa3a5deb5d15d",
"multiAttach": false,
"projectID": "0",
"diskMode": "VBD",
"diskName": "mydisk-0001",
"diskSize": 200,
"onDemand": false,
"cycleType": "month",
"cycleCount": 2
}
响应示例
下单后会先显示订单处理中:
{
"httpstatus": 200,
"httpresult": {
"description": "订单处理中,可使用订单ID查询或使用原clientToken重试下单",
"returnObj": {
"masterOrderNO": "20220812171600203284",
"regionID": "41f64827f25f468595ffa3a5deb5d15d",
"masterOrderID": "beacf51a20dd4889bfc99877d89e03e2"
},
"details": "",
"errorCode": "ebs.order.inProgress",
"message": "order in progress",
"statusCode": 900
}
}
已经成功下单后,使用重复的clientToken时,返回订单信息:
{
"returnObj": {
"masterResourceStatus": "started",
"regionID": "41f64827f25f468595ffa3a5deb5d15d",
"masterOrderID":"beacf51a20dd4889bfc99877d89e03e2",
"masterResourceID":"2ec9776a9ad94343b4ece701ce18e688",
"masterOrderNO": "20220812171600203284",
"resources": [
{
"orderID": "a71317c1efee48c2b44de52eb9a2d4a7",
"status": 2,
"isMaster": true,
"diskID": "61f69121-4036-4f31-a148-457eb8a45fee",
"updateTime": 1660295799000,
"itemValue": "10",
"startTime": 1660295799000,
"createTime": 1660295761000,
"masterOrderID": "beacf51a20dd4889bfc99877d89e03e2",
"masterResourceID":"2ec9776a9ad94343b4ece701ce18e688",
"diskName":"mydisk-0001",
"resourceType":"EBS"
}
]
},
"details": "",
"message": "success",
"description": "成功",
"statusCode": 800
}
状态码
状态码 | 描述 |
---|---|
800 | 表示请求成功。 |
错误码
请参考通用结果码。