Skip to content
qibdo qibdo
v1
API version
  • v1
Theme
Book a demo

Update Virtual Machine

PATCH
/compute/v1/workspaces/{workspace}/engines/qibdo/vms/{id}
curl --request PATCH \
--url https://example.com/compute/v1/workspaces/example/engines/qibdo/vms/example \
--header 'Content-Type: application/json' \
--data '{ "name": "example", "description": "example", "hypervisor": "HYPERVISOR_UNSPECIFIED", "vmm": "VMM_UNSPECIFIED", "location_id": "example", "cpu": { "v_cpus_boot": 1, "v_cpus_max": 1, "topology": { "threads_per_core": 1, "cores_per_die": 1, "dies_per_socket": 1, "sockets": 1 }, "affinity": [ { "v_cpu": 1, "host_cpus": [ 1 ] } ], "features": [ { "name": "example", "policy": "FEATURE_POLICY_UNSPECIFIED" } ], "maximum_number_physical_bits": 1, "emulation": { "mode": "MODE_UNSPECIFIED", "models": [ { "id": "example" } ], "vendor": { "id": "example" }, "architecture": "CPU_ARCHITECTURE_UNSPECIFIED" } }, "memory": { "size": { "size": 1, "unit": "DATA_UNIT_UNSPECIFIED" }, "access_mode": "MEMORY_ACCESS_MODE_UNSPECIFIED", "huge_pages": [ { "size": { "size": 1, "unit": "DATA_UNIT_UNSPECIFIED" }, "nodes": [ 1 ] } ], "is_prefault": true, "is_mergeable": true, "uses_transparent_huge_pages": true, "zones": [ { "id": "example", "file": "example", "size": { "size": 1, "unit": "DATA_UNIT_UNSPECIFIED" }, "access_mode": "MEMORY_ACCESS_MODE_UNSPECIFIED", "huge_pages": [ { "size": { "size": 1, "unit": "DATA_UNIT_UNSPECIFIED" }, "nodes": [ 1 ] } ], "is_prefault": true } ], "is_discardable": true, "memory_backing": "MEMORY_BACKING_UNSPECIFIED", "allocation": { "mode": "ALLOCATION_MODE_UNSPECIFIED", "threads": 1 }, "max_size": { "size": { "size": 1, "unit": "DATA_UNIT_UNSPECIFIED" }, "slots": 1 } }, "disks": [ { "name": "example", "description": "example", "size": { "size": 1, "unit": "DATA_UNIT_UNSPECIFIED" }, "vm_id": "example", "source_id": "example", "device_id": "example", "init_config": { "cloud_init": { "config": "example", "template_id": "example" } }, "qemu_driver": { "type": "QEMU_TYPE_UNSPECIFIED" }, "path_file": { "host_id": "example", "path": "example" }, "path_block": { "host_id": "example", "path": "example" }, "path_directory": { "host_id": "example", "path": "example" }, "path_network": { "host_id": "example", "path": "example", "protocol": "NETWORK_PROTOCOL_UNSPECIFIED", "volume_id": "example" }, "path_volume": { "host_id": "example", "path": "example", "pool": "example", "storage_volume": "example", "mode": "MODE_UNSPECIFIED" }, "path_nvme": { "host_id": "example", "path": "example", "address_type": "ADDRESS_TYPE_UNSPECIFIED", "is_managed": true, "namespace": 1 }, "path_v_host_user": { "host_id": "example", "path": "example", "char_device_type": "CHAR_DEVICE_TYPE_UNSPECIFIED" }, "mount_path": { "block": { "device_prefix": "example", "device_type": "DISK_BLOCK_DEVICE_UNSPECIFIED", "block": "example", "partition": 1 }, "bus": "BUS_UNSPECIFIED" }, "is_read_only": true, "is_shareable": true, "is_direct": true, "has_iommu": true, "number_of_queues": 1, "queue_size": 1, "has_v_host_user": true, "v_host_socket": "example", "rate_limiter": { "bandwidth": { "size": { "value": 1, "unit": "DATA_TRANSFER_RATE_UNIT_UNSPECIFIED" }, "one_time_burst": { "value": 1, "unit": "DATA_TRANSFER_RATE_UNIT_UNSPECIFIED" }, "refill_time": "example" }, "operations": { "size": { "value": 1, "unit": "DURATION_UNIT_UNSPECIFIED" }, "one_time_burst": { "value": 1, "unit": "DURATION_UNIT_UNSPECIFIED" }, "refill_time": "example" } }, "pci_segment_id": 1, "serial": "example", "rate_limit_groupId": "example", "queue_affinity": [ { "queue_index": 1, "host_cpus": [ 1 ] } ], "encryption": { "format": "ENCRYPTION_FORMAT_UNSPECIFIED", "secret": { "id": "example", "vault_id": "example", "type": "SECRET_TYPE_UNSPECIFIED" }, "cipher": { "algorithm": "ENCRYPTION_ALGORITHM_UNSPECIFIED", "size": "CIPHER_WORD_SIZE_UNSPECIFIED", "mode": "CIPHER_MODE_UNSPECIFIED" }, "iv": { "name": "example", "hash": "HASH_ALGORITHM_UNSPECIFIED" } } } ], "numa": { "mode": "NUMA_MODE_UNSPECIFIED", "nodes": [ { "guest_numa_id": 1, "cpus": [ 1 ], "distances": [ { "destination_numa_id": 1, "distance": 1 } ], "memory_zones": [ { "id": "example" } ], "sgx_epc_sections": [ { "id": "example" } ], "pci_segments": [ 1 ], "memory_size": { "size": 1, "unit": "DATA_UNIT_UNSPECIFIED" }, "access_mode": "MEMORY_ACCESS_MODE_UNSPECIFIED", "numa_hosts": [ 1 ], "mode": "NUMA_MODE_UNSPECIFIED" } ] }, "os": { "type": "OS_TYPE_UNSPECIFIED", "kernel": { "path": "example" }, "firmware": { "type": "STANDARD_TYPE_UNSPECIFIED", "path": "example" }, "initrd": "example", "cmdline": "example", "boot_devices": [ { "device": "DEVICE_UNSPECIFIED" } ] }, "rate_limit_group": [ { "id": "example", "group_id": "example", "rate_limiter": { "bandwidth": { "size": { "value": 1, "unit": "DATA_TRANSFER_RATE_UNIT_UNSPECIFIED" }, "one_time_burst": { "value": 1, "unit": "DATA_TRANSFER_RATE_UNIT_UNSPECIFIED" }, "refill_time": "example" }, "operations": { "size": { "value": 1, "unit": "DURATION_UNIT_UNSPECIFIED" }, "one_time_burst": { "value": 1, "unit": "DURATION_UNIT_UNSPECIFIED" }, "refill_time": "example" } } } ], "interfaces": { "console": { "file": "example", "socket": "example", "mode": "INTERFACE_MODE__UNSPECIFIED", "is_iommu_enabled": true }, "serial": { "file": "example", "socket": "example", "mode": "INTERFACE_MODE__UNSPECIFIED", "is_iommu_enabled": true }, "debug": { "file": "example", "mode": "INTERFACE_MODE__UNSPECIFIED", "io_base": "example" } }, "features": { "pae": { "enabled": true }, "acpi": { "enabled": true }, "apic": { "enabled": true }, "hap": { "enabled": true }, "gic": { "enabled": true, "version": 1 }, "hyperv": { "enabled": true, "relaxed_timers_enabled": true, "virtual_apic_enabled": true, "vpindex_enabled": true, "runtime_enabled": true, "synic_enabled": true, "reset_enabled": true, "vendor_id": "example", "frequencies_enabled": true, "reenlightenment_enabled": true, "ipi_enabled": true, "evmcs_enabled": true, "avic_enabled": true, "emsr_bitmap_enabled": true, "xmm_input_enabled": true, "spinlocks": { "enabled": true, "retries": 1 }, "stimer": { "enabled": true, "direct_enabled": true }, "tlbflush": { "enabled": true, "direct": true, "extended": true } }, "kvm": { "enabled": true, "hidden": true, "hint_dedicated": true, "poll_control_enabled": true, "paravirtualized_ipis_enabled": true, "dirty_ring": { "enabled": true, "size": { "size": 1, "unit": "DATA_UNIT_UNSPECIFIED" } } }, "xen": { "enabled": true, "e820_host_enabled": true, "passthrough": { "enabled": true, "mode": "MODE_UNSPECIFIED" } }, "viridian": { "enabled": true }, "privnet": { "enabled": true }, "pvspinlock": { "enabled": true }, "pmu": { "enabled": true }, "vmport": { "enabled": true } }, "network": [ { "mac_address": "example", "network_io": { "inbound": { "average": { "value": 1, "unit": "DATA_TRANSFER_RATE_UNIT_UNSPECIFIED" }, "peak": { "value": 1, "unit": "DATA_TRANSFER_RATE_UNIT_UNSPECIFIED" }, "burst": { "value": 1, "unit": "DATA_TRANSFER_RATE_UNIT_UNSPECIFIED" }, "floor": { "value": 1, "unit": "DATA_TRANSFER_RATE_UNIT_UNSPECIFIED" } }, "outbound": { "average": { "value": 1, "unit": "DATA_TRANSFER_RATE_UNIT_UNSPECIFIED" }, "peak": { "value": 1, "unit": "DATA_TRANSFER_RATE_UNIT_UNSPECIFIED" }, "burst": { "value": 1, "unit": "DATA_TRANSFER_RATE_UNIT_UNSPECIFIED" }, "floor": { "value": 1, "unit": "DATA_TRANSFER_RATE_UNIT_UNSPECIFIED" } } }, "nic": "INTERFACE_CARD_UNSPECIFIED", "mount_path": { "block": { "device_type": "BLOCK_DEVICE_TYPE_UNSPECIFIED", "number": 1, "device_prefix": "example" }, "bus": "BUS_UNSPECIFIED" }, "openv_switch": { "interface_id": "example", "profile_id": "example" }, "mido_net": { "interface_id": "example" }, "ieee_port": { "manager_id": 1, "type_id": 1, "type_id_version": 1, "instance_id": "example", "ieee_bq_port": {}, "ieee_bh_port": { "profile_id": "example" } }, "virtual_network_interface": { "network_name": "example", "port_group": "example", "subnet_id": "example", "allocated_port_id": "example" }, "bridge_interface": { "bridge": "example" }, "userspace_interface": { "ipv4_addresses": [ { "address": "example", "prefix": 1 } ], "ipv6_addresses": [ { "address": "example", "prefix": 1 } ] }, "ethernet_interface": {}, "direct_physical_interface": { "mode": "DIRECT_PHYSICAL_INTERFACE_MODE_UNSPECIFIED" } } ], "clock": { "offset": "OFFSET_UNSPECIFIED", "timers": [ { "name": "TIMER_NAME_UNSPECIFIED", "is_present": true, "tick_policy": "TICK_POLICY_UNSPECIFIED", "track": "TRACK_UNSPECIFIED" } ] }, "restart_policy": "RESTART_POLICY_UNSPECIFIED", "resource_pool_id": "example", "cloud_init_extension": "example", "eviction_strategy": "EVICTION_STRATEGY_UNSPECIFIED" }'

