Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
aos
GitHub Repository: aos/firecracker
Path: blob/main/docs/device-api.md
1955 views

Device

The Device-API following functionality matrix indicates which devices are required for an API call to be usable.

O - Optional: The device (column) is not required for a Firecracker microVM API call to succeed. If the device (column) is omitted from a uVM definition, a call to one of the API Endpoints will succeed.

R - Required: The device (column) is required for a Firecracker microVM API call to succeed. If the device (column) is omitted from a uVM definition, a call to one of the API Endpoints will return a result that depends on the device (see issue #2173).

  • API calls related to drives/{id} result in 400 - BadRequest - HTTP response if the block device identified by id was not previously configured.

  • API calls related to network-interfaces/{id} result in 400 - BadRequest - HTTP response if the network device identified by id was not previously configured.

API Endpoints

Endpointkeyboardserial consolevirtio-blockvirtio-netvirtio-vsock
boot-sourceOOOOO
drives/{id}OOROO
loggerOOOOO
machine-configOOOOO
metricsOOOOO
mmdsOOORO
mmds/configOOOO*O
network-interfaces/{id}OOORO
snapshot/createOOOOO
snapshot/loadOOOOO
vmOOOOO
vsockOOOOO

*: See issue #2174

Input Schema

All input schema fields can be found in the Swagger specification: firecracker.yaml.

SchemaPropertykeyboardserial consolevirtio-blockvirtio-netvirtio-vsock
BootSourceboot_argsOOOOO
initrd_pathOOOOO
kernel_image_pathOOOOO
CpuTemplateenumOOOOO
CreateSnapshotParamsmem_file_pathOOOOO
snapshot_pathOOOOO
snapshot_typeOOOOO
versionOOOOO
Drivedrive_idOOROO
is_read_onlyOOROO
is_root_deviceOOROO
partuuidOOROO
path_on_hostOOROO
rate_limiterOOROO
InstanceActionInfoaction_typeOOOOO
LoadSnapshotParamsenable_diff_snapshotsOOOOO
mem_file_pathOOOOO
snapshot_pathOOOOO
LoggerlevelOOOOO
log_pathOOOOO
show_levelOOOOO
show_log_originOOOOO
MachineConfigurationcpu_templateOOOOO
ht_enabledOOOOO
mem_size_mibOOOOO
track_dirty_pagesOOOOO
vcpu_countOOOOO
Metricsmetrics_pathOOOOO
MmdsConfigipv4_addressOOORO
NetworkInterfaceallow_mmds_requestsOOORO
guest_macOOORO
host_dev_nameOOORO
iface_idOOORO
rx_rate_limiterOOORO
tx_rate_limiterOOORO
PartialDrivedrive_idOOROO
path_on_hostOOROO
PartialNetworkInterfaceiface_idOOORO
rx_rate_limiterOOORO
tx_rate_limiterOOORO
RateLimiterbandwidthOOORO
opsOOROO
TokenBucket*one_time_burstOOROO
refill_timeOOROO
sizeOOROO
TokenBucket*one_time_burstOOORO
refill_timeOOORO
sizeOOORO
VmstateOOOOO
Vsockguest_cidOOOOR
uds_pathOOOOR
vsock_idOOOOR

*: The TokenBucket can be configured with either the virtio-net or virtio-block drivers, or both.

Output Schema

All output schema fields can be found in the Swagger specification: firecracker.yaml.

SchemaPropertykeyboardserial consolevirtio-blockvirtio-netvirtio-vsock
Errorfault_messageOOOOO
InstanceInfoapp_nameOOOOO
idOOOOO
stateOOOOO
vmm_versionOOOOO
MachineConfigurationcpu_templateOOOOO
ht_enabledOOOOO
mem_size_mibOOOOO
track_dirty_pagesOOOOO
vcpu_countOOOOO

Instance Actions

All instance actions can be found in the Swagger specification: firecracker.yaml.

Actionkeyboardserial consolevirtio-blockvirtio-netvirtio-vsock
FlushMetricsOOOOO
InstanceStartOOOOO
SendCtrlAltDelROOOO