Skip to content

API

The gRPC API every client uses: the service dicerd.v1.DaemonService, and the messages and enums it takes and returns. It is generated from proto/dicerd/v1, whose generated code is what clients call; see Using the API.

DaemonService

DaemonService manages virtual machines on a single host.

There is no notion of a cluster, a node or placement: the daemon owns the machine it runs on. To manage several hosts, run a daemon on each and point a client at whichever one you mean.

Creating an instance records its definition; it does not boot it. Use StartInstance for that. The two are separate so a definition can be written, reviewed and version-controlled before anything runs.

Resources are addressed by name or ID wherever a request has a name field. Methods follow the resource-oriented design of https://google.aip.dev: standard methods return the resource they act on, and deletes return Empty.

A failed call ends with a status whose code says what kind of failure it was, and whose message says it for a person:

  • NOT_FOUND: the resource named does not exist.
  • ALREADY_EXISTS: a resource with that name exists already.
  • INVALID_ARGUMENT: the request is malformed, whatever the host’s state.
  • FAILED_PRECONDITION: the resource is in the wrong state for the call, such as deleting a running instance.
  • RESOURCE_EXHAUSTED: the host has too little left: CPU or memory for an instance, addresses on a network.
  • UNAVAILABLE: something the daemon needs cannot be reached: a registry, a guest’s agent. Trying again may work.
  • PERMISSION_DENIED: the guest refused, such as a file it protects.
  • UNIMPLEMENTED: the daemon, or an instance’s guest agent, is too old for the call.
  • INTERNAL: anything else: the daemon failed.
