Update Virtual Machine
const url = 'https://example.com/compute/v1/workspaces/example/engines/qibdo/vms/example';const options = { method: 'PATCH', headers: {'Content-Type': 'application/json'}, body: '{"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"}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}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)
Parameters
Section titled “ Parameters ”Path Parameters
Section titled “Path Parameters ”The unique identifier of the workspace that the virtual machine belongs to
The unique identifier of the virtual machine to update
Query Parameters
Section titled “Query Parameters ”The set of fields to update. If omitted, all mutable fields are overwritten. See AIP-134 for field mask semantics.
Request Body required
Section titled “Request Body required ”object
Unique Identifier
Global unique identifier for the virtual machine. This a String that uses the UUID format.
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.
Name
Name/title of the virtual machine (RFC 1035 DNS label, max 62 chars)
Description
Optional description of the virtual machine
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.
Workspace Id
Unique identifier of the workspace that the virtual machine belongs to
Cpu
CPU configuration for a virtual machine.
object
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.
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
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
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.
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).
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.
Number of CPU sockets.
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
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
Virtual CPU number
The physical CPU numbers
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.
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 of the feature
The name of the feature is a string that represents the feature that is being enabled or disabled.
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.
CPU Emulation
Emulation properties for a CPU. It defines properties like the model, vendor, etc
object
Cpu Emulation Model
Specifies CPU model requested by the guest.
object
CPU Vendor
Specifies CPU vendor requested by the guest. e.g. Intel
object
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
Compute Data Size
Represents the computational size of an object in different information units.
object
Size of the object
Is the numerical size of an object
object
Compute Data Size
Represents the computational size of an object in different information units.
object
Size of the object
Is the numerical size of an object
object
Compute Data Size
Represents the computational size of an object in different information units.
object
Size of the object
Is the numerical size of an object
object
Compute Data Size
Represents the computational size of an object in different information units.
object
Size of the object
Is the numerical size of an object
object
object
Compute Data Size
Represents the computational size of an object in different information units.
object
Size of the object
Is the numerical size of an object
object
Compute Data Size
Represents the computational size of an object in different information units.
object
Size of the object
Is the numerical size of an object
object
object
object
object
object
object
object
object
object
object
object
object
object
Bandwidth Rate for Disk
object
object
object
Operations Rate for Disk
object
object
object
object
object
object
object
object
Created Timestamp
Timestamp when the disk was created
Updated Timestamp
Timestamp when the disk was last updated
object
object
object
object
object
Compute Data Size
Represents the computational size of an object in different information units.
object
Size of the object
Is the numerical size of an object
object
object
object
object
Represents a rate limiter group for virtual machines
object
The unique ID of the rate limiter group
The group identifier
The associated virtual machine rate limiter
object
The bandwidth rate limiter
object
object
object
The operations rate limiter
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
Compute Data Size
Represents the computational size of an object in different information units.
object
Size of the object
Is the numerical size of an object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
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.
The allocated network port identifier. Server-assigned when subnet_id is set; the port is released when the virtual machine is deleted.
object
object
object
object
object
object
Deployment Target Id
Unique identifier of the physical host where the virtual machine is running
Created Timestamp
Timestamp when the virtual machine was created
Updated Timestamp
Timestamp when the virtual machine was last updated
Clock Configuration
Clock offset basis and timer configuration for the guest
object
Clock offset basis relative to the host clock.
Named timer configurations for the guest.
A named timer with presence and tick policy configuration.
object
Timer hardware name.
Whether this timer is present (enabled) in the guest.
Tick policy when the guest falls behind the host clock.
Clock track source (RTC-specific).
Restart Policy
Defines what the system should do when the VM stops: always restart, restart on failure only, manual control, or never restart
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.
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.
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.
Responses
Section titled “ Responses ”OK
Compute Operation
An acknowledgment of a mutation request, carrying tracking metadata, errors, and warnings. Follows GCP’s Operations pattern (AIP-151).
object
Operation ID
Unique identifier for this operation.
Resource ID
The ID of the resource affected by this operation. May be empty for async operations where the resource does not yet exist.
Resource Type
The type of resource (e.g., “VirtualMachine”).
Operation Type
The kind of mutation that was requested.
Status
Current lifecycle state of the operation.
Insert Time
When the operation was first created.
Start Time
When the operation started executing.
End Time
When the operation completed (either successfully or with errors).
Errors
Business rule errors encountered during the operation.
Operation Error
A structured error returned inside an operation when a business rule fails.
object
Error Code
Numeric identifier following the S_SSS_EEE convention.
Description
Human-readable explanation of the error.
Warnings
Non-fatal notices about the operation.
Operation Warning
A non-fatal notice attached to an operation.
object
Warning Code
Numeric identifier following the S_SSS_EEE convention.
Description
Human-readable explanation of the warning.
Progress
Percentage of completion (0-100).
Example
{ "operation_type": "COMPUTE_OPERATION_TYPE_UNSPECIFIED", "status": "COMPUTE_OPERATION_STATUS_UNSPECIFIED"}default
Section titled “default ”Default error response
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
The status code, which should be an enum value of [google.rpc.Code][google.rpc.Code].
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.
A list of messages that carry the error details. There is a common set of message types for APIs to use.
Contains an arbitrary serialized message along with a @type that describes the type of the serialized message.
object
The type of the serialized message.
Example generated
{ "code": 1, "message": "example", "details": [ { "@type": "example" } ]}