pub struct SpiffeWorkloadGrpc { /* private fields */ }Expand description
SPIFFE Workload API adapter.
Implementations§
Source§impl SpiffeWorkloadGrpc
impl SpiffeWorkloadGrpc
Sourcepub const fn new(state: Arc<BrokerState>) -> Self
pub const fn new(state: Arc<BrokerState>) -> Self
Build a Workload API service adapter.
Trait Implementations§
Source§impl Clone for SpiffeWorkloadGrpc
impl Clone for SpiffeWorkloadGrpc
Source§fn clone(&self) -> SpiffeWorkloadGrpc
fn clone(&self) -> SpiffeWorkloadGrpc
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 moreSource§impl Debug for SpiffeWorkloadGrpc
impl Debug for SpiffeWorkloadGrpc
Source§impl SpiffeWorkloadApi for SpiffeWorkloadGrpc
impl SpiffeWorkloadApi for SpiffeWorkloadGrpc
Source§type FetchX509SVIDStream = Pin<Box<dyn Stream<Item = Result<X509svidResponse, Status>> + Send>>
type FetchX509SVIDStream = Pin<Box<dyn Stream<Item = Result<X509svidResponse, Status>> + Send>>
Server streaming response type for the FetchX509SVID method.
Source§type FetchX509BundlesStream = Pin<Box<dyn Stream<Item = Result<X509BundlesResponse, Status>> + Send>>
type FetchX509BundlesStream = Pin<Box<dyn Stream<Item = Result<X509BundlesResponse, Status>> + Send>>
Server streaming response type for the FetchX509Bundles method.
Source§type FetchJWTBundlesStream = Pin<Box<dyn Stream<Item = Result<JwtBundlesResponse, Status>> + Send>>
type FetchJWTBundlesStream = Pin<Box<dyn Stream<Item = Result<JwtBundlesResponse, Status>> + Send>>
Server streaming response type for the FetchJWTBundles method.
Source§fn fetch_x509svid<'life0, 'async_trait>(
&'life0 self,
request: Request<X509svidRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<Self::FetchX509SVIDStream>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn fetch_x509svid<'life0, 'async_trait>(
&'life0 self,
request: Request<X509svidRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<Self::FetchX509SVIDStream>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Fetch X.509-SVIDs for all SPIFFE identities the workload is entitled to,
as well as related information like trust bundles and CRLs. As this
information changes, subsequent messages will be streamed from the
server.
Source§fn fetch_x509_bundles<'life0, 'async_trait>(
&'life0 self,
request: Request<X509BundlesRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<Self::FetchX509BundlesStream>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn fetch_x509_bundles<'life0, 'async_trait>(
&'life0 self,
request: Request<X509BundlesRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<Self::FetchX509BundlesStream>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Fetch trust bundles and CRLs. Useful for clients that only need to
validate SVIDs without obtaining an SVID for themself. As this
information changes, subsequent messages will be streamed from the
server.
Source§fn fetch_jwtsvid<'life0, 'async_trait>(
&'life0 self,
request: Request<JwtsvidRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<JwtsvidResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn fetch_jwtsvid<'life0, 'async_trait>(
&'life0 self,
request: Request<JwtsvidRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<JwtsvidResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Fetch JWT-SVIDs for all SPIFFE identities the workload is entitled to,
for the requested audience. If an optional SPIFFE ID is requested, only
the JWT-SVID for that SPIFFE ID is returned.
Source§fn fetch_jwt_bundles<'life0, 'async_trait>(
&'life0 self,
request: Request<JwtBundlesRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<Self::FetchJWTBundlesStream>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn fetch_jwt_bundles<'life0, 'async_trait>(
&'life0 self,
request: Request<JwtBundlesRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<Self::FetchJWTBundlesStream>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Fetches the JWT bundles, formatted as JWKS documents, keyed by the
SPIFFE ID of the trust domain. As this information changes, subsequent
messages will be streamed from the server.
Source§fn validate_jwtsvid<'life0, 'async_trait>(
&'life0 self,
request: Request<ValidateJwtsvidRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<ValidateJwtsvidResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn validate_jwtsvid<'life0, 'async_trait>(
&'life0 self,
request: Request<ValidateJwtsvidRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<ValidateJwtsvidResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Validates a JWT-SVID against the requested audience. Returns the SPIFFE
ID of the JWT-SVID and JWT claims.
Auto Trait Implementations§
impl !RefUnwindSafe for SpiffeWorkloadGrpc
impl !UnwindSafe for SpiffeWorkloadGrpc
impl Freeze for SpiffeWorkloadGrpc
impl Send for SpiffeWorkloadGrpc
impl Sync for SpiffeWorkloadGrpc
impl Unpin for SpiffeWorkloadGrpc
impl UnsafeUnpin for SpiffeWorkloadGrpc
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,
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 moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request