Documentation ¶
Index ¶
Constants ¶
const ( // InstanceActionInfoActionTypeFlushMetrics captures enum value "FlushMetrics" InstanceActionInfoActionTypeFlushMetrics string = "FlushMetrics" // InstanceActionInfoActionTypeInstanceStart captures enum value "InstanceStart" InstanceActionInfoActionTypeInstanceStart string = "InstanceStart" // InstanceActionInfoActionTypeSendCtrlAltDel captures enum value "SendCtrlAltDel" InstanceActionInfoActionTypeSendCtrlAltDel string = "SendCtrlAltDel" )
const ( // InstanceInfoStateUninitialized captures enum value "Uninitialized" InstanceInfoStateUninitialized string = "Uninitialized" // InstanceInfoStateStarting captures enum value "Starting" InstanceInfoStateStarting string = "Starting" // InstanceInfoStateRunning captures enum value "Running" InstanceInfoStateRunning string = "Running" )
const ( // LoggerLevelError captures enum value "Error" LoggerLevelError string = "Error" // LoggerLevelWarning captures enum value "Warning" LoggerLevelWarning string = "Warning" // LoggerLevelInfo captures enum value "Info" LoggerLevelInfo string = "Info" // LoggerLevelDebug captures enum value "Debug" LoggerLevelDebug string = "Debug" )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type BootSource ¶
type BootSource struct { // Kernel boot arguments BootArgs string `json:"boot_args,omitempty"` // Host level path to the initrd image used to boot the guest InitrdPath string `json:"initrd_path,omitempty"` // Host level path to the kernel image used to boot the guest // Required: true KernelImagePath *string `json:"kernel_image_path"` }
BootSource Boot source descriptor. swagger:model BootSource
func (*BootSource) MarshalBinary ¶
func (m *BootSource) MarshalBinary() ([]byte, error)
MarshalBinary interface implementation
func (*BootSource) UnmarshalBinary ¶
func (m *BootSource) UnmarshalBinary(b []byte) error
UnmarshalBinary interface implementation
type CPUTemplate ¶
type CPUTemplate string
CPUTemplate The CPU Template defines a set of flags to be disabled from the microvm so that the features exposed to the guest are the same as in the selected instance type. swagger:model CpuTemplate
const ( // CPUTemplateC3 captures enum value "C3" CPUTemplateC3 CPUTemplate = "C3" // CPUTemplateT2 captures enum value "T2" CPUTemplateT2 CPUTemplate = "T2" )
type Drive ¶
type Drive struct { // drive id // Required: true DriveID *string `json:"drive_id"` // is read only // Required: true IsReadOnly *bool `json:"is_read_only"` // is root device // Required: true IsRootDevice *bool `json:"is_root_device"` // Represents the unique id of the boot partition of this device. It is optional and it will be taken into account only if the is_root_device field is true. Partuuid string `json:"partuuid,omitempty"` // Host level path for the guest drive // Required: true PathOnHost *string `json:"path_on_host"` // rate limiter RateLimiter *RateLimiter `json:"rate_limiter,omitempty"` }
Drive drive swagger:model Drive
func (*Drive) MarshalBinary ¶
MarshalBinary interface implementation
func (*Drive) UnmarshalBinary ¶
UnmarshalBinary interface implementation
type Error ¶
type Error struct { // A description of the error condition // Read Only: true FaultMessage string `json:"fault_message,omitempty"` }
Error error swagger:model Error
func (*Error) MarshalBinary ¶
MarshalBinary interface implementation
func (*Error) UnmarshalBinary ¶
UnmarshalBinary interface implementation
type InstanceActionInfo ¶
type InstanceActionInfo struct { // Enumeration indicating what type of action is contained in the payload // Required: true // Enum: [FlushMetrics InstanceStart SendCtrlAltDel] ActionType *string `json:"action_type"` }
InstanceActionInfo Variant wrapper containing the real action. swagger:model InstanceActionInfo
func (*InstanceActionInfo) MarshalBinary ¶
func (m *InstanceActionInfo) MarshalBinary() ([]byte, error)
MarshalBinary interface implementation
func (*InstanceActionInfo) UnmarshalBinary ¶
func (m *InstanceActionInfo) UnmarshalBinary(b []byte) error
UnmarshalBinary interface implementation
type InstanceInfo ¶
type InstanceInfo struct { // MicroVM / instance ID. // Required: true ID *string `json:"id"` // The current detailed state of the Firecracker instance. This value is read-only for the control-plane. // Required: true // Enum: [Uninitialized Starting Running] State *string `json:"state"` // MicroVM hypervisor build version. // Required: true VmmVersion *string `json:"vmm_version"` }
InstanceInfo Describes MicroVM instance information. swagger:model InstanceInfo
func (*InstanceInfo) MarshalBinary ¶
func (m *InstanceInfo) MarshalBinary() ([]byte, error)
MarshalBinary interface implementation
func (*InstanceInfo) UnmarshalBinary ¶
func (m *InstanceInfo) UnmarshalBinary(b []byte) error
UnmarshalBinary interface implementation
type Logger ¶
type Logger struct { // Set the level. // Enum: [Error Warning Info Debug] Level *string `json:"level,omitempty"` // The named pipe for the human readable log output. // Required: true LogFifo *string `json:"log_fifo"` // The named pipe where the JSON-formatted metrics will be flushed. // Required: true MetricsFifo *string `json:"metrics_fifo"` // Whether or not to output the level in the logs. ShowLevel *bool `json:"show_level,omitempty"` // Whether or not to include the file path and line number of the log's origin. ShowLogOrigin *bool `json:"show_log_origin,omitempty"` }
Logger Describes the configuration option for the logging capability. swagger:model Logger
func (*Logger) MarshalBinary ¶
MarshalBinary interface implementation
func (*Logger) UnmarshalBinary ¶
UnmarshalBinary interface implementation
type MachineConfiguration ¶
type MachineConfiguration struct { // cpu template CPUTemplate CPUTemplate `json:"cpu_template,omitempty"` // Flag for enabling/disabling Hyperthreading // Required: true HtEnabled *bool `json:"ht_enabled"` // Memory size of VM // Required: true MemSizeMib *int64 `json:"mem_size_mib"` // Number of vCPUs (either 1 or an even number) // Required: true // Maximum: 32 // Minimum: 1 VcpuCount *int64 `json:"vcpu_count"` }
MachineConfiguration Describes the number of vCPUs, memory size, Hyperthreading capabilities and the CPU template. swagger:model MachineConfiguration
func (*MachineConfiguration) MarshalBinary ¶
func (m *MachineConfiguration) MarshalBinary() ([]byte, error)
MarshalBinary interface implementation
func (*MachineConfiguration) UnmarshalBinary ¶
func (m *MachineConfiguration) UnmarshalBinary(b []byte) error
UnmarshalBinary interface implementation
type NetworkInterface ¶
type NetworkInterface struct { // If this field is set, the device model will reply to HTTP GET requests sent to the MMDS address via this interface. In this case, both ARP requests for 169.254.169.254 and TCP segments heading to the same address are intercepted by the device model, and do not reach the associated TAP device. AllowMmdsRequests bool `json:"allow_mmds_requests,omitempty"` // guest mac GuestMac string `json:"guest_mac,omitempty"` // Host level path for the guest network interface // Required: true HostDevName *string `json:"host_dev_name"` // iface id // Required: true IfaceID *string `json:"iface_id"` // rx rate limiter RxRateLimiter *RateLimiter `json:"rx_rate_limiter,omitempty"` // tx rate limiter TxRateLimiter *RateLimiter `json:"tx_rate_limiter,omitempty"` }
NetworkInterface Defines a network interface. swagger:model NetworkInterface
func (*NetworkInterface) MarshalBinary ¶
func (m *NetworkInterface) MarshalBinary() ([]byte, error)
MarshalBinary interface implementation
func (*NetworkInterface) UnmarshalBinary ¶
func (m *NetworkInterface) UnmarshalBinary(b []byte) error
UnmarshalBinary interface implementation
type PartialDrive ¶
type PartialDrive struct { // drive id // Required: true DriveID *string `json:"drive_id"` // Host level path for the guest drive // Required: true PathOnHost *string `json:"path_on_host"` }
PartialDrive partial drive swagger:model PartialDrive
func (*PartialDrive) MarshalBinary ¶
func (m *PartialDrive) MarshalBinary() ([]byte, error)
MarshalBinary interface implementation
func (*PartialDrive) UnmarshalBinary ¶
func (m *PartialDrive) UnmarshalBinary(b []byte) error
UnmarshalBinary interface implementation
type PartialNetworkInterface ¶
type PartialNetworkInterface struct { // iface id // Required: true IfaceID *string `json:"iface_id"` // rx rate limiter RxRateLimiter *RateLimiter `json:"rx_rate_limiter,omitempty"` // tx rate limiter TxRateLimiter *RateLimiter `json:"tx_rate_limiter,omitempty"` }
PartialNetworkInterface Defines a partial network interface structure, used to update the rate limiters for that interface, after microvm start. swagger:model PartialNetworkInterface
func (*PartialNetworkInterface) MarshalBinary ¶
func (m *PartialNetworkInterface) MarshalBinary() ([]byte, error)
MarshalBinary interface implementation
func (*PartialNetworkInterface) UnmarshalBinary ¶
func (m *PartialNetworkInterface) UnmarshalBinary(b []byte) error
UnmarshalBinary interface implementation
type RateLimiter ¶
type RateLimiter struct { // Token bucket with bytes as tokens Bandwidth *TokenBucket `json:"bandwidth,omitempty"` // Token bucket with operations as tokens Ops *TokenBucket `json:"ops,omitempty"` }
RateLimiter Defines an IO rate limiter with independent bytes/s and ops/s limits. Limits are defined by configuring each of the _bandwidth_ and _ops_ token buckets. swagger:model RateLimiter
func (*RateLimiter) MarshalBinary ¶
func (m *RateLimiter) MarshalBinary() ([]byte, error)
MarshalBinary interface implementation
func (*RateLimiter) UnmarshalBinary ¶
func (m *RateLimiter) UnmarshalBinary(b []byte) error
UnmarshalBinary interface implementation
type TokenBucket ¶
type TokenBucket struct { // The initial size of a token bucket. // Minimum: 0 OneTimeBurst *int64 `json:"one_time_burst,omitempty"` // The amount of milliseconds it takes for the bucket to refill. // Required: true // Minimum: 0 RefillTime *int64 `json:"refill_time"` // The total number of tokens this bucket can hold. // Required: true // Minimum: 0 Size *int64 `json:"size"` }
TokenBucket Defines a token bucket with a maximum capacity (size), an initial burst size (one_time_burst) and an interval for refilling purposes (refill_time). The refill-rate is derived from size and refill_time, and it is the constant rate at which the tokens replenish. The refill process only starts happening after the initial burst budget is consumed. Consumption from the token bucket is unbounded in speed which allows for bursts bound in size by the amount of tokens available. Once the token bucket is empty, consumption speed is bound by the refill_rate. swagger:model TokenBucket
func (*TokenBucket) MarshalBinary ¶
func (m *TokenBucket) MarshalBinary() ([]byte, error)
MarshalBinary interface implementation
func (*TokenBucket) UnmarshalBinary ¶
func (m *TokenBucket) UnmarshalBinary(b []byte) error
UnmarshalBinary interface implementation
type Vsock ¶
type Vsock struct { // Guest Vsock CID // Required: true // Minimum: 3 GuestCid *int64 `json:"guest_cid"` // Path to UNIX domain socket, used to proxy vsock connections. // Required: true UdsPath *string `json:"uds_path"` // vsock id // Required: true VsockID *string `json:"vsock_id"` }
Vsock Defines a vsock device, backed by a set of Unix Domain Sockets, on the host side. For host-initiated connections, Firecracker will be listening on the Unix socket identified by the path `uds_path`. Firecracker will create this socket, bind and listen on it. Host-initiated connections will be performed by connection to this socket and issuing a connection forwarding request to the desired guest-side vsock port (i.e. `CONNECT 52\n`, to connect to port 52). For guest-initiated connections, Firecracker will expect host software to be bound and listening on Unix sockets at `uds_path_<PORT>`. E.g. "/path/to/host_vsock.sock_52" for port number 52. swagger:model Vsock
func (*Vsock) MarshalBinary ¶
MarshalBinary interface implementation
func (*Vsock) UnmarshalBinary ¶
UnmarshalBinary interface implementation