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, 8 more } 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, kind, limit, 5 more } 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, display_name, limit, 2 more } query?, RequestOptionsoptions?): Cursor<OSImage { created_at, display_name, name } >
    GET/v1/compute/vms/os_images

    VMsMetrics

    List VM's Metrics
    client.compute.vms.metrics.list(stringvmID, MetricListParams { aggregation, end_time, metric, 2 more } query?, RequestOptionsoptions?): VMMetrics { aggregation, end_time, metrics, 3 more }
    GET/v1/compute/vms/{vm_id}/metrics
    ModelsExpand Collapse
    VMMetricPoint { timestamp, value }

    One period’s value.

    timestamp: string

    End of the period the value covers, so a point timestamped 00:05 over five-minute periods describes 00:00 through 00:05.

    formatdate-time
    value: number | null

    Value over the period, in the series’ unit. Null means the VM reported no observation for this period, which is what a stopped VM looks like.

    VMMetricSeries { metric, points, unit }

    One metric’s values over the interval served.

    metric: string

    Fully-qualified name of the metric.

    points: Array<VMMetricPoint { timestamp, value } >

    Values over the interval, oldest first. Every series in a response covers the same periods, so they line up index for index.

    timestamp: string

    End of the period the value covers, so a point timestamped 00:05 over five-minute periods describes 00:00 through 00:05.

    formatdate-time
    value: number | null

    Value over the period, in the series’ unit. Null means the VM reported no observation for this period, which is what a stopped VM looks like.

    Unit the values are expressed in.

    One of the following:
    "ratio"
    "bytes"
    "cores"
    "bytes_per_second"
    "operations_per_second"
    VMMetrics { aggregation, end_time, metrics, 3 more }

    A VM’s metrics over an interval: one series per metric, on a shared grid of periods.

    aggregation: "mean" | "max" | "min"

    How the samples inside one period were folded into a single value.

    One of the following:
    "mean"
    "max"
    "min"
    end_time: string

    End of the interval served, exclusive.

    formatdate-time
    metrics: Array<VMMetricSeries { metric, points, unit } >

    One series per requested metric, in the order they were requested.

    metric: string

    Fully-qualified name of the metric.

    points: Array<VMMetricPoint { timestamp, value } >

    Values over the interval, oldest first. Every series in a response covers the same periods, so they line up index for index.

    timestamp: string

    End of the period the value covers, so a point timestamped 00:05 over five-minute periods describes 00:00 through 00:05.

    formatdate-time
    value: number | null

    Value over the period, in the series’ unit. Null means the VM reported no observation for this period, which is what a stopped VM looks like.

    Unit the values are expressed in.

    One of the following:
    "ratio"
    "bytes"
    "cores"
    "bytes_per_second"
    "operations_per_second"
    period: "5m" | "15m" | "1h" | 2 more

    Width of one period, and so the spacing between consecutive points.

    One of the following:
    "5m"
    "15m"
    "1h"
    "6h"
    "24h"
    start_time: string

    Start of the interval served, inclusive. It can be later than the requested start when the request asked for more than the available history.

    formatdate-time
    vm_id: string

    ID of the VM the series belong to.

    VMsMetric Descriptors

    List VM Metric Descriptors
    client.compute.vms.metricDescriptors.list(RequestOptionsoptions?): VMMetricDescriptorList { items, pagination }
    GET/v1/compute/metric_descriptors
    ModelsExpand Collapse
    VMMetricDescriptor { description, max_value, metric, 3 more }

    Describes one metric a VM reports: how to name it, what its values mean, and the range they fall in.

    description: string

    What the metric measures.

    max_value: number | null

    Highest value the metric reports, or null when it has no ceiling of its own.

    metric: string

    Fully-qualified name of the metric, and the only spelling the metric query parameter accepts.

    min_value: number

    Lowest value the metric reports.

    nullable: boolean

    Whether a point’s value can be null. A null means the VM reported no observation for that period, which is what a stopped VM looks like.

    Unit the values are expressed in.

    One of the following:
    "ratio"
    "bytes"
    "cores"
    "bytes_per_second"
    "operations_per_second"
    VMMetricDescriptorList { items, pagination }
    items: Array<VMMetricDescriptor { description, max_value, metric, 3 more } >
    description: string

    What the metric measures.

    max_value: number | null

    Highest value the metric reports, or null when it has no ceiling of its own.

    metric: string

    Fully-qualified name of the metric, and the only spelling the metric query parameter accepts.

    min_value: number

    Lowest value the metric reports.

    nullable: boolean

    Whether a point’s value can be null. A null means the VM reported no observation for that period, which is what a stopped VM looks like.

    Unit the values are expressed in.

    One of the following:
    "ratio"
    "bytes"
    "cores"
    "bytes_per_second"
    "operations_per_second"