MethodRequestResponseDescription
CreateInstanceCreateInstanceRequestInstanceCreateInstance records an instance definition without starting it, unless start is set.
UpdateInstanceUpdateInstanceRequestInstanceUpdateInstance modifies the definition of a stopped instance.
RenameInstanceRenameInstanceRequestInstanceRenameInstance changes a stopped instance’s name. The instance keeps its ID, its disks and its address; only what people call it changes.
StartInstanceStartInstanceRequestInstanceStartInstance boots a defined instance.
StopInstanceStopInstanceRequestInstanceStopInstance shuts a running instance down, keeping its definition, overlay disk and address.
PauseInstancePauseInstanceRequestInstancePauseInstance halts a running instance’s vCPUs, keeping it resident.
ResumeInstanceResumeInstanceRequestInstanceResumeInstance continues a paused instance.
DeleteInstanceDeleteInstanceRequestgoogle.protobuf.EmptyDeleteInstance removes an instance and its overlay disk. It refuses a running instance unless force is set.
ListInstancesListInstancesRequestListInstancesResponseListInstances returns every defined instance.
GetInstanceGetInstanceRequestInstanceGetInstance returns one instance.
GetInstanceLogsGetInstanceLogsRequeststream InstanceLogChunkGetInstanceLogs streams an instance’s log. The guest’s console is kept with the instance, so it can be read after a stop to explain one.
CreateSnapshotCreateSnapshotRequestSnapshotCreateSnapshot freezes a running or paused instance to disk: its memory, its device state and a copy of its overlay disk. A running instance is paused for as long as it takes and resumed afterwards.
ListSnapshotsListSnapshotsRequestListSnapshotsResponseListSnapshots returns an instance’s snapshots, oldest first.
GetSnapshotGetSnapshotRequestSnapshotGetSnapshot returns one snapshot.
DeleteSnapshotDeleteSnapshotRequestgoogle.protobuf.EmptyDeleteSnapshot removes a snapshot.
RestoreSnapshotRestoreSnapshotRequestInstanceRestoreSnapshot puts a stopped instance back to the moment a snapshot was taken and resumes it. Anything written to its disk since is discarded.
ExecInstancestream ExecInstanceRequeststream ExecInstanceResponseExecInstance runs a command inside a running instance. The first client message must be an ExecInstanceStart; subsequent messages carry stdin data or terminal resize events.
CopyToInstancestream CopyToInstanceRequestgoogle.protobuf.EmptyCopyToInstance writes a file or directory into a running instance. The first message must be a CopyToInstanceStart; the rest carry a tar archive of it, in chunks, which lands at the path as cp would put it.
CopyFromInstanceCopyFromInstanceRequeststream CopyFromInstanceResponseCopyFromInstance reads a file or directory out of a running instance, as a tar archive in chunks.
CreateNetworkCreateNetworkRequestNetworkCreateNetwork defines a host-local network. Its bridge is brought up when the first instance on it starts.
ListNetworksListNetworksRequestListNetworksResponseListNetworks returns every network.
GetNetworkGetNetworkRequestNetworkGetNetwork returns one network.
DeleteNetworkDeleteNetworkRequestgoogle.protobuf.EmptyDeleteNetwork removes a network that no instance references.
ListNetworkAllocationsListNetworkAllocationsRequestListNetworkAllocationsResponseListNetworkAllocations reports which addresses are assigned on a network. Allocation itself is a side effect of starting an instance and has no separate RPC.
CreateVolumeCreateVolumeRequestVolumeCreateVolume provisions a persistent block volume.
ListVolumesListVolumesRequestListVolumesResponseListVolumes returns every volume.
GetVolumeGetVolumeRequestVolumeGetVolume returns one volume.
DeleteVolumeDeleteVolumeRequestgoogle.protobuf.EmptyDeleteVolume removes a volume that no instance references.
PullImagePullImageRequeststream PullImageProgressPullImage fetches an OCI image and converts it to a bootable root filesystem, reporting progress as it goes. The last message carries the image, which is ready to boot.
ListImagesListImagesRequestListImagesResponseListImages returns every pulled image.
GetImageGetImageRequestImageGetImage returns one pulled image.
DeleteImageDeleteImageRequestgoogle.protobuf.EmptyDeleteImage removes a pulled image. It refuses an image an instance is defined to boot from, unless force is set.
PruneImagesPruneImagesRequestPruneImagesResponsePruneImages removes every image no instance is defined to boot from.
ImportKernelImportKernelRequestKernelImportKernel records a guest kernel by URL. It is downloaded the first time an instance boots with it.
ListKernelsListKernelsRequestListKernelsResponseListKernels returns every imported kernel.
GetKernelGetKernelRequestKernelGetKernel returns one kernel.
DeleteKernelDeleteKernelRequestgoogle.protobuf.EmptyDeleteKernel removes a kernel that no instance references.
GetHostInfoGetHostInfoRequestGetHostInfoResponseGetHostInfo reports what the daemon is: its version, the hypervisors it carries, and how it is reached.
GetResourcesGetResourcesRequestGetResourcesResponseGetResources reports how much CPU and memory instances may be given, how much they hold, and how full the data directory’s disk is.
GetEventsGetEventsRequeststream GetEventsResponseGetEvents streams what has happened to the resources on this host: the history kept, oldest first, in batches, then, with follow, each new event as it happens, none missed between the two. A follower that does not keep up is disconnected with RESOURCE_EXHAUSTED rather than slowing the host.

Messages

CopyFromInstanceRequest

FieldTypeDescription
namestringThe instance to copy from.
pathstringThe file or directory to read. A relative path is taken from the guest’s root directory.

CopyFromInstanceResponse

FieldTypeDescription
databytesThe next chunk of the tar archive.

CopyToInstanceRequest

FieldTypeDescription
startCopyToInstanceStartOne of payload.
databytesOne of payload. The next chunk of the tar archive.

CopyToInstanceStart

CopyToInstanceStart is the first message on a CopyToInstance stream.

FieldTypeDescription
namestringThe instance to copy into.
pathstringWhere the archive’s contents go inside it: into it, if it is a directory; in its place, if it is a file; at it, if nothing is there. A relative path is taken from the guest’s root directory.

CreateInstanceRequest

