aws_utils_secretsmanager 0.1.0

AWS Secrets Manager utilities for retrieving secret values
Documentation
use aws_config::BehaviorVersion;
use aws_sdk_secretsmanager::Client;

pub mod error;
pub mod secretsmanager;

pub use aws_sdk_secretsmanager;

pub async fn make_client(endpoint_url: Option<String>) -> Client {
    if std::env::var("AWS_ACCESS_KEY_ID").is_err() {
        unsafe { std::env::set_var("AWS_ACCESS_KEY_ID", "dummy_access_key") };
    }
    if std::env::var("AWS_SECRET_ACCESS_KEY").is_err() {
        unsafe { std::env::set_var("AWS_SECRET_ACCESS_KEY", "dummy_secret_key") };
    }
    if std::env::var("AWS_REGION").is_err() {
        unsafe { std::env::set_var("AWS_REGION", "us-west-2") };
    }
    let config = aws_config::load_defaults(BehaviorVersion::latest()).await;
    let mut builder = aws_sdk_secretsmanager::config::Builder::from(&config);
    if let Some(aws_endpoint_url) = endpoint_url {
        builder = builder.endpoint_url(aws_endpoint_url)
    }
    Client::from_conf(builder.build())
}