Skip to main content

a3s_box_sdk/
lib.rs

1//! a3s-box SDK — drive a3s-box from Rust.
2//!
3//! Provides [`client`]: typed, runtime-backed local management APIs for boxes,
4//! pause/unpause/stop/remove/prune lifecycle transitions, images, volumes,
5//! networks, snapshot create/restore/list/remove/prune, image build/pull/push,
6//! and guest control sockets.
7
8mod box_state;
9
10pub mod bridge;
11pub mod client;
12pub mod sandbox;
13
14#[cfg(feature = "pipeline-cli")]
15pub mod pipeline;
16
17pub use client::{
18    A3sBoxClient, A3sBoxPaths, BoxLogLine, BoxStatsSummary, BoxSummary, BuildImage,
19    BuildImageSummary, ClientError, CreateNetwork, CreateSnapshot, CreateVolume, ImageBuilder,
20    ImageHealthCheckSummary, ImageHistoryEntry, ImageInspectSummary, ImageSummary,
21    ListBoxesOptions, NetworkBuilder, NetworkEndpointSummary, NetworkSummary, PullImage, PushImage,
22    PushImageSummary, ReadBoxLogsOptions, RegistryCredentials, RemoveBox, RemoveBoxSummary,
23    RestoreSnapshot, Result, RuntimeDiagnostics, RuntimeDiskUsage, RuntimeVirtualizationSummary,
24    SnapshotSummary, StopBox, StopBoxSummary, StopOutcome, TagImage, VolumeBuilder, VolumeSummary,
25};
26pub use sandbox::{
27    CommandResult, CommandRunOptions, Commands, Filesystem, FilesystemOptions, Sandbox,
28    SandboxBuilder, SandboxCommand, SandboxCreateOptions, SandboxInfo, SandboxLogOptions,
29    SandboxNetwork, SandboxRestartOptions, ScriptBuilder, TmpfsMount, VolumeMount, VolumeSource,
30    WriteInfo, DEFAULT_SANDBOX_IMAGE, DEFAULT_SANDBOX_TIMEOUT_SECONDS,
31};
32
33pub use a3s_box_core::{
34    BoxConfig, CreateExecutionRequest, ExecOutput, ExecRequest, ExecutionGeneration,
35    ExecutionHealthCheck, ExecutionId, ExecutionIsolation, ExecutionLease, ExecutionManager,
36    ExecutionManagerError, ExecutionRecordPolicy, ExecutionReservation, ExecutionRestartPolicy,
37    ExecutionSnapshot, ExecutionSnapshotId, ExecutionState, ExecutionStatus, FileOp, FileRequest,
38    FileResponse, FilesystemEntry, FilesystemEntryKind, FilesystemOp, FilesystemRequest,
39    FilesystemResponse, KillOutcome, OperationId, Platform, PortMapping, PortProtocol,
40    ReconcileOutcome, RestartExecutionOptions,
41};
42pub use a3s_box_runtime::{RegistryAuth, RegistryProtocol, SignaturePolicy};
43
44#[cfg(unix)]
45pub use a3s_box_runtime::{
46    AttestationPolicy, AttestationReport, AttestationRequest, ExecClient, PtyClient,
47    RaTlsAttestationClient, StreamingExec, StreamingExecInput, StreamingPty, StreamingPtyInput,
48    VerificationResult,
49};