GET/zstack/v1/vm-instances/candidate-destinations 获取可以创建指定虚拟机参数的目的数据中心、集群、主机。用户可以使用该API,通过指定虚拟机参数获得可以创建满足参数虚拟机的目的地。
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 |
返回示例
{
"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 |
| 名字 | 类型 | 描述 | 起始版本 |
|---|
| 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 |
| 名字 | 类型 | 描述 | 起始版本 |
|---|
| 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 |
| 名字 | 类型 | 描述 | 起始版本 |
|---|
| 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 |
| 名字 | 类型 | 描述 | 起始版本 |
|---|
| 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 |
| 名字 | 类型 | 描述 | 起始版本 |
|---|
| Normal | HwMonitorStatus | 正常 | 4.10.0 |
| Error | HwMonitorStatus | 异常 | 4.10.0 |
| Unknown | HwMonitorStatus | 未知 | 4.10.0 |
| 名字 | 类型 | 描述 | 起始版本 |
|---|
| Normal | HwMonitorStatus | 正常 | 4.10.0 |
| Error | HwMonitorStatus | 异常 | 4.10.0 |
| Unknown | HwMonitorStatus | 未知 | 4.10.0 |
| 名字 | 类型 | 描述 | 起始版本 |
|---|
| Normal | HwMonitorStatus | 正常 | 4.10.0 |
| Error | HwMonitorStatus | 异常 | 4.10.0 |
| Unknown | HwMonitorStatus | 未知 | 4.10.0 |
| 名字 | 类型 | 描述 | 起始版本 |
|---|
| Normal | HwMonitorStatus | 正常 | 4.10.0 |
| Error | HwMonitorStatus | 异常 | 4.10.0 |
| Unknown | HwMonitorStatus | 未知 | 4.10.0 |
| 名字 | 类型 | 描述 | 起始版本 |
|---|
| Normal | HwMonitorStatus | 正常 | 4.10.0 |
| Error | HwMonitorStatus | 异常 | 4.10.0 |
| Unknown | HwMonitorStatus | 未知 | 4.10.0 |
| 名字 | 类型 | 描述 | 起始版本 |
|---|
| Normal | HwMonitorStatus | 正常 | 4.10.0 |
| Error | HwMonitorStatus | 异常 | 4.10.0 |
| Unknown | HwMonitorStatus | 未知 | 4.10.0 |
| 名字 | 类型 | 描述 | 起始版本 |
|---|
| Normal | HwMonitorStatus | 正常 | 4.10.0 |
| Error | HwMonitorStatus | 异常 | 4.10.0 |
| Unknown | HwMonitorStatus | 未知 | 4.10.0 |
| 名字 | 类型 | 描述 | 起始版本 |
|---|
| Normal | HwMonitorStatus | 正常 | 4.10.0 |
| Error | HwMonitorStatus | 异常 | 4.10.0 |
| Unknown | HwMonitorStatus | 未知 | 4.10.0 |
| 名字 | 类型 | 描述 | 起始版本 |
|---|
| Normal | HwMonitorStatus | 正常 | 4.10.0 |
| Error | HwMonitorStatus | 异常 | 4.10.0 |
| Unknown | HwMonitorStatus | 未知 | 4.10.0 |
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()