恢复镜像

PUT/zstack/v1/images/{imageUuid}/actions

恢复被删除(但未彻底删除)的镜像。

Headers

Authorization: OAuth the-session-uuid

Body

{
  "recoverImage": {
    "backupStorageUuids": [
      "b63989ade2194ce8b8f1823083395681"
    ]
  },
  "systemTags": [],
  "userTags": []
}

上述示例中systemTagsuserTags字段可以省略。列出是为了表示body中可以包含这两个字段。

Curl示例

curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth 5ab0e924388a44d7aa96b9e7df9d8df3" \
-X PUT -d '{"recoverImage":{"backupStorageUuids":["29849ef8f0fe3abeb8fff5e6d947d002"]}}' \
http://localhost:8080/zstack/v1/images/e55bb56eee93338cad8d7d1048a6b0c3/actions

参数列表

名字类型位置描述可选值起始版本
imageUuidStringurl镜像UUID 0.6
backupStorageUuids (可选)Listbody(包含在params结构中)镜像仓库UUID列表 0.6
systemTags (可选)Listbody系统标签 0.6
userTags (可选)Listbody用户标签 0.6

API返回

返回示例

{
  "inventory": {
    "uuid": "c019173f2b5742868058049be43033a1",
    "name": "TinyLinux",
    "url": "http://192.168.1.20/share/images/tinylinux.qcow2",
    "mediaType": "RootVolumeTemplate",
    "platform": "Linux",
    "format": "qcow2",
    "backupStorageRefs": [
      {
        "id": 0.0,
        "imageUuid": "c019173f2b5742868058049be43033a1",
        "backupStorageUuid": "609d29fb59ee414f90cedbc3a71038c6",
        "installPath": "ceph://zs-images/f0b149e053b34c7eb7fe694b182ebffd",
        "status": "Ready"
      }
    ]
  }
}
名字类型描述起始版本
errorErrorCode错误码,若不为null,则表示操作失败, 操作成功时该字段为null。 详情参考error0.6
inventoryImageInventory详情参考inventory0.6

error

名字类型描述起始版本
codeString错误码号,错误的全局唯一标识,例如SYS.1000, HOST.10010.6
descriptionString错误的概要描述0.6
detailsString错误的详细信息0.6
elaborationString保留字段,默认为null0.6
opaqueLinkedHashMap保留字段,默认为null0.6
causeErrorCode根错误,引发当前错误的源错误,若无原错误,该字段为null0.6

inventory

名字类型描述起始版本
uuidString资源的UUID,唯一标示该资源0.6
nameString资源名称0.6
descriptionString资源的详细描述0.6
stateString镜像的启动状态0.6
statusString镜像的就绪状态0.6
sizeLong镜像大小0.6
actualSizeLong镜像真实容量0.6
md5SumString镜像的md5值0.6
urlString镜像的URL地址0.6
mediaTypeString镜像的类型0.6
guestOsTypeString镜像对应的客户机操作系统类型0.6
typeString内部使用字段0.6
platformString镜像的系统平台0.6
formatString镜像的格式,比如:raw0.6
systemBoolean标识是否为系统镜像0.6
createDateTimestamp创建时间0.6
lastOpDateTimestamp最后一次修改时间0.6
backupStorageRefsList详情参考backupStorageRefs0.6

backupStorageRefs

名字类型描述起始版本
imageUuidString镜像UUID0.6
backupStorageUuidString镜像存储UUID0.6
installPathString在镜像仓库上的安装路径0.6
exportUrlString导出镜像的url0.6
exportMd5SumString导出镜像的md5值0.6
statusString镜像就绪状态0.6
createDateTimestamp创建时间0.6
lastOpDateTimestamp最后一次修改时间0.6

SDK示例

Java SDK

RecoverImageAction action = new RecoverImageAction();
action.imageUuid = "3220b5ea2ae24883a4eb847634e3e349";
action.backupStorageUuids = asList("ad4dcd853b894362bfd18c06779ed758");
action.sessionId = "66ba41da8526424d9ab70ed0072b8d22";
RecoverImageAction.Result res = action.call();

Python SDK

RecoverImageAction action = RecoverImageAction()
action.imageUuid = "7f8bb365b8d3413ab5d09f6d381552c3"
action.backupStorageUuids = [14d99a1ade5a431ea254902c808d7319]
action.sessionId = "044d56deddd849a092ff02ae54386cf1"
RecoverImageAction.Result res = action.call()