Enum cedar_policy::SchemaError
source · pub enum SchemaError {
Show 20 variants
ParseJson(Error),
ActionTransitiveClosureError(String),
EntityTransitiveClosureError(String),
UnsupportedSchemaFeature(String),
UndeclaredEntityTypes(HashSet<String>),
UndeclaredActions(HashSet<String>),
UndeclaredCommonType(HashSet<String>),
DuplicateEntityType(String),
DuplicateAction(String),
DuplicateCommonType(String),
CycleInActionHierarchy,
EntityTypeParse(ParseErrors),
NamespaceParse(ParseErrors),
CommonTypeParseError(ParseErrors),
ExtensionTypeParse(ParseErrors),
ActionEntityTypeDeclared,
ActionEntityAttributes(Vec<String>),
ContextOrShapeNotRecord,
ActionEntityAttributeEmptySet,
ActionEntityAttributeUnsupportedType,
}
Expand description
Errors encountered during construction of a Validation Schema
Variants§
ParseJson(Error)
Errors loading and parsing schema files
ActionTransitiveClosureError(String)
Errors occurring while computing or enforcing transitive closure on action id hierarchy.
EntityTransitiveClosureError(String)
Errors occurring while computing or enforcing transitive closure on entity type hierarchy.
UnsupportedSchemaFeature(String)
Error generated when processing a schema file that uses features which are not yet supported by the implementation.
UndeclaredEntityTypes(HashSet<String>)
Undeclared entity type(s) used in an entity type’s memberOf field or an action’s appliesTo fields.
UndeclaredActions(HashSet<String>)
Undeclared action(s) used in an action’s memberOf field.
UndeclaredCommonType(HashSet<String>)
Undeclared type used in entity or context attributes.
DuplicateEntityType(String)
Duplicate specifications for an entity type. Argument is the name of the duplicate entity type.
DuplicateAction(String)
Duplicate specifications for an action. Argument is the name of the duplicate action.
DuplicateCommonType(String)
Duplicate specifications for a reusable common type. Argument is the name of the duplicate type.
CycleInActionHierarchy
Cycle in the schema’s action hierarchy.
EntityTypeParse(ParseErrors)
Parse errors occurring while parsing an entity type.
NamespaceParse(ParseErrors)
Parse errors occurring while parsing a namespace identifier.
CommonTypeParseError(ParseErrors)
Parse errors occurring while parsing a common type identifier.
ExtensionTypeParse(ParseErrors)
Parse errors occurring while parsing an extension type.
ActionEntityTypeDeclared
The schema file included an entity type Action
in the entity type
list. The Action
entity type is always implicitly declared, and it
cannot currently have attributes or be in any groups, so there is no
purposes in adding an explicit entry.
ActionEntityAttributes(Vec<String>)
One or more action entities are declared with attributes
lists, but
action entities cannot have attributes.
ContextOrShapeNotRecord
An action context or entity type shape was declared to have a type other
than Record
.
ActionEntityAttributeEmptySet
An Action Entity (transitively) has an attribute that is an empty set
ActionEntityAttributeUnsupportedType
An Action Entity (transitively) has an attribute of unsupported type (ExprEscape
, EntityEscape
or ExtnEscape
)
Trait Implementations§
source§impl Debug for SchemaError
impl Debug for SchemaError
source§impl Display for SchemaError
impl Display for SchemaError
source§impl Error for SchemaError
impl Error for SchemaError
1.30.0 · source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
1.0.0 · source§fn description(&self) -> &str
fn description(&self) -> &str
Auto Trait Implementations§
impl Freeze for SchemaError
impl !RefUnwindSafe for SchemaError
impl Send for SchemaError
impl Sync for SchemaError
impl Unpin for SchemaError
impl !UnwindSafe for SchemaError
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