Skip to content
Docs

Compute

ComputeVMs

Create VM
POST/v1/compute/vms
Get VM Details
GET/v1/compute/vms/{vm_id}
Update VM
PATCH/v1/compute/vms/{vm_id}
Delete VM
DELETE/v1/compute/vms/{vm_id}
List VMs
GET/v1/compute/vms
Restart VM
POST/v1/compute/vms/{vm_id}/restart
ModelsExpand Collapse
CPUConfig object { vcpu }

CPU configuration for the VM.

vcpu: number

Number of virtual CPUs.

maximum192
minimum1
MemoryConfig object { size }

Memory configuration for the VM.

size: number

Size of the memory in GB.

maximum768
minimum1
OSImage object { created_at, display_name, name }

OS Image details.

created_at: string

When the OS Image was created.

formatdate-time
display_name: string

Display name of the OS Image.

name: string

Name of the OS Image.

SSHKeyRequest object { public_key }

Public SSH key configuration for the VM.

public_key: string

Public key to and use to access the VM.

VM object { id, boot_volume_id, cpu_config, 16 more }

VM details.

id: string

Unique identifier for the VM.

boot_volume_id: string

ID of the boot volume attached to the VM.

cpu_config: CPUConfig { vcpu }

CPU configuration for the VM.

vcpu: number

Number of virtual CPUs.

maximum192
minimum1
created_at: string

When the VM was created.

formatdate-time
data_volume_ids: array of string

IDs of the data volumes attached to the VM.

memory_config: MemoryConfig { size }

Memory configuration for the VM.

size: number

Size of the memory in GB.

maximum768
minimum1
name: string

Name of the VM.

private_ip: string

Private IP of the VM.

project_id: string

Project ID the VM belongs to.

public_ip: string

Public IP of the VM.

public_ip_enabled: boolean

Whether the public IP is enabled for the VM.

region: RegionName

Region the resource is in.

Status of the resource.

One of the following:
"pending"
"creating"
"updating"
"ready"
"deleting"
"deleted"
"error"
subnet_id: string

ID of the subnet the VM is in.

tags: array of string

Tags to attach to the VM.

updated_at: string

When the VM was updated.

formatdate-time
vpc_id: string

ID of the VPC the VM is in.

vpc_name: string

Name of the VPC the VM is in.

instance_type: optional string

Instance type name.

VMList object { items, pagination }
items: array of VM { id, boot_volume_id, cpu_config, 16 more }
id: string

Unique identifier for the VM.

boot_volume_id: string

ID of the boot volume attached to the VM.

cpu_config: CPUConfig { vcpu }

CPU configuration for the VM.

vcpu: number

Number of virtual CPUs.

maximum192
minimum1
created_at: string

When the VM was created.

formatdate-time
data_volume_ids: array of string

IDs of the data volumes attached to the VM.

memory_config: MemoryConfig { size }

Memory configuration for the VM.

size: number

Size of the memory in GB.

maximum768
minimum1
name: string

Name of the VM.

private_ip: string

Private IP of the VM.

project_id: string

Project ID the VM belongs to.

public_ip: string

Public IP of the VM.

public_ip_enabled: boolean

Whether the public IP is enabled for the VM.

region: RegionName

Region the resource is in.

Status of the resource.

One of the following:
"pending"
"creating"
"updating"
"ready"
"deleting"
"deleted"
"error"
subnet_id: string

ID of the subnet the VM is in.

tags: array of string

Tags to attach to the VM.

updated_at: string

When the VM was updated.

formatdate-time
vpc_id: string

ID of the VPC the VM is in.

vpc_name: string

Name of the VPC the VM is in.

instance_type: optional string

Instance type name.

ComputeVMsAvailability

Check VM Create Availability
POST/v1/compute/vms/availability
Check VM Update Availability
PATCH/v1/compute/vms/{vm_id}/availability

ComputeVMsVolumes

List VM's Volumes
GET/v1/compute/vms/{vm_id}/volumes

ComputeVMsOS Images

List OS Images
GET/v1/compute/vms/os_images

ComputeVolumes

Create Volume
POST/v1/compute/volumes
Get Volume
GET/v1/compute/volumes/{volume_id}
Update Volume
PATCH/v1/compute/volumes/{volume_id}
Delete Volume
DELETE/v1/compute/volumes/{volume_id}
List Volumes
GET/v1/compute/volumes
Attach Volume
POST/v1/compute/volumes/{volume_id}/attach
Detach Volume
POST/v1/compute/volumes/{volume_id}/detach
ModelsExpand Collapse
Volume object { id, created_at, kind, 10 more }

Volume details.

id: string

Unique identifier for the Volume.

created_at: string

When the Volume was created.

formatdate-time

Volume kind.

One of the following:
"boot"
"data"
name: string

Name of the Volume.

project_id: string

Project ID the Volume belongs to.

region: RegionName

Region the resource is in.

size: number

Size of the Volume in GB.

Status of the resource.

One of the following:
"pending"
"creating"
"updating"
"ready"
"deleting"
"deleted"
"error"
tags: array of string

Tags to attach to the Volume.

Type of the Volume.

One of the following:
"nvme"
"abs"
updated_at: string

When the Volume was updated.

formatdate-time
vm_id: string

ID of the VM the Volume is attached to.

vm_name: string

Name of the VM the Volume is attached to.

VolumeKind = "boot" or "data"

Volume kind.

One of the following:
"boot"
"data"
VolumeList object { items, pagination }
items: array of Volume { id, created_at, kind, 10 more }
id: string

Unique identifier for the Volume.

created_at: string

When the Volume was created.

formatdate-time

Volume kind.

One of the following:
"boot"
"data"
name: string

Name of the Volume.

project_id: string

Project ID the Volume belongs to.

region: RegionName

Region the resource is in.

size: number

Size of the Volume in GB.

Status of the resource.

One of the following:
"pending"
"creating"
"updating"
"ready"
"deleting"
"deleted"
"error"
tags: array of string

Tags to attach to the Volume.

Type of the Volume.

One of the following:
"nvme"
"abs"
updated_at: string

When the Volume was updated.

formatdate-time
vm_id: string

ID of the VM the Volume is attached to.

vm_name: string

Name of the VM the Volume is attached to.

VolumeType = "nvme" or "abs"

Type of the Volume.

One of the following:
"nvme"
"abs"

ComputeVolumesAvailability

Check Volume Create Availability
POST/v1/compute/volumes/availability
Check Volume Update Availability
PATCH/v1/compute/volumes/{volume_id}/availability