pub struct Config {
pub bucket: String,
pub region: Option<String>,
pub endpoint: Option<String>,
pub prefix: Option<String>,
pub force_path_style: bool,
pub access_key_id: Option<String>,
pub secret_access_key: Option<String>,
}Expand description
Configuration for the S3 store.
Supports AWS S3 and S3-compatible services (MinIO, LocalStack, etc.) via endpoint,
force_path_style, and explicit credentials.
Fields§
§bucket: StringS3 bucket name.
region: Option<String>AWS region (e.g., "us-east-1"). Falls back to AWS_REGION
or AWS_DEFAULT_REGION env vars if unset.
endpoint: Option<String>Custom endpoint URL for S3-compatible services (e.g., "http://localhost:9000" for MinIO).
prefix: Option<String>Key prefix applied to all objects (e.g., "uploads").
force_path_style: boolUse path-style access (http://host/bucket/key) instead of virtual-hosted-style (http://bucket.host/key).
Required for MinIO and most S3-compatible services.
access_key_id: Option<String>Explicit AWS access key ID. Falls back to AWS_ACCESS_KEY_ID env var.
secret_access_key: Option<String>Explicit AWS secret access key. Falls back to AWS_SECRET_ACCESS_KEY env var.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Config
impl<'de> Deserialize<'de> for Config
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for Config
impl RefUnwindSafe for Config
impl Send for Config
impl Sync for Config
impl Unpin for Config
impl UnsafeUnpin for Config
impl UnwindSafe for Config
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreCreates a shared type from an unshared type.