Apache CloudStack 4.0.0-incubating Root Admin API Reference

deployVirtualMachine

Creates and automatically starts a virtual machine based on a service offering, disk offering, and template.

Request parameters

Parameter NameDescriptionRequired
serviceofferingidthe ID of the service offering for the virtual machinetrue
templateidthe ID of the template for the virtual machinetrue
zoneidavailability zone for the virtual machinetrue
accountan optional account for the virtual machine. Must be used with domainId.false
diskofferingidthe ID of the disk offering for the virtual machine. If the template is of ISO format, the diskOfferingId is for the root disk volume. Otherwise this parameter is used to indicate the offering for the data disk volume. If the templateId parameter passed is from a Template object, the diskOfferingId refers to a DATA Disk Volume created. If the templateId parameter passed is from an ISO object, the diskOfferingId refers to a ROOT Disk Volume created.false
displaynamean optional user generated name for the virtual machinefalse
domainidan optional domainId for the virtual machine. If the account parameter is used, domainId must also be used.false
groupan optional group for the virtual machinefalse
hostiddestination Host ID to deploy the VM to - parameter available for root admin onlyfalse
hypervisorthe hypervisor on which to deploy the virtual machinefalse
ipaddressthe ip address for default vm's networkfalse
iptonetworklistip to network mapping. Can't be specified with networkIds parameter. Example: iptonetworklist[0].ip=10.10.10.11&iptonetworklist[0].networkid=204 - requests to use ip 10.10.10.11 in network id=204false
keyboardan optional keyboard device type for the virtual machine. valid value can be one of de,de-ch,es,fi,fr,fr-be,fr-ch,is,it,jp,nl-be,no,pt,uk,usfalse
keypairname of the ssh key pair used to login to the virtual machinefalse
namehost name for the virtual machinefalse
networkidslist of network ids used by virtual machine. Can't be specified with ipToNetworkList parameterfalse
projectidDeploy vm for the projectfalse
securitygroupidscomma separated list of security groups id that going to be applied to the virtual machine. Should be passed only when vm is created from a zone with Basic Network support. Mutually exclusive with securitygroupnames parameterfalse
securitygroupnamescomma separated list of security groups names that going to be applied to the virtual machine. Should be passed only when vm is created from a zone with Basic Network support. Mutually exclusive with securitygroupids parameterfalse
sizethe arbitrary size for the DATADISK volume. Mutually exclusive with diskOfferingIdfalse
startvmtrue if network offering supports specifying ip ranges; defaulted to true if not specifiedfalse
userdataan optional binary data that can be sent to the virtual machine upon a successful deployment. This binary data must be base64 encoded before adding it to the request. Currently only HTTP GET is supported. Using HTTP GET (via querystring), you can send up to 2KB of data after base64 encoding.false

Response Tags

Response NameDescription
idthe ID of the virtual machine
accountthe account associated with the virtual machine
cpunumberthe number of cpu this virtual machine is running with
cpuspeedthe speed of each cpu
cpuusedthe amount of the vm's CPU currently used
createdthe date when this virtual machine was created
displaynameuser generated name. The name of the virtual machine is returned if no displayname exists.
domainthe name of the domain in which the virtual machine exists
domainidthe ID of the domain in which the virtual machine exists
forvirtualnetworkthe virtual network for the service offering
groupthe group name of the virtual machine
groupidthe group ID of the virtual machine
guestosidOs type ID of the virtual machine
haenabletrue if high-availability is enabled, false otherwise
hostidthe ID of the host for the virtual machine
hostnamethe name of the host for the virtual machine
hypervisorthe hypervisor on which the template runs
instancenameinstance name of the user vm; this parameter is returned to the ROOT admin only
isodisplaytextan alternate display text of the ISO attached to the virtual machine
isoidthe ID of the ISO attached to the virtual machine
isonamethe name of the ISO attached to the virtual machine
keypairssh key-pair
memorythe memory allocated for the virtual machine
namethe name of the virtual machine
networkkbsreadthe incoming network traffic on the vm
networkkbswritethe outgoing network traffic on the host
passwordthe password (if exists) of the virtual machine
passwordenabledtrue if the password rest feature is enabled, false otherwise
projectthe project name of the vm
projectidthe project id of the vm
publicippublic IP address id associated with vm via Static nat rule
publicipidpublic IP address id associated with vm via Static nat rule
rootdeviceiddevice ID of the root volume
rootdevicetypedevice type of the root volume
serviceofferingidthe ID of the service offering of the virtual machine
serviceofferingnamethe name of the service offering of the virtual machine
statethe state of the virtual machine
templatedisplaytext an alternate display text of the template for the virtual machine
templateidthe ID of the template for the virtual machine. A -1 is returned if the virtual machine was created from an ISO file.
templatenamethe name of the template for the virtual machine
zoneidthe ID of the availablility zone for the virtual machine
zonenamethe name of the availability zone for the virtual machine
nic(*)the list of nics associated with vm
idthe ID of the nic
broadcasturithe broadcast uri of the nic
gatewaythe gateway of the nic
ipaddressthe ip address of the nic
isdefaulttrue if nic is default, false otherwise
isolationurithe isolation uri of the nic
macaddresstrue if nic is default, false otherwise
netmaskthe netmask of the nic
networkidthe ID of the corresponding network
networknamethe name of the corresponding network
traffictypethe traffic type of the nic
typethe type of the nic
securitygroup(*)list of security groups associated with the virtual machine
idthe ID of the security group
accountthe account owning the security group
descriptionthe description of the security group
domainthe domain name of the security group
domainidthe domain ID of the security group
namethe name of the security group
projectthe project name of the group
projectidthe project id of the group
egressrule(*)the list of egress rules associated with the security group
accountaccount owning the security group rule
cidrthe CIDR notation for the base IP address of the security group rule
endportthe ending IP of the security group rule
icmpcodethe code for the ICMP message response
icmptypethe type of the ICMP message response
protocolthe protocol of the security group rule
ruleidthe id of the security group rule
securitygroupnamesecurity group name
startportthe starting IP of the security group rule
ingressrule(*)the list of ingress rules associated with the security group
accountaccount owning the security group rule
cidrthe CIDR notation for the base IP address of the security group rule
endportthe ending IP of the security group rule
icmpcodethe code for the ICMP message response
icmptypethe type of the ICMP message response
protocolthe protocol of the security group rule
ruleidthe id of the security group rule
securitygroupnamesecurity group name
startportthe starting IP of the security group rule
tags(*)the list of resource tags associated with the rule
accountthe account associated with the tag
customercustomer associated with the tag
domainthe domain associated with the tag
domainidthe ID of the domain associated with the tag
keytag key name
projectthe project name where tag belongs to
projectidthe project id the tag belongs to
resourceidid of the resource
resourcetyperesource type
valuetag value
jobidthe ID of the latest async job acting on this object
jobstatusthe current status of the latest async job acting on this object
tags(*)the list of resource tags associated with vm
accountthe account associated with the tag
customercustomer associated with the tag
domainthe domain associated with the tag
domainidthe ID of the domain associated with the tag
keytag key name
projectthe project name where tag belongs to
projectidthe project id the tag belongs to
resourceidid of the resource
resourcetyperesource type
valuetag value
jobidthe ID of the latest async job acting on this object
jobstatusthe current status of the latest async job acting on this object