Expand description
CSDL/Redfish schema compiler and code generator
This crate parses EDMX/CSDL documents and compiles them into a stable intermediate representation, then generates ergonomic Rust code for Redfish-based APIs.
At a glance
- Parse: read one or more EDMX documents (
edmx) - Compile: resolve types, properties, actions, and annotations into
Compiled(compiler); optionally optimize the set (optimizer) - Generate: produce Rust modules and types (
generator)
Key features
- Understands
ODataannotations (permissions, insert/update/delete) - Handles Redfish specifics (required flags, settings, actions)
- Supports selective compilation via patterns and root singletons
- Deterministic output designed for straightforward codegen
Modules§
- commands
- High-level compiler commands. Command-line entry points for the compiler
- compiler
- Redfish schema compiler. Schema compiler pipeline
- edmx
- Entity Data Model XML definitions. EDMX parser and validator.
- error
- Compiler errors.
- features_
manifest - Features manifest. Features manifest
- generator
- Redfish code generator.
- odata
- OData-related utilities. OData helpers to work with edmx
- one_
or_ collection - Type or a collection of a type.
- optimizer
- Optimizer for compiled data structures. This is collection of optimizations of compiled data structures. Each submodule of this module contains one or more optimizations combinded by same topic.
- redfish
- Redfish-specific utilities. Redfish helpers to work with edmx
Enums§
- Error
- CSDL Compiler errors.
- OneOr
Collection - One item or collection of items for types.
Type Aliases§
- IsAbstract
- Whether a type is abstract.
- IsExcerpt
Copy Only - Whether an attribute appears only in excerpt copies of resource.
- IsNullable
- Whether an attribute is nullable.
- IsRequired
- Whether an attribute is required.
- IsRequired
OnCreate - Whether an attribute is required when an object is created.