Updates a Virtual Machine (VM)

workspace
required
string

The unique identifier of the workspace that the virtual machine belongs to

id
required
string

The unique identifier of the virtual machine to update

update_mask
string format: field-mask

The set of fields to update. If omitted, all mutable fields are overwritten. See AIP-134 for field mask semantics.

Media type application/json
object
id

Unique Identifier

Global unique identifier for the virtual machine. This a String that uses the UUID format.

stringOutput only
gen_id

Generation Identifier

Virtual Machine Generation ID that is used to help notify the guest operating system when the virtual machine is re-executing something that has already executed before.

stringOutput only
name
required

Name

Name/title of the virtual machine (RFC 1035 DNS label, max 62 chars)

string
description

Description

Optional description of the virtual machine

string
hypervisor
required
string format: enum
Allowed values: HYPERVISOR_UNSPECIFIED KVM MSHV HVF
vmm
string format: enum
Allowed values: VMM_UNSPECIFIED CH QEMU AWS GCP AZURE KUBE_VIRT
location_id

Location Id

On create, the placement intent: a ZONE (pins) or REGION (collapses to one active zone) location reference. On read, the concrete zone the VM was placed in. GLOBAL and MULTI_REGION are rejected.

string
workspace_id

Workspace Id

Unique identifier of the workspace that the virtual machine belongs to

