文档目录

获取目的地列表(GetCandidateZonesClustersHostsForCreatingVm)

获取可以创建指定虚拟机参数的目的数据中心、集群、主机。用户可以使用该API,通过指定虚拟机参数获得可以创建满足参数虚拟机的目的地。

API请求

URLs
GET zstack/v1/vm-instances/candidate-destinations
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-destinations?\
instanceOfferingUuid=0a3d761b0e3031a9b3c62f418fdade09&imageUuid=f6885d39912b347880517a58a9f5ad5b\
&l3NetworkUuids=51f30f4fcd3b3a0da2998b37f1a8d8a3\
&dataDiskOfferingUuids=cf8aa933d58230ee80a4181a66772d0b\
&dataDiskOfferingUuids=6a5ea214bc88372285ff3c301d64428c&clusterUuid=1f6b12b24aa03d4bb57f84a2df4a03f4
参数列表
名字 类型 位置 描述 可选值 起始版本
instanceOfferingUuid(可选) String query 计算规格UUID 0.6
imageUuid String query 镜像UUID 0.6
l3NetworkUuids List query 分布式端口组列表 0.6
rootDiskOfferingUuid (可选) String query 根硬盘规格。仅在imageUuid指定的镜像是ISO时需要指定 0.6
dataDiskOfferingUuids (可选) List query 硬盘规格列表 0.6
zoneUuid (可选) String query 数据中心UUID 0.6
clusterUuid (可选) String query 集群UUID 0.6
defaultL3NetworkUuid (可选) String query 默认分布式端口组UUID 0.6
cpuNum (可选) int query CPU数目 3.10.0
memorySize (可选) long query 内存大小, 单位Byte 3.10.0
systemTags (可选) List query 系统标签 0.6
userTags (可选) List query 用户标签 0.6
rootDiskSize (可选) Long query 根硬盘规格大小。仅在imageUuid指定的镜像是ISO时且rootDiskOfferingUuid为空:需要指定 4.1.2

API返回

