pub struct SpiffeIdentity {
pub trust_domain: String,
pub path: String,
}Expand description
A SPIFFE ID: the trust domain and the path that together form the
workload identity (spiffe://<trust-domain>/<path>).
The SPIFFE ID is the URI SAN carried in an X.509 SVID; it is the
authentication identity the mesh uses for policy decisions. The
trust domain is the trust boundary (e.g. example.org); the path
identifies the workload within the trust domain (e.g.
/ns/default/sa/my-service).
Fields§
§trust_domain: StringThe trust domain (the part after spiffe:// and before the
first /). Must be non-empty.
path: StringThe SPIFFE path (everything after the trust domain, including
the leading /). Must start with /.
Implementations§
Source§impl SpiffeIdentity
impl SpiffeIdentity
Sourcepub fn new(trust_domain: impl Into<String>, path: impl Into<String>) -> Self
pub fn new(trust_domain: impl Into<String>, path: impl Into<String>) -> Self
Build a SPIFFE ID from a trust domain and path. The path is
normalized to start with / (a leading slash is prepended when
missing, mirroring the SPIFFE ID grammar).
Sourcepub fn parse(uri: &str) -> Option<Self>
pub fn parse(uri: &str) -> Option<Self>
Parse a spiffe://<trust-domain>/<path> URI into a
SpiffeIdentity. Returns None when the scheme is not
spiffe:// or the trust domain is empty.
Trait Implementations§
Source§impl Clone for SpiffeIdentity
impl Clone for SpiffeIdentity
Source§fn clone(&self) -> SpiffeIdentity
fn clone(&self) -> SpiffeIdentity
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for SpiffeIdentity
impl Debug for SpiffeIdentity
Source§impl Display for SpiffeIdentity
impl Display for SpiffeIdentity
Source§impl PartialEq for SpiffeIdentity
impl PartialEq for SpiffeIdentity
impl Eq for SpiffeIdentity
impl StructuralPartialEq for SpiffeIdentity
Auto Trait Implementations§
impl Freeze for SpiffeIdentity
impl RefUnwindSafe for SpiffeIdentity
impl Send for SpiffeIdentity
impl Sync for SpiffeIdentity
impl Unpin for SpiffeIdentity
impl UnwindSafe for SpiffeIdentity
Blanket Implementations§
§impl<T> AnyExt for T
impl<T> AnyExt for T
§fn downcast_ref<T>(this: &Self) -> Option<&T>where
T: Any,
fn downcast_ref<T>(this: &Self) -> Option<&T>where
T: Any,
T behind reference§fn downcast_mut<T>(this: &mut Self) -> Option<&mut T>where
T: Any,
fn downcast_mut<T>(this: &mut Self) -> Option<&mut T>where
T: Any,
T behind mutable reference§fn downcast_rc<T>(this: Rc<Self>) -> Result<Rc<T>, Rc<Self>>where
T: Any,
fn downcast_rc<T>(this: Rc<Self>) -> Result<Rc<T>, Rc<Self>>where
T: Any,
T behind Rc pointer§fn downcast_arc<T>(this: Arc<Self>) -> Result<Arc<T>, Arc<Self>>where
T: Any,
fn downcast_arc<T>(this: Arc<Self>) -> Result<Arc<T>, Arc<Self>>where
T: Any,
T behind Arc pointer§fn downcast_box<T>(this: Box<Self>) -> Result<Box<T>, Box<Self>>where
T: Any,
fn downcast_box<T>(this: Box<Self>) -> Result<Box<T>, Box<Self>>where
T: Any,
T behind Box pointer§fn downcast_move<T>(this: Self) -> Option<T>
fn downcast_move<T>(this: Self) -> Option<T>
Self to T,
useful only in generic context as a workaround for specializationSource§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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T, X> CoerceTo<T> for Xwhere
T: CoerceFrom<X> + ?Sized,
impl<T, X> CoerceTo<T> for Xwhere
T: CoerceFrom<X> + ?Sized,
fn coerce_rc_to(self: Rc<X>) -> Rc<T>
fn coerce_box_to(self: Box<X>) -> Box<T>
fn coerce_ref_to(&self) -> &T
fn coerce_mut_to(&mut self) -> &mut T
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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>
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>
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