pub struct LookupSubjectsRequest {
pub consistency: Option<Consistency>,
pub resource: Option<ObjectReference>,
pub permission: String,
pub subject_object_type: String,
pub optional_subject_relation: String,
pub context: Option<Struct>,
pub optional_concrete_limit: u32,
pub optional_cursor: Option<Cursor>,
pub wildcard_option: i32,
}
Expand description
LookupSubjectsRequest performs a lookup of all subjects of a particular kind for which the subject has the specified permission or the relation in which the subject exists, streaming back the IDs of those subjects.
Fields§
§consistency: Option<Consistency>
§resource: Option<ObjectReference>
resource is the resource for which all matching subjects for the permission or relation will be returned.
permission: String
permission is the name of the permission (or relation) for which to find the subjects.
subject_object_type: String
subject_object_type is the type of subject object for which the IDs will be returned.
optional_subject_relation: String
optional_subject_relation is the optional relation for the subject.
context: Option<Struct>
context consists of named values that are injected into the caveat evaluation context
optional_concrete_limit: u32
optional_concrete_limit, if non-zero, specifies the limit on the number of concrete (non-wildcard) subjects to return before the stream is closed on the server side. With the default value of zero, the stream will continue resolving concrete subjects until exhausted or the stream is closed due to the client or a network issue.
NOTE: Wildcard subjects (“*”) have special treatment when cursors and limits are used. Because wildcards can apply to any concrete subjects, if a wildcard subject is found within the dataset, a wildcard subject can be returned for all LookupSubjects calls, regardless of the cursor or limit.
For example, if wildcards are requested, a wildcard subject exists, there is a specified limit of 10 concrete subjects, and at least 10 concrete subjects exist, the API will return 11 subjects in total: the 10 concrete + the wildcard
Furthermore, if a wildcard has a set of exclusions generated by the dataset, the exclusions will respect the cursor and only a partial set of exclusions will be returned for each invocation of the API.
IT IS UP TO THE CALLER IN THIS CASE TO COMBINE THE EXCLUSIONS IF DESIRED
optional_cursor: Option<Cursor>
optional_cursor, if specified, indicates the cursor after which results should resume being returned. The cursor can be found on the LookupSubjectsResponse object.
NOTE: See above for notes about how cursors interact with wildcard subjects.
wildcard_option: i32
wildcard_option specifies whether wildcards should be returned by LookupSubjects. For backwards compatibility, defaults to WILDCARD_OPTION_INCLUDE_WILDCARDS if unspecified.
Implementations§
Source§impl LookupSubjectsRequest
impl LookupSubjectsRequest
Sourcepub fn wildcard_option(&self) -> WildcardOption
pub fn wildcard_option(&self) -> WildcardOption
Returns the enum value of wildcard_option
, or the default if the field is set to an invalid enum value.
Sourcepub fn set_wildcard_option(&mut self, value: WildcardOption)
pub fn set_wildcard_option(&mut self, value: WildcardOption)
Sets wildcard_option
to the provided enum value.
Trait Implementations§
Source§impl Clone for LookupSubjectsRequest
impl Clone for LookupSubjectsRequest
Source§fn clone(&self) -> LookupSubjectsRequest
fn clone(&self) -> LookupSubjectsRequest
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for LookupSubjectsRequest
impl Debug for LookupSubjectsRequest
Source§impl Default for LookupSubjectsRequest
impl Default for LookupSubjectsRequest
Source§impl Message for LookupSubjectsRequest
impl Message for LookupSubjectsRequest
Source§fn encoded_len(&self) -> usize
fn encoded_len(&self) -> usize
Source§fn encode<B>(&self, buf: &mut B) -> Result<(), EncodeError>
fn encode<B>(&self, buf: &mut B) -> Result<(), EncodeError>
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<B>(&self, buf: &mut B) -> Result<(), EncodeError>
fn encode_length_delimited<B>(&self, buf: &mut B) -> Result<(), EncodeError>
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<B>(buf: B) -> Result<Self, DecodeError>
fn decode<B>(buf: B) -> Result<Self, DecodeError>
Source§fn decode_length_delimited<B>(buf: B) -> Result<Self, DecodeError>
fn decode_length_delimited<B>(buf: B) -> Result<Self, DecodeError>
Source§fn merge<B>(&mut self, buf: B) -> Result<(), DecodeError>
fn merge<B>(&mut self, buf: B) -> Result<(), DecodeError>
self
. Read moreSource§fn merge_length_delimited<B>(&mut self, buf: B) -> Result<(), DecodeError>
fn merge_length_delimited<B>(&mut self, buf: B) -> Result<(), DecodeError>
self
.Source§impl PartialEq for LookupSubjectsRequest
impl PartialEq for LookupSubjectsRequest
impl StructuralPartialEq for LookupSubjectsRequest
Auto Trait Implementations§
impl Freeze for LookupSubjectsRequest
impl RefUnwindSafe for LookupSubjectsRequest
impl Send for LookupSubjectsRequest
impl Sync for LookupSubjectsRequest
impl Unpin for LookupSubjectsRequest
impl UnwindSafe for LookupSubjectsRequest
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