pub enum AtifStorageConfig {
Http(HttpStorageConfig),
S3(S3StorageConfig),
}Expand description
Remote storage destination for ATIF trajectory files.
When AtifSectionConfig::storage is non-empty, the ATIF dispatcher
uploads each completed trajectory to every configured backend instead of
writing it to the local filesystem. The shape is tagged with a type
discriminator so additional backends (for example, Azure Blob Storage) can
be added without breaking existing configs.
Variants§
Http(HttpStorageConfig)
HTTP endpoint storage.
S3(S3StorageConfig)
S3-compatible object storage.
Non-secret connection settings (region, endpoint_url, allow_http)
and the static access_key_id may be set directly. The secret
credential fields (secret_access_key_var, session_token_var) must
reference the name of an environment variable that holds the secret,
so multiple S3 destinations can coexist in one config without writing
secrets into checked-in files. Any field left unset falls back to the
matching AWS_* environment variable (AWS_ACCESS_KEY_ID,
AWS_SECRET_ACCESS_KEY, AWS_SESSION_TOKEN, AWS_REGION,
AWS_ENDPOINT_URL, AWS_ALLOW_HTTP).
Trait Implementations§
Source§impl Clone for AtifStorageConfig
impl Clone for AtifStorageConfig
Source§fn clone(&self) -> AtifStorageConfig
fn clone(&self) -> AtifStorageConfig
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for AtifStorageConfig
impl Debug for AtifStorageConfig
Source§impl<'de> Deserialize<'de> for AtifStorageConfig
impl<'de> Deserialize<'de> for AtifStorageConfig
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>,
Auto Trait Implementations§
impl Freeze for AtifStorageConfig
impl RefUnwindSafe for AtifStorageConfig
impl Send for AtifStorageConfig
impl Sync for AtifStorageConfig
impl Unpin for AtifStorageConfig
impl UnsafeUnpin for AtifStorageConfig
impl UnwindSafe for AtifStorageConfig
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
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> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
Source§fn with_current_context(self) -> WithContext<Self> ⓘ
fn with_current_context(self) -> WithContext<Self> ⓘ
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> ⓘ
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> ⓘ
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 moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request