虚拟机相关接口

获取可选择的数据存储

GET/zstack/v1/vm-instances/candidate-storages

获取创建虚拟机可选择的数据存储。用户可通过指定虚拟机参数,来获取当前参数下可选择的数据存储。

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/candidate-storages?imageUuid=5f977e1354aa300bb27e0584d52bb09a&l3NetworkUuids=0276c5ffc04731d6b671c972272bd10a&dataDiskOfferingUuids=0b2b7ff196113ed79dad6bf815a6033e&dataDiskOfferingUuids=cfad76f5d345387d9215773fcd5389c5&clusterUuid=90fac86c000b335396f995bef052fb41

参数列表

名字类型位置描述可选值起始版本
imageUuidStringquery镜像UUID 2.1
l3NetworkUuidsListquery分布式端口组UUID 2.1
rootDiskOfferingUuid (可选)Stringquery根硬盘使用的硬盘规格UUID,镜像类型为ISO时可选且必选 2.1
rootDiskSize (可选)Longquery自定义根硬盘大小。仅在imageUuid指定的镜像是ISO时且rootDiskOfferingUuid为空需要指定 4.3.12
dataDiskOfferingUuids (可选)Listquery数据硬盘使用的硬盘规格UUID 2.1
dataDiskSizes (可选)Listquery自定义数据硬盘大小 4.3.12
zoneUuid (可选)Stringquery数据中心UUID 2.1
clusterUuid (可选)Stringquery集群UUID 2.1
defaultL3NetworkUuid (可选)Stringquery默认分布式端口组UUID 2.1
systemTags (可选)Listquery系统标签 2.1
userTags (可选)Listquery用户标签 2.1

API返回

返回示例

{
  "rootVolumePrimaryStorages": [
    {
      "uuid": "90087c635c70381baf16eb6dd5f8cfdc",
      "name": "example",
      "url": "/zstack_ps",
      "description": "example",
      "totalCapacity": 322122547200,
      "availableCapacity": 214748364800,
      "totalPhysicalCapacity": 322122547200,
      "availablePhysicalCapacity": 214748364800,
      "type": "LocalStorage",
      "state": "Enabled",
      "status": "Connected",
      "createDate": "Nov 14, 2017 10:20:57 PM",
      "lastOpDate": "Nov 14, 2017 10:20:57 PM",
      "attachedClusterUuids": [
        "f1d9f91b4b8b35f7b4435f86b79793be"
      ]
    }
  ],
  "dataVolumePrimaryStorages": {
    "d180546cd56b3677bffd7d338ba2666c": [
      {
        "uuid": "b5e92f8dbf223a1eac8fd101f63112b6",
        "name": "example",
        "url": "/opt/zstack/nfsprimarystorage/prim-b5e92f8dbf223a1eac8fd101f63112b6",
        "description": "example",
        "totalCapacity": 322122547200,
        "availableCapacity": 214748364800,
        "totalPhysicalCapacity": 322122547200,
        "availablePhysicalCapacity": 214748364800,
        "type": "NFS",
        "state": "Enabled",
        "status": "Connected",
        "createDate": "Nov 14, 2017 10:20:57 PM",
        "lastOpDate": "Nov 14, 2017 10:20:57 PM",
        "attachedClusterUuids": [
          "1d76e995472839f989472c71dbb450c0"
        ]
      }
    ]
  }
}
名字类型描述起始版本
dataVolumePrimaryStoragesMap数据硬盘可选数据存储,分别对应每一个数据硬盘规格(2.1 以后)或自定义数据硬盘大小(4.3.12 以后)2.1
successboolean操作是否成功2.1
rootVolumePrimaryStoragesList详情参考rootVolumePrimaryStorages2.1
errorErrorCode详情参考error2.1

rootVolumePrimaryStorages

名字类型描述起始版本
uuidString资源的UUID,唯一标示该资源2.1
zoneUuidString数据中心UUID2.1
nameString资源名称2.1
urlString 2.1
descriptionString资源的详细描述2.1
totalCapacityLong 2.1
availableCapacityLong 2.1
totalPhysicalCapacityLong 2.1
availablePhysicalCapacityLong 2.1
systemUsedCapacityLong 2.1
typeString 2.1
stateString 2.1
statusString 2.1
mountPathString 2.1
createDateTimestamp创建时间2.1
lastOpDateTimestamp最后一次修改时间2.1
attachedClusterUuidsList 2.1

error

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

SDK示例

Java SDK

GetCandidatePrimaryStoragesForCreatingVmAction action = new GetCandidatePrimaryStoragesForCreatingVmAction();
action.imageUuid = "5f977e1354aa300bb27e0584d52bb09a";
action.l3NetworkUuids = asList("0276c5ffc04731d6b671c972272bd10a");
action.dataDiskOfferingUuids = asList("0b2b7ff196113ed79dad6bf815a6033e","cfad76f5d345387d9215773fcd5389c5");
action.clusterUuid = "90fac86c000b335396f995bef052fb41";
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c";
GetCandidatePrimaryStoragesForCreatingVmAction.Result res = action.call();

Python SDK

GetCandidatePrimaryStoragesForCreatingVmAction action = GetCandidatePrimaryStoragesForCreatingVmAction()
action.imageUuid = "5f977e1354aa300bb27e0584d52bb09a"
action.l3NetworkUuids = [0276c5ffc04731d6b671c972272bd10a]
action.dataDiskOfferingUuids = [0b2b7ff196113ed79dad6bf815a6033e, cfad76f5d345387d9215773fcd5389c5]
action.clusterUuid = "90fac86c000b335396f995bef052fb41"
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c"
GetCandidatePrimaryStoragesForCreatingVmAction.Result res = action.call()