Struct rusoto_credential::ChainProvider[][src]

pub struct ChainProvider { /* fields omitted */ }

Provides AWS credentials from multiple possible sources using a priority order.

The following sources are checked in order for credentials when calling credentials:

  1. Environment variables: AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY
  2. AWS credentials file. Usually located at ~/.aws/credentials.
  3. IAM instance profile. Will only work if running on an EC2 instance with an instance profile/role.

If the sources are exhausted without finding credentials, an error is returned.

The provider has a default timeout of 30 seconds. While it should work well for most setups, you can change the timeout using the set_timeout method.

Example

extern crate rusoto_credential;

use std::time::Duration;

use rusoto_credential::ChainProvider;

fn main() {
  let mut provider = ChainProvider::new();
  // you can overwrite the default timeout like this:
  provider.set_timeout(Duration::from_secs(60));

  // ...
}

Methods

impl ChainProvider
[src]

Set the timeout on the provider to the specified duration.

impl ChainProvider
[src]

Create a new ChainProvider using a ProfileProvider with the default settings.

Create a new ChainProvider using the provided ProfileProvider.

Trait Implementations

impl Debug for ChainProvider
[src]

Formats the value using the given formatter. Read more

impl Clone for ChainProvider
[src]

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

impl ProvideAwsCredentials for ChainProvider
[src]

The future response value.

Produce a new AwsCredentials future.

Auto Trait Implementations