Struct cedar_policy_core::parser::cst::Policy
source · pub struct Policy {
pub annotations: Vec<Node<Option<Annotation>>>,
pub effect: Node<Option<Ident>>,
pub variables: Vec<Node<Option<VariableDef>>>,
pub conds: Vec<Node<Option<Cond>>>,
}Expand description
Policy statement, the main building block of the language
Fields§
§annotations: Vec<Node<Option<Annotation>>>Annotations
effect: Node<Option<Ident>>policy effect
variables: Vec<Node<Option<VariableDef>>>Variables
conds: Vec<Node<Option<Cond>>>Conditions
Implementations§
source§impl Policy
impl Policy
sourcepub fn extract_scope(
&self,
errs: &mut ParseErrors,
) -> (Option<PrincipalConstraint>, Option<ActionConstraint>, Option<ResourceConstraint>)
pub fn extract_scope( &self, errs: &mut ParseErrors, ) -> (Option<PrincipalConstraint>, Option<ActionConstraint>, Option<ResourceConstraint>)
get the scope constraints from the cst::Policy
sourcepub fn get_ast_annotations(&self, errs: &mut ParseErrors) -> (bool, Annotations)
pub fn get_ast_annotations(&self, errs: &mut ParseErrors) -> (bool, Annotations)
Get the annotations on the cst::Policy as an ast::Annotations.
This returns a bool indicating whether conversion was successful for
all encountered annotations (true) or not (false), and also the
ast::Annotations object. Note that a partial ast::Annotations
object, containing only the valid annotations, may be returned even in
failure cases. In all failure cases, false will be returned and
errors will be added to errs.
Trait Implementations§
source§impl TryFrom<Policy> for Policy
impl TryFrom<Policy> for Policy
§type Error = ParseErrors
type Error = ParseErrors
The type returned in the event of a conversion error.
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§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default 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