Expand description
Core Redfish foundation library used by code generated from the CSDL compiler.
Purpose
- Serve as a dependency for autogenerated Redfish types produced by the CSDL compiler.
- Provide semantic-unaware primitives that generated code relies on.
- Avoid any knowledge of specific Redfish services, schemas, or OEM semantics.
Scope (building blocks only)
- Identity and metadata:
ODataId,ODataETag - EDM value wrappers:
EdmDateTimeOffset,EdmDuration - Navigation properties:
NavProperty<T> - Generic operation traits:
Creatable,Updatable,Deletable - Entity contracts:
EntityTypeRef,Expandable - Action envelope:
Action<T, R> - Client abstraction:
Bmc(transport-agnostic interface used by generated code)
Non-goals
- No service- or schema-specific models are defined here.
- No business logic or policy decisions are embedded here.
- No transport specification
How generated code uses these primitives
- Each generated entity struct implements
EntityTypeRef. - Navigation properties in generated code are wrapped in
NavProperty<T>. - Generated actions are represented as
Action<T, R>. - If the schema allows it, generated types implement
Creatable,Updatable, and/orDeletableand route operations through a user-providedBmcimplementation.
Modules§
- action
- Action-related types. Redfish Action primitives
- bmc
- BMC trait and credentials. Baseboard Management Controller (BMC) client abstraction
- deserialize
- Custom deserialization helpers.
- dynamic_
properties - Dynamic properties support.
- edm_
date_ time_ offset Edm.DateTimeOffsettype.Edm.DateTimeOffsetprimitive wrapper- edm_
duration Edm.Durationtype.Edm.Durationprimitive wrapper- edm_
primitive_ type Edm.PrimitiveTypetype.- nav_
property - Navigation property wrapper. Navigation property wrapper for generated types
- odata
- Type for
@odata.ididentifier. OData identifiers used by generated types - query
- Support of redfish queries OData query parameter builders for Redfish API requests.
Structs§
- Action
- Defines a deserializable Action. It is almost always a member of the
Actionsstruct in different parts of the Redfish object tree. - Async
Task - Outcome of a mutating Redfish operation that can complete asynchronously.
- EdmDate
Time Offset - Type corresponding to
Edm.DateTimeOffset. - EdmDuration
EdmDurationrepresented by Edm.EdmDuration type.- EdmGuid
- A Universally Unique Identifier (UUID).
- Filter
Query - Builder for Redfish
$filterquery parameters according to DSP0266 specification. - ODataE
Tag - Type for
@odata.etagidentifier. - ODataId
- Type for
@odata.ididentifier. - Reference
- Reference variant of the navigation property (only
@odata.idproperty is specified). - Reference
Leaf ReferenceLeafis special type that is used for navigation properties that if correspondingEntityTypewas not compiled to the tree.
Enums§
- Additional
Properties - Represents any valid JSON value.
- EdmPrimitive
Type - Represents Edm.PrimitiveType
- Modification
Response - Outcome of a mutating Redfish operation.
- NavProperty
- Navigation property variants. All navigation properties in generated code are wrapped with this type.
Traits§
- Action
Error - Action error trait. Needed in generated code when an action function is called for an action that wasn’t specified by the server.
- Bmc
- BMC trait defines access to a Baseboard Management Controller using the Redfish protocol.
- Creatable
- This trait is assigned to the collections that are marked as creatable in the CSDL specification.
- Deletable
- This trait is assigned to entity types that are marked as deletable in the CSDL specification.
- Entity
Type Ref - Entity type reference trait implemented by the CSDL compiler
for all generated entity types and for all
NavProperty<T>whereTis a struct for an entity type. - Expandable
- Defines entity types that support
$expandvia query parameters. - Filter
Property - Trait for types that can be used as filter properties in
ODataqueries - Redfish
Settings - This trait is assigned to updatable entity types to support @Redfish.Settings workflow.
- ToFilter
Literal - Trait for types that can be converted to filter literals
- ToSnake
Case - Trait for converting enum variants to
snake_casestrings - Updatable
- This trait is assigned to entity types that are marked as updatable in the CSDL specification.
Functions§
- de_
optional_ nullable - Deserialize an optional nullable field. nv-redfish models these fields
with
Option<Option<T>>, whereNonemeans “no field” andSome(None)means the field is explicitly set to null. - de_
required_ nullable - Deserialize a required nullable field. nv-redfish models these fields
with
Option<T>, whereNonemeans null.
Type Aliases§
- BoxTry
Stream - Boxed fallible stream used by BMC streaming APIs.
- Dynamic
Properties - Represents dynamic properties that can be assigned to Complex Type in CSDL.