stringOutput only
status
string format: enum Output only
Allowed values: QIBDO_VM_STATUS_UNSPECIFIED QIBDO_VM_STATUS_SCHEDULING QIBDO_VM_STATUS_CREATING QIBDO_VM_STATUS_STARTING QIBDO_VM_STATUS_RUNNING QIBDO_VM_STATUS_STOPPING QIBDO_VM_STATUS_STOPPED QIBDO_VM_STATUS_REPAIRING QIBDO_VM_STATUS_SUSPENDING QIBDO_VM_STATUS_SUSPENDED QIBDO_VM_STATUS_DELETING QIBDO_VM_STATUS_DELETED QIBDO_VM_STATUS_RESTARTING QIBDO_VM_STATUS_RESUMING QIBDO_VM_STATUS_RESETTING
cpu
required

Cpu

CPU configuration for a virtual machine.

object
v_cpus_boot

Number of vCPUs present at boot time.

This is the number of virtual CPUs (vCPUs) that will be present in the virtual machine when it boots.

integer format: uint32
v_cpus_max

Maximum number of vCPUs.

This option defines the maximum number of vCPUs that can be assigned to the VM. In particular, this option is used when looking for CPU hotplug as it lets the provide an indication about how many vCPUs might be needed later during the runtime of the VM.

For instance, if booting the VM with 2 vCPUs and a maximum of 6 vCPUs, it means up to 4 vCPUs can be added later at runtime by resizing the VM.

The value must be greater than or equal to the number of boot vCPUs

integer format: uint32
topology

Topology

CPU topology refers to the physical organization of central processing units (CPUs) within a system, including the number of sockets, cores, and threads. This information is essential for optimizing virtualization, workload distribution, and performance tuning.

object
threads_per_core

Number of threads per core.

A CPU core can support multiple threads of execution, depending on its capabilities. This attribute refers to how many threads each core can handle simultaneously, commonly known as “simultaneous multithreading” (SMT). For example, a core with threadsPerCore set to 2 would be able to handle two threads at once, essentially doubling the performance of the core in certain multi-threaded workloads.

integer format: uint32
cores_per_die

Number of cores per die.

A CPU die is a single piece of silicon that contains the CPU’s processing units (cores). The coresPerDie represents how many cores are physically present on a single die within the CPU.

Typically, a CPU die will have several cores, and each core might handle multiple threads (depending on the threadsPerCore value).

integer format: uint32
dies_per_socket

Number of dies per socket.

A CPU socket is the physical interface that connects a processor to the motherboard, typically containing one or more CPU dies. The diesPerSocket attribute represents how many CPU dies are available in each socket. Some high-end server CPUs may have multiple dies in a single socket, each with its own set of cores. The Virtual Machine Manager (VMM) may refer to this as “diesPerPackage,” as a “package” is often used to refer to a single CPU or socket that includes multiple dies.

integer format: uint32
sockets

Number of CPU sockets.