返回示例
{
  "zones": [
    {
      "uuid": "88a4f663c5c63a80b74cb8d1bf54a5a5",
      "name": "zone",
      "isDefault": false
    }
  ],
  "clusters": [
    {
      "name": "cluster1",
      "uuid": "779ab0160e9734f8b2de0f75612f794f",
      "hypervisorType": "KVM",
      "createDate": "Nov 14, 2017 10:20:57 PM",
      "lastOpDate": "Nov 14, 2017 10:20:57 PM",
      "zoneUuid": "cb1001af731e3500a07269049e695eaa"
    }
  ],
  "hosts": [
    {
      "zoneUuid": "88a4f663c5c63a80b74cb8d1bf54a5a5",
      "name": "example",
      "uuid": "dee308ca7bf931edbc1adc31735cd9c8",
      "clusterUuid": "0ea74049ad863b3185465ca2e9b7ae06",
      "description": "example",
      "managementIp": "192.168.0.1",
      "hypervisorType": "KVM",
      "state": "Enabled",
      "status": "Connected",
      "totalCpuCapacity": 4,
      "availableCpuCapacity": 2,
      "totalMemoryCapacity": 4,
      "availableMemoryCapacity": 4,
      "createDate": "Nov 14, 2017 10:20:57 PM",
      "lastOpDate": "Nov 14, 2017 10:20:57 PM"
    }
  ]
}
名字 类型 描述 起始版本
success boolean 操作是否成功 0.6
error ErrorCode 错误码,若不为null,则表示操作失败, 操作成功时该字段为null。 详情参考error 0.6
zones List 详情参考zones 0.6
clusters List 详情参考clusters 0.6
hosts List 详情参考hosts 0.6
#error
名字 类型 描述 起始版本
code String 错误码号,错误的全局唯一标识,例如SYS.1000, HOST.1001 0.6
description String 错误的概要描述 0.6
details String 错误的详细信息 0.6
elaboration String 保留字段,默认为null 0.6
opaque LinkedHashMap 保留字段,默认为null 0.6
cause ErrorCode 根错误,引发当前错误的源错误,若无原错误,该字段为null 0.6
#zones
名字 类型 描述 起始版本
uuid String 资源的UUID,唯一标示该资源 0.6
name String 资源名称 0.6
description String 资源的详细描述 0.6
state String 0.6
type String 0.6
createDate Timestamp 创建时间 0.6
lastOpDate Timestamp 最后一次修改时间 0.6
#clusters
名字 类型 描述 起始版本
name String 资源名称 0.6
uuid String 资源的UUID,唯一标示该资源 0.6
description String 资源的详细描述 0.6
state String 集群状态 0.6
hypervisorType String 虚拟机管理程序类型 0.6
createDate Timestamp 创建时间 0.6
lastOpDate Timestamp 最后一次修改时间 0.6
zoneUuid String 数据中心UUID 0.6
type String 保留域 0.6
#hosts
名字 类型 描述 起始版本
zoneUuid String 数据中心UUID 0.6
name String 资源名称 0.6
uuid String 资源的UUID,唯一标示该资源 0.6
clusterUuid String 集群UUID 0.6
description String 资源的详细描述 0.6
managementIp String 0.6
hypervisorType String 0.6
state String 0.6
status String 0.6
totalCpuCapacity Long 0.6
availableCpuCapacity Long 0.6
cpuSockets Integer 物理CPU插槽数量 0.6
totalMemoryCapacity Long 0.6
availableMemoryCapacity Long 0.6
cpuNum Integer 逻辑CPU数量 0.6
ipmiAddress String IPMI地址 0.6
ipmiUsername String IPMI用户名 0.6
ipmiPort Integer IPMI端口 0.6
ipmiPowerStatus String IPMI电源状态 0.6
architecture String 0.6
nqn String NVMe 限定名称 4.10.6
hostname String 主机名 4.10.20
createDate Timestamp 创建时间 0.6
lastOpDate Timestamp 最后一次修改时间 0.6
cpuStatus HwMonitorStatus 详情参考cpuStatus 4.10.0
memoryStatus HwMonitorStatus 详情参考memoryStatus 4.10.0
diskStatus HwMonitorStatus 详情参考diskStatus 4.10.0
nicStatus HwMonitorStatus 详情参考nicStatus 4.10.0
gpuStatus HwMonitorStatus 详情参考gpuStatus 4.10.0
powerSupplyStatus HwMonitorStatus 详情参考powerSupplyStatus 4.10.0
fanStatus HwMonitorStatus 详情参考fanStatus 4.10.0
raidStatus HwMonitorStatus 详情参考raidStatus 4.10.0
temperatureStatus HwMonitorStatus 详情参考temperatureStatus 4.10.0
#cpuStatus
名字 类型 描述 起始版本
Normal HwMonitorStatus 正常 4.10.0
Error HwMonitorStatus 异常 4.10.0
Unknown HwMonitorStatus 未知 4.10.0
#memoryStatus
名字 类型 描述 起始版本
Normal HwMonitorStatus 正常 4.10.0
Error HwMonitorStatus 异常 4.10.0
Unknown HwMonitorStatus 未知 4.10.0
#diskStatus
名字 类型 描述 起始版本
Normal HwMonitorStatus 正常 4.10.0
Error HwMonitorStatus 异常 4.10.0
Unknown HwMonitorStatus 未知 4.10.0
#nicStatus
名字 类型 描述 起始版本
Normal HwMonitorStatus 正常 4.10.0
Error HwMonitorStatus 异常 4.10.0
Unknown HwMonitorStatus 未知 4.10.0
#gpuStatus
名字 类型 描述 起始版本
Normal HwMonitorStatus 正常 4.10.0
Error HwMonitorStatus 异常 4.10.0
Unknown HwMonitorStatus 未知 4.10.0
#powerSupplyStatus
名字 类型 描述 起始版本
Normal HwMonitorStatus 正常 4.10.0
Error HwMonitorStatus 异常 4.10.0
Unknown HwMonitorStatus 未知 4.10.0
#fanStatus
名字 类型 描述 起始版本
Normal HwMonitorStatus 正常 4.10.0
Error HwMonitorStatus 异常 4.10.0
Unknown HwMonitorStatus 未知 4.10.0
#raidStatus
名字 类型 描述 起始版本
Normal HwMonitorStatus 正常 4.10.0
Error HwMonitorStatus 异常 4.10.0
Unknown HwMonitorStatus 未知 4.10.0
#temperatureStatus
名字 类型 描述 起始版本
Normal HwMonitorStatus 正常 4.10.0
Error HwMonitorStatus 异常 4.10.0
Unknown HwMonitorStatus 未知 4.10.0

SDK示例

Java SDK
GetCandidateZonesClustersHostsForCreatingVmAction action = new GetCandidateZonesClustersHostsForCreatingVmAction();
action.instanceOfferingUuid = "0a3d761b0e3031a9b3c62f418fdade09";
action.imageUuid = "f6885d39912b347880517a58a9f5ad5b";
action.l3NetworkUuids = asList("51f30f4fcd3b3a0da2998b37f1a8d8a3");
action.dataDiskOfferingUuids = asList("cf8aa933d58230ee80a4181a66772d0b","6a5ea214bc88372285ff3c301d64428c");
action.clusterUuid = "1f6b12b24aa03d4bb57f84a2df4a03f4";
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c";
GetCandidateZonesClustersHostsForCreatingVmAction.Result res = action.call();
Python SDK
action = GetCandidateZonesClustersHostsForCreatingVmAction()
action.instanceOfferingUuid = "0a3d761b0e3031a9b3c62f418fdade09"
action.imageUuid = "f6885d39912b347880517a58a9f5ad5b"
action.l3NetworkUuids = [51f30f4fcd3b3a0da2998b37f1a8d8a3]
action.dataDiskOfferingUuids = [cf8aa933d58230ee80a4181a66772d0b, 6a5ea214bc88372285ff3c301d64428c]
action.clusterUuid = "1f6b12b24aa03d4bb57f84a2df4a03f4"
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c"
res = action.call()
开发手册 | ZStack ZSphere · ZVF | ZStack 资源中心