ProvideCredential

Trait ProvideCredential 

pub trait ProvideCredential:
    Debug
    + Send
    + Sync
    + Unpin
    + 'static {
    type Credential: Send + Sync + Unpin + 'static;

    // Required method
    fn provide_credential(
        &self,
        ctx: &Context,
    ) -> impl Future<Output = Result<Option<Self::Credential>, Error>> + MaybeSend;
}
Expand description

Trait for types that can asynchronously supply AwsCredential to a CustomAwsCredentialLoader. ProvideCredential is the trait used by signer to load the credential from the environment. ` Service may require different credential to sign the request, for example, AWS require access key and secret key, while Google Cloud Storage require token.

Required Associated Types§

type Credential: Send + Sync + Unpin + 'static

Credential returned by this loader.

Typically, it will be a credential.

Required Methods§

fn provide_credential( &self, ctx: &Context, ) -> impl Future<Output = Result<Option<Self::Credential>, Error>> + MaybeSend

Load signing credential from current env.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

§

impl ProvideCredential for AssumeRoleCredentialProvider

§

type Credential = Credential

§

async fn provide_credential( &self, ctx: &Context, ) -> Result<Option<<AssumeRoleCredentialProvider as ProvideCredential>::Credential>, Error>

§

impl ProvideCredential for AssumeRoleCredentialProvider

§

type Credential = Credential

§

async fn provide_credential( &self, ctx: &Context, ) -> Result<Option<<AssumeRoleCredentialProvider as ProvideCredential>::Credential>, Error>

§

impl ProvideCredential for AssumeRoleWithOidcCredentialProvider

§

type Credential = Credential

§

async fn provide_credential( &self, ctx: &Context, ) -> Result<Option<<AssumeRoleWithOidcCredentialProvider as ProvideCredential>::Credential>, Error>

§

impl ProvideCredential for AssumeRoleWithWebIdentityCredentialProvider

§

type Credential = Credential

§

async fn provide_credential( &self, ctx: &Context, ) -> Result<Option<<AssumeRoleWithWebIdentityCredentialProvider as ProvideCredential>::Credential>, Error>

§

impl ProvideCredential for AzureCliCredentialProvider

§

type Credential = Credential

§

async fn provide_credential( &self, ctx: &Context, ) -> Result<Option<<AzureCliCredentialProvider as ProvideCredential>::Credential>, Error>

§

impl ProvideCredential for AzurePipelinesCredentialProvider

§

type Credential = Credential

§

async fn provide_credential( &self, ctx: &Context, ) -> Result<Option<<AzurePipelinesCredentialProvider as ProvideCredential>::Credential>, Error>

§

impl ProvideCredential for ClientCertificateCredentialProvider

§

type Credential = Credential

§

async fn provide_credential( &self, ctx: &Context, ) -> Result<Option<<ClientCertificateCredentialProvider as ProvideCredential>::Credential>, Error>

§

impl ProvideCredential for ClientSecretCredentialProvider

§

type Credential = Credential

§

async fn provide_credential( &self, ctx: &Context, ) -> Result<Option<<ClientSecretCredentialProvider as ProvideCredential>::Credential>, Error>

§

impl ProvideCredential for CognitoIdentityCredentialProvider

§

type Credential = Credential

§

async fn provide_credential( &self, ctx: &Context, ) -> Result<Option<<CognitoIdentityCredentialProvider as ProvideCredential>::Credential>, Error>

§

impl ProvideCredential for ConfigFileCredentialProvider

§

type Credential = Credential

§

async fn provide_credential( &self, ctx: &Context, ) -> Result<Option<<ConfigFileCredentialProvider as ProvideCredential>::Credential>, Error>

§

impl ProvideCredential for CredentialsFileCredentialProvider

§

type Credential = Credential

§

async fn provide_credential( &self, ctx: &Context, ) -> Result<Option<<CredentialsFileCredentialProvider as ProvideCredential>::Credential>, Error>

§

impl ProvideCredential for CredentialsUriCredentialProvider

§

type Credential = Credential

§

async fn provide_credential( &self, ctx: &Context, ) -> Result<Option<<CredentialsUriCredentialProvider as ProvideCredential>::Credential>, Error>

§

impl ProvideCredential for DefaultCredentialProvider

§

type Credential = Credential

§

async fn provide_credential( &self, ctx: &Context, ) -> Result<Option<<DefaultCredentialProvider as ProvideCredential>::Credential>, Error>

§

impl ProvideCredential for DefaultCredentialProvider

§

type Credential = Credential

§

async fn provide_credential( &self, ctx: &Context, ) -> Result<Option<<DefaultCredentialProvider as ProvideCredential>::Credential>, Error>

§

impl ProvideCredential for DefaultCredentialProvider

§

type Credential = Credential

§

async fn provide_credential( &self, ctx: &Context, ) -> Result<Option<<DefaultCredentialProvider as ProvideCredential>::Credential>, Error>

§

impl ProvideCredential for DefaultCredentialProvider

§

type Credential = Credential

§

async fn provide_credential( &self, ctx: &Context, ) -> Result<Option<<DefaultCredentialProvider as ProvideCredential>::Credential>, Error>

§

impl ProvideCredential for ECSCredentialProvider

§

type Credential = Credential

§

async fn provide_credential( &self, ctx: &Context, ) -> Result<Option<<ECSCredentialProvider as ProvideCredential>::Credential>, Error>

§

impl ProvideCredential for EcsRamRoleCredentialProvider

§

type Credential = Credential

§

async fn provide_credential( &self, ctx: &Context, ) -> Result<Option<<EcsRamRoleCredentialProvider as ProvideCredential>::Credential>, Error>

§

impl ProvideCredential for EnvCredentialProvider

§

type Credential = Credential

§

async fn provide_credential( &self, ctx: &Context, ) -> Result<Option<<EnvCredentialProvider as ProvideCredential>::Credential>, Error>

§

impl ProvideCredential for EnvCredentialProvider

§

type Credential = Credential

§

async fn provide_credential( &self, ctx: &Context, ) -> Result<Option<<EnvCredentialProvider as ProvideCredential>::Credential>, Error>

§

impl ProvideCredential for EnvCredentialProvider

§

type Credential = Credential

§

async fn provide_credential( &self, ctx: &Context, ) -> Result<Option<<EnvCredentialProvider as ProvideCredential>::Credential>, Error>

§

impl ProvideCredential for EnvCredentialProvider

§

type Credential = Credential

§

async fn provide_credential( &self, ctx: &Context, ) -> Result<Option<<EnvCredentialProvider as ProvideCredential>::Credential>, Error>

§

impl ProvideCredential for FileCredentialProvider

§

type Credential = Credential

§

async fn provide_credential( &self, ctx: &Context, ) -> Result<Option<<FileCredentialProvider as ProvideCredential>::Credential>, Error>

§

impl ProvideCredential for IMDSv2CredentialProvider

§

type Credential = Credential

§

async fn provide_credential( &self, ctx: &Context, ) -> Result<Option<<IMDSv2CredentialProvider as ProvideCredential>::Credential>, Error>

§

impl ProvideCredential for ImdsCredentialProvider

§

type Credential = Credential

§

async fn provide_credential( &self, ctx: &Context, ) -> Result<Option<<ImdsCredentialProvider as ProvideCredential>::Credential>, Error>

§

impl ProvideCredential for OssProfileCredentialProvider

§

type Credential = Credential

§

async fn provide_credential( &self, ctx: &Context, ) -> Result<Option<<OssProfileCredentialProvider as ProvideCredential>::Credential>, Error>

§

impl ProvideCredential for ProcessCredentialProvider

§

type Credential = Credential

§

async fn provide_credential( &self, ctx: &Context, ) -> Result<Option<<ProcessCredentialProvider as ProvideCredential>::Credential>, Error>

§

impl ProvideCredential for ProfileCredentialProvider

§

type Credential = Credential

§

async fn provide_credential( &self, ctx: &Context, ) -> Result<Option<<ProfileCredentialProvider as ProvideCredential>::Credential>, Error>

§

impl ProvideCredential for S3ExpressSessionProvider

§

type Credential = Credential

§

async fn provide_credential( &self, ctx: &Context, ) -> Result<Option<<S3ExpressSessionProvider as ProvideCredential>::Credential>, Error>

§

impl ProvideCredential for SSOCredentialProvider

§

type Credential = Credential

§

async fn provide_credential( &self, ctx: &Context, ) -> Result<Option<<SSOCredentialProvider as ProvideCredential>::Credential>, Error>

§

impl ProvideCredential for StaticCredentialProvider

§

type Credential = Credential

§

async fn provide_credential( &self, _ctx: &Context, ) -> Result<Option<<StaticCredentialProvider as ProvideCredential>::Credential>, Error>

§

impl ProvideCredential for StaticCredentialProvider

§

type Credential = Credential

§

async fn provide_credential( &self, ctx: &Context, ) -> Result<Option<<StaticCredentialProvider as ProvideCredential>::Credential>, Error>

§

impl ProvideCredential for StaticCredentialProvider

§

type Credential = Credential

§

async fn provide_credential( &self, _: &Context, ) -> Result<Option<<StaticCredentialProvider as ProvideCredential>::Credential>, Error>

§

impl ProvideCredential for StaticCredentialProvider

§

type Credential = Credential

§

async fn provide_credential( &self, _: &Context, ) -> Result<Option<<StaticCredentialProvider as ProvideCredential>::Credential>, Error>

§

impl ProvideCredential for TokenCredentialProvider

§

type Credential = Credential

§

async fn provide_credential( &self, ctx: &Context, ) -> Result<Option<<TokenCredentialProvider as ProvideCredential>::Credential>, Error>

§

impl ProvideCredential for VmMetadataCredentialProvider

§

type Credential = Credential

§

async fn provide_credential( &self, ctx: &Context, ) -> Result<Option<<VmMetadataCredentialProvider as ProvideCredential>::Credential>, Error>

§

impl ProvideCredential for WellKnownCredentialProvider

§

type Credential = Credential

§

async fn provide_credential( &self, ctx: &Context, ) -> Result<Option<<WellKnownCredentialProvider as ProvideCredential>::Credential>, Error>

§

impl ProvideCredential for WorkloadIdentityCredentialProvider

§

type Credential = Credential

§

async fn provide_credential( &self, ctx: &Context, ) -> Result<Option<<WorkloadIdentityCredentialProvider as ProvideCredential>::Credential>, Error>

§

impl<T> ProvideCredential for Arc<T>
where T: ProvideCredentialDyn + ?Sized,

§

type Credential = <T as ProvideCredentialDyn>::Credential

§

async fn provide_credential( &self, ctx: &Context, ) -> Result<Option<<Arc<T> as ProvideCredential>::Credential>, Error>

Implementors§

§

impl<C> ProvideCredential for ProvideCredentialChain<C>
where C: Send + Sync + Unpin + 'static,

§

type Credential = C