Struct cedar_policy::SchemaFragment
source · pub struct SchemaFragment(_);
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.
§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.