文档目录

获取目的地列表(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.6s
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 body CPU数目 3.10.0
memorySize (可选) long body 内存大小, 单位Byte 3.10.0
systemTags (可选) List query 系统标签 0.6
userTags (可选) List query 用户标签 0.6

API返回

返回示例
{
  "zones": [
    {
      "uuid": "b145bc2ad8f14810a6eec0f28508ca14",
      "name": "zone"
    }
  ],
  "clusters": [
    {
      "name": "cluster1",
      "uuid": "49adbf0f48a14b899b0e6f7928556313",
      "hypervisorType": "KVM",
      "createDate": "May 11, 2017 1:23:06 PM",
      "lastOpDate": "May 11, 2017 1:23:06 PM",
      "zoneUuid": "b68fec24ba0f492c94c2e046072c16f0"
    }
  ],
  "hosts": [
    {
      "zoneUuid": "b145bc2ad8f14810a6eec0f28508ca14",
      "name": "example",
      "uuid": "e1a5cb10bcbc48b4ab6dd4e648ef5960",
      "clusterUuid": "d5b32ea0ae1444d3b8b5a6b9d759af54",
      "description": "example",
      "managementIp": "192.168.0.1",
      "hypervisorType": "KVM",
      "state": "Enabled",
      "status": "Connected",
      "totalCpuCapacity": 4.0,
      "availableCpuCapacity": 2.0,
      "totalMemoryCapacity": 4.0,
      "availableMemoryCapacity": 4.0,
      "createDate": "May 11, 2017 1:23:06 PM",
      "lastOpDate": "May 11, 2017 1:23:06 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
totalMemoryCapacity Long 0.6
availableMemoryCapacity Long 0.6
createDate Timestamp 创建时间 0.6
lastOpDate Timestamp 最后一次修改时间 0.6

SDK示例

Java SDK
GetCandidateZonesClustersHostsForCreatingVmAction action = new GetCandidateZonesClustersHostsForCreatingVmAction();
action.instanceOfferingUuid = "f1569e619ba44cfeb264759df0720b19";
action.imageUuid = "57374e8324c34999ba81bd363a576653";
action.l3NetworkUuids = asList("dfac2b50c85a498780cf6d1828075e51");
action.dataDiskOfferingUuids = asList("bbe0af9d301e44d6b4605c6ed61f33d5","49f0cbfd2b694e5f9a5cf631f7dc219b");
action.clusterUuid = "0efc966199184f99982e9874186aab38";
action.sessionId = "5d04a0ac859746dea2f9cd81329e91ea";
GetCandidateZonesClustersHostsForCreatingVmAction.Result res = action.call();
Python SDK
GetCandidateZonesClustersHostsForCreatingVmAction action = GetCandidateZonesClustersHostsForCreatingVmAction()
action.instanceOfferingUuid = "6aef4e5bcf944af293096558effda40d"
action.imageUuid = "8a93ad62da8c436e8b79f37aae134bc6"
action.l3NetworkUuids = [3f1df9b106a04503bb1c7a68c7bddf75]
action.dataDiskOfferingUuids = [71817f0e5fa04e4e8ef5c035a0f84e67, ddb83b57bfc14aadb3df1ca6d40bfe04]
action.clusterUuid = "c910b625c0f94958a6a7e4ad3df15d34"
action.sessionId = "ae4cc6df99b14fb091a9b3779228709c"
GetCandidateZonesClustersHostsForCreatingVmAction.Result res = action.call()
开发手册 | 5.5.30 | ZStack Cloud · ZCF | ZStack 资源中心