Struct cedar_policy::SchemaFragment
source · pub struct SchemaFragment(/* private fields */);
Expand description
Contains all the type information used to construct a Schema
that can be
used to validate a policy.
Implementations§
source§impl SchemaFragment
impl SchemaFragment
sourcepub fn namespaces(&self) -> impl Iterator<Item = Option<EntityNamespace>> + '_
pub fn namespaces(&self) -> impl Iterator<Item = Option<EntityNamespace>> + '_
Extract namespaces defined in this SchemaFragment
. Each namespace
entry defines the name of the namespace and the entity types and actions
that exist in the namespace.
sourcepub fn from_json_value(json: Value) -> Result<Self, SchemaError>
pub fn from_json_value(json: Value) -> Result<Self, SchemaError>
Create an SchemaFragment
from a JSON value (which should be an
object of the shape required for Cedar schemas).
sourcepub fn from_file(file: impl Read) -> Result<Self, SchemaError>
pub fn from_file(file: impl Read) -> Result<Self, SchemaError>
Create a SchemaFragment
directly from a file.
Trait Implementations§
source§impl Debug for SchemaFragment
impl Debug for SchemaFragment
source§impl FromStr for SchemaFragment
impl FromStr for SchemaFragment
source§fn from_str(src: &str) -> Result<Self, Self::Err>
fn from_str(src: &str) -> Result<Self, Self::Err>
Construct SchemaFragment
from a string containing a schema formatted
in the cedar schema format. This can fail if the string is not valid
JSON, or if the JSON structure does not form a valid schema. This
function does not check for consistency in the schema (e.g., references
to undefined entities) because this is not required until a Schema
is
constructed.
source§type Err = SchemaError
type Err = SchemaError
source§impl TryInto<Schema> for SchemaFragment
impl TryInto<Schema> for SchemaFragment
source§fn try_into(self) -> Result<Schema, Self::Error>
fn try_into(self) -> Result<Schema, Self::Error>
Convert SchemaFragment
into a Schema
. To build the Schema
we
need to have all entity types defined, so an error will be returned if
any undeclared entity types are referenced in the schema fragment.
source§type Error = SchemaError
type Error = SchemaError
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> 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