docbox_core/
aws.rs

1use aws_config::{BehaviorVersion, SdkConfig, meta::region::RegionProviderChain};
2
3pub type SqsClient = aws_sdk_sqs::Client;
4pub type S3Client = aws_sdk_s3::Client;
5pub type SecretsManagerClient = aws_sdk_secretsmanager::Client;
6
7/// Create the AWS production configuration
8pub async fn aws_config() -> SdkConfig {
9    let region_provider = RegionProviderChain::default_provider()
10        // Fallback to our desired region
11        .or_else("ap-southeast-2");
12
13    // Load the configuration from env variables (See https://docs.aws.amazon.com/sdkref/latest/guide/settings-reference.html#EVarSettings)
14    aws_config::from_env()
15        // Setup the region provider
16        .region(region_provider)
17        .behavior_version(BehaviorVersion::v2025_01_17())
18        .load()
19        .await
20}