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

  • Service feature flags such as accounts, session-service, update-service, and others enable typed wrappers for specific Redfish services and resources.
  • OEM-specific feature flags enable vendor extensions when needed.

Status

  • The crate exposes typed wrappers for a growing subset of standard Redfish services and resources, plus selected OEM extensions.
  • Additional services and OEM extensions continue to be added over time.

Modules§

account
Accounts Service. AccountService (Redfish) — high-level wrappers
assembly
Assembly
bmc_http
chassis
Chassis.
computer_system
Computer System. Computer System entities and collections.
core
Core Redfish foundation library used by code generated from the CSDL compiler.
error
Errors defined by the crate.
ethernet_interface
Ethernet interfaces. Ethernet interfaces
event_service
Event Service. Event Service entities and helpers.
hardware_id
Hardware identifier (Manufacturer + Model + Part Number + Serial Number).
host_interface
Host interfaces. Host interfaces
log_service
Log Service. Log Service entities and collections.
mac_address
MAC addresses returned by the crate.
manager
Manager. Manager entities and collections.
network_device_function
Network device functions.
oem
Individual OEM extensions support. Different vendor OEM externsions to Resdish.
pcie_device
PCIe devices. PCIe devices
resource
Redfish resource common functions. Redfish resource
sensor
Metrics and sensor abstraction. Sensor abstraction for Redfish entities.
service_root
Service Root implementation.
session_service
Session Service. Session Service entities and helpers.
telemetry_service
Telemetry Service. Telemetry Service entities and helpers.
update_service
Update Service. Update Service entities and collections.

Macros§

extract_sensor_uris
Extracts sensor URIs from metric fields and creates sensor navigation properties.

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.
ResourceProvidesStatus
Represents Redfish resource that provides it’s status.