pub enum Denial {
NoPermission {
object_type: String,
action: String,
},
NoPath {
relations: Vec<String>,
objects: Vec<String>,
},
Exhausted {
visited: usize,
},
}Expand description
Why a check failed.
Variants§
NoPermission
No permission entity maps the action onto any relation.
NoPath
Relations were known but no path reached the subject.
Fields
Exhausted
The search hit its bounds before finding a path. Reported separately
from NoPath because it is an operational signal, not a policy answer.
Trait Implementations§
impl Eq for Denial
impl StructuralPartialEq for Denial
Auto Trait Implementations§
impl Freeze for Denial
impl RefUnwindSafe for Denial
impl Send for Denial
impl Sync for Denial
impl Unpin for Denial
impl UnsafeUnpin for Denial
impl UnwindSafe for Denial
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> 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> 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