Struct awscreds::Credentials
source · pub struct Credentials {
pub access_key: Option<String>,
pub secret_key: Option<String>,
pub security_token: Option<String>,
pub session_token: Option<String>,
pub expiration: Option<Rfc3339OffsetDateTime>,
}
Expand description
AWS access credentials: access key, secret key, and optional token.
Example
Loads from the standard AWS credentials file with the given profile name, defaults to “default”.
use awscreds::Credentials;
// Load credentials from `[default]` profile
#[cfg(feature="http-credentials")]
let credentials = Credentials::default();
// Also loads credentials from `[default]` profile
#[cfg(feature="http-credentials")]
let credentials = Credentials::new(None, None, None, None, None);
// Load credentials from `[my-profile]` profile
#[cfg(feature="http-credentials")]
let credentials = Credentials::new(None, None, None, None, Some("my-profile".into()));
// Use anonymous credentials for public objects
let credentials = Credentials::anonymous();
Credentials may also be initialized directly or by the following environment variables:
AWS_ACCESS_KEY_ID
,AWS_SECRET_ACCESS_KEY
AWS_SESSION_TOKEN
The order of preference is arguments, then environment, and finally AWS credentials file.
use awscreds::Credentials;
// Load credentials directly
let access_key = "AKIAIOSFODNN7EXAMPLE";
let secret_key = "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY";
#[cfg(feature="http-credentials")]
let credentials = Credentials::new(Some(access_key), Some(secret_key), None, None, None);
// Load credentials from the environment
use std::env;
env::set_var("AWS_ACCESS_KEY_ID", "AKIAIOSFODNN7EXAMPLE");
env::set_var("AWS_SECRET_ACCESS_KEY", "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY");
#[cfg(feature="http-credentials")]
let credentials = Credentials::new(None, None, None, None, None);
Fields§
§access_key: Option<String>
AWS public access key.
secret_key: Option<String>
AWS secret key.
security_token: Option<String>
Temporary token issued by AWS service.
session_token: Option<String>
§expiration: Option<Rfc3339OffsetDateTime>
Implementations§
source§impl Credentials
impl Credentials
pub fn refresh(&mut self) -> Result<(), CredentialsError>
pub fn from_sts_env(session_name: &str) -> Result<Credentials, CredentialsError>
pub fn from_sts( role_arn: &str, session_name: &str, web_identity_token: &str ) -> Result<Credentials, CredentialsError>
pub fn default() -> Result<Credentials, CredentialsError>
pub fn anonymous() -> Result<Credentials, CredentialsError>
sourcepub fn new(
access_key: Option<&str>,
secret_key: Option<&str>,
security_token: Option<&str>,
session_token: Option<&str>,
profile: Option<&str>
) -> Result<Credentials, CredentialsError>
pub fn new( access_key: Option<&str>, secret_key: Option<&str>, security_token: Option<&str>, session_token: Option<&str>, profile: Option<&str> ) -> Result<Credentials, CredentialsError>
Initialize Credentials directly with key ID, secret key, and optional token.
pub fn from_env_specific( access_key_var: Option<&str>, secret_key_var: Option<&str>, security_token_var: Option<&str>, session_token_var: Option<&str> ) -> Result<Credentials, CredentialsError>
pub fn from_env() -> Result<Credentials, CredentialsError>
pub fn from_instance_metadata() -> Result<Credentials, CredentialsError>
pub fn from_profile( section: Option<&str> ) -> Result<Credentials, CredentialsError>
Trait Implementations§
source§impl Clone for Credentials
impl Clone for Credentials
source§fn clone(&self) -> Credentials
fn clone(&self) -> Credentials
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl Debug for Credentials
impl Debug for Credentials
source§impl<'de> Deserialize<'de> for Credentials
impl<'de> Deserialize<'de> for Credentials
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
source§impl PartialEq for Credentials
impl PartialEq for Credentials
source§fn eq(&self, other: &Credentials) -> bool
fn eq(&self, other: &Credentials) -> bool
This method tests for
self
and other
values to be equal, and is used
by ==
.source§impl Serialize for Credentials
impl Serialize for Credentials
impl Eq for Credentials
impl StructuralEq for Credentials
impl StructuralPartialEq for Credentials
Auto Trait Implementations§
impl RefUnwindSafe for Credentials
impl Send for Credentials
impl Sync for Credentials
impl Unpin for Credentials
impl UnwindSafe for Credentials
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more