云硬盘接口API详情
创建云硬盘
创建一块或多块按量付费或者预付费(包年包月)云硬盘。
描述
用户根据需要选择云硬盘大小和类型,提交订单,购买云硬盘。
创建的云硬盘分为包年包月和按需两种类型。
单次最多能创建100块云硬盘。
实例创建成功后将自动开机启动,实例状态变为“available未挂载”。
预付费实例的购买会预先扣除本次实例购买所需金额,按小时后付费实例购买会预先冻结本次实例购买一小时内所需金额,在调用本接口前请确保账户余额充足。
在启动实例时,实例属于“创建中”(creating)状态,在实例准备好时,会进入“运行中(available)”状态。
URI
POST /ebs/v1/volumes
请求参数
- 公共请求头
- 请求参数
名称 | 位置 | 类型 | 是否必须 | 描述 |
---|---|---|---|---|
indiskName | body | String | 是 | 云硬盘名称 |
indiskSize | body | int | 是 | 云硬盘大小 |
backupId | body | String | 否 | 备份ID,备份容量必须与云硬盘大小相同 |
indiskNum | body | int | 是 | 云硬盘数目 |
productTypeCode | body | String | 是 | 产品类型编码(普通型传SATA) |
billType | body | String | 是 | 计费方式(按需传hourlySettlement,包年包月传monthly) |
duration | body | String | 否 | 购买时长,折算成月,9个月则填写为9,3年为36,在计费方式为monthly时有效 |
durationUnit | body | String | 否 | 购买时长单位,取值范围:M(月),填写时必须为M(区分大小写),不填默认值为M ,在计费方式为monthly时有效 |
isAutoRenew | body | String | 否 | 是否自动从预充值账号扣款,true--自动续费/false--不自动续费,默认为自动续费,非必填 |
shared | body | String | 否 | 是否是共享盘(可选值为"true"or"false") |
availabilityZone | body | String | 否 | 可用域 |
返回参数
名称 | 位置 | 类型 | 是否必须 | 描述 |
---|---|---|---|---|
orderId | 订单ID | String | 是 | 订单标识 |
示例
创建云硬盘可以指定云硬盘名称,云硬盘大小,批量创建的数量,计费方式(包年包月或者按需),云硬盘的类型,使用接口创建云硬盘时 请求体是相同的,您只需根据请求中的参数说明,更换如下请求样例中的参数值即可。 假设创建2块40G按需的普通型(SATA)云硬盘,指定名称为test。
请求示例
/ebs/v1/volumes
{
"indiskName":"test",
"indiskSize": 40,
"indiskNum": 2,
"billType": "hourlySettlement",
"productTypeCode":"SATA",
"availabilityZone":"nova",
"shared": "true"
}
响应示例
{
"orderId": "188950322035359744"
}
返回值
请参考通用请求返回值
错误码
请参考错误码
扩容云硬盘
扩容一块按量付费或者预付费(包年包月)云硬盘。
描述
用户根据需要指定扩容后的云硬盘大小,提交订单,扩容云硬盘。
实例状态必须为“available未挂载”时方可进行扩容。
当实例处于正在扩容的过程中时,实例处于“扩容中”(extending)状态,在实例扩容完毕后,会进入“运行中(available)”状态。
URI
POST /ebs/v1/volumes/{volumeId}/action/extend
请求参数
- 公共请求头
- 请求参数
名称 | 位置 | 类型 | 是否必须 | 描述 |
---|---|---|---|---|
volumeId | path | String | 是 | 所需扩容云硬盘的ID |
indiskNewSize | body | int | 是 | 云硬盘扩容后的大小 |
返回参数
名称 | 位置 | 类型 | 是否必须 | 描述 |
---|---|---|---|---|
orderId | 订单ID | String | 是 | 订单标识 |
示例
扩容云硬盘必须指定云硬盘扩容后的大小。 假设1块40G按需的普通型(SATA)云硬盘扩容到60G,其ID为c97becda-1a55-440b-bc8d-b507c4ff3c44。
请求示例
/ebs/v1/volumes/c97becda-1a55-440b-bc8d-b507c4ff3c44/action/extend
{
"indiskNewSize": 60
}
响应示例
{
"orderId": "190414814317051904"
}
返回值
请参考通用请求返回值
错误码
请参考错误码
云硬盘续费
只针对预付费(包年包月)的云硬盘,为一块预付费(包年包月)的云硬盘进行续费。
描述
用户根据需要指定云硬盘续费的时长、时长单位,提交订单,续费云硬盘。
云硬盘续费只针对用户以预付费(包年包月)所购买的云硬盘。
URI
POST /ebs/v1/volumes/{volumeId}/action/renew
请求参数
- 公共请求头
- 请求参数
名称 | 位置 | 类型 | 是否必须 | 描述 |
---|---|---|---|---|
volumeId | path | String | 是 | 所需续费云硬盘的ID |
duration | body | String | 是 | 购买时长,折算成月,9个月则填写为9,3年为36 |
durationUnit | body | String | 否 | 购买时长单位,取值范围:M(月),填写时必须为M(区分大小写),不填默认值为M |
返回参数
名称 | 位置 | 类型 | 是否必须 | 描述 |
---|---|---|---|---|
orderId | 订单ID | String | 是 | 订单标识 |
示例
续费云硬盘必须指定云硬盘的续费时长。 假设1块30G包年包月的普通型(SATA)云硬盘需要续费2个月,其ID为5422c7b1-09b4-45ad-a173-68df3f6c02c8。
请求示例
/ebs/v1/volumes/5422c7b1-09b4-45ad-a173-68df3f6c02c8/action/renew
{
"duration": "2",
"durationUnit": "M"
}
响应示例
{
"orderId": "190414544170319872"
}
返回值
请参考通用请求返回值
错误码
请参考错误码
删除云硬盘
只针对按量付费的云硬盘,删除一块或多块按量付费的云硬盘。
描述
用户根据需要指定所需删除的一块或多块云硬盘的ID,提交订单,删除云硬盘。
删除云硬盘只针对用户以按量付费所购买的云硬盘。
删除15天内创建的云硬盘是硬删除,删除超过15天创建的云硬盘是软删除。
实例状态必须为“available未挂载”时方可进行删除。
URI
POST /ebs/v1/volumes/action/delete
请求参数
- 公共请求头
- 请求参数
名称 | 位置 | 类型 | 是否必须 | 描述 |
---|---|---|---|---|
volumeIds | body | List<String> | 是 | 所需退订云硬盘的ID集合 |
返回参数
名称 | 位置 | 类型 | 是否必须 | 描述 |
---|---|---|---|---|
orderId | 订单ID | String | 是 | 订单标识 |
示例
假设要退订1块30G按量付费的普通型(SATA)和1块20G按量付费的普通型(SATA)云硬盘,云硬盘的ID分别为395ad417-979c-44d3-8ec1-3193888d8e6c和c97becda-1a55-440b-bc8d-b507c4ff3c44。
请求示例
/ebs/v1/volumes/action/delete
{
"volumeIds": ["395ad417-979c-44d3-8ec1-3193888d8e6c", "c97becda-1a55-440b-bc8d-b507c4ff3c44"]
}
响应示例
{
"orderId": "190414544170319882"
}
返回值
请参考通用请求返回值
错误码
请参考错误码
更新云硬盘名称
更新云硬盘的显示名称。
描述
- 更改指定云硬盘的显示名称。
URI
PUT /ebs/v1/volumes/{volumeId}
请求参数
- 公共请求头
- 请求参数
名称 | 位置 | 类型 | 是否必须 | 描述 |
---|---|---|---|---|
volumeId | path | String | 是 | 需要更改名称的云硬盘ID |
name | body | String | 是 | 新的云硬盘名称 |
返回参数
无
示例
假设将一块ID为 c2fb761c-ad8b-4f6b-a616-6cb2cf09d36c 的云硬盘名称更改为 test
请求示例
/ebs/v1/volumes/c2fb761c-ad8b-4f6b-a616-6cb2cf09d36c
{
"name": "test"
}
返回值
请参考通用请求返回值
错误码
请参考错误码
云硬盘列表和检索
描述
- 查询/检索云硬盘列表。
- 可按名称/id两个参数进行筛选,先对名称进行模糊搜索,再对id进行精确搜索。为空时不进行过滤。
- 可按状态进行搜索。
- 可指定是否包含停服的云硬盘。
URI
GET /ebs/v1/volumes/{pageNo}/{pageSize}
请求参数
- 公共请求头
- 请求参数
名称 | 位置 | 类型 | 是否必须 | 描述 |
---|---|---|---|---|
searchValue | params | string | N | 搜索参数,按名称/id两个参数进行筛选,先对名称进行模糊搜索,再对id进行精确搜索。为空时不进行过滤 |
sortField | params | string | N | 按哪个字段进行排序,默认created_at,目前仅created_at |
sortOrder | params | string | N | descend/ascend,升序排序/降序排序,默认descend,目前仅descend |
status | params | string | N | 按状态进行搜索 |
pageNo | path | int | Y | 查询页数,为-1时查询全部云硬盘 |
pageSize | path | int | Y | 每页显示条数,为-1时查询全部云硬盘 |
containStopService | params | string | N | 是否包含停服的云硬盘,true:是,false:否,默认为true |
serverId | params | string | N | 根据云服务器的 id,查出该云服务器下挂载的云硬盘的列表 |
availabilityZone | params | string | N | 按 az 过滤,只返回对应 az 下的云硬盘 |
withBrief | params | string | N | 是否是简要备份信息(不包括计费信息,对应服务器信息等)"true"为是,"false"为否 |
返回参数
名称 | 位置 | 类型 | 是否必须 | 描述 |
---|---|---|---|---|
pageNo | body | int | 是 | 查询页数 |
pageSize | body | int | 是 | 每页显示条数 |
totalCount | body | int | 是 | 总条数 |
data | body | List<VolumeDTO> | 是 | 具体云硬盘列表(metaData中的volume_tag二进制下第三位取值为1,表示该盘为共享盘) |
示例
以查询关键字为“EBS”的云硬盘列表为例:
请求示例
/ebs/v1/volumes/1/10?searchValue=EBS
响应示例
{
"data": [
{
"id": "3e0c9132-c03c-44cd-9967-a86e8f26910b",
"name": "EBS-2019521111340-3",
"description": null,
"status": "available",
"size": 40,
"createdAt": "2019-05-21T03:13:16Z",
"volumeType": "SATA",
"snapshotId": null,
"bootable": "false",
"multiattach": null,
"imageRef": null,
"metaData": {
"expire": "",
"productTag": "EBS",
"volume_tag": "0"
},
"attachments": [],
"availabilityZone": null,
"userId": null,
"projectId": null,
"feeData": {
"chargeType": "hourlySettlement",
"startFeeTime": "2019-05-21 11:13:16",
"nextFeeTime": "2099-12-31 23:59:59",
"createTime": "2019-05-22 16:41:15",
"serviceStatus": "alreadyOpened",
"deleteTime": null,
"daysOfDelete": null,
"isAutoRenew": "false"
},
"region": "cn-north-3",
"regionDisplayName": null,
"backupId": null
},
{
"id": "7c390279-646f-4503-9748-51d7148c3e20",
"name": "mqtest2",
"description": null,
"status": "in-use",
"size": 20,
"createdAt": "2019-05-17T07:58:57Z",
"volumeType": "SATA",
"snapshotId": null,
"bootable": "false",
"multiattach": null,
"imageRef": null,
"metaData": {
"expire": "",
"attached_mode": "rw",
"volume_tag": "0",
"productTag": "EBS"
},
"attachments": [
{
"device": "/dev/vdd",
"id": "7c390279-646f-4503-9748-51d7148c3e20",
"attachment_id": "a159ef89-5f28-46df-acab-b3ac099a3647",
"hostname": "cmp003",
"serverId": "1dd012e4-e632-4ccf-98ec-f57e897bb594",
"volumeId": "7c390279-646f-4503-9748-51d7148c3e20",
"serverName": "ECS-2019425153043"
}
],
"availabilityZone": null,
"userId": null,
"projectId": null,
"feeData": {
"chargeType": "hourlySettlement",
"startFeeTime": "2019-05-17 15:58:57",
"nextFeeTime": "2099-12-31 23:59:59",
"createTime": "2019-05-17 15:58:57",
"serviceStatus": "alreadyOpened",
"deleteTime": null,
"daysOfDelete": null,
"isAutoRenew": "false"
},
"region": "cn-north-3",
"regionDisplayName": null,
"backupId": null
}
],
"pageNo": 1,
"pageSize": 10,
"totalCount": 2
}
返回值
请参考通用请求返回值
错误码
请参考错误码
查询云硬盘详情
描述
查询某一个云硬盘详情
URI
GET /ebs/v1/volumes/{volumeId}
请求参数
- 公共请求头
- 请求参数
名称 | 位置 | 类型 | 是否必须 | 描述 |
---|---|---|---|---|
volumeId | path | String | 是 | 云硬盘id |
withBrief | params | String | 否 | 是否为简要信息,“true”表示简要信息 |
返回参数
名称 | 位置 | 类型 | 是否必须 | 描述 |
---|---|---|---|---|
id | body | String | 是 | 云硬盘ID |
name | body | String | 是 | 云硬盘名称 |
description | body | String | 否 | 描述 |
size | body | int | 是 | 云硬盘大小 |
createdAt | body | String | 是 | 创建时间 |
volumeType | body | String | 是 | 云硬盘类型,目前可支持SATA和SSD |
snapshotId | body | String | 否 | 备份id |
bootable | body | String | 是 | 是否为系统盘 ,"true"为系统盘,"false"为数据盘 |
multiattach | body | boolean | 否 | 是否支持多挂载 |
imageRef | body | String | 否 | 镜像标识 |
metaData | body | Map |
否 | 元数据(volume_tag在二进制下第三位取值为1,表示该盘为共享盘) |
attachments | body | List<? extends VolumeAttachment> | 否 | 挂载信息 |
availabilityZone | body | String | 否 | 可用域 |
userId | body | String | 否 | 用户id(openstack) |
projectId | body | String | 否 | 项目id(openstack) |
feeData | body | FeeData | 否 | 计费信息 |
region | body | String | 是 | 区域,前端根据此字段来展示区域名称 |
regionDisplayName | body | String | 是 | 保留字段,值为null,没有实际作用 |
backupNum | body | Integer | 是 | 该云硬盘的备份数量 |
snapshotNum | body | Integer | 是 | 该云硬盘的快照数量 |
backupId | body | String | 否 | 备份id |
示例
以查看id为7c390279-646f-4503-9748-51d7148c3e20的云硬盘详情为例:
请求示例
/ebs/v1/volumes/7c390279-646f-4503-9748-51d7148c3e20
响应示例
{
"id": "7c390279-646f-4503-9748-51d7148c3e20",
"name": "mqtest2",
"description": null,
"status": "in-use",
"size": 20,
"createdAt": "2019-05-17T07:58:57Z",
"volumeType": "SATA",
"snapshotId": null,
"bootable": "false",
"multiattach": null,
"imageRef": null,
"metaData": {
"expire": "",
"attached_mode": "rw",
"volume_tag": "0",
"productTag": "EBS"
},
"attachments": [
{
"device": "/dev/vdd",
"id": "7c390279-646f-4503-9748-51d7148c3e20",
"attachment_id": "a159ef89-5f28-46df-acab-b3ac099a3647",
"hostname": "cmp003",
"serverId": "1dd012e4-e632-4ccf-98ec-f57e897bb594",
"volumeId": "7c390279-646f-4503-9748-51d7148c3e20",
"serverName": "ECS-2019425153043"
}
],
"availabilityZone": null,
"userId": null,
"projectId": null,
"feeData": {
"chargeType": "hourlySettlement",
"startFeeTime": "2019-05-17 15:58:57",
"nextFeeTime": "2099-12-31 23:59:59",
"createTime": "2019-05-17 15:58:57",
"serviceStatus": "alreadyOpened",
"deleteTime": null,
"daysOfDelete": null,
"isAutoRenew": "false"
},
"region": "cn-north-3",
"regionDisplayName": null,
"backupId": null
}
返回值
请参考通用请求返回值
错误码
请参考错误码
挂载云硬盘
描述
- 挂载云硬盘到云服务器。
- 处于停服状态的云硬盘不可挂载。
- 实例状态为 'AVAILABLE' 时才可挂载。
URI
POST /ebs/v1/volumes/{volumeId}/action/attach
请求参数
- 公共请求头
- 请求参数
名称 | 位置 | 类型 | 是否必须 | 描述 |
---|---|---|---|---|
volumeId | path | string | Y | 云硬盘ID |
osAttach | body | Map |
Y | 实例ID及挂载点信息 |
返回参数
无
示例
将一块ID为 c2fb761c-ad8b-4f6b-a616-6cb2cf09d36c 的云硬盘挂载到实例ID为 adce2737-eb93-4bfe-a276-472be188d64c 的云服务器上。
请求示例
/ebs/v1/volumes/c2fb761c-ad8b-4f6b-a616-6cb2cf09d36c/action/attach
{
"osAttach": {
"instanceUuid": "adce2737-eb93-4bfe-a276-472be188d64c",
"mountPoint": "c2fb761c-ad8b-4f6b-a616-6cb2cf09d36c"
}
}
返回值
请参考通用请求返回值
错误码
请参考错误码
卸载云硬盘
描述
- 将云硬盘从云服务器上卸载。
- 实例状态为 'in-use' 的云硬盘才可执行卸载操作。
URI
POST /ebs/v1/volumes/{volumeId}/action/detach
请求参数
- 公共请求头
- 请求参数
名称 | 位置 | 类型 | 是否必须 | 描述 |
---|---|---|---|---|
volumeId | path | string | Y | 云硬盘ID |
osDetach | body | Map |
Y | 挂载点信息(非共享盘取值为attachments.id,共享盘取值为attachments.attachment_id) |
返回参数
无
示例
将一块ID为 c2fb761c-ad8b-4f6b-a616-6cb2cf09d36c 的云硬盘从云服务器上卸载。
请求示例
/ebs/v1/volumes/c2fb761c-ad8b-4f6b-a616-6cb2cf09d36c/action/detach
{
"osDetach": {
"attachmentId": "adce2737-eb93-4bfe-a276-472be188d64c"
}
}
返回值
请参考通用请求返回值
错误码
请参考错误码
导出云硬盘
描述
- 以excel形式导出云硬盘列表
URI
GET /ebs/v1/volumes/action/export
请求参数
- 公共请求头
- 请求参数
名称 | 位置 | 类型 | 是否必须 | 描述 |
---|---|---|---|---|
返回参数
名称 | 位置 | 类型 | 是否必须 | 描述 |
---|---|---|---|---|
- | - | application/octet-stream | 是 | 云硬盘列表excel的输出流 |
示例
请求示例
/ebs/v1/volumes/action/export
响应示例
返回值
请参考通用请求返回值
错误码
请参考错误码
获取用户已购买的云硬盘数量
描述
URI
GET /ebs/v1/volumes/instance-num
请求参数
- 公共请求头
- 请求参数
名称 | 位置 | 类型 | 是否必须 | 描述 |
---|---|---|---|---|
返回参数
名称 | 位置 | 类型 | 是否必须 | 描述 |
---|---|---|---|---|
data | body | int | 是 | 用户已购买的云硬盘数量 |
示例
请求示例
/ebs/v1/volumes/instance-num
响应示例
{
"data": 6
}
返回值
请参考通用请求返回值
错误码
请参考错误码
获取单个云硬盘的备份配额信息
获取单个云硬盘的备份配额信息
描述
- 获取单个云硬盘的备份配额信息
URI
GET /ebs/v1/volumes/{volumeId}/snaps/quota
请求参数
- 公共请求头
- 请求参数
名称 | 位置 | 类型 | 是否必须 | 描述 |
---|---|---|---|---|
volumeId | path | String | 是 | 云硬盘 id |
返回参数
名称 | 位置 | 类型 | 是否必须 | 描述 |
---|---|---|---|---|
used | body | int | 是 | 云硬盘已用备份数量 |
remain | body | int | 是 | 云硬盘剩余可用备份数量 |
示例
假设获取 id 为 9191b064-82d5-4290-843f-cf3b00222676 的云硬盘的备份配额信息。
请求示例
/ebs/v1/volumes/9191b064-82d5-4290-843f-cf3b00222676/snaps/quota
响应示例
{
"remain": 3,
"used": 4
}
返回值
请参考通用请求返回值
错误码
请参考错误码
获取指定云硬盘的备份数量
获取指定云硬盘的备份数量
描述
- 获取指定云硬盘的备份数量
URI
GET /ebs/v1/volumes/{volumeId}/snap-num
请求参数
- 公共请求头
- 请求参数
名称 | 位置 | 类型 | 是否必须 | 描述 |
---|---|---|---|---|
projectName | Param | string | 否 | 项目名称(必须与keystoneToken一起使用) |
keystoneToken | param | String | 否 | keystone token |
返回参数
名称 | 位置 | 类型 | 是否必须 | 描述 |
---|---|---|---|---|
snapNum | body | int | 是 | 云硬盘的备份数量 |
示例
请求示例
/ebs/v1/volumes/f82b63b5-91c0-495b-ad18-67793d8382a8/snap-num?projectName=zhangyan&keystoneToken=gAAAAABdznNhGYIROg5OJ2ZCzK34FvpkT5_CzHwaTaJH44BQzTLeYoMMGqjQ275-QOpd-kR-staaakpa_2326jlcREaVtZjLxhD90Cr5wwbMyiMxULCesp7e72IWPPZMyJ_c7RvLDzgrVrYQaaNQzhlbFKHDAGCu4NXZCXWN63M9QW9MXI-0XUeRD36RbgznqxwuEiFFuit3
响应示例
{
"snapNum":0
}
返回值
请参考通用请求返回值
错误码
请参考错误码
备份相关接口
查询备份列表
获取云硬盘的备份列表。
描述
- 获取云硬盘的备份列表。
- 支持分页,可以指定查询的页码,每页的条数。
- 支持筛选,对备份名称进行模糊搜索,对 id 进行精确搜索,对备份id批量搜索。
URI
GET /ebs/v1/snaps/{pageNo}/{pageSize}
请求参数
- 公共请求头
- 请求参数
名称 | 位置 | 类型 | 是否必须 | 描述 |
---|---|---|---|---|
searchValue | param | string | N | 搜索参数,将对备份名称/备份id/云硬盘id进行筛选,对名称进行模糊搜索,对id进行精确搜索。为空时不进行过滤 |
isVolumeId | param | string | N | 标志传入的 searchValue 是否只为云硬盘 id,「是」则传"y" |
status | param | string | N | 按备份状态进行搜索 |
pageNo | path | int | Y | 查询页数,为-1时查询全部备份 |
pageSize | path | int | Y | 每页显示条数,为-1时查询全部备份 |
snapIds | String | param | N | 备份 id 集合,多个备份用 "," 分隔 |
productTag | String | param | N | 产品标识,缺省为 EBS,其他产品使用则需要传入产品名称 |
projectName | String | Param | N | 项目名称 (必须与keystoneToken一起使用) |
keystoneToken | String | param | N | keystone token |
availabilityZone | String | param | N | 可用域 |
withBrief | String | param | N | 是否是简要备份信息(不包括盘信息等)"true"为是,"false"为否 |
返回参数
| 名称 | 位置 | 类型 | 是否必须 | 描述 | |-----------|------|---------------|---------|------003031------------| | pageNo | body | int | 是 | 查询页数 | | pageSize | body | int | 是 | 每页显示条数 | | totalCount | body | int | 是 | 总条数 | | data | body | List<SnapDTO> | 是 | 具体备份列表 |
示例
假设获取第 1 页的备份列表,每页显示 3 条,根据「备份状态是 available」当做条件进行筛选。
请求示例
/ebs/v1/snaps/1/3?status=available
响应示例
{
"data": [
{
"id": "14c90ae2-0340-49fb-97a9-2058b5d7bd19",
"name": "auto_20190815080047",
"size": 20,
"status": "available",
"createdAt": "2019-08-15T00:00:49Z",
"volumeId": "079337cf-2a7f-4f7c-bc80-a7fb5b1bfdaa",
"volumeName": "bao05306",
"bootable": "false",
"kkUserId": "f679eb23-f74d-477a-a31f-a656d71604ed",
"accountId": "dev",
"availabilityZone": "nova"
},
{
"id": "ef64b7bc-4eb1-4b44-816c-d52655234759",
"name": "auto_20190815080047",
"size": 20,
"status": "available",
"createdAt": "2019-08-15T00:00:48Z",
"volumeId": "135d04f8-6f0b-4ea8-ab8b-24982b0d7f2e",
"volumeName": "bao05306",
"bootable": "false",
"kkUserId": "f679eb23-f74d-477a-a31f-a656d71604ed",
"accountId": "dev",
"availabilityZone": "nova"
},
{
"id": "123f4d6d-1955-452c-9a47-bab4c26c7da5",
"name": "auto_20190815080045",
"size": 20,
"status": "available",
"createdAt": "2019-08-15T00:00:48Z",
"volumeId": "e70c1204-5518-4145-b92d-e5b2361189f5",
"volumeName": "EBS-2019678284-mock-1",
"bootable": "false",
"kkUserId": "f679eb23-f74d-477a-a31f-a656d71604ed",
"accountId": "dev",
"availabilityZone": "nova"
}
],
"pageNo": 1,
"pageSize": 3,
"totalCount": 10
}
返回值
请参考通用请求返回值
错误码
请参考错误码
回滚备份
回滚备份到源硬盘
描述
- 回滚的云硬盘需要是挂载状态,并且对应的云服务器是关机状态。
- 恢复备份数据到云硬盘,云硬盘回滚前的数据消失。
URI
POST /ebs/v1/snaps/{snapId}/action/restore
请求参数
- 公共请求头
- 请求参数
名称 | 位置 | 类型 | 是否必须 | 描述 |
---|---|---|---|---|
snapId | path | String | 是 | 备份 id |
volumeId | body | String | 是 | 回滚的云硬盘 id |
返回参数
示例
假设将 id 为 7191e920-5096-4418-bb9e-07380846358b 的备份,回滚到 id 为 12a946a0-0ab8-4e79-b95e-09f0661d360b 的云硬盘, 则URI 为 /ebs/v1/snaps/7191e920-5096-4418-bb9e-07380846358b/action/restore。
请求示例
{
"volumeId":"12a946a0-0ab8-4e79-b95e-09f0661d360b"
}
响应示例
返回值
请参考通用请求返回值
错误码
请参考错误码
创建备份
创建云硬盘备份
描述
- 当前云硬盘没有创建备份的任务。
- 创建备份时需要输入名称,名称规则:长度为2-128个字符,不能以特殊字符及数字开头,只可包含特殊字符中的".","_"或"-"
- 云硬盘处在中间状态时创建备份不可用,包括:创建中,挂载中,卸载中,扩容中。
- 每块云硬盘最多支持创建7个备份。
URI
POST /ebs/v1/snaps
请求参数
- 公共请求头
- 请求参数
名称 | 位置 | 类型 | 是否必须 | 描述 |
---|---|---|---|---|
id | body | String | 是 | 云硬盘 id |
name | body | String | 是 | 备份名称 |
incremental | body | Boolean | 否 | true:增量 false:全量 |
region | body | String | 否 | 区域 |
availabilityZone | body | String | 否 | 可用域 |
productTag | body | String | 否 | 产品标识,缺省为 EBS,其他产品接入则需要传入产品名称 |
container | body | String | 否 | 桶名,缺省为默认桶名,其他产品接入则需要传入自己产品的桶名 |
projectName | body | String | 否 | 项目名称(必须与keystoneToken一起使用) |
keystoneToken | body | String | 否 | keystone token |
返回参数
名称 | 位置 | 类型 | 是否必须 | 描述 |
---|---|---|---|---|
id | body | String | 是 | 备份id |
name | body | String | 是 | 备份名称 |
size | body | int | 是 | 备份容量 |
volumeId | body | String | 是 | 云硬盘 id |
status | body | String | 是 | 备份状态 |
volumeName | body | String | 是 | 云硬盘名字 |
示例
假设给 id 为 135d04f8-6f0b-4ea8-ab8b-24982b0d7f2e 的云硬盘,创建一个名称为 test 的备份。
请求示例
{
"id" : "135d04f8-6f0b-4ea8-ab8b-24982b0d7f2e",
"name" : "test"
}
响应示例
{
"id": "8d67b3d6-7354-4902-ae86-451887788bcd",
"name": "test",
"size": 40,
"status": "creating",
"createdAt": null,
"volumeId": "9697268f-0d32-4590-9a89-21049f9d470b",
"volumeName": "volume_667376cc-e688-4601-a731-8f5ce9e6a276",
"bootable": null,
"kkUserId": null,
"accountId": null,
"availabilityZone": null,
"updatedAt": null,
"metadata": null
}
返回值
请参考通用请求返回值
错误码
请参考错误码
删除备份
删除备份
描述
- 支持批量删除。
- 删除备份不受云硬盘限制,即使备份有关联的云硬盘也可以删除。
URI
POST /ebs/v1/snaps/action/delete
请求参数
- 公共请求头
- 请求参数
名称 | 位置 | 类型 | 是否必须 | 描述 |
---|---|---|---|---|
snapIds | body | String | 是 | 备份 id 集合,多个备份用 "," 分隔 |
projectName | body | String | 否 | 项目名称 (必须与keystoneToken一起使用) |
keystoneToken | body | String | 否 | keystone token |
返回参数
示例
假设删除两个备份,id 分别为 1cc70ca7-b47f-4ffc-92ec-a7b70bd85135、7191e920-5096-4418-bb9e-07380846358b。
请求示例
{
"snapIds":"1cc70ca7-b47f-4ffc-92ec-a7b70bd85135,7191e920-5096-4418-bb9e-07380846358b"
}
响应示例
返回值
请参考通用请求返回值
错误码
请参考错误码
查询备份统计信息
获取用户下备份的统计信息
描述
- 获取用户下备份的使用容量和使用数量
URI
GET /ebs/v1/snaps/statistics
请求参数
返回参数
名称 | 位置 | 类型 | 是否必须 | 描述 |
---|---|---|---|---|
size | body | int | 是 | 备份使用容量 |
count | body | int | 是 | 备份使用数量 |
示例
假设获取某个用户下的备份统计信息,根据 公共请求头 来获取用户信息, 再获取备份统计信息。
请求示例
/ebs/v1/snaps/statistics
响应示例
{
"size": 200,
"count": 10
}
返回值
请参考通用请求返回值
错误码
请参考错误码
修改备份名称
修改备份的名称
描述
- 修改备份的名称
URI
PUT /ebs/v1/snaps/{backupId}
请求参数
- 公共请求头
- 请求参数
名称 | 位置 | 类型 | 是否必须 | 描述 |
---|---|---|---|---|
snapId | path | string | 是 | 备份 id |
name | body | string | 是 | 备份名称 |
返回参数
示例
假设将 id 为 7191e920-5096-4418-bb9e-07380846358b 的备份的名称改为 test,则 URI 为 /ebs/v1/snaps/7191e920-5096-4418-bb9e-07380846358b。
请求示例
{
"name":"test"
}
响应示例
返回值
请参考通用请求返回值
错误码
请参考错误码
备份详情
备份详情
描述
- 备份详情
URI
GET /ebs/v1/snaps/{backupId}
请求参数
- 公共请求头
- 请求参数
名称 | 位置 | 类型 | 是否必须 | 描述 |
---|---|---|---|---|
projectName | Param | string | 否 | 项目名称 |
返回参数
名称 | 位置 | 类型 | 是否必须 | 描述 |
---|---|---|---|---|
id | body | string | 是 | 备份id |
name | body | String | 是 | 备份名字 |
size | body | int | 是 | 云硬盘容量 |
status | body | String | 是 | 备份状态 |
createdAt | body | String | 是 | 创建时间 |
volumeId | body | String | 是 | 云硬盘id |
metadata | body | Map | 是 | 元数据 |
示例
请求示例
/ebs/v1/snaps/23bac307-6a85-4123-becd-ebbd9ebd9792?projectName=zhangyan
响应示例
{
"id": "23bac307-6a85-4123-becd-ebbd9ebd9792",
"name": "test",
"size": 20,
"status": "available",
"createdAt": "2019-10-30T00:26:21Z",
"volumeId": "ba0f4678-97d9-41c7-ab7d-5a4f08da0878",
"volumeName": null,
"bootable": null,
"kkUserId": "223f6fac-cacf-4447-ba2e-ee42ab125148",
"accountId": null,
"availabilityZone": null,
"updatedAt": null,
"metadata": {
"productTag": "EBS",
"availability_zone": "nova"
}
}
返回值
请参考通用请求返回值
错误码
请参考错误码
自动备份策略相关接口
创建备份策略
创建一个自动备份策略。
描述
用户根据需要确定自动备份策略的名称、周期、时间点,创建自动备份策略。
周期、时间点在接口中以Cron表达式的形式进行输入和保存。
URI
POST /ebs/v1/strategies
请求参数
- 公共请求头
- 请求参数
名称 | 位置 | 类型 | 是否必须 | 描述 |
---|---|---|---|---|
strategyName | body | String | 是 | 自动备份策略名称 |
strategyCycle | body | String | 是 | 自动备份策略周期、时间点对的Cron表达式 |
返回参数
假设创建一个名称为“shang0604”,Cron表达式为 40 15 ? *的自动备份策略。
示例
请求示例
/ebs/v1/strategies
{
"strategyName": "shang0604",
"strategyCycle": "* 40 15 ? * *"
}
响应示例
返回值
请参考通用请求返回值
错误码
请参考错误码
删除备份策略
删除一个指定的自动备份策略。
描述
- 用户通过自动备份策略ID,删除一个指定的自动备份策略。
URI
DELETE /ebs/v1/strategies/{strategyId}
请求参数
- 公共请求头
- 请求参数
名称 | 位置 | 类型 | 是否必须 | 描述 |
---|---|---|---|---|
strategyId | path | String | 是 | 自动备份策略ID |
返回参数
示例
假设删除ID为407ed6d7-8631-4f57-b6a5-2f2f8a7f31ec的自动备份策略。
请求示例
/ebs/v1/strategies/407ed6d7-8631-4f57-b6a5-2f2f8a7f31ec
响应示例
返回值
请参考通用请求返回值
错误码
请参考错误码
更新备份策略
更新一个指定的自动备份策略。
描述
- 用户更新指定备份策略的名称和Cron表达式信息。
- 当名称和Cron表达式同时都指定时则同时更新;当只传名称或只传Cron表达式时则只更新名称或只更新Cron表达式。
- 名称和Cron表达式不能同时传空
URI
PUT /ebs/v1/strategies/{strategyId}
请求参数
- 公共请求头
- 请求参数
名称 | 位置 | 类型 | 是否必须 | 描述 |
---|---|---|---|---|
strategyId | path | String | 是 | 自动备份策略ID |
strategyName | body | String | 否 | 自动备份策略名称 |
strategyCycle | body | String | 否 | 自动备份策略Cron表达式 |
注:strategyName和strategyCycle不能同时为空
返回参数
示例
假设更新ID为1b8b38f0-6ba5-44b2-b089-39cfe134b94c的自动备份策略的名称为testshang、Cron表达式为 59 18 ? *1。
请求示例
/ebs/v1/strategies/1b8b38f0-6ba5-44b2-b089-39cfe134b94c
{
"strategyName": "testshang",
"strategyCycle": "* 59 18 ? * *1"
}
响应示例
返回值
请参考通用请求返回值
错误码
请参考错误码
备份策略列表
自动备份策略列表。
描述
- 获取某个用户下的自动备份策略列表。
- 支持分页。
URI
GET /ebs/v1/strategies/{pageNo}/{pageSize}
请求参数
- 公共请求头
- 请求参数
名称 | 位置 | 类型 | 是否必须 | 描述 |
---|---|---|---|---|
pageNo | path | int | 是 | 查询页数,为-1时查询全部自动备份策略 |
pageSize | path | int | 是 | 每页显示条数,为-1时查询全部自动备份策略 |
返回参数
名称 | 位置 | 类型 | 是否必须 | 描述 |
---|---|---|---|---|
pageNo | body | int | 是 | 查询页数 |
pageSize | body | int | 是 | 每页显示条数 |
totalCount | body | int | 是 | 总条数 |
data | body | List<SnapStrategy> | 是 | 自动备份策略列表 |
示例
假设查询某个用户下的自动备份策略列表且页数为2,每页显示3条。
请求示例
/ebs/v1/strategies/2/3
响应示例
{
"data": [
{
"strategyId": "3f70c12e-e31d-4fac-b5a1-9df2460866a4",
"strategyName": "fangwen123",
"strategyStatus": "1",
"strategyCreateTime": "2019-05-18T15:48:17Z",
"projectName": "gaoss",
"strategyCycle": "* 48 15 ? * *",
"associateNum": 0
},
{
"strategyId": "407ed6d7-8631-4f57-b6a5-2f2f8a7f31ec",
"strategyName": "gaoss2",
"strategyStatus": "1",
"strategyCreateTime": "2019-04-06T09:16:23Z",
"projectName": "gaoss",
"strategyCycle": "* 19 9 ? * 1",
"associateNum": 0
}
],
"pageNo": 2,
"pageSize": 3,
"totalCount": 5
}
返回值
请参考通用请求返回值
错误码
请参考错误码
查看单个备份策略详情
查看单个自动备份策略的详情。
描述
- 查看指定strategyId对应的自动备份策略的详情信息。
- 详情包括ID、名称、状态、创建时间、周期时间点对应的Cron表达式、区域等信息。
URI
GET /ebs/v1/strategies/{strategyId}
请求参数
- 公共请求头
- 请求参数
名称 | 位置 | 类型 | 是否必须 | 描述 |
---|---|---|---|---|
strategyId | path | String | 是 | 自动备份策略ID |
返回参数
名称 | 位置 | 类型 | 是否必须 | 描述 |
---|---|---|---|---|
strategyId | body | String | 是 | 自动备份策略ID |
strategyName | body | String | 是 | 自动备份策略名称 |
strategyStatus | body | String | 是 | 自动备份策略状态 |
strategyCreateTime | body | String | 是 | 自动备份策略创建时间 |
strategyCycle | body | String | 是 | 自动备份策略周期、时间点对应的Cron表达式 |
region | body | String | 是 | 所在区域,如cn-north-3 |
示例
假设查询ID为1b8b38f0-6ba5-44b2-b089-39cfe134b94c的自动备份策略的详情信息。
请求示例
/ebs/v1/strategies/1b8b38f0-6ba5-44b2-b089-39cfe134b94c
响应示例
{
"strategyId": "1b8b38f0-6ba5-44b2-b089-39cfe134b94c",
"strategyName": "sed",
"strategyStatus": "1",
"strategyCreateTime": "2019-05-29T01:21:42Z",
"strategyCycle": "* 24 10 ? * *",
"region": "cn-north-3"
}
返回值
请参考通用请求返回值
错误码
请参考错误码
启用备份策略
启用一个指定的自动备份策略。
描述
- 启用strategyId对应的自动备份策略。
- 处于禁用状态下的自动备份策略才能执行启用。
URI
POST /ebs/v1/strategies/{strategyId}/action/enable
请求参数
- 公共请求头
- 请求参数
名称 | 位置 | 类型 | 是否必须 | 描述 |
---|---|---|---|---|
strategyId | path | String | 是 | 自动备份策略ID |
返回参数
示例
假设启用ID为1b8b38f0-6ba5-44b2-b089-39cfe134b94c的自动备份策略,且其状态当前为禁用。
请求示例
/ebs/v1/strategies/1b8b38f0-6ba5-44b2-b089-39cfe134b94c/action/enable
响应示例
返回值
请参考通用请求返回值
错误码
请参考错误码
禁用备份策略
禁用一个指定的自动备份策略。
描述
- 禁用strategyId对应的自动备份策略。
- 处于启用状态下的自动备份策略才能执行禁用。
URI
POST /ebs/v1/strategies/{strategyId}/action/disable
请求参数
- 公共请求头
- 请求参数
名称 | 位置 | 类型 | 是否必须 | 描述 |
---|---|---|---|---|
strategyId | path | String | 是 | 自动备份策略ID |
返回参数
示例
假设禁用ID为1b8b38f0-6ba5-44b2-b089-39cfe134b94c的自动备份策略,且其状态当前为可用。
请求示例
/ebs/v1/strategies/1b8b38f0-6ba5-44b2-b089-39cfe134b94c/action/disable
响应示例
返回值
请参考通用请求返回值
错误码
请参考错误码
修改备份策略关联的云硬盘
修改指定备份策略所关联的云硬盘集合。
描述
- 用户根据需要确定strategyId所对应的自动备份策略关联的云硬盘ID集合,修改备份策略关联的云硬盘。
- 一个备份策略可关联多个云硬盘,一个云硬盘只能关联一个备份策略。
- 当某个云硬盘之前关联了其它的自动备份策略,在与当前自动备份策略进行关联时会首先解除与之前策略的关联。
- 用户每次执行修改策略所关联的云硬盘时,会首先解除在该用户下此策略关联的云硬盘,然后根据用户指定的云硬盘ID集合为此策略关联云硬盘ID集合对应的云硬盘。
URI
POST /ebs/v1/strategies/{strategyId}/associations
请求参数
- 公共请求头
- 请求参数
名称 | 位置 | 类型 | 是否必须 | 描述 |
---|---|---|---|---|
strategyId | path | String | 是 | 自动备份策略ID |
volumeIds | body | String | 是 | 云硬盘ID,多个ID时用英文逗号隔开 |
返回参数
示例
假设为ID为1b8b38f0-6ba5-44b2-b089-39cfe134b94c的自动备份策略关联2个云硬盘,云硬盘的ID分别为ab04a79e-fb1a-4063-b10a-cb59059c6c83和894535c1-ef48-42ee-8e86-d48c669135eb。
请求示例
/ebs/v1/strategies/1b8b38f0-6ba5-44b2-b089-39cfe134b94c/associations
{
"volumeIds":"ab04a79e-fb1a-4063-b10a-cb59059c6c83,894535c1-ef48-42ee-8e86-d48c669135eb"
}
响应示例
返回值
请参考通用请求返回值
错误码
请参考错误码
获取备份策略关联的云硬盘列表
获取指定自动备份策略下关联的云硬盘列表。
描述
- 获取某个用户指定strategyId对应的自动备份策略下关联的云硬盘列表。
- 包括云硬盘的ID、名称、状态、大小、挂载位置等信息。
- 支持分页。
URI
GET /ebs/v1/strategies/{strategyId}/associations/{pageNo}/{pageSize}
请求参数
- 公共请求头
- 请求参数
名称 | 位置 | 类型 | 是否必须 | 描述 |
---|---|---|---|---|
strategyId | path | String | 是 | 自动备份策略ID |
pageNo | path | int | 是 | 查询页数,为-1时查询全部自动备份策略 |
pageSize | path | int | 是 | 每页显示条数,为-1时查询全部自动备份策略 |
返回参数
名称 | 位置 | 类型 | 是否必须 | 描述 |
---|---|---|---|---|
pageNo | body | int | 是 | 查询页数 |
pageSize | body | int | 是 | 每页显示条数 |
totalCount | body | int | 是 | 总条数 |
data | body | List<VolumeInfo> | 是 | 云硬盘信息的列表 |
示例
假设查询ID为1b8b38f0-6ba5-44b2-b089-39cfe134b94c的自动备份策略下关联的云硬盘列表。
请求示例
/ebs/v1/strategies/1b8b38f0-6ba5-44b2-b089-39cfe134b94c/associations/-1/-1
响应示例
{
"data": [
{
"id": "0a064faa-0e43-46da-a659-2016fe2a52aa",
"name": "shang0531",
"status": "available",
"size": 20,
"bootable": "false",
"attachments": [{
"serverName": "test1"
}],
"strategyId": "1b8b38f0-6ba5-44b2-b089-39cfe134b94c"
}
],
"pageNo": -1,
"pageSize": -1,
"totalCount": 1
}
返回值
请参考通用请求返回值
错误码
请参考错误码
获取单个云硬盘的状态
获取一个指定云硬盘的状态。
描述
- 根据云硬盘id获得对应云硬盘的状态
URI
GET /ebs/v1/volumes/{volumeId}/status
请求参数
- 公共请求头
- 请求参数
名称 | 位置 | 类型 | 是否必须 | 描述 |
---|---|---|---|---|
volumeId | path | String | 是 | 云硬盘 id |
返回参数
名称 | 位置 | 类型 | 是否必须 | 描述 |
---|---|---|---|---|
status | body | String | 是 | 云硬盘状态 |
示例
可以查询云硬盘id对应的云硬盘的状态
请求示例
/ebs/v1/volumes/8eb620d0-81c4-424b-9d6e-e78b6a4ac716/status
响应示例
{
"status": "available"
}
返回值
请参考通用请求返回值
错误码
请参考错误码
快照相关接口
查询快照列表
获取云硬盘的快照列表。
描述
- 获取云硬盘的快照列表。
- 支持分页,可以指定查询的页码,每页的条数。
- 支持筛选,对快照名称进行模糊搜索,对快照id和快照的云硬盘id进行精确搜索。
URI
GET /ebs/v1/snapshots/{pageNo}/{pageSize}
请求参数
- 公共请求头
- 请求参数
名称 | 位置 | 类型 | 是否必须 | 描述 | |
---|---|---|---|---|---|
pageNo | path | int | Y | 查询页数,为-1时查询全部快照 | |
pageSize | path | int | Y | 每页显示条数,为-1时查询全部快照 | |
searchValue | param | string | N | 搜索参数,将对快照名称/快照id/云硬盘id进行筛选(支持多盘查询,多个盘id用","分开),对名称进行模糊搜索,对id进行精确搜索。为空时不进行过滤 | |
isVolumeId | param | string | N | 标志传入的 searchValue 是否只为云硬盘 id,「是」则传"y" | |
status | param | string | N | 按快照状态进行搜索 | |
snapIds | String | param | N | 快照 id 集合,多个快照用 "," 分隔 | |
productTag | String | param | N | 产品标识,缺省为 EBS,其他产品使用则需要传入产品名称 | |
withBrief | String | param | N | 是否是简要快照信息(不包括盘信息等)"true"为是,"false"为否 |
返回参数
名称 | 位置 | 类型 | 是否必须 | 描述 |
---|---|---|---|---|
pageNo | body | int | 是 | 查询页数 |
pageSize | body | int | 是 | 每页显示条数 |
totalCount | body | int | 是 | 总条数 |
data | body | List<Snapshot> | 是 | 具体快照列表 |
示例
假设获取第 1 页的快照列表,每页显示 2 条,根据「快照状态是 available」当做条件进行筛选。
请求示例
/ebs/v1/snapshots/1/2?status=available
响应示例
{
"data": [
{
"id": "8ac5ec3c-8c3c-4e48-9f5a-41cd64cd5eb1",
"name": "kxsnapshot07281001",
"kkUserId": null,
"accountId": null,
"volumeId": "03f009d1-aa26-4568-8e44-2f1ac7ac80f0",
"bootable": "false",
"size": 20,
"status": "available",
"createdAt": "2020-07-28T02:04:59Z",
"updateAt": null,
"volumeName": "ebstestt",
"metadata": null
},
{
"id": "ceddf43e-b2c5-4476-a812-1b7a8bd41240",
"name": "snapshot_e02bcf82-5994-4fda-b801-e6ec57be882e",
"kkUserId": null,
"accountId": null,
"volumeId": "e02bcf82-5994-4fda-b801-e6ec57be882e",
"bootable": "false",
"size": 20,
"status": "available",
"createdAt": "2020-07-15T02:02:28Z",
"updateAt": null,
"volumeName": "EBS-20207992044",
"metadata": null
}
],
"pageSize": 2,
"pageNo": 1
}
返回值
请参考通用请求返回值
错误码
请参考错误码
回滚快照
恢复云硬盘到指定快照
描述
- 回滚的云硬盘需要是可用状态。
- 回滚云硬盘到指定快照的状态,云硬盘回滚前的数据消失。
URI
POST /ebs/v1/snapshots/{snapshotId}/revert
请求参数
- 公共请求头
- 请求参数
名称 | 位置 | 类型 | 是否必须 | 描述 |
---|---|---|---|---|
snapshotId | path | String | 是 | 快照 id |
volumeId | body | String | 是 | 云硬盘id |
返回参数
成功响应码为202,无响应体
示例
假设将 id 为 7191e920-5096-4418-bb9e-07380846358b 的云硬盘回滚到 id 为 aff78562-7879-4968-9b69-28da6a8d1627 的快照, 则URI 为 /ebs/v1/snapshots/aff78562-7879-4968-9b69-28da6a8d1627/revert。
请求示例
{
"volumeId":"aff78562-7879-4968-9b69-28da6a8d1627"
}
响应示例 无
返回值
请参考通用请求返回值
错误码
请参考错误码
创建快照
创建云硬盘快照
描述
- 创建快照时需要输入名称,名称规则:长度为2-128个字符,不能以特殊字符及数字开头,只可包含特殊字符中的".","_"或"-"
- 云硬盘处在中间状态时创建快照不可用,包括:创建中,挂载中,卸载中,扩容中。
- 每块云硬盘最多支持创建7个快照。
URI
POST /ebs/v1/snapshots
请求参数
- 公共请求头
- 请求参数
名称 | 位置 | 类型 | 是否必须 | 描述 |
---|---|---|---|---|
volumeId | body | String | 是 | 云硬盘 id |
name | body | String | 是 | 快照名称 |
productTag | body | String | 否 | 产品标识,缺省为 EBS,其他产品接入则需要传入产品名称 |
返回参数
名称 | 位置 | 类型 | 是否必须 | 描述 |
---|---|---|---|---|
id | body | String | 是 | 快照id |
name | body | String | 是 | 快照名称 |
size | body | int | 是 | 快照容量 |
volume_id | body | String | 是 | 云硬盘 id |
status | body | String | 是 | 快照状态 |
volumeName | body | String | 是 | 云硬盘名字 |
metadata | body | Map | 是 | 快照元数据 |
volumeName | body | String | 是 | 云硬盘名字 |
created_at | body | String | 是 | 快照创建时间 |
示例
假设给 id 为 03f009d1-aa26-4568-8e44-2f1ac7ac80f0 的云硬盘,创建一个名称为 kxsnapshot07281001 的快照。
请求示例
{
"name":"kxsnapshot07281001",
"volumeId":"03f009d1-aa26-4568-8e44-2f1ac7ac80f0"
}
响应示例
{
"id": "8ac5ec3c-8c3c-4e48-9f5a-41cd64cd5eb1",
"status": "creating",
"force": null,
"name": "kxsnapshot07281001",
"display_name": null,
"description": null,
"display_description": null,
"volume_id": "03f009d1-aa26-4568-8e44-2f1ac7ac80f0",
"size": 20,
"created_at": "2020-07-28T02:04:59Z",
"metadata": {
"productTag": "EBS"
}
}
返回值
请参考通用请求返回值
错误码
请参考错误码
删除快照
删除快照
描述
- 支持批量删除。
- 删除快照不受云硬盘限制,即使快照有关联的云硬盘也可以删除。
URI
POST /ebs/v1/snapshots/action/delete
请求参数
- 公共请求头
- 请求参数
名称 | 位置 | 类型 | 是否必须 | 描述 |
---|---|---|---|---|
snapshotIds | body | String | 是 | 快照 id 集合,多个快照用 "," 分隔 |
返回参数
- 成功状态码为202,无响应体。
示例
假设删除两个快照,id 分别为 1cc70ca7-b47f-4ffc-92ec-a7b70bd85135、7191e920-5096-4418-bb9e-07380846358b。
请求示例
{
"snapIds":"1cc70ca7-b47f-4ffc-92ec-a7b70bd85135,7191e920-5096-4418-bb9e-07380846358b"
}
响应示例
无
返回值
请参考通用请求返回值
错误码
请参考错误码
修改快照名称
修改快照的名称
描述
- 修改快照名称,名称规则:长度为2-128个字符,不能以特殊字符及数字开头,只可包含特殊字符中的".","_"或"-"
URI
PUT /ebs/v1/snapshots/{snapshotId}
请求参数
- 公共请求头
- 请求参数
名称 | 位置 | 类型 | 是否必须 | 描述 |
---|---|---|---|---|
snapshotId | path | string | 是 | 快照 id |
name | body | string | 是 | 快照名称 |
返回参数
名称 | 位置 | 类型 | 是否必须 | 描述 |
---|---|---|---|---|
data | body | Snapshot | 是 | 快照信息 |
示例
假设将 id 为aff78562-7879-4968-9b69-28da6a8d1627 的快照的名称改为 test,则 URI 为 /ebs/v1/snapshots/aff78562-7879-4968-9b69-28da6a8d1627。
请求示例
{
"name":"test"
}
响应示例
{
"id": "aff78562-7879-4968-9b69-28da6a8d1627",
"name": "test",
"kkUserId": "18a817ef193e4728b287c92356b3f55c",
"accountId": null,
"volumeId": "3618ee16-f955-40f4-a65d-ae068f3c5f8a",
"bootable": null,
"size": 40,
"status": "available",
"createdAt": "2020-07-17T10:28:34.000000",
"updateAt": "2020-07-17T10:29:02.000000",
"volumeName": null,
"metadata": {
"productTag": "ebs"
}
}
返回值
请参考通用请求返回值
错误码
请参考错误码
查询快照统计信息
获取用户下快照的统计信息
描述
- 获取用户下快照的使用容量和使用数量
URI
GET /ebs/v1/snapshots/statistics
请求参数
返回参数
名称 | 位置 | 类型 | 是否必须 | 描述 |
---|---|---|---|---|
size | body | int | 是 | 快照使用容量 |
count | body | int | 是 | 快照使用数量 |
示例
假设获取某个用户下的快照统计信息,根据 公共请求头 来获取用户信息, 再获取快照统计信息。
请求示例
/ebs/v1/snapshots/statistics
响应示例
{
"size": 200,
"count": 10
}
返回值
请参考通用请求返回值
错误码
请参考错误码
获取单个云硬盘的快照配额信息
获取单个云硬盘的快照配额信息
描述
- 获取单个云硬盘的快照配额信息
URI
GET /ebs/v1/volumes/{volumeId}/snapshots/quota
请求参数
- 公共请求头
- 请求参数
名称 | 位置 | 类型 | 是否必须 | 描述 |
---|---|---|---|---|
volumeId | path | String | 是 | 云硬盘 id |
返回参数
名称 | 位置 | 类型 | 是否必须 | 描述 |
---|---|---|---|---|
used | body | int | 是 | 云硬盘已用快照数量 |
remain | body | int | 是 | 云硬盘剩余可用快照数量 |
示例
假设获取 id 为 9191b064-82d5-4290-843f-cf3b00222676 的云硬盘的快照配额信息。
请求示例
/ebs/v1/volumes/9191b064-82d5-4290-843f-cf3b00222676/snapshots/quota
响应示例
{
"remain": 3,
"used": 4
}
返回值
请参考通用请求返回值
错误码
请参考错误码
自动快照策略相关接口
创建快照策略
创建一个自动快照策略。
描述
用户根据需要确定自动快照策略的名称、周期、时间点,创建自动快照策略。
周期、时间点在接口中以Cron表达式的形式进行输入和保存。
URI
POST /ebs/v1/snapshots/strategies
请求参数
- 公共请求头
- 请求参数
名称 | 位置 | 类型 | 是否必须 | 描述 |
---|---|---|---|---|
strategyName | body | String | 是 | 自动快照策略名称 |
strategyCycle | body | String | 是 | 自动快照策略周期、时间点对的Cron表达式 |
返回参数
假设创建一个名称为“test”,Cron表达式为0 0 12 ?的自动快照策略。
示例
请求示例
/ebs/v1/snapshots/strategies
{
"strategyName":"test",
"strategyCycle":"0 0 12 * * ?"
}
响应示例
{
"strategyId": "962c9cb8-e45c-45b9-9680-10e847810618"
}
返回值
请参考通用请求返回值
错误码
请参考错误码
删除快照策略
删除一个指定的自动快照策略。
描述
- 用户通过自动快照策略ID,删除一个指定的自动快照策略。
URI
DELETE /ebs/v1/snapshots/strategies/{strategyId}
请求参数
- 公共请求头
- 请求参数
名称 | 位置 | 类型 | 是否必须 | 描述 |
---|---|---|---|---|
strategyId | path | String | 是 | 自动快照策略ID |
返回参数
示例
假设删除ID为37b4edf2-92c3-4008-b97b-f5688f5e1a12的自动快照策略。
请求示例
/ebs/v1/strategies/37b4edf2-92c3-4008-b97b-f5688f5e1a12
响应示例
返回值
请参考通用请求返回值
错误码
请参考错误码
更新快照策略
更新一个指定的自动快照策略。
描述
- 用户更新指定快照策略的名称和Cron表达式信息。
- 当名称和Cron表达式同时都指定时则同时更新;当只传名称或只传Cron表达式时则只更新名称或只更新Cron表达式。
- 名称和Cron表达式不能同时传空
URI
PUT /ebs/v1/snapshots/strategies/{strategyId}
请求参数
- 公共请求头
- 请求参数
名称 | 位置 | 类型 | 是否必须 | 描述 |
---|---|---|---|---|
strategyId | path | String | 是 | 自动快照策略ID |
strategyName | body | String | 否 | 自动快照策略名称 |
strategyCycle | body | String | 否 | 自动快照策略Cron表达式 |
注:strategyName和strategyCycle不能同时为空
返回参数
示例
假设更新ID为1b8b38f0-6ba5-44b2-b089-39cfe134b94c的自动快照策略的名称为xwctest、Cron表达式为 59 18 ? *1。
请求示例
/ebs/v1/snapshots/strategies/1b8b38f0-6ba5-44b2-b089-39cfe134b94c
{
"strategyName": "xwctest",
"strategyCycle": "* 59 18 ? * *1"
}
响应示例
返回值
请参考通用请求返回值
错误码
请参考错误码
快照策略列表
自动快照策略列表。
描述
- 获取某个用户下的自动快照策略列表。
- 支持分页。
URI
GET /ebs/v1/snapshots/strategies/{pageNo}/{pageSize}
请求参数
- 公共请求头
- 请求参数
名称 | 位置 | 类型 | 是否必须 | 描述 |
---|---|---|---|---|
pageNo | path | int | 是 | 查询页数,为-1时查询全部自动快照策略 |
pageSize | path | int | 是 | 每页显示条数,为-1时查询全部自动快照策略 |
返回参数
名称 | 位置 | 类型 | 是否必须 | 描述 |
---|---|---|---|---|
pageNo | body | int | 是 | 查询页数 |
pageSize | body | int | 是 | 每页显示条数 |
totalCount | body | int | 是 | 总条数 |
data | body | List<SnapStrategy> | 是 | 自动快照策略列表 |
示例
假设查询某个用户下的自动快照策略列表且页数为2,每页显示3条。
请求示例
/ebs/v1/snapshots/strategies/2/3
响应示例
{
"data": [
{
"strategyId": "3f70c12e-e31d-4fac-b5a1-9df2460866a4",
"strategyName": "fangwen123",
"strategyStatus": "1",
"strategyCreateTime": "2019-05-18T15:48:17Z",
"projectName": "gaoss",
"strategyCycle": "* 48 15 ? * *",
"associateNum": 0
},
{
"strategyId": "407ed6d7-8631-4f57-b6a5-2f2f8a7f31ec",
"strategyName": "gaoss2",
"strategyStatus": "1",
"strategyCreateTime": "2019-04-06T09:16:23Z",
"projectName": "gaoss",
"strategyCycle": "* 19 9 ? * 1",
"associateNum": 0
}
],
"pageNo": 2,
"pageSize": 3,
"totalCount": 5
}
返回值
请参考通用请求返回值
错误码
请参考错误码
查看单个快照策略详情
查看单个自动快照策略的详情。
描述
- 查看指定strategyId对应的自动快照策略的详情信息。
- 详情包括ID、名称、状态、创建时间、周期时间点对应的Cron表达式、区域等信息。
URI
GET /ebs/v1/snapshots/strategies/{strategyId}
请求参数
- 公共请求头
- 请求参数
名称 | 位置 | 类型 | 是否必须 | 描述 |
---|---|---|---|---|
strategyId | path | String | 是 | 自动快照策略ID |
返回参数
名称 | 位置 | 类型 | 是否必须 | 描述 |
---|---|---|---|---|
strategyId | body | String | 是 | 自动快照策略ID |
strategyName | body | String | 是 | 自动快照策略名称 |
strategyStatus | body | String | 是 | 自动快照策略状态 |
strategyCreateTime | body | String | 是 | 自动快照策略创建时间 |
strategyCycle | body | String | 是 | 自动快照策略周期、时间点对应的Cron表达式 |
region | body | String | 是 | 所在区域,如cn-north-3 |
示例
假设查询ID为1b8b38f0-6ba5-44b2-b089-39cfe134b94c的自动快照策略的详情信息。
请求示例
/ebs/v1/snapshots/strategies/1b8b38f0-6ba5-44b2-b089-39cfe134b94c
响应示例
{
"strategyId": "1b8b38f0-6ba5-44b2-b089-39cfe134b94c",
"strategyName": "sed",
"strategyStatus": "1",
"strategyCreateTime": "2019-05-29T01:21:42Z",
"strategyCycle": "* 24 10 ? * *",
"region": "cn-north-3"
}
返回值
请参考通用请求返回值
错误码
请参考错误码
启用快照策略
启用一个指定的自动快照策略。
描述
- 启用strategyId对应的自动快照策略。
- 处于禁用状态下的自动快照策略才能执行启用。
URI
POST /ebs/v1/snapshots/strategies/{strategyId}/action/enable
请求参数
- 公共请求头
- 请求参数
名称 | 位置 | 类型 | 是否必须 | 描述 |
---|---|---|---|---|
strategyId | path | String | 是 | 自动快照策略ID |
返回参数
示例
假设启用ID为962c9cb8-e45c-45b9-9680-10e847810618的自动快照策略,且其状态当前为禁用。
请求示例
/ebs/v1/snapshots/strategies/962c9cb8-e45c-45b9-9680-10e847810618/action/enable
响应示例
返回值
请参考通用请求返回值
错误码
请参考错误码
禁用快照策略
禁用一个指定的自动快照策略。
描述
- 禁用strategyId对应的自动快照策略。
- 处于启用状态下的自动快照策略才能执行禁用。
URI
POST /ebs/v1/snapshots/strategies/{strategyId}/action/disable
请求参数
- 公共请求头
- 请求参数
名称 | 位置 | 类型 | 是否必须 | 描述 |
---|---|---|---|---|
strategyId | path | String | 是 | 自动快照策略ID |
返回参数
示例
假设禁用ID为962c9cb8-e45c-45b9-9680-10e847810618的自动快照策略,且其状态当前为可用。
请求示例
/ebs/v1/snapshots/strategies/962c9cb8-e45c-45b9-9680-10e847810618/action/disable
响应示例
返回值
请参考通用请求返回值
错误码
请参考错误码
修改快照策略关联的云硬盘
修改指定快照策略所关联的云硬盘集合。
描述
- 用户根据需要确定strategyId所对应的自动快照策略关联的云硬盘ID集合,修改快照策略关联的云硬盘。
- 一个快照策略可关联多个云硬盘,一个云硬盘只能关联一个快照策略。
- 当某个云硬盘之前关联了其它的自动快照策略,在与当前自动快照策略进行关联时会首先解除与之前策略的关联。
- 云硬盘自动快照策略调用该接口时(不传递append参数),用户每次执行修改策略所关联的云硬盘时,会首先解除在该用户下此策略关联的云硬盘,然后根据用户指定的云硬盘ID集合为此策略关联云硬盘ID集合对应的云硬盘。
- 云服务器调用该接口时(传递参数append=true),用户每次执行修改策略所关联的云硬盘时,会根据用户指定的云硬盘ID集合为此策略关联云硬盘ID集合对应的云硬盘,已经关联的数据且不在本次关联集合内的不做删除操作。即此时只会为策略关联新增的云硬盘,不会删除策略过去关联过的云硬盘。
URI
POST /ebs/v1/snapshots/strategies/{strategyId}/associations
请求参数
- 公共请求头
- 请求参数
名称 | 位置 | 类型 | 是否必须 | 描述 |
---|---|---|---|---|
strategyId | path | String | 是 | 自动快照策略ID |
volumeIds | body | String | 是 | 云硬盘ID,多个ID时用英文逗号隔开 |
append | body | String | 否 | 是否新增 true为新增,false为修改 |
返回参数
示例
假设为ID为1b8b38f0-6ba5-44b2-b089-39cfe134b94c的自动快照策略关联2个云硬盘,云硬盘的ID分别为ab04a79e-fb1a-4063-b10a-cb59059c6c83和894535c1-ef48-42ee-8e86-d48c669135eb。
请求示例
/ebs/v1/snapshots/strategies/1b8b38f0-6ba5-44b2-b089-39cfe134b94c/associations
{
"volumeIds":"ab04a79e-fb1a-4063-b10a-cb59059c6c83,894535c1-ef48-42ee-8e86-d48c669135eb"
}
响应示例
返回值
请参考通用请求返回值
错误码
请参考错误码
获取快照策略关联的云硬盘列表
获取指定自动快照策略下关联的云硬盘列表。
描述
- 获取某个用户指定strategyId对应的自动快照策略下关联的云硬盘列表。
- 包括云硬盘的ID、名称、状态、大小、挂载位置等信息。
- 支持分页。
URI
GET /ebs/v1/snapshots/strategies/{strategyId}/associations/{pageNo}/{pageSize}
请求参数
- 公共请求头
- 请求参数
名称 | 位置 | 类型 | 是否必须 | 描述 |
---|---|---|---|---|
strategyId | path | String | 是 | 自动快照策略ID |
pageNo | path | int | 是 | 查询页数,为-1时查询全部自动快照策略 |
pageSize | path | int | 是 | 每页显示条数,为-1时查询全部自动快照策略 |
返回参数
名称 | 位置 | 类型 | 是否必须 | 描述 |
---|---|---|---|---|
pageNo | body | int | 是 | 查询页数 |
pageSize | body | int | 是 | 每页显示条数 |
totalCount | body | int | 是 | 总条数 |
data | body | List<VolumeInfo> | 是 | 云硬盘信息的列表 |
示例
假设查询ID为1b8b38f0-6ba5-44b2-b089-39cfe134b94c的自动快照策略下关联的云硬盘列表。
请求示例
/ebs/v1/snapshots/strategies/1b8b38f0-6ba5-44b2-b089-39cfe134b94c/associations/-1/-1
响应示例
{
"data": [
{
"id": "0a064faa-0e43-46da-a659-2016fe2a52aa",
"name": "shang0531",
"status": "available",
"size": 20,
"bootable": "false",
"attachments": [{
"serverName": "test1"
}],
"strategyId": "1b8b38f0-6ba5-44b2-b089-39cfe134b94c"
}
],
"pageNo": -1,
"pageSize": -1,
"totalCount": 1
}
返回值
请参考通用请求返回值
错误码
请参考错误码
Atom创建云硬盘
通过原子接口创建一块或多块按量付费或者预付费(包年包月)云硬盘。
描述
用户根据需要选择云硬盘大小和类型,提交订单,购买云硬盘。
创建的云硬盘分为包年包月和按需两种类型。
单次最多能创建100块云硬盘。
实例创建成功后将自动开机启动,实例状态变为“available未挂载”。
预付费实例的购买会预先扣除本次实例购买所需金额,按小时后付费实例购买会预先冻结本次实例购买一小时内所需金额,在调用本接口前请确保账户余额充足。
在启动实例时,实例属于“创建中”(creating)状态,在实例准备好时,会进入“运行中(available)”状态。
URI
POST /ebs/atom/v1/volumes
请求参数
- 公共请求头
- 请求参数
名称 | 位置 | 类型 | 是否必须 | 描述 |
---|---|---|---|---|
indiskName | body | String | 是 | 云硬盘名称 |
indiskSize | body | int | 是 | 云硬盘大小 |
backupId | body | String | 否 | 备份ID,备份容量必须与云硬盘大小相同 |
indiskNum | body | int | 是 | 云硬盘数目 |
productTypeCode | body | String | 是 | 产品类型编码(普通型传SATA) |
billType | body | String | 是 | 计费方式(按需传hourlySettlement,包年包月传monthly) |
duration | body | String | 否 | 购买时长,折算成月,9个月则填写为9,3年为36,在计费方式为monthly时有效 |
durationUnit | body | String | 否 | 购买时长单位,取值范围:M(月),填写时必须为M(区分大小写),不填默认值为M ,在计费方式为monthly时有效 |
isAutoRenew | body | String | 否 | 是否自动从预充值账号扣款,true--自动续费/false--不自动续费,默认为自动续费,非必填 |
shared | body | String | 否 | 是否是共享盘(可选值为"true"or"false") |
availabilityZone | body | String | 否 | 可用域 |
返回参数
名称 | 位置 | 类型 | 是否必须 | 描述 |
---|---|---|---|---|
volumeIds | body | List<String> | 是 | 创建成功的云硬盘ID |
示例
创建云硬盘可以指定云硬盘名称,云硬盘大小,批量创建的数量,计费方式(包年包月或者按需),云硬盘的类型,使用接口创建云硬盘时 请求体是相同的,您只需根据请求中的参数说明,更换如下请求样例中的参数值即可。 假设创建2块40G按需的普通型(SATA)云硬盘,指定名称为test。
请求示例
/ebs/atom/v1/volumes
{
"indiskName":"test",
"indiskSize": 40,
"indiskNum": 2,
"billType": "hourlySettlement",
"productTypeCode":"SATA",
"availabilityZone":"nova",
"shared": "true"
}
响应示例
{
"1b8b38f0-6ba5-44b2-b089-39cfe134b94c"
}
返回值
请参考通用请求返回值
错误码
请参考错误码
回收站相关接口
回收站盘列表
描述
- 获取当前用户下的回收站盘列表
URI
GET /ebs/v1/recycle-bin-volumes/1/10
请求参数
- 公共请求头
- 请求参数
名称 | 位置 | 类型 | 是否必须 | 描述 |
---|---|---|---|---|
pageNo | path | int | 是 | 查询页数 |
pageSize | path | int | 是 | 每页显示条数 |
返回参数
名称 | 位置 | 类型 | 是否必须 | 描述 |
---|---|---|---|---|
data | body | List<RecycleVolumeVO> | 是 | 回收站盘列表信息 |
示例
请求示例
GET localhost:8080/ebs/v1/recycle-bin-volume/1/10
响应示例
{
"data": [
{
"id": "fd12a984-d14c-41b4-8258-d1c3e31d003e",
"name": "EBS-LYT",
"type": "SATA",
"bootable": false,
"size": 20,
"status": "recycle",
"region": "cn-north-3",
"createdAt": "2021-02-18 14:41:59",
"destroyAt": "2021-02-18 14:41:59"
}
]
}
返回值
请参考通用请求返回值
错误码
请参考错误码
回收站盘详情
描述
- 获取回收站盘详情信息
URI
GET /ebs/v1/recycle-bin-volumes/{volumeId}
请求参数
- 公共请求头
- 请求参数
名称 | 位置 | 类型 | 是否必须 | 描述 |
---|---|---|---|---|
indiskName | body | String | 是 | 云硬盘名称 |
indiskSize | body | int | 是 | 云硬盘大小 |
backupId | body | String | 否 | 备份ID,备份容量必须与云硬盘大小相同 |
indiskNum | body | int | 是 | 云硬盘数目 |
productTypeCode | body | String | 是 | 产品类型编码(普通型传SATA) |
billType | body | String | 是 | 计费方式(按需传hourlySettlement,包年包月传monthly) |
duration | body | String | 否 | 购买时长,折算成月,9个月则填写为9,3年为36,在计费方式为monthly时有效 |
durationUnit | body | String | 否 | 购买时长单位,取值范围:M(月),填写时必须为M(区分大小写),不填默认值为M ,在计费方式为monthly时有效 |
isAutoRenew | body | String | 否 | 是否自动从预充值账号扣款,true--自动续费/false--不自动续费,默认为自动续费,非必填 |
shared | body | String | 否 | 是否是共享盘(可选值为"true"or"false") |
availabilityZone | body | String | 否 | 可用域 |
返回参数
名称 | 位置 | 类型 | 是否必须 | 描述 |
---|---|---|---|---|
volumeIds | body | List<String> | 是 | 创建成功的云硬盘ID |
示例
创建云硬盘可以指定云硬盘名称,云硬盘大小,批量创建的数量,计费方式(包年包月或者按需),云硬盘的类型,使用接口创建云硬盘时 请求体是相同的,您只需根据请求中的参数说明,更换如下请求样例中的参数值即可。 假设创建2块40G按需的普通型(SATA)云硬盘,指定名称为test。
请求示例
/ebs/atom/v1/volumes
{
"indiskName":"test",
"indiskSize": 40,
"indiskNum": 2,
"billType": "hourlySettlement",
"productTypeCode":"SATA",
"availabilityZone":"nova",
"shared": "true"
}
响应示例
{
"1b8b38f0-6ba5-44b2-b089-39cfe134b94c"
}
名称 | 位置 | 类型 | 是否必须 | 描述 |
---|---|---|---|---|
volumeId | path | String | 是 | 云硬盘ID |
返回参数
名称 | 位置 | 类型 | 是否必须 | 描述 |
---|---|---|---|---|
id | body | String | 是 | id |
name | body | String | 是 | 名称 |
type | body | String | 是 | 类型 |
bootable | body | String | 是 | 是否为系统盘 |
size | body | int | 是 | 容量大小 |
status | body | String | 是 | 状态 |
region | body | String | 是 | 所属区域 |
createdAt | body | String | 是 | 创建时间 |
destroyAt | body | String | 是 | 销毁时间 |
示例
请求示例
GET localhost:8080/ebs/v1/recycle-bin-volume/fd12a984-d14c-41b4-8258-d1c3e31d003e
响应示例
{
"id": "fd12a984-d14c-41b4-8258-d1c3e31d003e",
"name": "EBS-LYT",
"type": "SATA",
"bootable": false,
"size": 20,
"status": "recycled",
"region": "cn-north-3",
"createdAt": "2021-02-18T06:41:59Z",
"destroyAt": "2021-02-21T06:50:59Z"
}
返回值
请参考通用请求返回值
错误码
请参考错误码
获取回收站配额
描述
- 获取回收站配额
URI
GET /ebs/v1/recycle-bin-volumes/quota
请求参数
- 公共请求头
请求参数
无
返回参数
名称 | 位置 | 类型 | 是否必须 | 描述 |
---|---|---|---|---|
volumeNum | body | int | 是 | 回收站盘数量配额 (最多支持20个) |
spareVolumeNum | body | int | 是 | 剩余回收站盘数量配额 |
capacity | body | int | 是 | 回收站盘容量配额(最多支持2T) |
spareCapacity | body | int | 是 | 剩余回收站盘容量配额 |
keepTime | body | int | 是 | 回收站保存时间(保存3天) |
示例
请求示例
GET localhost:8080/ebs/v1/recycle-bin-volume/quota
响应示例
{
"volumeNum": 20,
"spareVolumeNum": 19,
"capacity": 2000,
"spareCapacity": 1980,
"keepTime": 3
}
返回值
请参考通用请求返回值
错误码
请参考错误码
销毁回收站盘
描述
- 彻底销毁回收站盘
URI
DELETE /ebs/v1/recycle-bin-volumes/{volumeId}
请求参数
- 公共请求头
- 请求参数
名称 | 位置 | 类型 | 是否必须 | 描述 |
---|---|---|---|---|
volumeId | path | String | 是 | 云硬盘ID |
返回参数
示例
销毁ID为fd12a984-d14c-41b4-8258-d1c3e31d003e的回收站盘。
请求示例
DELETE localhost:8080/ebs/v1/recycle-bin-volumes/fd12a984-d14c-41b4-8258-d1c3e31d003e
响应示例
恢复回收站盘
描述
- 恢复回收站盘
URI
POST /ebs/v1/recycle-bin-volumes/{volumeId}/revert
请求参数
- 公共请求头
- 请求参数
名称 | 位置 | 类型 | 是否必须 | 描述 |
---|---|---|---|---|
volumeId | path | String | 是 | 云硬盘ID |
返回参数
示例
恢复ID为fd12a984-d14c-41b4-8258-d1c3e31d003e的回收站盘。
请求示例
POST localhost:8080/ebs/v1/recycle-bin-volumes/fd12a984-d14c-41b4-8258-d1c3e31d003e/revert
响应示例
加入回收站
描述
- 将云硬盘加入回收站,可以一次性放入一块或者多块云硬盘
URI
POST /ebs/v1/recycle-bin-volumes
请求参数
- 公共请求头
- 请求参数
名称 | 位置 | 类型 | 是否必须 | 描述 |
---|---|---|---|---|
deleteInfos | body | List<DeleteVolumeInfo> | 是 | 云硬盘详细信息 |
返回参数
示例
将云硬盘EBS-20210422170814放入回收站。
请求示例
POST localhost:8080/ebs/v1/recycle-bin-volumes
[{
"id": "9fe1496e-509e-429a-9b97-3bd5325aadd1",
"name": "EBS-20210421104901-0002",
"size": "20",
"availableZone": "cn-north-3a",
"volumeType": "SATA",
"metaData": {
"productTag": "EBS"
},
"chargeType": "hourlySettlement",
"bootable": "false",
"createdTime": "2021-04-22 11:12:22"
}]
响应示例