Struct cedar_policy_validator::SchemaFragment
source · pub struct SchemaFragment(pub HashMap<Option<Name>, NamespaceDefinition>);
Expand description
A SchemaFragment describe the types for a given instance of Cedar.
SchemaFragments are composed of Entity Types and Action Types. The
schema fragment is split into multiple namespace definitions, eac including
a namespace name which is applied to all entity types (and the implicit
Action
entity type for all actions) in the schema.
Tuple Fields§
§0: HashMap<Option<Name>, NamespaceDefinition>
Implementations§
source§impl SchemaFragment
impl SchemaFragment
sourcepub fn from_json_value(json: Value) -> Result<Self>
pub fn from_json_value(json: Value) -> Result<Self>
Create a SchemaFragment
from a JSON value (which should be an object
of the appropriate shape).
sourcepub fn from_json_str(json: &str) -> Result<Self>
pub fn from_json_str(json: &str) -> Result<Self>
Create a SchemaFragment
from a string containing JSON (which should
be an object of the appropriate shape).
sourcepub fn from_file(file: impl Read) -> Result<Self>
pub fn from_file(file: impl Read) -> Result<Self>
Create a SchemaFragment
directly from a file containing a JSON object.
sourcepub fn from_str_natural(
src: &str,
) -> Result<(Self, impl Iterator<Item = SchemaWarning>), HumanSchemaError>
pub fn from_str_natural( src: &str, ) -> Result<(Self, impl Iterator<Item = SchemaWarning>), HumanSchemaError>
Parse the schema (in natural schema syntax) from a string
sourcepub fn from_file_natural(
file: impl Read,
) -> Result<(Self, impl Iterator<Item = SchemaWarning>), HumanSchemaError>
pub fn from_file_natural( file: impl Read, ) -> Result<(Self, impl Iterator<Item = SchemaWarning>), HumanSchemaError>
Parse the schema (in natural schema syntax) from a reader
sourcepub fn as_natural_schema(&self) -> Result<String, ToHumanSchemaStrError>
pub fn as_natural_schema(&self) -> Result<String, ToHumanSchemaStrError>
Pretty print this SchemaFragment
Trait Implementations§
source§impl Clone for SchemaFragment
impl Clone for SchemaFragment
source§fn clone(&self) -> SchemaFragment
fn clone(&self) -> SchemaFragment
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for SchemaFragment
impl Debug for SchemaFragment
source§impl<'de> Deserialize<'de> for SchemaFragment
impl<'de> Deserialize<'de> for SchemaFragment
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
source§impl Display for SchemaFragment
impl Display for SchemaFragment
source§impl PartialEq for SchemaFragment
impl PartialEq for SchemaFragment
source§impl Serialize for SchemaFragment
impl Serialize for SchemaFragment
source§impl TryFrom<SchemaFragment> for ValidatorSchema
impl TryFrom<SchemaFragment> for ValidatorSchema
source§type Error = SchemaError
type Error = SchemaError
source§fn try_from(frag: SchemaFragment) -> Result<ValidatorSchema>
fn try_from(frag: SchemaFragment) -> Result<ValidatorSchema>
source§impl TryInto<ValidatorSchemaFragment> for SchemaFragment
impl TryInto<ValidatorSchemaFragment> for SchemaFragment
source§type Error = SchemaError
type Error = SchemaError
source§fn try_into(self) -> Result<ValidatorSchemaFragment>
fn try_into(self) -> Result<ValidatorSchemaFragment>
impl StructuralPartialEq for SchemaFragment
Auto Trait Implementations§
impl Freeze for SchemaFragment
impl RefUnwindSafe for SchemaFragment
impl Send for SchemaFragment
impl Sync for SchemaFragment
impl Unpin for SchemaFragment
impl UnwindSafe for SchemaFragment
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
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)
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>
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>
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