FieldTypeDescription
namestring
image_refstring
hypervisor_typeHypervisorTypeUnspecified means Cloud Hypervisor.
hypervisor_versionstringA version that hypervisor ships; the newest by default.
kernel_namestringEmpty means the daemon’s default kernel: see GetHostInfoResponse.default_kernel.
kernel_argsstring
vcpusint32
memory_bytesint64
disk_bytesint64
network_namestringEmpty means the daemon’s default network: see GetHostInfoResponse.default_network.
static_ipstring
mountsrepeated Mount
envrepeated CreateInstanceRequest.EnvEntry
cmdrepeated string
labelsrepeated CreateInstanceRequest.LabelsEntry
hostnamestring
restart_policyRestartPolicy
health_checkHealthCheck
init_modeInitModeHow the guest starts the command. Unspecified means auto.
startboolBoots the instance immediately after defining it.
portsrepeated PortMapping
remove_on_exitboolDeletes the instance once it stops, whether its guest ended on its own or someone stopped it. The daemon does the deleting, so it happens even if whoever asked for it has gone. An instance that its restart policy will start again is not deleted.

CreateInstanceRequest.EnvEntry

FieldTypeDescription
keystring
valuestring

CreateInstanceRequest.LabelsEntry

FieldTypeDescription
keystring
valuestring

CreateNetworkRequest

FieldTypeDescription
namestring
subnetstring
gatewaystring
mtuint32
nameserversrepeated string
isolatedbool

CreateSnapshotRequest

FieldTypeDescription
instancestringThe instance to snapshot.
namestringThe snapshot’s name. Generated from the current time when empty.

CreateVolumeRequest

FieldTypeDescription
namestring
size_bytesint64

DeleteImageRequest

FieldTypeDescription
refstring
forceboolRemoves the image even if an instance is defined to boot from it. That instance will pull it again on its next start.

DeleteInstanceRequest

FieldTypeDescription
namestring
forceboolStops a running instance before deleting it.

DeleteKernelRequest

FieldTypeDescription
namestring

DeleteNetworkRequest

FieldTypeDescription
namestring

DeleteSnapshotRequest

FieldTypeDescription
instancestring
namestring

DeleteVolumeRequest

FieldTypeDescription
namestring

DiskUsage

DiskUsage is how full the filesystem holding the data directory is, and how much has been promised on it. Disks are sparse, so provisioned may be far more than the filesystem’s size without anything being wrong – until the guests fill them.

FieldTypeDescription
pathstringThe data directory.
total_bytesint64
free_bytesint64What can still be written.
provisioned_bytesint64The sizes of every instance’s overlay disk and every volume, added up.

Event

Event is one thing that happened to one resource on this host.

FieldTypeDescription
timegoogle.protobuf.Timestamp
kindEventKind
idstringThe resource’s ID, which tells apart resources that had the same name at different times. Empty for a resource known only by its name, such as an image.
namestring
actionEventAction
messagestringWhat happened, in a line, for a person.
attributesrepeated Event.AttributesEntryWhat happened, for a program: exit_code, restart_count, digest.

Event.AttributesEntry

FieldTypeDescription
keystring
valuestring

ExecInstanceRequest

FieldTypeDescription
startExecInstanceStartOne of payload.
stdinbytesOne of payload.
resizeExecInstanceResizeOne of payload.

ExecInstanceResize

ExecInstanceResize resizes the remote terminal window.

FieldTypeDescription
rowsuint32
colsuint32

ExecInstanceResponse

FieldTypeDescription
stdoutbytesOne of payload.
stderrbytesOne of payload.
exit_codeint32One of payload. The command’s exit status. Always the last message on the stream.

ExecInstanceStart

ExecInstanceStart is the first message on an ExecInstance stream.

