Skip to main content

rc_core/
lib.rs

1//! rc-core: Core library for the rc S3 CLI client
2//!
3//! This crate provides the core functionality for the rc CLI, including:
4//! - Configuration management
5//! - Alias management
6//! - Path parsing and resolution
7//! - ObjectStore trait for S3 operations
8//!
9//! This crate is designed to be independent of any specific S3 SDK,
10//! allowing for easy testing and potential future support for other backends.
11
12pub mod admin;
13pub mod alias;
14pub mod config;
15pub mod error;
16pub mod lifecycle;
17pub mod path;
18pub mod replication;
19pub mod retry;
20pub mod traits;
21
22pub use alias::{Alias, AliasManager};
23pub use config::{Config, ConfigManager};
24pub use error::{Error, Result};
25pub use lifecycle::{
26    LifecycleConfiguration, LifecycleExpiration, LifecycleRule, LifecycleRuleStatus,
27    LifecycleTransition, NoncurrentVersionExpiration, NoncurrentVersionTransition,
28};
29pub use path::{ParsedPath, RemotePath, parse_path};
30pub use replication::{
31    BucketTarget, BucketTargetCredentials, ReplicationConfiguration, ReplicationDestination,
32    ReplicationRule, ReplicationRuleStatus,
33};
34pub use retry::{RetryBuilder, is_retryable_error, retry_with_backoff};
35pub use traits::{
36    BucketNotification, Capabilities, ListOptions, ListResult, NotificationTarget, ObjectInfo,
37    ObjectStore, ObjectVersion,
38};