Skip to content
Docs

    VMs

    Create VM
    client.compute.vms.create(VMCreateParams { boot_volume, instance_type, name, 8 more } body, RequestOptionsoptions?): Operation { id, created_at, details, 6 more }
    POST/v1/compute/vms
    Get VM Details
    client.compute.vms.get(stringvmID, RequestOptionsoptions?): VM { id, boot_volume_id, cpu_config, 16 more }
    GET/v1/compute/vms/{vm_id}
    Update VM
    client.compute.vms.update(stringvmID, VMUpdateParams { instance_type, name, public_ip_enabled, tags } body, RequestOptionsoptions?): Operation { id, created_at, details, 6 more }
    PATCH/v1/compute/vms/{vm_id}
    Delete VM
    client.compute.vms.delete(stringvmID, RequestOptionsoptions?): Operation { id, created_at, details, 6 more }
    DELETE/v1/compute/vms/{vm_id}
    List VMs
    client.compute.vms.list(VMListParams { project_id, cursor, limit } query, RequestOptionsoptions?): Cursor<VM { id, boot_volume_id, cpu_config, 16 more } >
    GET/v1/compute/vms
    Restart VM
    client.compute.vms.restart(stringvmID, RequestOptionsoptions?): Operation { id, created_at, details, 6 more }
    POST/v1/compute/vms/{vm_id}/restart
    ModelsExpand Collapse
    CPUConfig { vcpu }

    CPU configuration for the VM.

    vcpu: number

    Number of virtual CPUs.

    maximum192
    minimum1
    MemoryConfig { size }

    Memory configuration for the VM.

    size: number

    Size of the memory in GB.

    maximum768
    minimum1
    OSImage { 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 { public_key }

    Public SSH key configuration for the VM.

    public_key: string

    Public key to and use to access the VM.

    VM { 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<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 | null

    Private IP of the VM.

    project_id: string

    Project ID the VM belongs to.

    public_ip: string | null

    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<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?: string | null

    Instance type name.

    VMList { items, pagination }
    items: Array<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<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 | null

    Private IP of the VM.

    project_id: string

    Project ID the VM belongs to.

    public_ip: string | null

    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<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?: string | null

    Instance type name.

    VMsAvailability

    Check VM Create Availability
    client.compute.vms.availability.create(AvailabilityCreateParams { boot_volume, instance_type, name, 8 more } body, RequestOptionsoptions?): void
    POST/v1/compute/vms/availability
    Check VM Update Availability
    client.compute.vms.availability.update(stringvmID, AvailabilityUpdateParams { instance_type, name, public_ip_enabled, tags } body, RequestOptionsoptions?): void
    PATCH/v1/compute/vms/{vm_id}/availability

    VMsCost

    Estimate VM Create Cost
    client.compute.vms.cost.create(CostCreateParams { boot_volume, instance_type, name, 8 more } body, RequestOptionsoptions?): CostQuote { currency, monthly_total, priced_at, 3 more }
    POST/v1/compute/vms/cost
    Estimate VM Update Cost
    client.compute.vms.cost.update(stringvmID, CostUpdateParams { instance_type, name, public_ip_enabled, tags } body, RequestOptionsoptions?): CostQuoteUpdate { after, before, currency, 4 more }
    PATCH/v1/compute/vms/{vm_id}/cost

    VMsVolumes

    List VM's Volumes
    client.compute.vms.volumes.list(stringvmID, VolumeListParams { cursor, limit } query?, RequestOptionsoptions?): Cursor<Volume { id, created_at, kind, 10 more } >
    GET/v1/compute/vms/{vm_id}/volumes

    VMsOS Images

    List OS Images
    client.compute.vms.osImages.list(OSImageListParams { cursor, limit } query?, RequestOptionsoptions?): Cursor<OSImage { created_at, display_name, name } >
    GET/v1/compute/vms/os_images