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};