Skip to content
Docs

Compute

ComputeVMs

Create VM
$ nirvana compute:vms create
POST/v1/compute/vms
Get VM Details
$ nirvana compute:vms get
GET/v1/compute/vms/{vm_id}
Update VM
$ nirvana compute:vms update
PATCH/v1/compute/vms/{vm_id}
Delete VM
$ nirvana compute:vms delete
DELETE/v1/compute/vms/{vm_id}
List VMs
$ nirvana compute:vms list
GET/v1/compute/vms
Restart VM
$ nirvana compute:vms restart
POST/v1/compute/vms/{vm_id}/restart
ModelsExpand Collapse
cpu_config: object { vcpu }

CPU configuration for the VM.

vcpu: number

Number of virtual CPUs.

memory_config: object { size }

Memory configuration for the VM.

size: number

Size of the memory in GB.

os_image: object { created_at, display_name, name }

OS Image details.

created_at: string

When the OS Image was created.

display_name: string

Display name of the OS Image.

name: string

Name of the OS Image.

ssh_key_request: 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: object { vcpu }

CPU configuration for the VM.

vcpu: number

Number of virtual CPUs.

created_at: string

When the VM was created.

data_volume_ids: array of string

IDs of the data volumes attached to the VM.

memory_config: object { size }

Memory configuration for the VM.

size: number

Size of the memory in GB.

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: "us-sva-2"

Region the resource is in.

"us-sva-2"
status: "pending" or "creating" or "updating" or 4 more

Status of the resource.

"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.

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.

vm_list: 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: object { vcpu }

CPU configuration for the VM.

vcpu: number

Number of virtual CPUs.

created_at: string

When the VM was created.

data_volume_ids: array of string

IDs of the data volumes attached to the VM.

memory_config: object { size }

Memory configuration for the VM.

size: number

Size of the memory in GB.

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: "us-sva-2"

Region the resource is in.

"us-sva-2"
status: "pending" or "creating" or "updating" or 4 more

Status of the resource.

"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.

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
$ nirvana compute:vms:availability create
POST/v1/compute/vms/availability
Check VM Update Availability
$ nirvana compute:vms:availability update
PATCH/v1/compute/vms/{vm_id}/availability

ComputeVMsVolumes

List VM's Volumes
$ nirvana compute:vms:volumes list
GET/v1/compute/vms/{vm_id}/volumes

ComputeVMsOS Images

List OS Images
$ nirvana compute:vms:os-images list
GET/v1/compute/vms/os_images

ComputeVolumes

Create Volume
$ nirvana compute:volumes create
POST/v1/compute/volumes
Get Volume
$ nirvana compute:volumes get
GET/v1/compute/volumes/{volume_id}
Update Volume
$ nirvana compute:volumes update
PATCH/v1/compute/volumes/{volume_id}
Delete Volume
$ nirvana compute:volumes delete
DELETE/v1/compute/volumes/{volume_id}
List Volumes
$ nirvana compute:volumes list
GET/v1/compute/volumes
Attach Volume
$ nirvana compute:volumes attach
POST/v1/compute/volumes/{volume_id}/attach
Detach Volume
$ nirvana compute:volumes detach
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.

kind: "boot" or "data"

Volume kind.

"boot"
"data"
name: string

Name of the Volume.

project_id: string

Project ID the Volume belongs to.

region: "us-sva-2"

Region the resource is in.

"us-sva-2"
size: number

Size of the Volume in GB.

status: "pending" or "creating" or "updating" or 4 more

Status of the resource.

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

Tags to attach to the Volume.

type: "nvme" or "abs"

Type of the Volume.

"nvme"
"abs"
updated_at: string

When the Volume was updated.

vm_id: string

ID of the VM the Volume is attached to.

vm_name: string

Name of the VM the Volume is attached to.

volume_kind: "boot" or "data"

Volume kind.

"boot"
"data"
volume_list: 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.

kind: "boot" or "data"

Volume kind.

"boot"
"data"
name: string

Name of the Volume.

project_id: string

Project ID the Volume belongs to.

region: "us-sva-2"

Region the resource is in.

"us-sva-2"
size: number

Size of the Volume in GB.

status: "pending" or "creating" or "updating" or 4 more

Status of the resource.

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

Tags to attach to the Volume.

type: "nvme" or "abs"

Type of the Volume.

"nvme"
"abs"
updated_at: string

When the Volume was updated.

vm_id: string

ID of the VM the Volume is attached to.

vm_name: string

Name of the VM the Volume is attached to.

volume_type: "nvme" or "abs"

Type of the Volume.

"nvme"
"abs"

ComputeVolumesAvailability

Check Volume Create Availability
$ nirvana compute:volumes:availability create
POST/v1/compute/volumes/availability
Check Volume Update Availability
$ nirvana compute:volumes:availability update
PATCH/v1/compute/volumes/{volume_id}/availability