Skip to content
Docs

    VMs

    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.

    VMsAvailability

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

    VMsCost

    Estimate VM Create Cost
    POST/v1/compute/vms/cost
    Estimate VM Update Cost
    PATCH/v1/compute/vms/{vm_id}/cost

    VMsVolumes

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

    VMsOS Images

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

    VMsMetrics

    List VM's Metrics
    GET/v1/compute/vms/{vm_id}/metrics
    ModelsExpand Collapse
    VMMetricPoint object { 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

    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 object { metric, points, unit }

    One metric’s values over the interval served.

    metric: string

    Fully-qualified name of the metric.

    points: array of 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

    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 object { 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" or "max" or "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 of 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 of 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

    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" or "15m" or "1h" or 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
    GET/v1/compute/metric_descriptors
    ModelsExpand Collapse
    VMMetricDescriptor object { 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

    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 object { items, pagination }
    items: array of VMMetricDescriptor { description, max_value, metric, 3 more }
    description: string

    What the metric measures.

    max_value: number

    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"