Skip to main content

microsandbox_types/
lib.rs

1//! Shared task and wire contract types for microsandbox.
2
3#![warn(missing_docs)]
4
5mod cloud;
6mod command;
7mod domain;
8mod error;
9mod exec;
10
11#[doc(hidden)]
12pub mod compat;
13mod guest_flush;
14#[doc(hidden)]
15pub mod helpers;
16pub mod modify;
17mod registry;
18pub mod snapshot;
19mod validation;
20
21#[cfg(feature = "ts")]
22pub mod typescript;
23
24//--------------------------------------------------------------------------------------------------
25// Exports
26//--------------------------------------------------------------------------------------------------
27
28pub use microsandbox_types_macros::ConfigPatch;
29
30pub use cloud::{
31    CloudCreateSandboxRequest, CloudCreateSandboxResponse, CloudCreateSnapshotRequest,
32    CloudDiskImageFormat, CloudErrorBody, CloudErrorDetails, CloudHostPattern,
33    CloudMessageResponse, CloudNetworkSpec, CloudPaginated, CloudPatch, CloudPullPolicy,
34    CloudRlimit, CloudRlimitResource, CloudRootfsSource, CloudSandboxComputeResources,
35    CloudSandboxResources, CloudSandboxRuntimeOptions, CloudSandboxSpec, CloudSandboxStatus,
36    CloudSandboxStatusReason, CloudSecretEntry, CloudSecretSource, CloudSecretsConfig,
37    CloudSnapshot, CloudSnapshotDetails, CloudSnapshotKind, CloudSnapshotLocation,
38    CloudSnapshotOperation, CloudSnapshotOperationStatus, CloudSnapshotSpec, CloudViolationAction,
39    CloudVolumeMount,
40};
41#[doc(hidden)]
42pub use command::{CommandResolutionError, ResolvedCommand, resolve_default_command};
43pub use domain::{
44    Action, CertCacheConfig, CpuPlacement, DEFAULT_METRICS_SAMPLE_INTERVAL_MS,
45    DEFAULT_SANDBOX_CPUS, DEFAULT_SANDBOX_MEMORY_MIB, DeploymentProfile, Destination,
46    DestinationGroup, Direction, DiskImageFormat, DnsConfig, DnsConfigPatch, EnvVar, FlatClone,
47    GuestClockPolicy, HandoffInit, HostPattern, HostPermissions, HttpConfig, HttpConfigPatch,
48    HttpConnectCredentials, HttpDenyResponseFormat, InterceptCaConfig, InterfaceOverrides,
49    InterfaceOverridesPatch, LogSource, MAX_SECRET_PLACEHOLDER_BYTES, MemoryPlacement,
50    MountOptions, NamedVolumeCreate, NamedVolumeMode, NetworkPolicy, NetworkRateLimitDirection,
51    NetworkRateLimiterConfig, NetworkRateLimiterConfigPatch, NetworkSpec, NetworkSpecPatch,
52    NumaPlacement, OciRootfsSource, OutboundProxy, OwnedVolumeStorage, Patch, PlacementProfile,
53    PortProtocol, PortRange, Protocol, PublishedPortSpec, PullPolicy, RateLimitConfigError,
54    RateLimiterConfig, Rlimit, RlimitResource, RootDisk, RootfsSource, Rule, SandboxLogLevel,
55    SandboxPolicy, SandboxPolicyPatch, SandboxResources, SandboxResourcesPatch,
56    SandboxRuntimeOptions, SandboxRuntimeOptionsPatch, SandboxSpec, SandboxSpecPatch,
57    ScopedUpstreamCaCert, ScopedVerifyUpstream, SecretConfigError, SecretEntry, SecretSubstitution,
58    SecretViolationAction, SecretsConfig, SecretsConfigPatch, SecurityProfile, SnapshotSpec,
59    Socks5Credentials, StatVirtualization, TlsConfig, TlsConfigPatch, TokenBucketConfig,
60    TransparentHugePagePolicy, VolumeKind, VolumeMount, VolumeSpec, VsockRouteSpec,
61    VsockSocketType, VsockSpec, VsockSpecPatch, WELL_KNOWN_NAT64_PREFIX,
62    canonicalize_volume_mounts, owned_volume_mount_id,
63};
64pub use error::{SnapshotManifestError, SnapshotManifestResult, TypesError, TypesResult};
65pub use exec::{EXEC_OUTPUT_EVENT_OVERHEAD, ExecLimits};
66pub use guest_flush::GuestFlush;
67pub use modify::{
68    ChangeKind, ConfigPlannedChange, ModificationConflict, ModificationDisposition,
69    ModificationPolicy, ModificationWarning, PlannedChange, ResourceConvergenceState, ResourceKind,
70    ResourceResizeStatus, SandboxModificationPatch, SandboxModificationPlan, SecretChangeKind,
71    SecretModificationPatch, SecretPlannedChange, SecretSource,
72};
73pub use registry::RegistryAuth;
74pub use snapshot::manifest::Manifest as SnapshotManifest;
75pub use snapshot::{
76    DiskCompactionDiskResult, DiskCompactionResult, DiskCompactionTarget,
77    ExternalMountRestorePolicy, ExternalMountWarning,
78};
79pub use validation::{
80    MAX_HOSTNAME_BYTES, MAX_SANDBOX_NAME_BYTES, hostname_from_sandbox_name, validate_hostname,
81    validate_sandbox_name,
82};