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