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