计算镜像的MD5值

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

Headers

Authorization: OAuth the-session-uuid

Body

{
  "calculateImageHash": {
    "backupStorageUuid": "0eeaa5988c743c638485304f3d1f867e",
    "algorithm": "MD5"
  },
  "systemTags": [],
  "userTags": []
}

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

Curl示例

curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" \
-X PUT -d '{"calculateImageHash":{"backupStorageUuid":"0eeaa5988c743c638485304f3d1f867e","algorithm":"MD5"}}' \
http://localhost:8080/zstack/v1/images/383bcf0b1515369a8169b66a91de1e00/actions

参数列表

名字类型位置描述可选值起始版本
uuidStringurl资源的UUID,唯一标示该资源 4.1.0
backupStorageUuidStringbody(包含在calculateImageHash结构中)镜像存储UUID 4.1.0
algorithm (可选)Stringbody(包含在calculateImageHash结构中)  4.1.0
systemTags (可选)Listbody系统标签 4.1.0
userTags (可选)Listbody用户标签 4.1.0

API返回

返回示例

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

error

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

inventory

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

backupStorageRefs

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

SDK示例

Java SDK

CalculateImageHashAction action = new CalculateImageHashAction();
action.uuid = "383bcf0b1515369a8169b66a91de1e00";
action.backupStorageUuid = "0eeaa5988c743c638485304f3d1f867e";
action.algorithm = "MD5";
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c";
CalculateImageHashAction.Result res = action.call();

Python SDK

CalculateImageHashAction action = CalculateImageHashAction()
action.uuid = "383bcf0b1515369a8169b66a91de1e00"
action.backupStorageUuid = "0eeaa5988c743c638485304f3d1f867e"
action.algorithm = "MD5"
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c"
CalculateImageHashAction.Result res = action.call()