VM Related Interfaces

Get Destination List

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

Get the destination Data Centers, Clusters, and Hosts where a VM with specified parameters can be created. Users can use this API to obtain destinations that meet the VM parameters by specifying VM parameters.

Headers

Authorization: OAuth the-session-uuid

Curl Example

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

Parameter List

NameTypeLocationDescriptionAllowed ValuesStarting Version
instanceOfferingUuid(Optional)StringqueryInstance offering UUID 0.6
imageUuidStringqueryImage UUID 0.6
l3NetworkUuidsListqueryList of Distributed Port Group UUIDs 0.6
rootDiskOfferingUuid (Optional)StringqueryRoot disk offering. Only required when the image specified byimageUuidis an ISO 0.6
dataDiskOfferingUuids (Optional)ListqueryList of disk offering UUIDs 0.6
zoneUuid (Optional)StringqueryData Center UUID 0.6
clusterUuid (Optional)StringqueryCluster UUID 0.6
defaultL3NetworkUuid (Optional)StringqueryDefault Distributed Port Group UUID 0.6
cpuNum (Optional)intqueryNumber of CPUs 3.10.0
memorySize (Optional)longqueryMemory size in bytes 3.10.0
systemTags (Optional)ListquerySystem tags 0.6
userTags (Optional)ListqueryUser tags 0.6
rootDiskSize (Optional)LongqueryRoot disk size. Only required when the image specified byimageUuidis an ISO androotDiskOfferingUuidis empty 4.1.2

API Response

Response Example

{
  "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"
    }
  ]
}
NameTypeDescriptionStarting Version
successbooleanWhether the operation succeeded0.6
errorErrorCodeError code. If not null, the operation failed. This field is null when the operation succeeds. For details, seeerror0.6
zonesListFor details, seezones0.6
clustersListFor details, seeclusters0.6
hostsListFor details, seehosts0.6

error

NameTypeDescriptionStarting Version
codeStringError code number. A globally unique identifier for the error, e.g., SYS.1000, HOST.1001.0.6
descriptionStringBrief description of the error0.6
detailsStringDetailed error information0.6
elaborationStringReserved field. Defaults to null.0.6
opaqueLinkedHashMapReserved field. Defaults to null.0.6
causeErrorCodeRoot error. The source error that caused the current error. This field is null if there is no root cause.0.6

zones

NameTypeDescriptionStarting Version
uuidStringUUID of the resource. Uniquely identifies the resource.0.6
nameStringResource name0.6
descriptionStringDetailed description of the resource0.6
stateString 0.6
typeString 0.6
createDateTimestampCreation time0.6
lastOpDateTimestampLast modification time0.6

clusters

NameTypeDescriptionStarting Version
nameStringResource name0.6
uuidStringUUID of the resource. Uniquely identifies the resource.0.6
descriptionStringDetailed description of the resource0.6
stateStringCluster state0.6
hypervisorTypeStringHypervisor type0.6
createDateTimestampCreation time0.6
lastOpDateTimestampLast modification time0.6
zoneUuidStringData Center UUID0.6
typeStringReserved field0.6

hosts

NameTypeDescriptionStarting Version
zoneUuidStringData Center UUID0.6
nameStringResource name0.6
uuidStringUUID of the resource. Uniquely identifies the resource.0.6
clusterUuidStringCluster UUID0.6
descriptionStringDetailed description of the resource0.6
managementIpString 0.6
hypervisorTypeString 0.6
stateString 0.6
statusString 0.6
totalCpuCapacityLong 0.6
availableCpuCapacityLong 0.6
cpuSocketsIntegerNumber of physical CPU sockets0.6
totalMemoryCapacityLong 0.6
availableMemoryCapacityLong 0.6
cpuNumIntegerNumber of logical CPUs0.6
ipmiAddressStringIPMI address0.6
ipmiUsernameStringIPMI username0.6
ipmiPortIntegerIPMI port0.6
ipmiPowerStatusStringIPMI power status0.6
architectureString 0.6
nqnStringNVMe qualified name4.10.6
hostnameStringHost name4.10.20
createDateTimestampCreation time0.6
lastOpDateTimestampLast modification time0.6
cpuStatusHwMonitorStatusFor details, seecpuStatus4.10.0
memoryStatusHwMonitorStatusFor details, seememoryStatus4.10.0
diskStatusHwMonitorStatusFor details, seediskStatus4.10.0
nicStatusHwMonitorStatusFor details, seenicStatus4.10.0
gpuStatusHwMonitorStatusFor details, seegpuStatus4.10.0
powerSupplyStatusHwMonitorStatusFor details, seepowerSupplyStatus4.10.0
fanStatusHwMonitorStatusFor details, seefanStatus4.10.0
raidStatusHwMonitorStatusFor details, seeraidStatus4.10.0
temperatureStatusHwMonitorStatusFor details, seetemperatureStatus4.10.0

cpuStatus

NameTypeDescriptionStarting Version
NormalHwMonitorStatusNormal4.10.0
ErrorHwMonitorStatusAbnormal4.10.0
UnknownHwMonitorStatusUnknown4.10.0

memoryStatus

NameTypeDescriptionStarting Version
NormalHwMonitorStatusNormal4.10.0
ErrorHwMonitorStatusAbnormal4.10.0
UnknownHwMonitorStatusUnknown4.10.0

diskStatus

NameTypeDescriptionStarting Version
NormalHwMonitorStatusNormal4.10.0
ErrorHwMonitorStatusAbnormal4.10.0
UnknownHwMonitorStatusUnknown4.10.0

nicStatus

NameTypeDescriptionStarting Version
NormalHwMonitorStatusNormal4.10.0
ErrorHwMonitorStatusAbnormal4.10.0
UnknownHwMonitorStatusUnknown4.10.0

gpuStatus

NameTypeDescriptionStarting Version
NormalHwMonitorStatusNormal4.10.0
ErrorHwMonitorStatusAbnormal4.10.0
UnknownHwMonitorStatusUnknown4.10.0

powerSupplyStatus

NameTypeDescriptionStarting Version
NormalHwMonitorStatusNormal4.10.0
ErrorHwMonitorStatusAbnormal4.10.0
UnknownHwMonitorStatusUnknown4.10.0

fanStatus

NameTypeDescriptionStarting Version
NormalHwMonitorStatusNormal4.10.0
ErrorHwMonitorStatusAbnormal4.10.0
UnknownHwMonitorStatusUnknown4.10.0

raidStatus

NameTypeDescriptionStarting Version
NormalHwMonitorStatusNormal4.10.0
ErrorHwMonitorStatusAbnormal4.10.0
UnknownHwMonitorStatusUnknown4.10.0

temperatureStatus

NameTypeDescriptionStarting Version
NormalHwMonitorStatusNormal4.10.0
ErrorHwMonitorStatusAbnormal4.10.0
UnknownHwMonitorStatusUnknown4.10.0

SDK Examples

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()