integer format: uint32
affinity

Affinity

List of Processor affinity, or CPU pinning or “cache affinity”, enables the binding and unbinding of a process or a thread to a central processing unit (CPU) or a range of CPUs, so that the process or thread will execute only on the designated CPU or CPUs rather than any CPU. It is useful for achieving CPU pinning, ensuring multiple VMs won’t affect the performance of each other. It might also be used in the context of NUMA as it is way of making sure the VM can run on a specific host NUMA node. In general, this option is used to increase the performances of a VM depending on the host platform and the type of workload running in the guest

Array<object>

Processor Affinity

Processor affinity, or CPU pinning or “cache affinity”. It enables the binding and unbinding of a process or a thread to a central processing unit (CPU) or a range of CPUs, so that the process or thread will execute only on the designated CPU or CPUs rather than any CPU. It is useful for achieving CPU pinning, ensuring multiple VMs won’t affect the performance of each other. It might also be used in the context of NUMA as it is way of making sure the VM can run on a specific host NUMA node. In general, this option is used to increase the performances of a VM depending on the host platform and the type of workload running in the guest

object
v_cpu

Virtual CPU number

integer format: uint32
host_cpus

The physical CPU numbers

Array<integer>
features

Features

A list of Features used to fine-tune features provided by the selected CPU model. The list of known feature names can be found in the same file as CPU models. The meaning of each feature element depends on its policy attribute.

Array<object>

Feature

A Feature is used to fine-tune features provided by the selected CPU model. The list of known feature names can be found in the same file as CPU models. The meaning of each feature element depends on its policy attribute.

object
name

Name of the feature

The name of the feature is a string that represents the feature that is being enabled or disabled.

string
policy
string format: enum
Allowed values: FEATURE_POLICY_UNSPECIFIED FORCE REQUIRE OPTIONAL DISABLE FORBID
maximum_number_physical_bits

Maximum number of physical bits.

Maximum size for guest’s addressable space. This option defines the maximum number of physical bits for all vCPUs, which sets a limit for the size of the guest’s addressable space. This is mainly useful for debug purpose.

integer format: uint32
emulation

CPU Emulation

Emulation properties for a CPU. It defines properties like the model, vendor, etc

object
mode
string format: enum
Allowed values: MODE_UNSPECIFIED CUSTOM HOST_MODEL HOST_PASSTHROUGH MAXIMUM
models
Array<object>

Cpu Emulation Model

Specifies CPU model requested by the guest.

object
id
string
vendor

CPU Vendor

Specifies CPU vendor requested by the guest. e.g. Intel

object
id
string
architecture
string format: enum
Allowed values: CPU_ARCHITECTURE_UNSPECIFIED X86_64 X86 PPC64 ARM64
memory
required

Memory

Memory configuration for a qibdo Virtual Machine. It indicates the amount of memory that the VM will have, the access mode, the usage or not of huge pages, the memory zones, the memory backing, among other properties.

object
size
required

Compute Data Size

Represents the computational size of an object in different information units.

object
size
required

Size of the object

Is the numerical size of an object

number format: double
unit
required
string format: enum
Allowed values: DATA_UNIT_UNSPECIFIED BYTES KIB MIB GIB TIB PIB EIB KB MB GB TB PB EB
access_mode
string format: enum
Allowed values: MEMORY_ACCESS_MODE_UNSPECIFIED SHARED PRIVATE
huge_pages
Array<object>
object
size

Compute Data Size

Represents the computational size of an object in different information units.

object
size
required

Size of the object

Is the numerical size of an object

number format: double
unit
required
string format: enum
Allowed values: DATA_UNIT_UNSPECIFIED BYTES KIB MIB GIB TIB PIB EIB KB MB GB TB PB EB
nodes
Array<integer>
is_prefault
boolean
is_mergeable
boolean
uses_transparent_huge_pages
boolean
zones
Array<object>
object
id
string
file
string
size

Compute Data Size

Represents the computational size of an object in different information units.

object
size
required

Size of the object

Is the numerical size of an object

number format: double
unit
required
string format: enum
Allowed values: DATA_UNIT_UNSPECIFIED BYTES KIB MIB GIB TIB PIB EIB KB MB GB TB PB EB
access_mode
string format: enum
Allowed values: MEMORY_ACCESS_MODE_UNSPECIFIED SHARED PRIVATE
huge_pages
Array<object>
object
size

Compute Data Size

Represents the computational size of an object in different information units.

object
size
required

Size of the object

Is the numerical size of an object

number format: double
unit
required
string format: enum
Allowed values: DATA_UNIT_UNSPECIFIED BYTES KIB MIB GIB TIB PIB EIB KB MB GB TB PB EB
nodes
Array<integer>
is_prefault
boolean
is_discardable
boolean
memory_backing
string format: enum
Allowed values: MEMORY_BACKING_UNSPECIFIED FILE ANONYMOUS MEMFD
allocation
object
mode
string format: enum
Allowed values: ALLOCATION_MODE_UNSPECIFIED IMMEDIATE ON_DEMAND
threads
integer format: uint32
max_size
object
size

Compute Data Size

Represents the computational size of an object in different information units.

object
size
required

Size of the object

Is the numerical size of an object