FieldTypeDescription
namestringThe instance to run the command in.
commandrepeated stringThe command and its arguments. Defaults to /bin/sh.
ttyboolWhether to allocate a pseudo-terminal.
cwdstringThe working directory inside the guest.
timeout_secondsint32Kills the command after this many seconds. Zero means no limit.
rowsuint32The initial terminal size, when tty is set.
colsuint32
envrepeated ExecInstanceStart.EnvEntryEnvironment variables added to the command’s environment.

ExecInstanceStart.EnvEntry

FieldTypeDescription
keystring
valuestring

GetEventsRequest

GetEventsRequest picks events: every one, unless narrowed.

FieldTypeDescription
kindEventKindUnspecified picks every kind.
idstring
namestringThe resource’s name. An image’s may be given as it is pulled: busybox:latest picks the events about docker.io/library/busybox:latest.
sincegoogle.protobuf.TimestampOnly events at or after this time.
limitint32Only the last this many events of the history. Zero means all of it.
followboolKeep streaming new events after the history.

GetEventsResponse

GetEventsResponse is a batch of events, oldest first.

FieldTypeDescription
eventsrepeated Event
caught_upboolSet on the last batch of the history, sent even if the history is empty: what follows, if the request follows, is new. A client can lay out the history as a whole before it shows any of it.

GetHostInfoRequest

GetHostInfoResponse

FieldTypeDescription
versionstring
hostnamestring
hypervisorsrepeated HypervisorInfoThe hypervisors this daemon can start instances with.
api_addressesrepeated stringThe addresses the API is served on over TCP, for a client being pointed at this daemon. Empty if it is not served over TCP.
default_kernelstringThe kernel an instance created without one boots with: the one the daemon’s configuration names, or else the only kernel there is. Empty if there is no such kernel, and an instance must name one.
default_networkstringThe network an instance created without one attaches to, chosen as the default kernel is.

GetImageRequest

FieldTypeDescription
refstring

GetInstanceLogsRequest

FieldTypeDescription
namestring
sourceLogSource
tail_linesint32Limits the output to the last lines. Zero means all of it.
followboolKeeps the stream open, sending new output until the instance stops.

GetInstanceRequest

FieldTypeDescription
namestring

GetKernelRequest

FieldTypeDescription
namestring

GetNetworkRequest

FieldTypeDescription
namestring

GetResourcesRequest

GetResourcesResponse

FieldTypeDescription
cpuResourceCapacityvCPUs, counted in vCPUs.
memoryResourceCapacityGuest memory, counted in bytes.
diskDiskUsageThe filesystem holding the data directory. Reported, not enforced.
instancesrepeated InstanceResourcesThe instances holding CPU and memory – those starting, running or paused – in name order.

GetSnapshotRequest

FieldTypeDescription
instancestring
namestring

GetVolumeRequest

FieldTypeDescription
namestring

Health

Health is what an instance’s health check has found. An unhealthy instance is restarted if its restart policy would restart it after a failure, and otherwise left running.

FieldTypeDescription
statusHealthStatus
failing_streakint32How many probes in a row have failed.
last_check_timegoogle.protobuf.Timestamp
last_outputstringWhat the last probe said. Truncated.
checkHealthCheckThe check being run: the instance’s, or its image’s, with the defaults filled in.

HealthCheck

HealthCheck is how an instance’s health is checked: one probe, run inside the guest by its agent, and when to run it. Unset timings take the defaults: every 10s, a 5s timeout, no start period and 3 retries.

FieldTypeDescription
execHealthCheckExecOne of probe. Healthy when the command exits 0.
httpHealthCheckHTTPOne of probe. Healthy when a GET on the guest’s loopback address answers 2xx or 3xx.
tcpHealthCheckTCPOne of probe. Healthy when a connection to the guest’s loopback address opens.
intervalgoogle.protobuf.DurationThe time between the end of one probe and the start of the next.
timeoutgoogle.protobuf.DurationHow long a probe may take; one that overruns has failed.
start_periodgoogle.protobuf.DurationHow long after a start failures do not count.
retriesint32How many failures in a row make the instance unhealthy.
disabledboolSwitches health checking off, the image’s check included. Nothing else may be set with it.

