pub struct Principal {
pub role: Role,
pub pools: Option<Arc<[Arc<str>]>>,
pub labels: Option<Labels>,
pub tenant: Option<Arc<str>>,
pub bearer: Option<Bearer>,
pub forwarded: bool,
}Expand description
An authenticated caller.
Fields§
§role: RoleGranted role.
pools: Option<Arc<[Arc<str>]>>Pools the caller may use (None = all).
labels: Option<Labels>Worker labels a worker with these credentials may claim, as name=value pairs
(None = any).
tenant: Option<Arc<str>>Tenant these credentials submit for (None = the caller names it).
bearer: Option<Bearer>The bearer token the caller authenticated with, to forward calls to another shard
(None for client certificates, which cannot be forwarded).
forwarded: boolThe call was forwarded by another shard’s server: answer it from this shard only.
Implementations§
Source§impl Principal
impl Principal
Sourcepub fn anonymous_admin() -> Principal
pub fn anonymous_admin() -> Principal
Unrestricted administrator (used when authentication is disabled).
Sourcepub fn may_claim_labels(&self, labels: &[(Arc<str>, Arc<str>)]) -> bool
pub fn may_claim_labels(&self, labels: &[(Arc<str>, Arc<str>)]) -> bool
Whether a worker with these credentials may claim every one of labels.
Sourcepub fn may_use_pool(&self, pool: &str) -> bool
pub fn may_use_pool(&self, pool: &str) -> bool
Whether this principal may use pool.
Trait Implementations§
impl Eq for Principal
impl StructuralPartialEq for Principal
Auto Trait Implementations§
impl Freeze for Principal
impl RefUnwindSafe for Principal
impl Send for Principal
impl Sync for Principal
impl Unpin for Principal
impl UnsafeUnpin for Principal
impl UnwindSafe for Principal
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
Source§fn with_current_context(self) -> WithContext<Self> ⓘ
fn with_current_context(self) -> WithContext<Self> ⓘ
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