number format: double
unit
required
string format: enum
Allowed values: DATA_UNIT_UNSPECIFIED BYTES KIB MIB GIB TIB PIB EIB KB MB GB TB PB EB
slots
integer format: uint32
disks
required
Array<object>
object
id
stringOutput only
name
string
description
string
size

Compute Data Size

Represents the computational size of an object in different information units.

object
size
required

Size of the object

Is the numerical size of an object

number format: double
unit
required
string format: enum
Allowed values: DATA_UNIT_UNSPECIFIED BYTES KIB MIB GIB TIB PIB EIB KB MB GB TB PB EB
vm_id
string
source_id
string
zone_id
stringOutput only
status
string format: enum Output only
Allowed values: DISK_STATUS_UNSPECIFIED SCHEDULING CREATING UNATTACHED ATTACHED UPDATING DELETING FAILED
device_id
string
init_config
object
cloud_init
object
config
string
template_id
string
qemu_driver
object
type
string format: enum
Allowed values: QEMU_TYPE_UNSPECIFIED RAW BOCHS QCOW2 QED
path_file
object
host_id
string
path
string
path_block
object
host_id
string
path
string
path_directory
object
host_id
string
path
string
path_network
object
host_id
string
path
string
protocol
string format: enum
Allowed values: NETWORK_PROTOCOL_UNSPECIFIED NBD ISCSI RBD SHEEPDOG GLUSTER VXHS HTTP HTTPS FTP FTPS TFTP SSH
volume_id
string
path_volume
object
host_id
string
path
string
pool
string
storage_volume
string
mode
string format: enum
Allowed values: MODE_UNSPECIFIED HOST DIRECT
path_nvme
object
host_id
string
path
string
address_type
string format: enum
Allowed values: ADDRESS_TYPE_UNSPECIFIED PCI
is_managed
boolean
namespace
integer format: uint32
path_v_host_user
object
host_id
string
path
string
char_device_type
string format: enum
Allowed values: CHAR_DEVICE_TYPE_UNSPECIFIED UNIX
mount_path
object
block
object
device_prefix
string
device_type
string format: enum
Allowed values: DISK_BLOCK_DEVICE_UNSPECIFIED SD VD NVME HD MD LOOP RAM MMCBLK UBD SR
block
string
partition
integer format: uint32
bus
string format: enum
Allowed values: BUS_UNSPECIFIED VIRTIO
is_read_only
boolean
is_shareable
boolean
is_direct
boolean
has_iommu
boolean
number_of_queues
integer format: uint32
queue_size
integer format: uint32
has_v_host_user
boolean
v_host_socket
string
rate_limiter
object
bandwidth

Bandwidth Rate for Disk

object
size
object
value
number format: double
unit
string format: enum
Allowed values: DATA_TRANSFER_RATE_UNIT_UNSPECIFIED BPS KBPS MBPS GBPS BYTES_PER_SEC KBYTES_PER_SEC MBYTES_PER_SEC GBYTES_PER_SEC
one_time_burst
object
value
number format: double
unit
string format: enum
Allowed values: DATA_TRANSFER_RATE_UNIT_UNSPECIFIED BPS KBPS MBPS GBPS BYTES_PER_SEC KBYTES_PER_SEC MBYTES_PER_SEC GBYTES_PER_SEC
refill_time
string
/^-?(?:0|[1-9][0-9]{0,11})(?:\.[0-9]{1,9})?s$/
operations

Operations Rate for Disk

object
size
object
value
number format: double
unit
string format: enum
Allowed values: DURATION_UNIT_UNSPECIFIED NANOSECONDS MICROSECONDS MILLISECONDS SECONDS MINUTES HOURS DAYS
one_time_burst
object
value
number format: double
unit
string format: enum
Allowed values: DURATION_UNIT_UNSPECIFIED NANOSECONDS MICROSECONDS MILLISECONDS SECONDS MINUTES HOURS DAYS
refill_time
string
/^-?(?:0|[1-9][0-9]{0,11})(?:\.[0-9]{1,9})?s$/
pci_segment_id
integer format: uint32
serial
string
rate_limit_groupId
string
queue_affinity
Array<object>
object
queue_index
integer format: uint32
host_cpus
Array<integer>
encryption
object
format
string format: enum
Allowed values: ENCRYPTION_FORMAT_UNSPECIFIED LUKS LUKS2
secret
object
id
string
vault_id
string
type
string format: enum
Allowed values: SECRET_TYPE_UNSPECIFIED PASSPHRASE TLS CEPH ISCSI RBD VOLUME
cipher
object
algorithm
string format: enum
Allowed values: ENCRYPTION_ALGORITHM_UNSPECIFIED AES DES CAST5 SERPENT TWOFISH
size
string format: enum
Allowed values: CIPHER_WORD_SIZE_UNSPECIFIED BITS_128 BITS_192 BITS_256 BITS_512
mode
string format: enum
Allowed values: CIPHER_MODE_UNSPECIFIED CBC XTS ECB
iv
object
name
string
hash
string format: enum
Allowed values: HASH_ALGORITHM_UNSPECIFIED MD5 SHA1 SHA256
created

Created Timestamp

Timestamp when the disk was created

string format: date-time Output only
updated

