说明
当前接口使用前请使用资源池概况信息查询接口查询带对接的资源池信息,如资源池信息"regionVersion": "v4.0",即可使用;如资源池信息"regionVersion": "v3.0", 不可使用。
接口功能介绍
创建云硬盘快照,单个租户下的单个云硬盘在创建第一个快照时,会创建快照的订单,之后的快照无需创建订单;
接口约束
1、单个云硬盘支持创建手动快照个数最多为40个;
2、快照创建地域应与源云硬盘所在地域相同;
3、系统盘和数据盘都支持创建快照;
4、只有可用状态(即未挂载和已挂载状态)的云硬盘才可以创建快照;
5、同一个租户下的名称不能重复;
6、磁盘模式为FCSAN的云硬盘不支持快照服务,磁盘模式为ISCSI的云硬盘不支持创建快照;
URI
POST /v4/ebs_snapshot/create-ebs-snap
请求参数
请求体body参数
参数 | 是否必填 | 参数类型 | 说明 | 示例 | 下级对象 |
---|---|---|---|---|---|
clientToken | 否 | String | 客户端存根,用于保证订单幂等性。要求单个云平台账户内唯一。 | 参考请求示例 | |
regionID | 是 | String | 资源池ID | 参考请求示例 | |
snapshotName | 是 | String | 快照名称。仅允许英文字母数字及_或者-,且长度为2-64字符参考请求示例 | 参考请求示例 | |
diskID | 是 | String | 云硬盘ID | 参考请求示例 | |
retentionPolicy | 是 | String | 快照保留策略。取值范围:[custom/forever],custom:自定义保留天数,forever:永久保留 | 参考请求示例 | |
retentionTime | 否 | Integer | 自定义快照保留天数。取值范围:1-65535。当快照保留策略为custom时该参数为必填,当快照保留策略为forever时,自动设置为65535 | 参考请求示例 |
响应参数
参数 | 是否必填 | 参数类型 | 说明 | 示例 | 下级对象 |
---|---|---|---|---|---|
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 | 订单号 | 参考响应示例 | |
regionID | 是 | String | 资源所属资源池ID | 参考响应示例 | |
snapshotJobID | 是 | Object | 非首次创建或者下单时,返回创建快照任务ID | 参考响应示例 | |
orderConfig | 是 | Object | 使用下单时相同的clientToken时,返回订单的配置信息 | 参考响应示例 | orderConfig |
cycleType | 是 | Object | 使用下单时相同的clientToken时,返回订单的订单类型,ON_DEMAND为按需,快照只有按需 | 参考响应示例 |
表orderConfig
参数 | 是否必填 | 参数类型 | 说明 | 示例 | 下级对象 |
---|---|---|---|---|---|
masterOrder | 是 | Boolean | 是否为主订单 | 参考响应示例 | |
itemConfig | 是 | Object | 订单配置信息,参考表itemConfig | 参考响应示例 | itemConfig |
itemValue | 是 | Int | 购买数量,默认为1 | 参考响应示例 | |
resourceType | 是 | String | 云硬盘快照资源类型EBS(只有一种) | 参考响应示例 |
表itemConfig
参数 | 是否必填 | 参数类型 | 说明 | 示例 | 下级对象 |
---|---|---|---|---|---|
azName | 是 | String | 创建快照所在az | 参考响应示例 | |
snapshotName | 是 | String | 快照名称 | 参考响应示例 | |
volumeType | 是 | String | 快照类型,SATA-SNAP/SAS-SNAP/SSD-GENERIC-SNAP/SSD-PUBLIC-SNAP/FAST-SSD-SNAP | 参考响应示例 | |
diskID | 是 | String | 云硬盘ID | 参考响应示例 | |
billMode | 是 | String | 付费类型,2表示按需付费,快照只有按需付费 | 参考响应示例 |
表 errorDetail
参数 | 是否必填 | 参数类型 | 说明 | 示例 | 下级对象 |
---|---|---|---|---|---|
bssErrCode | 是 | String | bss错误明细码,包含于bss格式化JSON错误信息中 | 参考响应示例 | |
bssErrMsg | 是 | String | bss错误信息,包含于bss格式化JSON错误信息中 | 参考响应示例 | |
bssOrigErr | 是 | String | 无法明确解码bss错误信息时,原样透出的bss错误信息 | 参考响应示例 | |
bssErrPrefixHint | 是 | String | bss格式化JSON错误信息的前置提示信息 | 参考响应示例 |
请求示例
请求头header
{
}
请求体body
{
"clientToken": "tt-yy-sss",
"regionID":"fc862f71-d629-4a0e-9fe0-b104963b3f05",
"snapshotName":"snapshot-001",
"diskID":"36e88a58-1ebf-40ac-91b6-a8c0eca38314",
"retentionPolicy":"forever"
}
或者
{
"clientToken": "tt-yy-sss",
"regionID":"fc862f71-d629-4a0e-9fe0-b104963b3f05",
"snapshotName":"snapshot-001",
"diskID":"36e88a58-1ebf-40ac-91b6-a8c0eca38314",
"retentionPolicy":"custom",
"retentionTime":7,
}
响应示例
{
"description" : "\u8ba2\u5355\u5904\u7406\u4e2d\uff0c\u53ef\u4f7f\u7528\u8ba2\u5355ID\u67e5\u8be2\u6216\u4f7f\u7528\u539fclientToken\u91cd\u8bd5\u4e0b\u5355",
"errorCode" : "ebs.order.inProgress",
"details": "",
"message" : "order in progress",
"returnObj" : {
"masterOrderID" : "f2533a837273484e93e9bed79f848307",
"masterOrderNO" : "20221110210941194620",
"regionID" : "81f7728662dd11ec810800155d307d5b"
},
"statusCode" : 900
}
或者
{
"returnObj": {
"orderConfig":[{
"masterOrder": True,
"resourceType": "EBS",
"itemConfig": {
"azName": "az1",
"snapshotName": "snapshot-001",
"volumeType": "SATA-SNAP",
"diskID": "36e88a58-1ebf-40ac-91b6-a8c0eca38314",
"billMode": "2"
},
"itemValue": "1"
}],
"cycleType": "ON_DEMAND"
},
"details": "",
"message": "SUCCESS",
"description": "成功",
"statusCode": 800
}
或者
{
"returnObj": {
"snapshotJobID": "f29d6cbe-6171-11ed-b9da-525400cc3b79"
},
"details": "",
"message": "SUCCESS",
"description": "成功",
"statusCode": 800
}
状态码
状态码 | 描述 |
---|---|
800 | 表示请求成功。 |
900 | 订单类返回900并且message为order in progress为成功,其他情况为失败。 |
错误码
请参考通用结果码。