Skip to main content

s3/
s3.rs

1//! A minimal S3 client focused on the most common operations.
2//!
3//! Based on the commonly used S3 request categories and API operations
4//! documented by AWS.
5//!
6//! References:
7//! - <https://docs.aws.amazon.com/AmazonS3/latest/API/API_Operations.html>
8//!
9//! # Example
10//!
11//! ```no_run
12//! # #[cfg(feature = "reqwest")] {
13//! use s3::{Client, ClientConfig, StaticCredentials};
14//!
15//! let cfg = ClientConfig {
16//!     endpoint: "http://127.0.0.1:9000",
17//!     credentials: StaticCredentials {
18//!         access_key_id: "minioadmin",
19//!         secret_access_key: "minioadmin",
20//!         session_token: "",
21//!     },
22//!     region: "auto",
23//!     virtual_hosted: false,
24//! };
25//!
26//! let client = Client::new(&cfg)?;
27//! # }
28//! # Ok::<(), s3::Error>(())
29//! ```
30pub mod buckets;
31pub mod client;
32pub mod objects;
33
34pub use buckets::{Bucket, GetBucketLocationOutput, ListBucketsOutput, ListObject, ListObjectsOutput};
35#[cfg(feature = "reqwest")]
36pub use client::ReqwestHttpClient;
37pub use client::{
38    ByteStream, Client, ClientConfig, Error, HttpClient, HttpError, HttpMethod, HttpRequest, HttpResponseData,
39    StaticCredentials,
40};
41pub use objects::{
42    CompleteMultipartUploadOutput, CompletedPart, DeleteObjectsError, DeleteObjectsOutput, DeletedObject,
43    GetObjectOutput, GetObjectTaggingOutput, HeadObjectOutput, ListMultipartUploadsOutput, ListPartsOutput,
44    MultipartUpload, Tag, UploadPartOutput, UploadedPart,
45};