1pub mod adapters;
7#[cfg(feature = "firecracker")]
8pub mod composer;
9#[cfg(feature = "firecracker")]
10pub mod console;
11pub mod error;
12#[cfg(feature = "firecracker")]
13pub mod firewall;
14#[cfg(feature = "firecracker")]
15pub mod guest_metadata;
16#[cfg(feature = "firecracker")]
17pub mod jailer;
18#[cfg(feature = "firecracker")]
19pub mod metrics;
20pub mod model;
21#[cfg(feature = "firecracker")]
22pub mod network;
23pub mod provider;
24#[cfg(feature = "firecracker")]
25pub mod rootfs;
26#[cfg(feature = "firecracker")]
27pub mod shutdown;
28#[cfg(feature = "firecracker")]
29pub mod uffd;
30#[cfg(feature = "firecracker")]
31pub mod vsock;
32
33#[cfg(feature = "firecracker")]
34pub use adapters::firecracker::{FirecrackerConfig, FirecrackerVmProvider};
35pub use adapters::in_memory::InMemoryVmProvider;
36#[cfg(feature = "firecracker")]
37pub use composer::FirecrackerComposer;
38#[cfg(feature = "firecracker")]
39pub use console::{ConsoleCapture, ConsoleConfig};
40pub use error::{VmRuntimeError, VmRuntimeResult};
41#[cfg(feature = "firecracker")]
42pub use firewall::{EgressRule, Firewall, FirewallConfig, VmEgressRules};
43#[cfg(feature = "firecracker")]
44pub use guest_metadata::{
45 DEFAULT_CONNECT_TIMEOUT, DEFAULT_GUEST_METADATA_PORT, DEFAULT_REQUEST_TIMEOUT,
46 GuestMetadataClient, GuestMetadataConfig, GuestMetadataConn, OwnedRequest, Request, Response,
47};
48#[cfg(feature = "firecracker")]
49pub use jailer::{Jailer, JailerConfig, VmJail};
50#[cfg(feature = "firecracker")]
51pub use metrics::{MetricsConfig, MetricsPoller, VmMetricsSnapshot};
52pub use model::{
53 DriveSpec, NetworkInterface, RateLimiter, SnapshotRef, TokenBucket, VmSpec, VmStatus, VmView,
54 VsockSpec,
55};
56#[cfg(feature = "firecracker")]
57pub use network::{Ipv4Net, NetworkConfig, NetworkManager, VmNetwork};
58pub use provider::{VmProvider, VmQuery, VmRuntime};
59#[cfg(feature = "firecracker")]
60pub use rootfs::{RootfsConfig, RootfsRegistry, StackInfo, VmRootfs};
61#[cfg(feature = "firecracker")]
62pub use shutdown::{ShutdownConfig, ShutdownOutcome, graceful_shutdown};
63#[cfg(feature = "firecracker")]
64pub use uffd::{UffdConfig, UffdHandler, snapshot_load_mem_backend_uffd};
65#[cfg(feature = "firecracker")]
66pub use vsock::{VmVsock, VsockConfig, VsockManager};