虚拟机相关接口

获取虚拟机能力

GET/zstack/v1/vm-instances/{uuid}/capabilities

获取一个虚拟机的能力,用于判断虚拟机是否能做某些特定操作。目前已定义能力包括:

名称描述类型
LiveMigration是否支持热迁移Boolean
VolumeMigration是否支持根硬盘迁移Boolean

Headers

Authorization: OAuth the-session-uuid

Curl示例

curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth b883d676f4514489ab993c87f6a8ee70" \
-X GET http://localhost:8080/zstack/v1/vm-instances/7a6c30c6de654cdf9d29b18a78c83a64/capabilities

参数列表

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

API返回

返回示例

{
  "capabilities": {
    "LiveMigration": false,
    "Reimage": false,
    "VolumeMigration": true
  }
}
名字类型描述起始版本
successboolean 0.6
capabilitiesMap虚拟机能力结果0.6
errorErrorCode错误码,若不为null,则表示操作失败, 操作成功时该字段为null。 详情参考error0.6

error

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

SDK示例

Java SDK

GetVmCapabilitiesAction action = new GetVmCapabilitiesAction();
action.uuid = "2323ae79b3894f0a85018a2a458247aa";
action.sessionId = "05233d04bc144482a5b4a74fdea06408";
GetVmCapabilitiesAction.Result res = action.call();

Python SDK

GetVmCapabilitiesAction action = GetVmCapabilitiesAction()
action.uuid = "0fb5a5b4a3e54314ba1c5fa2e07384d2"
action.sessionId = "71df5d9cf30845dba8d1ef804bdf2108"
GetVmCapabilitiesAction.Result res = action.call()