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