rufish 0.4.0

An asynchronous Redfish client library for BMC/server management in Rust.
Documentation
//! # rufish
//!
//! An asynchronous Redfish client library for BMC/server management.
//!
//! ## Quick Start
//!
//! ```no_run
//! use rufish::RedfishClient;
//!
//! #[tokio::main]
//! async fn main() -> Result<(), Box<dyn std::error::Error>> {
//!     let mut client = RedfishClient::new("10.0.0.5", "admin", "password")?;
//!     client.login().await?;
//!
//!     let root = client.get_service_root().await?;
//!     println!("Redfish version: {:?}", root.redfish_version);
//!
//!     let systems = client.list_systems().await?;
//!     println!("Systems: {:?}", systems.members_count);
//!
//!     client.logout().await?;
//!     Ok(())
//! }
//! ```
//!
//! ## Builder Pattern
//!
//! ```no_run
//! use rufish::RedfishClient;
//!
//! # fn main() -> Result<(), Box<dyn std::error::Error>> {
//! // Custom reqwest client + existing session token
//! let custom = reqwest::Client::builder()
//!     .danger_accept_invalid_certs(true)
//!     .http1_only()
//!     .build()?;
//!
//! let client = RedfishClient::builder("10.0.0.5")
//!     .credentials("admin", "password")
//!     .client(custom)
//!     .session("saved-token", "/redfish/v1/SessionService/Sessions/1")
//!     .build()?;
//! # Ok(())
//! # }
//! ```

mod client;
pub mod bios_config;
pub mod enriched;
mod error;
pub mod multi;
pub mod registry;
pub mod sse;
pub mod topology;
mod types;

pub use bios_config::{BiosConfig, BiosConfigDiff, BiosConfigSource};
pub use client::{RedfishClient, RedfishClientBuilder};
pub use enriched::{
    ControllerSummary, DriveSummary, EnrichedLogEntry, HealthStatus, PsuHealth, SensorHealth,
    StorageOverview, SystemHealth, UserAccount, VolumeSummary,
};
pub use error::{RedfishError, Result};
pub use multi::RedfishPool;
pub use registry::{
    AllowedValue, AttrType, RegistryAttribute, RegistryInfo, RegistryMessage,
};
pub use sse::{EventStream, RedfishEvent};
pub use topology::HardwareTopology;
pub use types::*;