Struct rusoto_core::BaseAutoRefreshingProvider
[−]
[src]
pub struct BaseAutoRefreshingProvider<P, T> where
P: 'static + ProvideAwsCredentials, { /* fields omitted */ }
Wrapper for ProvideAwsCredentials
that caches the credentials returned by the
wrapped provider. Each time the credentials are accessed, they are checked to see if
they have expired, in which case they are retrieved from the wrapped provider again.
In order to access the wrapped provider, for instance to set a timeout, the get_ref
and get_mut
methods can be used.
Methods
impl<P, T> BaseAutoRefreshingProvider<P, T> where
P: 'static + ProvideAwsCredentials,
[src]
P: 'static + ProvideAwsCredentials,
ⓘImportant traits for &'a mut Wpub fn get_ref(&self) -> &P
[src]
Get a shared reference to the wrapped provider.
ⓘImportant traits for &'a mut Wpub fn get_mut(&mut self) -> &mut P
[src]
Get a mutable reference to the wrapped provider.
This can be used to call set_timeout
on the wrapped
provider.
impl<P> BaseAutoRefreshingProvider<P, Mutex<Shared<<P as ProvideAwsCredentials>::Future>>> where
P: 'static + ProvideAwsCredentials,
[src]
P: 'static + ProvideAwsCredentials,
pub fn with_mutex(
provider: P
) -> Result<BaseAutoRefreshingProvider<P, Mutex<Shared<<P as ProvideAwsCredentials>::Future>>>, CredentialsError>
[src]
provider: P
) -> Result<BaseAutoRefreshingProvider<P, Mutex<Shared<<P as ProvideAwsCredentials>::Future>>>, CredentialsError>
Grab a RefreshingProvider that locks it's credentials with a Mutex so it's thread safe.
impl<P> BaseAutoRefreshingProvider<P, RefCell<Shared<<P as ProvideAwsCredentials>::Future>>> where
P: 'static + ProvideAwsCredentials,
[src]
P: 'static + ProvideAwsCredentials,
pub fn with_refcell(
provider: P
) -> Result<BaseAutoRefreshingProvider<P, RefCell<Shared<<P as ProvideAwsCredentials>::Future>>>, CredentialsError>
[src]
provider: P
) -> Result<BaseAutoRefreshingProvider<P, RefCell<Shared<<P as ProvideAwsCredentials>::Future>>>, CredentialsError>
Grab a provider that locks it's credentials with a RefCell. If you're looking for Thread Safety, take a look at AutoRefreshingProviderSync.
impl BaseAutoRefreshingProvider<ChainProvider, RefCell<Shared<<ChainProvider as ProvideAwsCredentials>::Future>>>
[src]
pub fn new(
handle: &Handle
) -> Result<BaseAutoRefreshingProvider<ChainProvider, RefCell<Shared<<ChainProvider as ProvideAwsCredentials>::Future>>>, CredentialsError>
[src]
handle: &Handle
) -> Result<BaseAutoRefreshingProvider<ChainProvider, RefCell<Shared<<ChainProvider as ProvideAwsCredentials>::Future>>>, CredentialsError>
Creates a new DefaultCredentials Provider. If you're looking for Thread Safety look at DefaultCredentialsProviderSync.
impl BaseAutoRefreshingProvider<ChainProvider, Mutex<Shared<<ChainProvider as ProvideAwsCredentials>::Future>>>
[src]
pub fn new(
handle: &Handle
) -> Result<BaseAutoRefreshingProvider<ChainProvider, Mutex<Shared<<ChainProvider as ProvideAwsCredentials>::Future>>>, CredentialsError>
[src]
handle: &Handle
) -> Result<BaseAutoRefreshingProvider<ChainProvider, Mutex<Shared<<ChainProvider as ProvideAwsCredentials>::Future>>>, CredentialsError>
Creates a new Thread Safe Default Credentials Provider.
Trait Implementations
impl<P> ProvideAwsCredentials for BaseAutoRefreshingProvider<P, RefCell<Shared<<P as ProvideAwsCredentials>::Future>>> where
P: 'static + ProvideAwsCredentials,
[src]
P: 'static + ProvideAwsCredentials,
type Future = AutoRefreshingProviderFuture<P>
The future response value.
fn credentials(
&self
) -> <BaseAutoRefreshingProvider<P, RefCell<Shared<<P as ProvideAwsCredentials>::Future>>> as ProvideAwsCredentials>::Future
[src]
&self
) -> <BaseAutoRefreshingProvider<P, RefCell<Shared<<P as ProvideAwsCredentials>::Future>>> as ProvideAwsCredentials>::Future
Produce a new AwsCredentials
future.
impl<P> ProvideAwsCredentials for BaseAutoRefreshingProvider<P, Mutex<Shared<<P as ProvideAwsCredentials>::Future>>> where
P: 'static + ProvideAwsCredentials,
[src]
P: 'static + ProvideAwsCredentials,
type Future = AutoRefreshingProviderFuture<P>
The future response value.
fn credentials(
&self
) -> <BaseAutoRefreshingProvider<P, Mutex<Shared<<P as ProvideAwsCredentials>::Future>>> as ProvideAwsCredentials>::Future
[src]
&self
) -> <BaseAutoRefreshingProvider<P, Mutex<Shared<<P as ProvideAwsCredentials>::Future>>> as ProvideAwsCredentials>::Future
Produce a new AwsCredentials
future.
impl<P, T> Debug for BaseAutoRefreshingProvider<P, T> where
P: 'static + ProvideAwsCredentials + Debug,
T: Debug,
[src]
P: 'static + ProvideAwsCredentials + Debug,
T: Debug,
Auto Trait Implementations
impl<P, T> Send for BaseAutoRefreshingProvider<P, T> where
P: Send,
T: Send,
P: Send,
T: Send,
impl<P, T> Sync for BaseAutoRefreshingProvider<P, T> where
P: Sync,
T: Sync,
P: Sync,
T: Sync,