use crate::common::*;
use crate::credentials::CredentialsManager;
pub(crate) struct AwsCredentials {
pub(crate) access_key_id: String,
pub(crate) secret_access_key: String,
pub(crate) session_token: Option<String>,
}
impl AwsCredentials {
pub(crate) async fn try_default() -> Result<AwsCredentials> {
let creds = CredentialsManager::singleton().get("aws").await?;
let access_key_id = creds.get_required("access_key_id")?.to_owned();
let secret_access_key = creds.get_required("secret_access_key")?.to_owned();
let session_token = creds.get_optional("session_token").map(|t| t.to_owned());
Ok(AwsCredentials {
access_key_id,
secret_access_key,
session_token,
})
}
}