HealthCheckExec

FieldTypeDescription
commandrepeated string

HealthCheckHTTP

FieldTypeDescription
portuint32
pathstringDefaults to /.

HealthCheckTCP

FieldTypeDescription
portuint32

HypervisorInfo

HypervisorInfo is a hypervisor the daemon carries, and the versions of it an instance may name.

FieldTypeDescription
typeHypervisorType
versionsrepeated stringThe versions available, the one an instance gets by default first.
is_defaultboolWhether this is the hypervisor an instance gets when it names none.

Image

Image is a pulled, converted image. Pulling is synchronous, so an image either exists and is bootable or the pull returned an error; there is no state to report.

FieldTypeDescription
namestring
digeststring
size_bytesint64
create_timegoogle.protobuf.Timestamp
update_timegoogle.protobuf.Timestamp
health_checkHealthCheckThe HEALTHCHECK the image declares, which instances of it run unless they set their own. Unset if it declares none.
last_used_timegoogle.protobuf.TimestampWhen the image was last pulled or in use: by an instance defined to boot from it, a running guest or a snapshot. Garbage collection judges it by this.

ImportKernelRequest

FieldTypeDescription
namestring
urlstring
archArchitecture
sha256stringThe expected SHA-256 of the download, hex-encoded. Verified when set.

Instance

Instance combines an instance’s definition with its observed runtime state. Fields from state onwards are output only and are empty when the instance is not running.

FieldTypeDescription
idstring
namestring
hostnamestring
image_refstring
hypervisor_typeHypervisorType
hypervisor_versionstringA version that hypervisor ships; the newest by default.
kernel_namestring
kernel_argsstring
vcpusint32
memory_bytesint64
disk_bytesint64
network_namestring
static_ipstring
mountsrepeated Mount
envrepeated Instance.EnvEntry
cmdrepeated string
labelsrepeated Instance.LabelsEntry
restart_policyRestartPolicy
create_timegoogle.protobuf.Timestamp
update_timegoogle.protobuf.Timestamp
stateInstanceState
state_errorstring
hypervisor_pidint64
vsock_cidint64
ipstring
macstring
start_timegoogle.protobuf.Timestamp
portsrepeated PortMapping
exit_codeoptional int32One of _exit_code. The exit code the guest reported when it last ended on its own: its workload’s, or 0 for a guest that powered itself off. Unset if it has not ended since it was last started, or ended without saying how.
finish_timegoogle.protobuf.TimestampWhen the guest last ended on its own.
restart_countint32How many times in a row the restart policy has started the instance again. A start a user asks for resets it.
next_restart_timegoogle.protobuf.TimestampWhen a Restarting instance is due to start again.
health_checkHealthCheckHow the instance’s health is checked, overriding its image’s. Unset means the image’s, if it declares one.
healthHealthWhat the health check of the running instance has found. Unset if it is not running, or has no check.
init_modeInitModeHow the guest starts the command. See CreateInstanceRequest.init_mode.
remove_on_exitboolWhether the instance is deleted once it stops. See CreateInstanceRequest.remove_on_exit.

Instance.EnvEntry

FieldTypeDescription
keystring
valuestring

Instance.LabelsEntry

FieldTypeDescription
keystring
valuestring

InstanceLogChunk

FieldTypeDescription
databytes

InstanceResources

InstanceResources is what one instance holds.

FieldTypeDescription
namestring
stateInstanceState
vcpusint32
memory_bytesint64

Kernel

Kernel is a guest kernel image available to instances.

FieldTypeDescription
idstring
namestring
archArchitecture
urlstring
sha256string
create_timegoogle.protobuf.Timestamp
update_timegoogle.protobuf.Timestamp

ListImagesRequest

ListImagesResponse

FieldTypeDescription
imagesrepeated Image

ListInstancesRequest

ListInstancesResponse

