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_natural(
r: impl Read
) -> Result<(Self, impl Iterator<Item = SchemaWarning>), HumanSchemaError>
pub fn from_file_natural( r: impl Read ) -> Result<(Self, impl Iterator<Item = SchemaWarning>), HumanSchemaError>
Parse a SchemaFragment
from a reader containing the natural schema syntax
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 a SchemaFragment
from a string containing the natural schema syntax
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.
sourcepub fn to_json_value(self) -> Result<Value, SchemaError>
pub fn to_json_value(self) -> Result<Value, SchemaError>
Serialize this SchemaFragment
as a json value
sourcepub fn as_json_string(&self) -> Result<String, SchemaError>
pub fn as_json_string(&self) -> Result<String, SchemaError>
Serialize this SchemaFragment
as a json value
sourcepub fn as_natural(&self) -> Result<String, ToHumanSyntaxError>
pub fn as_natural(&self) -> Result<String, ToHumanSyntaxError>
Serialize this SchemaFragment
into the natural syntax
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.