Updated Timestamp

Timestamp when the disk was last updated

string format: date-time Output only
numa
object
mode
string format: enum
Allowed values: NUMA_MODE_UNSPECIFIED INTERLEAVE STRICT PREFERRED RESTRICTIVE
nodes
Array<object>
object
guest_numa_id
integer format: uint32
cpus
Array<integer>
distances
Array<object>
object
destination_numa_id
integer format: uint32
distance
integer format: uint32
memory_zones
Array<object>
object
id
string
sgx_epc_sections
Array<object>
object
id
string
pci_segments
Array<integer>
memory_size
required

Compute Data Size

Represents the computational size of an object in different information units.

object
size
required

Size of the object

Is the numerical size of an object

number format: double
unit
required
string format: enum
Allowed values: DATA_UNIT_UNSPECIFIED BYTES KIB MIB GIB TIB PIB EIB KB MB GB TB PB EB
access_mode
string format: enum
Allowed values: MEMORY_ACCESS_MODE_UNSPECIFIED SHARED PRIVATE
numa_hosts
Array<integer>
mode
string format: enum
Allowed values: NUMA_MODE_UNSPECIFIED INTERLEAVE STRICT PREFERRED RESTRICTIVE
os
required
object
type
string format: enum
Allowed values: OS_TYPE_UNSPECIFIED XEN XEN_PVH HVM EXE
kernel
object
path
string
firmware
object
type
string format: enum
Allowed values: STANDARD_TYPE_UNSPECIFIED BIOS EFI
path
string
initrd
string
cmdline
string
boot_devices
Array<object>
object
device
string format: enum
Allowed values: DEVICE_UNSPECIFIED NETWORK CD_ROM FD HD
rate_limit_group
Array<object>

Represents a rate limiter group for virtual machines

object
id

The unique ID of the rate limiter group

string
group_id

The group identifier

string
rate_limiter

The associated virtual machine rate limiter

object
bandwidth

The bandwidth rate limiter

object
size
object
value
number format: double
unit
string format: enum
Allowed values: DATA_TRANSFER_RATE_UNIT_UNSPECIFIED BPS KBPS MBPS GBPS BYTES_PER_SEC KBYTES_PER_SEC MBYTES_PER_SEC GBYTES_PER_SEC
one_time_burst
object
value
number format: double
unit
string format: enum
Allowed values: DATA_TRANSFER_RATE_UNIT_UNSPECIFIED BPS KBPS MBPS GBPS BYTES_PER_SEC KBYTES_PER_SEC MBYTES_PER_SEC GBYTES_PER_SEC
refill_time
string
/^-?(?:0|[1-9][0-9]{0,11})(?:\.[0-9]{1,9})?s$/
operations

The operations rate limiter

object
size
object
value
number format: double
unit
string format: enum
Allowed values: DURATION_UNIT_UNSPECIFIED NANOSECONDS MICROSECONDS MILLISECONDS SECONDS MINUTES HOURS DAYS
one_time_burst
object
value
number format: double
unit
string format: enum
Allowed values: DURATION_UNIT_UNSPECIFIED NANOSECONDS MICROSECONDS MILLISECONDS SECONDS MINUTES HOURS DAYS
refill_time
string
/^-?(?:0|[1-9][0-9]{0,11})(?:\.[0-9]{1,9})?s$/
interfaces
required
object
console
object
file
string
socket
string
mode
string format: enum
Allowed values: INTERFACE_MODE__UNSPECIFIED OFF PTY TTY
is_iommu_enabled
boolean
serial
object
file
string
socket
string
mode
string format: enum
Allowed values: INTERFACE_MODE__UNSPECIFIED OFF PTY TTY
is_iommu_enabled
boolean
debug
object
file
string
mode
string format: enum
Allowed values: INTERFACE_MODE__UNSPECIFIED OFF PTY TTY
io_base
string
features
object
pae
object
enabled
boolean
acpi
object
enabled
boolean
apic
object
enabled
boolean
hap
object
enabled
boolean
gic
object
enabled
boolean
version
integer format: int32
hyperv
object
enabled
boolean
relaxed_timers_enabled
boolean
virtual_apic_enabled
boolean
vpindex_enabled
boolean
runtime_enabled
boolean
synic_enabled
boolean
reset_enabled
boolean
vendor_id
string
frequencies_enabled
boolean
reenlightenment_enabled
boolean
ipi_enabled
boolean
evmcs_enabled
boolean
avic_enabled
boolean
emsr_bitmap_enabled
boolean
xmm_input_enabled
boolean
spinlocks
object
enabled
boolean
retries
integer format: uint32
stimer
object
enabled
boolean
direct_enabled
boolean
tlbflush
object
enabled
boolean
direct
boolean
extended
boolean
kvm
object
enabled
boolean
hidden
boolean
hint_dedicated
boolean
poll_control_enabled
boolean
paravirtualized_ipis_enabled
boolean
dirty_ring
object
enabled
boolean
size

Compute Data Size

Represents the computational size of an object in different information units.

object
size
required

Size of the object

Is the numerical size of an object

