pub struct S3Config {
pub endpoint: String,
pub bucket: String,
pub prefix: Option<String>,
pub region: String,
pub access_key: Option<String>,
pub secret_key: Option<String>,
pub public_url: Option<String>,
}Expand description
S3-compatible storage configuration (works with AWS S3, Cloudflare R2, MinIO, etc.)
Fields§
§endpoint: StringS3 endpoint URL (e.g., “https://<account_id>.r2.cloudflarestorage.com” for R2)
bucket: StringS3 bucket name
prefix: Option<String>Optional key prefix for all blobs (e.g., “blobs/”)
region: StringAWS region (use “auto” for R2)
access_key: Option<String>Access key ID (can also be set via AWS_ACCESS_KEY_ID env var)
secret_key: Option<String>Secret access key (can also be set via AWS_SECRET_ACCESS_KEY env var)
public_url: Option<String>Public URL for serving blobs (optional, for generating public URLs)
Trait Implementations§
Source§impl<'de> Deserialize<'de> for S3Config
impl<'de> Deserialize<'de> for S3Config
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 S3Config
impl RefUnwindSafe for S3Config
impl Send for S3Config
impl Sync for S3Config
impl Unpin for S3Config
impl UnsafeUnpin for S3Config
impl UnwindSafe for S3Config
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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,
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 more