#![forbid(unsafe_code)]
mod client;
mod config;
mod credentials;
mod endpoint;
mod error;
mod operation;
mod retry;
mod stream;
#[cfg(feature = "fuzzing")]
#[doc(hidden)]
pub mod fuzzing;
mod protocol;
mod signing;
mod transport;
pub use client::S3Client;
pub use config::{AddressingStyle, S3Config, S3ConfigBuilder};
pub use credentials::{
CachedCredentialsProvider, Credentials, CredentialsProvider, EnvironmentCredentialsProvider,
StaticCredentialsProvider,
};
pub use endpoint::Endpoint;
pub use error::{ErrorCategory, RetryClassification, S3Error, TimeoutPhase};
pub use operation::{
AbortMultipartUploadRequest, ByteRange, Checksum, ChecksumAlgorithm,
CompleteMultipartUploadOutput, CompleteMultipartUploadRequest, CompletedPart, Conditions,
CopyObjectOutput, CopyObjectRequest, CopySource, CreateMultipartUploadOutput,
CreateMultipartUploadRequest, DeleteError, DeleteObjectOutput, DeleteObjectRequest,
DeleteObjectsError, DeleteObjectsOutput, DeleteObjectsRequest, DeletedObject, GetObjectOutput,
GetObjectRequest, HeadObjectOutput, HeadObjectRequest, ListMultipartUploadsOutput,
ListMultipartUploadsRequest, ListObjectsV2Output, ListObjectsV2Request, ListedObject,
ManagedMultipartUploadRequest, MultipartError, MultipartOptions, MultipartUpload,
MultipartUploadEntry, ObjectKey, ObjectKeyError, ObjectMetadata, PageSize, PartNumber,
PresignedUrl, PutObjectOutput, PutObjectRequest, RangeError, RequestIds, UploadId,
UploadIdError, UploadPartOutput, UploadPartRequest,
};
pub use retry::RetryPolicy;
pub use stream::{ByteStream, ResponseStream};