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, HttpConfig, HttpConfigPatch, InterceptCaConfig,
47    InterfaceOverrides, InterfaceOverridesPatch, LogSource, MAX_SECRET_PLACEHOLDER_BYTES,
48    MemoryPlacement, MountOptions, NamedVolumeCreate, NamedVolumeMode, NetworkPolicy,
49    NetworkRateLimitDirection, NetworkRateLimiterConfig, NetworkRateLimiterConfigPatch,
50    NetworkSpec, NetworkSpecPatch, NumaPlacement, OciRootfsSource, OutboundProxy,
51    OwnedVolumeStorage, Patch, PlacementProfile, PortProtocol, PortRange, Protocol,
52    PublishedPortSpec, PullPolicy, RateLimitConfigError, RateLimiterConfig, Rlimit, RlimitResource,
53    RootDisk, RootfsSource, Rule, SandboxLogLevel, SandboxPolicy, SandboxPolicyPatch,
54    SandboxResources, SandboxResourcesPatch, SandboxRuntimeOptions, SandboxRuntimeOptionsPatch,
55    SandboxSpec, SandboxSpecPatch, ScopedUpstreamCaCert, ScopedVerifyUpstream, SecretConfigError,
56    SecretEntry, SecretSubstitution, SecretViolationAction, SecretsConfig, SecretsConfigPatch,
57    SecurityProfile, SnapshotSpec, Socks5Credentials, StatVirtualization, TlsConfig,
58    TlsConfigPatch, TokenBucketConfig, TransparentHugePagePolicy, VolumeKind, VolumeMount,
59    VolumeSpec, VsockRouteSpec, VsockSocketType, VsockSpec, VsockSpecPatch,
60    WELL_KNOWN_NAT64_PREFIX, canonicalize_volume_mounts, owned_volume_mount_id,
61};
62pub use error::{SnapshotManifestError, SnapshotManifestResult, TypesError, TypesResult};
63pub use guest_flush::GuestFlush;
64pub use modify::{
65    ChangeKind, ConfigPlannedChange, ModificationConflict, ModificationDisposition,
66    ModificationPolicy, ModificationWarning, PlannedChange, ResourceConvergenceState, ResourceKind,
67    ResourceResizeStatus, SandboxModificationPatch, SandboxModificationPlan, SecretChangeKind,
68    SecretModificationPatch, SecretPlannedChange, SecretSource,
69};
70pub use registry::RegistryAuth;
71pub use snapshot::manifest::Manifest as SnapshotManifest;
72pub use snapshot::{
73    DiskCompactionDiskResult, DiskCompactionResult, DiskCompactionTarget,
74    ExternalMountRestorePolicy, ExternalMountWarning,
75};
76pub use validation::{
77    MAX_HOSTNAME_BYTES, MAX_SANDBOX_NAME_BYTES, hostname_from_sandbox_name, validate_hostname,
78    validate_sandbox_name,
79};