number format: double
unit
required
string format: enum
Allowed values: DATA_UNIT_UNSPECIFIED BYTES KIB MIB GIB TIB PIB EIB KB MB GB TB PB EB
xen
object
enabled
boolean
e820_host_enabled
boolean
passthrough
object
enabled
boolean
mode
string format: enum
Allowed values: MODE_UNSPECIFIED SYNC_PT SHARE_PT
viridian
object
enabled
boolean
privnet
object
enabled
boolean
pvspinlock
object
enabled
boolean
pmu
object
enabled
boolean
vmport
object
enabled
boolean
network
required
Array<object>
object
mac_address
string
network_io
object
inbound
object
average
object
value
number format: double
unit
string format: enum
Allowed values: DATA_TRANSFER_RATE_UNIT_UNSPECIFIED BPS KBPS MBPS GBPS BYTES_PER_SEC KBYTES_PER_SEC MBYTES_PER_SEC GBYTES_PER_SEC
peak
object
value
number format: double
unit
string format: enum
Allowed values: DATA_TRANSFER_RATE_UNIT_UNSPECIFIED BPS KBPS MBPS GBPS BYTES_PER_SEC KBYTES_PER_SEC MBYTES_PER_SEC GBYTES_PER_SEC
burst
object
value
number format: double
unit
string format: enum
Allowed values: DATA_TRANSFER_RATE_UNIT_UNSPECIFIED BPS KBPS MBPS GBPS BYTES_PER_SEC KBYTES_PER_SEC MBYTES_PER_SEC GBYTES_PER_SEC
floor
object
value
number format: double
unit
string format: enum
Allowed values: DATA_TRANSFER_RATE_UNIT_UNSPECIFIED BPS KBPS MBPS GBPS BYTES_PER_SEC KBYTES_PER_SEC MBYTES_PER_SEC GBYTES_PER_SEC
outbound
object
average
object
value
number format: double
unit
string format: enum
Allowed values: DATA_TRANSFER_RATE_UNIT_UNSPECIFIED BPS KBPS MBPS GBPS BYTES_PER_SEC KBYTES_PER_SEC MBYTES_PER_SEC GBYTES_PER_SEC
peak
object
value
number format: double
unit
string format: enum
Allowed values: DATA_TRANSFER_RATE_UNIT_UNSPECIFIED BPS KBPS MBPS GBPS BYTES_PER_SEC KBYTES_PER_SEC MBYTES_PER_SEC GBYTES_PER_SEC
burst
object
value
number format: double
unit
string format: enum
Allowed values: DATA_TRANSFER_RATE_UNIT_UNSPECIFIED BPS KBPS MBPS GBPS BYTES_PER_SEC KBYTES_PER_SEC MBYTES_PER_SEC GBYTES_PER_SEC
floor
object
value
number format: double
unit
string format: enum
Allowed values: DATA_TRANSFER_RATE_UNIT_UNSPECIFIED BPS KBPS MBPS GBPS BYTES_PER_SEC KBYTES_PER_SEC MBYTES_PER_SEC GBYTES_PER_SEC
nic
string format: enum
Allowed values: INTERFACE_CARD_UNSPECIFIED VIRTIO E1000 RTL8139 NE2000 VMX I82551 I82557B I825579A PCNET
mount_path
object
block
object
device_type
string format: enum
Allowed values: BLOCK_DEVICE_TYPE_UNSPECIFIED VNET ETH ENS BR TAP VIRBR BOND VXLAN VETH
number
integer format: uint32
device_prefix
string
bus
string format: enum
Allowed values: BUS_UNSPECIFIED VIRTIO
openv_switch
object
interface_id
string
profile_id
string
mido_net
object
interface_id
string
ieee_port
object
manager_id
integer format: uint32
type_id
integer format: uint32
type_id_version
integer format: uint32
instance_id
string
ieee_bq_port
object
ieee_bh_port
object
profile_id
string
virtual_network_interface
object
network_name
string
port_group
string
subnet_id

The subnet this interface attaches to. When set, the platform allocates a network port on that subnet at create time and assigns the interface’s address and MAC automatically.

string
allocated_port_id

The allocated network port identifier. Server-assigned when subnet_id is set; the port is released when the virtual machine is deleted.

string
bridge_interface
object
bridge
string
userspace_interface
object
ipv4_addresses
Array<object>
object
address
string
prefix
integer format: uint32
ipv6_addresses
Array<object>
object
address
string
prefix
integer format: uint32
ethernet_interface
object
direct_physical_interface
object
mode
string format: enum
Allowed values: DIRECT_PHYSICAL_INTERFACE_MODE_UNSPECIFIED VEPA BRIDGE PRIVATE PASS_THROUGH
deployment_target_id

Deployment Target Id

Unique identifier of the physical host where the virtual machine is running

stringOutput only
created

Created Timestamp

Timestamp when the virtual machine was created

string format: date-time Output only
updated

Updated Timestamp

Timestamp when the virtual machine was last updated

string format: date-time Output only
clock

Clock Configuration

Clock offset basis and timer configuration for the guest

object
offset

Clock offset basis relative to the host clock.

string format: enum
Allowed values: OFFSET_UNSPECIFIED UTC LOCALTIME
timers

Named timer configurations for the guest.

Array<object>

A named timer with presence and tick policy configuration.

object
name

Timer hardware name.

