Struct cedar_policy_core::parser::cst::Policy
source · pub struct Policy {
pub annotations: Vec<ASTNode<Option<Annotation>>>,
pub effect: ASTNode<Option<Ident>>,
pub variables: Vec<ASTNode<Option<VariableDef>>>,
pub conds: Vec<ASTNode<Option<Cond>>>,
}
Expand description
Policy statement, the main building block of the language
Fields§
§annotations: Vec<ASTNode<Option<Annotation>>>
Annotations
effect: ASTNode<Option<Ident>>
policy effect
variables: Vec<ASTNode<Option<VariableDef>>>
Variables
conds: Vec<ASTNode<Option<Cond>>>
Conditions
Implementations§
source§impl Policy
impl Policy
sourcepub fn extract_head(
&self,
errs: &mut ParseErrors,
) -> (Option<PrincipalConstraint>, Option<ActionConstraint>, Option<ResourceConstraint>)
pub fn extract_head( &self, errs: &mut ParseErrors, ) -> (Option<PrincipalConstraint>, Option<ActionConstraint>, Option<ResourceConstraint>)
get the head constraints from the cst::Policy
Trait Implementations§
impl Eq for Policy
impl StructuralPartialEq for Policy
Auto Trait Implementations§
impl Freeze for Policy
impl RefUnwindSafe for Policy
impl Send for Policy
impl Sync for Policy
impl Unpin for Policy
impl UnwindSafe for Policy
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
Mutably borrows from an owned value. Read more
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)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