Struct cedar_policy::RequestBuilder

source ·
pub struct RequestBuilder<S> { /* private fields */ }
Available on crate feature partial-eval only.
Expand description

Builder for a Request

The default for principal, action, resource, and context fields is Unknown for partial evaluation.

This feature is experimental. For more information see https://github.com/cedar-policy/rfcs/blob/main/README.md#experimental-features

Implementations§

source§

impl<S> RequestBuilder<S>

source

pub fn principal(self, principal: Option<EntityUid>) -> Self

Set the principal.

Note that you can create the EntityUid using .parse() on any string (via the FromStr implementation for EntityUid).

Here, passing None for principal indicates that principal does not contribute to authorization decisions (e.g., because it is not used in your policies). This is different than Unknown for partial-evaluation purposes.

source

pub fn action(self, action: Option<EntityUid>) -> Self

Set the action.

Note that you can create the EntityUid using .parse() on any string (via the FromStr implementation for EntityUid).

Here, passing None for action indicates that action does not contribute to authorization decisions (e.g., because it is not used in your policies). This is different than Unknown for partial-evaluation purposes.

source

pub fn resource(self, resource: Option<EntityUid>) -> Self

Set the resource.

Note that you can create the EntityUid using .parse() on any string (via the FromStr implementation for EntityUid).

Here, passing None for resource indicates that resource does not contribute to authorization decisions (e.g., because it is not used in your policies). This is different than Unknown for partial-evaluation purposes.

source

pub fn context(self, context: Context) -> Self

Set the context.

source§

impl RequestBuilder<UnsetSchema>

source

pub fn schema(self, schema: &Schema) -> RequestBuilder<&Schema>

Set the schema. If present, this will be used for request validation.

source

pub fn build(self) -> Request

Create the Request

source§

impl RequestBuilder<&Schema>

Trait Implementations§

source§

impl<S: Debug> Debug for RequestBuilder<S>

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for RequestBuilder<UnsetSchema>

source§

fn default() -> Self

Returns the “default value” for a type. Read more

Auto Trait Implementations§

§

impl<S> Freeze for RequestBuilder<S>
where S: Freeze,

§

impl<S> RefUnwindSafe for RequestBuilder<S>
where S: RefUnwindSafe,

§

impl<S> Send for RequestBuilder<S>
where S: Send,

§

impl<S> Sync for RequestBuilder<S>
where S: Sync,

§

impl<S> Unpin for RequestBuilder<S>
where S: Unpin,

§

impl<S> UnwindSafe for RequestBuilder<S>
where S: UnwindSafe,

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> IntoEither for T

source§

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 more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

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 more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.