Create a new virtual machine
Creates a new VM and returns it. To preview pricing without creating anything, use POST /compute/vms/cost-estimate instead.
Authentication
Request
UUID of a pre-existing network to attach the VM to. Omit to have an isolated network auto-created for the VM (post-create access is then configured via networkAccess). An auto-created network is deleted with the VM once its last VM is removed; a network you supply is not.
Names of SSH key pairs to use (optional)
Base64-encoded cloud-init userdata script (optional)
Optional network access configuration applied after the VM is created. Only honored when no network is provided (i.e. an isolated network is auto-created). Applies the requested outbound traffic setting and adds port forwarding + firewall rules for the requested inbound ports against the network’s public IP.
Response
Human-readable name for the VM. Shown in dashboards and CLI output.
Current lifecycle state of the VM. Observed values include CREATING, STARTING, CREATED, STARTED, STOPPING, STOPPED, and DESTROYED. Treat this as an open set — new states may be introduced over time.
Region the VM is provisioned in. References a region label from /v1/compute/regions.
Image label the VM was provisioned from. References /v1/compute/images.
Human-readable note explaining how the initial VM password will be delivered.
Package label identifying the CPU/memory/disk preset this VM uses.
When the current billing version started (set when the VM is scaled or its disk is resized). Only present if the VM has been modified since creation.
Source marketplace app, when the VM was deployed from one. Absent for OS-only deploys.