Skip to main content

Crate nv_redfish

Crate nv_redfish 

Source
Expand description

Redfish protocol client

This crate provides a thin, ergonomic layer on top of generated Redfish schema types and the nv-redfish-core primitives. It focuses on:

  • High-level entry points (for example, ServiceRoot)
  • Modular, feature-gated services (enable only what you need)
  • OEM extension support (also under feature flags)
  • Patch helpers for vendor quirks that deviate from the Redfish CSDL

Relationship to other crates

  • Depends on nv-redfish-core for transport-agnostic traits (Bmc) and foundational types (ODataId, navigation properties, actions).
  • Uses code generated by the CSDL compiler (included via the internal schema module) and re-exports ergonomic wrappers where applicable.
  • The set of compiled schemas is controlled by features.toml to include only what is required by enabled features — keeping the build as lightweight as possible.

Features

  • accounts: enables the AccountService wrappers (implemented).
  • OEM-specific feature flags (planned) enable vendor extensions when needed.

Status

  • Currently, the accounts service is implemented. More services and OEM extensions will be added to support a variety of vendors in a compatible manner.

Modules§

error
Errors defined by the crate.
hardware_id
Hardware identifier (Manufacturer + Model + Part Number + Serial Number).
resource
Redfish resource common functions. Redfish resource
service_root
Service Root implementation.

Structs§

ProtocolFeatures
Defines features supported by Redfish protocol. Provides helpers to write code that takes features in account.
ServiceRoot
Represents ServiceRoot in the BMC model.

Enums§

Error
Redfish Errors.

Traits§

Bmc
BMC trait defines access to a Baseboard Management Controller using the Redfish protocol.
Resource
Represents Redfish Resource base type.