Struct rusoto_core::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;
extern crate tokio_core;

use std::time::Duration;

use rusoto_credential::ChainProvider;
use tokio_core::reactor::Core;

fn main() {
  let core = Core::new().unwrap();

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

  // ...
}

Methods

impl ChainProvider
[src]

[src]

Set the timeout on the provider to the specified duration.

impl ChainProvider
[src]

[src]

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

[src]

Create a new ChainProvider using the provided ProfileProvider.

Trait Implementations

impl Clone for ChainProvider
[src]

[src]

Returns a copy of the value. Read more

1.0.0
[src]

Performs copy-assignment from source. Read more

impl ProvideAwsCredentials for ChainProvider
[src]

The future response value.

[src]

Produce a new AwsCredentials future.

impl Debug for ChainProvider
[src]

[src]

Formats the value using the given formatter. Read more

Auto Trait Implementations

impl !Send for ChainProvider

impl !Sync for ChainProvider