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