pub struct LocalPolicyEvaluator { /* private fields */ }Expand description
A lightweight local policy evaluator for simple attribute-based checks.
Useful when a full OPA server is not deployed. Supports rule evaluation against a set of named attributes.
Implementations§
Source§impl LocalPolicyEvaluator
impl LocalPolicyEvaluator
Sourcepub fn add_rule(&mut self, rule: PolicyRule)
pub fn add_rule(&mut self, rule: PolicyRule)
Add a policy rule.
Sourcepub fn evaluate(&self, input: &Value) -> PolicyEffect
pub fn evaluate(&self, input: &Value) -> PolicyEffect
Evaluate an input against all rules.
Returns Allow if at least one Allow rule matches and no Deny rule matches.
Returns Deny if no rules match or a Deny rule fires.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for LocalPolicyEvaluator
impl RefUnwindSafe for LocalPolicyEvaluator
impl Send for LocalPolicyEvaluator
impl Sync for LocalPolicyEvaluator
impl Unpin for LocalPolicyEvaluator
impl UnsafeUnpin for LocalPolicyEvaluator
impl UnwindSafe for LocalPolicyEvaluator
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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> 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> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
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 moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
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