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

source

pub fn refresh(&mut self) -> Result<(), CredentialsError>

source

pub fn from_sts_env(session_name: &str) -> Result<Credentials, CredentialsError>

source

pub fn from_sts( role_arn: &str, session_name: &str, web_identity_token: &str ) -> Result<Credentials, CredentialsError>

source

pub fn default() -> Result<Credentials, CredentialsError>

source

pub fn anonymous() -> Result<Credentials, CredentialsError>

source

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.

source

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>

source

pub fn from_env() -> Result<Credentials, CredentialsError>

source

pub fn from_instance_metadata() -> Result<Credentials, CredentialsError>

source

pub fn from_profile( section: Option<&str> ) -> Result<Credentials, CredentialsError>

Trait Implementations§

source§

impl Clone for Credentials

source§

fn clone(&self) -> Credentials

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for Credentials

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<'de> Deserialize<'de> for Credentials

source§

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

source§

fn eq(&self, other: &Credentials) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl Serialize for Credentials

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl Eq for Credentials

source§

impl StructuralEq for Credentials

source§

impl StructuralPartialEq for Credentials

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,