FieldTypeDescription
instancesrepeated Instance

ListKernelsRequest

ListKernelsResponse

FieldTypeDescription
kernelsrepeated Kernel

ListNetworkAllocationsRequest

FieldTypeDescription
namestring

ListNetworkAllocationsResponse

FieldTypeDescription
allocationsrepeated NetworkAllocation

ListNetworksRequest

ListNetworksResponse

FieldTypeDescription
networksrepeated Network

ListSnapshotsRequest

FieldTypeDescription
instancestring

ListSnapshotsResponse

FieldTypeDescription
snapshotsrepeated Snapshot

ListVolumesRequest

ListVolumesResponse

FieldTypeDescription
volumesrepeated Volume

Mount

Mount attaches a volume, a host file or a tmpfs at target in the guest.

FieldTypeDescription
typeMountType
sourcestringThe volume’s name for a volume. For a file, the host file’s absolute path: the daemon reads it when the instance starts and puts a copy on the guest’s config disk, so a change reaches the guest at its next start. A tmpfs has none.
targetstringThe absolute path the mount appears at in the guest.
read_onlyboolA volume every instance attaching it mounts read-only can be shared.

Network

Network is a host-local bridge with NAT to the uplink.

FieldTypeDescription
idstring
namestring
subnetstring
gatewaystring
bridgestring
mtuint32
nameserversrepeated string
isolatedboolStops instances on the network reaching each other; each can still reach the gateway and, through NAT, the outside.
total_ipsint64
free_ipsint64
create_timegoogle.protobuf.Timestamp
update_timegoogle.protobuf.Timestamp

NetworkAllocation

NetworkAllocation is an address assigned to an instance.

FieldTypeDescription
instance_idstring
instance_namestring
ipstring
macstring
tap_devicestring

PauseInstanceRequest

FieldTypeDescription
namestring

PortMapping

PortMapping publishes a guest port on the host, so the guest can be reached from outside it. It is applied each time the instance starts. Traffic to the host’s loopback addresses is not forwarded.

FieldTypeDescription
host_ipstringThe host address to publish on. Empty means every address the host has.
host_portuint32
guest_portuint32
protocolProtocol

PruneImagesRequest

PruneImagesResponse

FieldTypeDescription
imagesrepeated ImageThe images that were removed.
reclaimed_bytesint64The disk space their disks and cached layers gave back.

PullImageProgress

FieldTypeDescription
stagePullStage
downloaded_bytesint64Compressed layer bytes fetched and expected. Both are zero outside the downloading stage, and the total counts only what is actually fetched: a layer already held is not downloaded again.
total_bytesint64
imageImageSet on the final message only, when the image is ready to boot.

PullImageRequest

FieldTypeDescription
refstring

RenameInstanceRequest

FieldTypeDescription
namestring
new_namestringThe name to give it, which no other instance may have.

ResourceCapacity

ResourceCapacity is how much of one resource instances may be given, and how much they hold. A start that would take allocated past allocatable is refused.

FieldTypeDescription
hostint64What the host has: its logical CPUs, or its memory.
reservedint64What is kept back from instances for the host itself.
overcommitdoubleHow far what remains is stretched: 4 lets four vCPUs share each CPU.
allocatableint64What instances may be given in total: (host - reserved) * overcommit.
allocatedint64What instances hold.
availableint64What is left for further instances: allocatable - allocated, or 0.

RestartPolicy

RestartPolicy is what the daemon does when an instance ends without being asked to: when its workload exits, its guest resets or its hypervisor dies. Restarts back off exponentially, from a second up to five minutes; an instance that stays up for ten minutes starts the count again.

FieldTypeDescription
modeRestartMode
max_retriesint32For on-failure, how many restarts in a row are made before the instance is left Failed. 0 means no limit.

RestoreSnapshotRequest

FieldTypeDescription
instancestring
namestring

ResumeInstanceRequest

FieldTypeDescription
namestring

Snapshot

