pub struct CheckDebugTrace {
pub resource: Option<ObjectReference>,
pub permission: String,
pub permission_type: i32,
pub subject: Option<SubjectReference>,
pub result: i32,
pub caveat_evaluation_info: Option<CaveatEvalInfo>,
pub duration: Option<Duration>,
pub optional_expires_at: Option<Timestamp>,
pub trace_operation_id: String,
pub source: String,
pub resolution: Option<Resolution>,
}Expand description
CheckDebugTrace is a recursive trace of the requests made for resolving a CheckPermission API call.
Fields§
§resource: Option<ObjectReference>resource holds the resource on which the Check was performed. for batched calls, the object_id field contains a comma-separated list of object IDs for all the resources checked in the batch.
permission: Stringpermission holds the name of the permission or relation on which the Check was performed.
permission_type: i32permission_type holds information indicating whether it was a permission or relation.
subject: Option<SubjectReference>subject holds the subject on which the Check was performed. This will be static across all calls within the same Check tree.
result: i32result holds the result of the Check call.
caveat_evaluation_info: Option<CaveatEvalInfo>caveat_evaluation_info holds information about the caveat evaluated for this step of the trace.
duration: Option<Duration>duration holds the time spent executing this Check operation.
optional_expires_at: Option<Timestamp>optional_expires_at is the time at which at least one of the relationships used to compute this result, expires (if any). This is not related to the caching window.
trace_operation_id: Stringtrace_operation_id is a unique identifier for this trace’s operation, that will be shared for all traces created for the same check operation in SpiceDB.
In cases where SpiceDB performs automatic batching of subproblems, this ID can be used to correlate work that was shared across multiple traces.
This identifier is generated by SpiceDB, is to be considered opaque to the caller and only guaranteed to be unique within the same overall Check or CheckBulk operation.
source: Stringsource holds the source of the result. It is of the form:
<sourcetype>:<sourceid>, where sourcetype can be, among others:
spicedb, materialize, etc.
resolution: Option<Resolution>resolution holds information about how the problem was resolved.
Implementations§
Source§impl CheckDebugTrace
impl CheckDebugTrace
Sourcepub fn permission_type(&self) -> PermissionType
pub fn permission_type(&self) -> PermissionType
Returns the enum value of permission_type, or the default if the field is set to an invalid enum value.
Sourcepub fn set_permission_type(&mut self, value: PermissionType)
pub fn set_permission_type(&mut self, value: PermissionType)
Sets permission_type to the provided enum value.
Sourcepub fn result(&self) -> Permissionship
pub fn result(&self) -> Permissionship
Returns the enum value of result, or the default if the field is set to an invalid enum value.
Sourcepub fn set_result(&mut self, value: Permissionship)
pub fn set_result(&mut self, value: Permissionship)
Sets result to the provided enum value.
Trait Implementations§
Source§impl Clone for CheckDebugTrace
impl Clone for CheckDebugTrace
Source§fn clone(&self) -> CheckDebugTrace
fn clone(&self) -> CheckDebugTrace
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for CheckDebugTrace
impl Debug for CheckDebugTrace
Source§impl Default for CheckDebugTrace
impl Default for CheckDebugTrace
Source§impl Message for CheckDebugTrace
impl Message for CheckDebugTrace
Source§fn encoded_len(&self) -> usize
fn encoded_len(&self) -> usize
Source§fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
Source§fn encode_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
fn encode_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
Source§fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
Source§fn encode_length_delimited_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
fn encode_length_delimited_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
Source§fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
Source§fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
Source§fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
self. Read moreSource§fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
self.Source§impl PartialEq for CheckDebugTrace
impl PartialEq for CheckDebugTrace
impl StructuralPartialEq for CheckDebugTrace
Auto Trait Implementations§
impl Freeze for CheckDebugTrace
impl RefUnwindSafe for CheckDebugTrace
impl Send for CheckDebugTrace
impl Sync for CheckDebugTrace
impl Unpin for CheckDebugTrace
impl UnwindSafe for CheckDebugTrace
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
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> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request