Struct S3Storage Config

View as Markdown

Generated from cargo doc --no-deps -p nemo-relay -p nemo-relay-adaptive -p nemo-relay-ffi.

pub struct S3StorageConfig {
    pub bucket: String,
    pub key_prefix: Option<String>,
    pub access_key_id: Option<String>,
    pub secret_access_key_var: Option<String>,
    pub session_token_var: Option<String>,
    pub region: Option<String>,
    pub endpoint_url: Option<String>,
    pub allow_http: Option<bool>,
}

S3-compatible storage settings for ATIF trajectory upload.

Every connection field is optional. Unset fields fall back to the matching AWS_* environment variable, preserving the env-driven workflow while letting one config file fully describe a destination when needed. Secret credentials are referenced by env var name (the _var suffix), so multiple destinations can each carry their own credentials without leaking secret material into the config.

Fields

bucket: String

Destination bucket name. Must be non-empty.

key_prefix: Option<String>

Optional key prefix applied to every uploaded object. A trailing / is inserted automatically when one is missing.

access_key_id: Option<String>

Static AWS access key ID. When unset, AWS_ACCESS_KEY_ID is used.

secret_access_key_var: Option<String>

Name of the environment variable that holds the static secret access key. Validated to be non-empty and present at plugin initialization time. When unset, AWS_SECRET_ACCESS_KEY is used.

session_token_var: Option<String>

Name of the environment variable that holds the optional STS session token. Validated to be non-empty and present at plugin initialization time. When unset, AWS_SESSION_TOKEN is used.

region: Option<String>

AWS region for the bucket. When unset, AWS_REGION is used.

endpoint_url: Option<String>

Endpoint URL override for S3-compatible storage (for example, MinIO). When unset, AWS_ENDPOINT_URL is used.

allow_http: Option<bool>

Allow plain HTTP endpoints. When unset, AWS_ALLOW_HTTP is used.

Trait Implementations

impl Clone for S3StorageConfig

impl Clone for S3StorageConfig

clone

fn clone(&self) -> S3StorageConfig

clone_from

fn clone_from(&mut self, source: &Self)

impl Debug for S3StorageConfig

impl Debug for S3StorageConfig

fmt

fn fmt(&self, f: &mut Formatter<'_>) -> Result

impl<'de> Deserialize<'de> for S3StorageConfig

impl<'de> Deserialize<'de> for S3StorageConfig

deserialize

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
    __D: Deserializer<'de>,

impl Serialize for S3StorageConfig

impl Serialize for S3StorageConfig

serialize

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where
    __S: Serializer,