虚拟机相关接口

获取候选镜像列表

GET/zstack/v1/vm-instances/{vmInstanceUuid}/image-candidates

获取用于修改虚拟机根硬盘的候选镜像列表。

Headers

Authorization: OAuth the-session-uuid

Curl示例

curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" \
-X GET http://localhost:8080/zstack/v1/vm-instances/54f0aebe7a2536978aafb9eb7a95003e/image-candidates

参数列表

名字类型位置描述可选值起始版本
vmInstanceUuid (可选)Stringurl虚拟机UUID 2.2
systemTags (可选)Listquery系统标签 2.2
userTags (可选)Listquery用户标签 2.2

API返回

返回示例

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

error

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

inventories

名字类型描述起始版本
uuidString资源的UUID,唯一标示该资源2.2
nameString资源名称2.2
descriptionString资源的详细描述2.2
stateString 2.2
statusString 2.2
sizeLong 2.2
actualSizeLong 2.2
md5SumString 2.2
urlString 2.2
mediaTypeString 2.2
guestOsTypeString 2.2
typeString 2.2
platformString 2.2
formatString 2.2
systemBoolean 2.2
createDateTimestamp创建时间2.2
lastOpDateTimestamp最后一次修改时间2.2
backupStorageRefsList详情参考backupStorageRefs2.2

backupStorageRefs

名字类型描述起始版本
imageUuidString镜像UUID2.2
backupStorageUuidString镜像存储UUID2.2
installPathString 2.2
exportUrlString 2.2
exportMd5SumString 2.2
statusString 2.2
createDateTimestamp创建时间2.2
lastOpDateTimestamp最后一次修改时间2.2

SDK示例

Java SDK

GetImageCandidatesForVmToChangeAction action = new GetImageCandidatesForVmToChangeAction();
action.vmInstanceUuid = "54f0aebe7a2536978aafb9eb7a95003e";
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c";
GetImageCandidatesForVmToChangeAction.Result res = action.call();

Python SDK

GetImageCandidatesForVmToChangeAction action = GetImageCandidatesForVmToChangeAction()
action.vmInstanceUuid = "54f0aebe7a2536978aafb9eb7a95003e"
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c"
GetImageCandidatesForVmToChangeAction.Result res = action.call()