1pub mod cloudformation;
2pub mod cloudwatch;
3pub mod ec2;
4pub mod errors;
5pub mod kms;
6pub mod s3;
7pub mod sts;
8pub mod utils;
9
10use std::io;
11
12use aws_config::{self, meta::region::RegionProviderChain};
13use aws_sdk_ec2::Region;
14use aws_types::SdkConfig as AwsSdkConfig;
15use log::info;
16
17pub async fn load_config(reg: Option<String>) -> io::Result<AwsSdkConfig> {
19 info!("loading AWS configuration for region {:?}", reg);
20 let regp = RegionProviderChain::first_try(reg.map(Region::new))
21 .or_default_provider()
22 .or_else(Region::new("us-west-2"));
23
24 let shared_config = aws_config::from_env().region(regp).load().await;
25 Ok(shared_config)
26}