pub enum ProviderCredential {
ApiKey(ApiKeySecret),
GoogleServiceAccount(Box<ServiceAccountKey>),
}Expand description
A credential an upstream provider will accept, parsed from its secret.
An API key is the credential and is sent verbatim; a Google service-account
key is exchanged for a short-lived OAuth bearer token. scope is the
coordinates the credential supplies to the endpoint it authenticates, and
fill_endpoint resolves a catalog endpoint template against them.
Variants§
ApiKey(ApiKeySecret)
GoogleServiceAccount(Box<ServiceAccountKey>)
Implementations§
Source§impl ProviderCredential
impl ProviderCredential
pub fn parse(secret: &str) -> Result<Self, CredentialError>
pub const fn kind(&self) -> CredentialKind
pub fn scope(&self) -> CredentialScope
pub async fn bearer( &self, cache_key: &str, ) -> Result<AuthHeader, CredentialError>
pub fn fill_endpoint(&self, template: &str) -> Result<String, CredentialError>
Trait Implementations§
Source§impl Clone for ProviderCredential
impl Clone for ProviderCredential
Source§fn clone(&self) -> ProviderCredential
fn clone(&self) -> ProviderCredential
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for ProviderCredential
impl RefUnwindSafe for ProviderCredential
impl Send for ProviderCredential
impl Sync for ProviderCredential
impl Unpin for ProviderCredential
impl UnsafeUnpin for ProviderCredential
impl UnwindSafe for ProviderCredential
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<A, B, T> HttpServerConnExec<A, B> for Twhere
B: Body,
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 more