pub struct ProviderChainError<E: Error> { /* private fields */ }Expand description
Error returned when all providers in a chain are exhausted without producing credentials or tokens.
Contains per-provider errors for programmatic inspection via ProviderChainError::attempts.
To access from a CredentialsError or TokenError, downcast the error source:
ⓘ
use aws_config::meta::ProviderChainError;
use aws_credential_types::provider::error::CredentialsError;
use std::error::Error;
if let Some(chain_err) = err.source()
.and_then(|s| s.downcast_ref::<ProviderChainError<CredentialsError>>())
{
for attempt in chain_err.attempts() {
println!("{}: {}", attempt.name(), attempt.error());
}
}Implementations§
Source§impl<E: Error> ProviderChainError<E>
impl<E: Error> ProviderChainError<E>
Sourcepub fn attempts(&self) -> &[ProviderAttempt<E>]
pub fn attempts(&self) -> &[ProviderAttempt<E>]
Returns the per-provider errors in chain order.
Trait Implementations§
Source§impl<E: Error> Display for ProviderChainError<E>
impl<E: Error> Display for ProviderChainError<E>
Source§impl<E: Error + 'static> Error for ProviderChainError<E>
impl<E: Error + 'static> Error for ProviderChainError<E>
1.30.0 · Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
Returns the lower-level source of this error, if any. Read more
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
👎Deprecated since 1.42.0:
use the Display impl or to_string()
Auto Trait Implementations§
impl<E> Freeze for ProviderChainError<E>
impl<E> RefUnwindSafe for ProviderChainError<E>where
E: RefUnwindSafe,
impl<E> Send for ProviderChainError<E>where
E: Send,
impl<E> Sync for ProviderChainError<E>where
E: Sync,
impl<E> Unpin for ProviderChainError<E>where
E: Unpin,
impl<E> UnsafeUnpin for ProviderChainError<E>
impl<E> UnwindSafe for ProviderChainError<E>where
E: UnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreCreates a shared type from an unshared type.