redfish-codegen 0.3.1

An unopinionated translation of the Redfish specification into Rust.
Documentation
// Generated by redfish-codegen. Do not modify.

use crate::models;

/// The summary of all memory associated with a processor.
#[derive(Clone, Debug, serde::Deserialize, serde::Serialize)]
#[derive(derivative::Derivative)]
#[derivative(Default)]
pub struct MemorySummary {
    /// An indication of whether memory ECC mode is enabled for this processor.
    #[serde(rename = "ECCModeEnabled")]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub ecc_mode_enabled: Option<bool>,
    #[serde(rename = "Metrics")]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub metrics: Option<models::odata_v4::IdRef>,
    /// Total size of cache memory of this processor.
    #[serde(rename = "TotalCacheSizeMiB")]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub total_cache_size_mi_b: Option<i64>,
    /// Total size of non-cache, volatile or non-volatile memory attached to this processor.  Examples include DRAMs and NV-DIMMs that are not configured as block storage.
    #[serde(rename = "TotalMemorySizeMiB")]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub total_memory_size_mi_b: Option<i64>,
}

impl crate::Metadata<'static> for MemorySummary {
    const JSON_SCHEMA: &'static str = "Processor.v1_18_0.json";
}