Snapshot is a point-in-time copy of an instance: the guest’s memory and device state, plus the overlay disk as it was at that moment.

FieldTypeDescription
namestring
instance_namestring
hypervisor_typeHypervisorTypeThe hypervisor that took it, and the version of it. Restoring needs the same version, since snapshot formats are specific to it.
hypervisor_versionstring
memory_bytesint64The guest memory the snapshot was taken with.
size_bytesint64What the snapshot occupies on disk, which on a copy-on-write filesystem may be far less than the guest’s memory and disk together.
create_timegoogle.protobuf.Timestamp

StartInstanceRequest

FieldTypeDescription
namestring

StopInstanceRequest

FieldTypeDescription
namestring

UpdateInstanceRequest

UpdateInstanceRequest changes the fields that are set: an optional field that is present, an enum that is not unspecified, a message that is present, and a repeated or map field that is not empty, which replaces the existing value whole.

FieldTypeDescription
namestring
image_refoptional stringOne of _image_ref.
hypervisor_typeHypervisorType
hypervisor_versionoptional stringOne of _hypervisor_version.
kernel_nameoptional stringOne of _kernel_name.
kernel_argsoptional stringOne of _kernel_args.
vcpusoptional int32One of _vcpus.
memory_bytesoptional int64One of _memory_bytes.
disk_bytesoptional int64One of _disk_bytes.
network_nameoptional stringOne of _network_name.
static_ipoptional stringOne of _static_ip.
hostnameoptional stringOne of _hostname.
restart_policyRestartPolicy
health_checkHealthCheck
init_modeInitMode
remove_on_exitoptional boolOne of _remove_on_exit.
mountsrepeated Mount
envrepeated UpdateInstanceRequest.EnvEntry
cmdrepeated string
labelsrepeated UpdateInstanceRequest.LabelsEntry
portsrepeated PortMapping

UpdateInstanceRequest.EnvEntry

FieldTypeDescription
keystring
valuestring

UpdateInstanceRequest.LabelsEntry

FieldTypeDescription
keystring
valuestring

Volume

Volume is a persistent block device that outlives the instances using it.

FieldTypeDescription
idstring
namestring
size_bytesint64
create_timegoogle.protobuf.Timestamp
update_timegoogle.protobuf.Timestamp

Enums

Architecture

Architecture is the CPU architecture a kernel is built for.

ValueNumberDescription
ARCHITECTURE_UNSPECIFIED0
ARCHITECTURE_X86_641
ARCHITECTURE_AARCH642

EventAction

EventAction is what happened to the resource.

ValueNumberDescription
EVENT_ACTION_UNSPECIFIED0
EVENT_ACTION_CREATED1Any kind of resource.
EVENT_ACTION_UPDATED2
EVENT_ACTION_DELETED3
EVENT_ACTION_STARTED4An instance.
EVENT_ACTION_STOPPED5
EVENT_ACTION_PAUSED6
EVENT_ACTION_RESUMED7
EVENT_ACTION_EXITED8The guest ended cleanly, of its own accord.
EVENT_ACTION_DIED9The guest ended in failure.
EVENT_ACTION_RESTARTING10The restart policy will start the instance again.
EVENT_ACTION_RENAMED11
EVENT_ACTION_HEALTHY12The health check reached a verdict.
EVENT_ACTION_UNHEALTHY13
EVENT_ACTION_SNAPSHOT_CREATED14
EVENT_ACTION_SNAPSHOT_RESTORED15
EVENT_ACTION_SNAPSHOT_DELETED16
EVENT_ACTION_PULLED17An image.
EVENT_ACTION_COLLECTED18Garbage collection removed the image.

EventKind

EventKind is the kind of resource an event is about.

ValueNumberDescription
EVENT_KIND_UNSPECIFIED0
EVENT_KIND_INSTANCE1
EVENT_KIND_IMAGE2

HealthStatus

HealthStatus is what an instance’s health check has found.

