Skip to main content

openjd_sessions/
lib.rs

1// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2// Copyright by contributors to this project.
3// SPDX-License-Identifier: (Apache-2.0 OR MIT)
4
5//! Open Job Description sessions — local job execution runtime.
6//!
7//! Mirrors the Python `openjd-sessions-for-python` library.
8
9pub mod action;
10pub(crate) mod action_filter;
11pub mod action_status;
12pub(crate) mod cross_user_helper;
13pub mod embedded_files;
14pub mod error;
15pub(crate) mod helper_binary;
16pub mod let_bindings;
17pub mod logging;
18pub mod runner;
19pub mod session;
20pub mod session_user;
21pub(crate) mod subprocess;
22pub mod tempdir;
23#[cfg(windows)]
24pub mod win32;
25#[cfg(windows)]
26pub(crate) mod win32_locate;
27#[cfg(all(windows, not(feature = "test-utils")))]
28pub(crate) mod win32_permissions;
29// Under the `test-utils` feature, expose win32_permissions to integration
30// tests so they can drive DACL setup through the library's own API
31// (matching the Python reference's use of `WindowsPermissionHelper`).
32#[cfg(all(windows, feature = "test-utils"))]
33pub mod win32_permissions;
34
35// Re-export path mapping from openjd-expr (mirrors Python where sessions re-exports from expr)
36pub use openjd_expr::path_mapping;
37
38pub use action::{ActionMessage, ActionResult, ActionState};
39pub use action_status::ActionStatus;
40pub use error::SessionError;
41pub use logging::LogContent;
42pub use openjd_expr::path_mapping::{PathFormat, PathMappingRule};
43pub use runner::{CancelMethod, ScriptRunnerState};
44pub use session::{EnvironmentIdentifier, Session, SessionConfig, SessionState};
45#[cfg(windows)]
46pub use session_user::BadCredentialsError;
47#[cfg(unix)]
48pub use session_user::PosixSessionUser;
49pub use session_user::SessionUser;
50#[cfg(windows)]
51pub use session_user::WindowsSessionUser;
52pub use subprocess::SubprocessResult;
53pub use tempdir::StickyBitPolicy;
54pub use tempdir::TempDir;