Expand description
rc-core: Core library for the rc S3 CLI client
This crate provides the core functionality for the rc CLI, including:
- Configuration management
- Alias management
- Path parsing and resolution
- ObjectStore trait for S3 operations
This crate is designed to be independent of any specific S3 SDK, allowing for easy testing and potential future support for other backends.
Re-exports§
pub use alias::Alias;pub use alias::AliasManager;pub use alias::RequestHeader;pub use alias::global_request_headers;pub use alias::set_global_request_headers;pub use alias::validate_alias_endpoint;pub use config::Config;pub use config::ConfigManager;pub use cors::CorsConfiguration;pub use cors::CorsRule;pub use encryption::BucketEncryption;pub use encryption::ObjectEncryptionRequest;pub use error::Error;pub use error::MultipartAbortStatus;pub use error::Result;pub use lifecycle::LifecycleConfiguration;pub use lifecycle::LifecycleExpiration;pub use lifecycle::LifecycleRule;pub use lifecycle::LifecycleRuleStatus;pub use lifecycle::LifecycleTransition;pub use lifecycle::NoncurrentVersionExpiration;pub use lifecycle::NoncurrentVersionTransition;pub use multipart_copy::DEFAULT_MULTIPART_COPY_PART_SIZE;pub use multipart_copy::MultipartCopyCancellation;pub use multipart_copy::MultipartCopyOptions;pub use multipart_copy::MultipartCopyPart;pub use multipart_copy::MultipartCopyPlan;pub use multipart_copy::MultipartCopyProgress;pub use multipart_copy::MultipartCopyResult;pub use multipart_copy::S3_MAX_OBJECT_SIZE;pub use multipart_copy::S3_MULTIPART_COPY_MAX_PART_SIZE;pub use multipart_copy::S3_MULTIPART_COPY_MAX_PARTS;pub use multipart_copy::S3_MULTIPART_COPY_MIN_PART_SIZE;pub use multipart_copy::S3_SINGLE_COPY_MAX_SIZE;pub use multipart_copy::requires_multipart_copy;pub use object_lock::BucketObjectLockConfiguration;pub use object_lock::DefaultRetention;pub use object_lock::LegalHoldStatus;pub use object_lock::ObjectLockOptions;pub use object_lock::ObjectRetention;pub use object_lock::RetentionDuration;pub use object_lock::RetentionDurationUnit;pub use object_lock::RetentionMode;pub use ops::HealthApi;pub use ops::HealthProbe;pub use ops::HealthReport;pub use ops::UsageBucket;pub use ops::UsageFailure;pub use ops::UsageReport;pub use ops::UsageScanApi;pub use ops::UsageScanRequest;pub use ops::UsageScope;pub use ops::UsageSnapshotApi;pub use ops::UsageSource;pub use path::ParsedPath;pub use path::RemotePath;pub use path::parse_object_path;pub use path::parse_path;pub use replication::BucketTarget;pub use replication::BucketTargetCredentials;pub use replication::ReplicationCheckPhase;pub use replication::ReplicationCheckPhaseState;pub use replication::ReplicationCheckPhases;pub use replication::ReplicationCheckResult;pub use replication::ReplicationCheckStatus;pub use replication::ReplicationCheckTarget;pub use replication::ReplicationConfiguration;pub use replication::ReplicationDestination;pub use replication::ReplicationResyncStartOptions;pub use replication::ReplicationResyncStartResult;pub use replication::ReplicationResyncState;pub use replication::ReplicationResyncStatus;pub use replication::ReplicationResyncTargetStatus;pub use replication::ReplicationRule;pub use replication::ReplicationRuleStatus;pub use retry::RetryBuilder;pub use retry::is_retryable_error;pub use retry::retry_with_backoff;pub use select::SelectCompression;pub use select::SelectCsvFileHeaderInfo;pub use select::SelectCsvInputOptions;pub use select::SelectCsvOutputOptions;pub use select::SelectInputFormat;pub use select::SelectJsonInputOptions;pub use select::SelectJsonInputType;pub use select::SelectJsonOutputOptions;pub use select::SelectOptions;pub use select::SelectOutputFormat;pub use select::SelectQuoteFields;pub use select::SelectScanRangeOptions;pub use select::SelectSseCustomerOptions;pub use traits::AbortMultipartUploadRequest;pub use traits::BucketNotification;pub use traits::Capabilities;pub use traits::CopyObjectOptions;pub use traits::CreateBucketOptions;pub use traits::DeleteObjectFailure;pub use traits::DeleteObjectsResult;pub use traits::DeleteRequestOptions;pub use traits::DeletedObject;pub use traits::ListObjectVersionsOptions;pub use traits::ListOptions;pub use traits::ListResult;pub use traits::MultipartIdentity;pub use traits::MultipartUpload;pub use traits::MultipartUploadListOptions;pub use traits::MultipartUploadListResult;pub use traits::NotificationTarget;pub use traits::ObjectInfo;pub use traits::ObjectReadOptions;pub use traits::ObjectStore;pub use traits::ObjectVersion;pub use traits::ObjectVersionIdentifier;pub use traits::ObjectVersionListResult;pub use transfer::TransferCancellation;pub use transfer::TransferCandidate;pub use transfer::TransferControls;pub use transfer::TransferExecutor;pub use transfer::TransferOutcome;pub use transfer::TransferOutcomeState;pub use transfer::TransferPlan;pub use transfer::TransferReport;pub use transfer::TransferSelection;pub use transfer::TransferSummary;pub use transfer_options::ChecksumAlgorithm;pub use transfer_options::ChecksumRequest;pub use transfer_options::MetadataDirective;pub use transfer_options::ObjectAttributes;pub use transfer_options::ObjectChecksum;pub use transfer_options::ObjectTransferMetadata;pub use transfer_options::ObjectWriteEncryption;pub use transfer_options::ObjectWriteOptions;pub use transfer_options::SseCustomerKey;pub use transfer_options::TaggingDirective;pub use transfer_options::TransferCopyOptions;pub use transfer_options::TransferReadOptions;pub use undo::UndoAction;pub use undo::UndoObjectResult;pub use undo::UndoOutcome;pub use undo::UndoPlan;pub use undo::UndoPlanItem;pub use undo::plan_object_undo;pub use watch::WatchApi;pub use watch::WatchEvent;pub use watch::WatchFrame;pub use watch::WatchRequest;pub use watch::WatchSource;pub use watch::WatchStream;
Modules§
- admin
- Admin API module
- alias
- Alias management
- config
- Configuration management
- cors
- Bucket CORS configuration types
- encryption
- Bucket and object encryption domain types.
- error
- Error types for rc-core
- lifecycle
- Lifecycle (ILM) configuration types
- multipart_
copy - Pure planning and request types for multipart server-side copies.
- object_
lock - Typed Object Lock, retention, and legal-hold models.
- ops
- Typed operational APIs for health probes and storage usage.
- path
- Path parsing and resolution
- replication
- Bucket replication configuration types
- retry
- Retry mechanism with exponential backoff and jitter
- select
- S3 Select domain types (no AWS SDK types).
- traits
- ObjectStore trait definition
- transfer
- Shared planning and execution primitives for bulk transfers.
- transfer_
options - Backend-neutral options for faithful object reads, writes, and copies.
- undo
- Pure planning models for safe undo of versioned object operations.
- watch
- Live object notification streaming contracts.