ValueNumberDescription
HEALTH_STATUS_UNSPECIFIED0
HEALTH_STATUS_STARTING1No verdict yet: the workload is in its start period, or has not been probed.
HEALTH_STATUS_HEALTHY2The last probe passed.
HEALTH_STATUS_UNHEALTHY3The check’s retries have failed in a row.

HypervisorType

HypervisorType is the virtual machine monitor an instance runs on.

ValueNumberDescription
HYPERVISOR_TYPE_UNSPECIFIED0
HYPERVISOR_TYPE_CLOUD_HYPERVISOR1Cloud Hypervisor, the default.
HYPERVISOR_TYPE_FIRECRACKER2

InitMode

InitMode is how the guest starts an instance’s command.

ValueNumberDescription
INIT_MODE_UNSPECIFIED0
INIT_MODE_AUTO1Systemd if the command resolves to the systemd binary in the image, exec otherwise. The default.
INIT_MODE_EXEC2The command runs as PID 1 of its own PID namespace, as a container runs it.
INIT_MODE_SYSTEMD3The command, systemd, is the machine’s PID 1.

InstanceState

InstanceState is where an instance is in its lifecycle.

ValueNumberDescription
INSTANCE_STATE_UNSPECIFIED0
INSTANCE_STATE_STOPPED1Defined but not running. A new instance starts here.
INSTANCE_STATE_STARTING2A start is in progress.
INSTANCE_STATE_RUNNING3The guest is running.
INSTANCE_STATE_PAUSED4The guest’s vCPUs are halted, and it is kept resident.
INSTANCE_STATE_STOPPING5A stop is in progress.
INSTANCE_STATE_RESTARTING6The instance ended without being asked to, and its restart policy will start it again at next_restart_time. It holds nothing meanwhile.
INSTANCE_STATE_FAILED7The last operation failed; state_error says why.

LogSource

LogSource is one of the logs an instance produces.

ValueNumberDescription
LOG_SOURCE_UNSPECIFIED0Defaults to the guest’s console.
LOG_SOURCE_GUEST1The guest’s serial console: the kernel’s boot messages, dicer-init’s, and whatever the workload writes to the console.
LOG_SOURCE_HYPERVISOR2The hypervisor’s own log, which explains a guest that never booted. It is discarded when the instance stops.

MountType

MountType is what a Mount attaches.

ValueNumberDescription
MOUNT_TYPE_UNSPECIFIED0
MOUNT_TYPE_VOLUME1A named volume: persistent storage, as a disk of its own.
MOUNT_TYPE_FILE2A copy of a host file, read at each start.
MOUNT_TYPE_TMPFS3An empty in-memory filesystem, lost when the guest stops.

Protocol

Protocol is the transport a port mapping forwards.

ValueNumberDescription
PROTOCOL_UNSPECIFIED0Means TCP.
PROTOCOL_TCP1
PROTOCOL_UDP2

PullStage

PullStage is the part of a pull that is currently working.

ValueNumberDescription
PULL_STAGE_UNSPECIFIED0
PULL_STAGE_RESOLVING1Asking the registry what the reference points at.
PULL_STAGE_DOWNLOADING2Fetching the layers, the only stage with a byte count.
PULL_STAGE_UNPACKING3Writing those layers out as a root filesystem.
PULL_STAGE_CONVERTING4Packing that filesystem into the disk a guest boots from.

RestartMode

RestartMode is when an instance that ended without being asked to is started again.

ValueNumberDescription
RESTART_MODE_UNSPECIFIED0
RESTART_MODE_NO1Leave the instance as it ended. The default.
RESTART_MODE_ON_FAILURE2Restart it unless it ended cleanly, by its workload exiting 0 or its guest powering off.
RESTART_MODE_UNLESS_STOPPED3Restart it however it ended, and start it when the daemon starts, unless a user stopped it.
RESTART_MODE_ALWAYS4Restart it however it ended, and start it when the daemon starts, even if a user stopped it.