pub struct ApplicationDefaultCredentialsAuthenticator;
Expand description
Create an authenticator that uses a application default credentials.
let opts = ApplicationDefaultCredentialsFlowOpts::default();
let authenticator = match ApplicationDefaultCredentialsAuthenticator::builder(opts).await {
ApplicationDefaultCredentialsTypes::InstanceMetadata(auth) => auth
.build()
.await
.expect("Unable to create instance metadata authenticator"),
ApplicationDefaultCredentialsTypes::ServiceAccount(auth) => auth
.build()
.await
.expect("Unable to create service account authenticator"),
};
Implementations§
source§impl ApplicationDefaultCredentialsAuthenticator
impl ApplicationDefaultCredentialsAuthenticator
sourcepub async fn from_environment() -> Result<ServiceAccountFlowOpts, VarError>
pub async fn from_environment() -> Result<ServiceAccountFlowOpts, VarError>
Try to build ServiceAccountFlowOpts from the environment
sourcepub async fn builder(
opts: ApplicationDefaultCredentialsFlowOpts
) -> ApplicationDefaultCredentialsTypes<DefaultHyperClient>
Available on crate features hyper-rustls
or hyper-tls
only.
pub async fn builder( opts: ApplicationDefaultCredentialsFlowOpts ) -> ApplicationDefaultCredentialsTypes<DefaultHyperClient>
hyper-rustls
or hyper-tls
only.Use the builder pattern to deduce which model of authenticator should be used: Service account one or GCE instance metadata kind
sourcepub async fn with_client<C>(
opts: ApplicationDefaultCredentialsFlowOpts,
client: C
) -> ApplicationDefaultCredentialsTypes<C>where
C: HyperClientBuilder,
pub async fn with_client<C>( opts: ApplicationDefaultCredentialsFlowOpts, client: C ) -> ApplicationDefaultCredentialsTypes<C>where C: HyperClientBuilder,
Use the builder pattern to deduce which model of authenticator should be used and allow providing a hyper client