cedar_policy

Struct Validator

source
pub struct Validator(/* private fields */);
Expand description

Validator object, which provides policy validation and typechecking.

Implementations§

source§

impl Validator

source

pub fn new(schema: Schema) -> Self

Construct a new Validator to validate policies using the given Schema.

source

pub fn validate( &self, pset: &PolicySet, mode: ValidationMode, ) -> ValidationResult

Validate all policies in a policy set, collecting all validation errors found into the returned ValidationResult. Each error is returned together with the policy id of the policy where the error was found. If a policy id included in the input policy set does not appear in the output iterator, then that policy passed the validator. If the function validation_passed returns true, then there were no validation errors found, so all policies in the policy set have passed the validator.

source

pub fn validate_with_level( &self, pset: &PolicySet, mode: ValidationMode, max_deref_level: u32, ) -> ValidationResult

Available on crate feature level-validate only.

Validate all policies in a policy set, collecting all validation errors found into the returned ValidationResult. If validation passes, run level validation (RFC 76). Each error is returned together with the policy id of the policy where the error was found. If a policy id included in the input policy set does not appear in the output iterator, then that policy passed the validator. If the function validation_passed returns true, then there were no validation errors found, so all policies in the policy set have passed the validator.

Trait Implementations§

source§

impl Debug for Validator

source§

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

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

impl RefCast for Validator

source§

type From = Validator

source§

fn ref_cast(_from: &Self::From) -> &Self

source§

fn ref_cast_mut(_from: &mut Self::From) -> &mut Self

Auto Trait Implementations§

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>,

source§

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>,

source§

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.