Struct rusoto_credential::ChainProvider
source · [−]pub struct ChainProvider { /* private fields */ }
Expand description
Provides AWS credentials from multiple possible sources using a priority order.
The following sources are checked in order for credentials when calling credentials
:
- Environment variables:
AWS_ACCESS_KEY_ID
andAWS_SECRET_ACCESS_KEY
credential_process
command in the AWS config file, usually located at~/.aws/config
.- AWS credentials file. Usually located at
~/.aws/credentials
. - 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
use std::time::Duration;
use rusoto_credential::ChainProvider;
let mut provider = ChainProvider::new();
// you can overwrite the default timeout like this:
provider.set_timeout(Duration::from_secs(60));
Warning
This provider allows the credential_process
option in the AWS config
file (~/.aws/config
), a method of sourcing credentials from an external process. This can
potentially be dangerous, so proceed with caution. Other credential providers should be
preferred if at all possible. If using this option, you should make sure that the config file
is as locked down as possible using security best practices for your operating system.
Implementations
sourceimpl ChainProvider
impl ChainProvider
sourcepub fn set_timeout(&mut self, duration: Duration)
pub fn set_timeout(&mut self, duration: Duration)
Set the timeout on the provider to the specified duration.
sourceimpl ChainProvider
impl ChainProvider
sourcepub fn new() -> ChainProvider
pub fn new() -> ChainProvider
Create a new ChainProvider
using a ProfileProvider
with the default settings.
sourcepub fn with_profile_provider(profile_provider: ProfileProvider) -> ChainProvider
pub fn with_profile_provider(profile_provider: ProfileProvider) -> ChainProvider
Create a new ChainProvider
using the provided ProfileProvider
.
Trait Implementations
sourceimpl Clone for ChainProvider
impl Clone for ChainProvider
sourcefn clone(&self) -> ChainProvider
fn clone(&self) -> ChainProvider
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
sourceimpl Debug for ChainProvider
impl Debug for ChainProvider
sourceimpl Default for ChainProvider
impl Default for ChainProvider
sourceimpl ProvideAwsCredentials for ChainProvider
impl ProvideAwsCredentials for ChainProvider
sourcefn credentials<'life0, 'async_trait>(
&'life0 self
) -> Pin<Box<dyn Future<Output = Result<AwsCredentials, CredentialsError>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
fn credentials<'life0, 'async_trait>(
&'life0 self
) -> Pin<Box<dyn Future<Output = Result<AwsCredentials, CredentialsError>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
Produce a new AwsCredentials
future.
Auto Trait Implementations
impl !RefUnwindSafe for ChainProvider
impl Send for ChainProvider
impl Sync for ChainProvider
impl Unpin for ChainProvider
impl !UnwindSafe for ChainProvider
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> Instrument for T
impl<T> Instrument for T
sourcefn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
sourcefn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcefn clone_into(&self, target: &mut T)
fn clone_into(&self, target: &mut T)
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more
sourceimpl<T> WithSubscriber for T
impl<T> WithSubscriber for T
sourcefn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
Attaches the provided Subscriber
to this type, returning a
WithDispatch
wrapper. Read more
sourcefn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
Attaches the current default Subscriber
to this type, returning a
WithDispatch
wrapper. Read more