string format: enum
Allowed values: TIMER_NAME_UNSPECIFIED HPET PIT RTC HYPERV KVM
is_present

Whether this timer is present (enabled) in the guest.

boolean
tick_policy

Tick policy when the guest falls behind the host clock.

string format: enum
Allowed values: TICK_POLICY_UNSPECIFIED DELAY CATCHUP MERGE DISCARD
track

Clock track source (RTC-specific).

string format: enum
Allowed values: TRACK_UNSPECIFIED BOOT GUEST WALL REALTIME
restart_policy

Restart Policy

Defines what the system should do when the VM stops: always restart, restart on failure only, manual control, or never restart

string format: enum
Allowed values: RESTART_POLICY_UNSPECIFIED RESTART_POLICY_ALWAYS RESTART_POLICY_ON_FAILURE RESTART_POLICY_MANUAL RESTART_POLICY_NEVER
resource_pool_id
required

Resource Pool Id

The ResourcePool this VM is placed into, either named explicitly by the caller or auto-resolved from the VM’s domain spec. Always populated after create.

string
cloud_init_extension

Cloud-init Extension

Optional caller-supplied cloud-init YAML, merged on top of the platform baseline at VM creation time. Transient — not persisted on the aggregate; size-bounded; YAML-validated server-side before CRD submission. Responses MUST NOT echo this back because secrets may be present.

stringInput only
eviction_strategy

Eviction Strategy

User intent when the VM’s host enters maintenance. Maps to the virtualization host’s eviction strategy. Mutating via Update changes future eviction behaviour only — it never triggers a live migration of a running VM. Unspecified on Create is read by the server as LIVE_MIGRATE_IF_POSSIBLE.

string format: enum
Allowed values: EVICTION_STRATEGY_UNSPECIFIED LIVE_MIGRATE_IF_POSSIBLE LIVE_MIGRATE EXTERNAL NONE

OK

Media type application/json

Compute Operation

An acknowledgment of a mutation request, carrying tracking metadata, errors, and warnings. Follows GCP’s Operations pattern (AIP-151).

object
id

Operation ID

Unique identifier for this operation.

stringOutput only
resource_id

Resource ID

The ID of the resource affected by this operation. May be empty for async operations where the resource does not yet exist.

stringOutput only
resource_type

Resource Type

The type of resource (e.g., “VirtualMachine”).

stringOutput only
operation_type

Operation Type

The kind of mutation that was requested.

string format: enum Output only
Allowed values: COMPUTE_OPERATION_TYPE_UNSPECIFIED COMPUTE_OPERATION_TYPE_CREATE COMPUTE_OPERATION_TYPE_UPDATE COMPUTE_OPERATION_TYPE_DELETE COMPUTE_OPERATION_TYPE_START COMPUTE_OPERATION_TYPE_STOP COMPUTE_OPERATION_TYPE_RESTART COMPUTE_OPERATION_TYPE_SUSPEND COMPUTE_OPERATION_TYPE_RESUME COMPUTE_OPERATION_TYPE_RESET COMPUTE_OPERATION_TYPE_SCHEDULE
status

Status

Current lifecycle state of the operation.

string format: enum Output only
Allowed values: COMPUTE_OPERATION_STATUS_UNSPECIFIED COMPUTE_OPERATION_STATUS_PENDING COMPUTE_OPERATION_STATUS_RUNNING COMPUTE_OPERATION_STATUS_DONE COMPUTE_OPERATION_STATUS_ERROR
insert_time

Insert Time

When the operation was first created.

string format: date-time Output only
start_time

Start Time

When the operation started executing.

string format: date-time Output only
end_time

End Time

When the operation completed (either successfully or with errors).

string format: date-time Output only
errors

Errors

Business rule errors encountered during the operation.

Array<object>Output only

Operation Error

A structured error returned inside an operation when a business rule fails.

object
code

Error Code

Numeric identifier following the S_SSS_EEE convention.

integer format: uint32 Output only
description

Description

Human-readable explanation of the error.

stringOutput only
warnings

Warnings

Non-fatal notices about the operation.

Array<object>Output only

Operation Warning

A non-fatal notice attached to an operation.

object
code

Warning Code

Numeric identifier following the S_SSS_EEE convention.

integer format: uint32 Output only
description

Description

Human-readable explanation of the warning.

stringOutput only
progress

Progress

Percentage of completion (0-100).

integer format: int32 Output only
Example
{
"operation_type": "COMPUTE_OPERATION_TYPE_UNSPECIFIED",
"status": "COMPUTE_OPERATION_STATUS_UNSPECIFIED"
}

Default error response

Media type application/json

The Status type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by gRPC. Each Status message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the API Design Guide.

object
code

The status code, which should be an enum value of [google.rpc.Code][google.rpc.Code].

integer format: int32
message

A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the [google.rpc.Status.details][google.rpc.Status.details] field, or localized by the client.

string
details

A list of messages that carry the error details. There is a common set of message types for APIs to use.

Array<object>

Contains an arbitrary serialized message along with a @type that describes the type of the serialized message.

object
@type

The type of the serialized message.

string
key
additional properties
any
Example generated
{
"code": 1,
"message": "example",
"details": [
{
"@type": "example"
}
]
}