redfish_codegen/models/memory_domain/v1_5_0/
memory_domain.rs

1// Generated by redfish-codegen. Do not modify.
2
3use crate::models;
4
5/// The MemoryDomain schema describes a memory domain and its configuration.  Memory domains indicate to the client which memory, or DIMMs, can be grouped together in memory chunks to represent addressable memory.
6#[derive(Clone, Debug, serde::Deserialize, serde::Serialize)]
7#[derive(derivative::Derivative)]
8#[derivative(Default)]
9pub struct MemoryDomain {
10    #[serde(rename = "@odata.context")]
11    #[serde(skip_deserializing)]
12    #[serde(default, skip_serializing_if = "Option::is_none")]
13    pub odata_context: Option<models::odata_v4::Context>,
14    #[serde(rename = "@odata.etag")]
15    #[serde(skip_deserializing)]
16    #[serde(default, skip_serializing_if = "Option::is_none")]
17    pub odata_etag: Option<models::odata_v4::Etag>,
18    #[serde(rename = "@odata.id")]
19    #[serde(skip_deserializing)]
20    pub odata_id: models::odata_v4::Id,
21    #[serde(rename = "@odata.type")]
22    #[serde(skip_deserializing)]
23    #[derivative(Default(value = "models::odata_v4::Type(\"#MemoryDomain.v1_5_0.MemoryDomain\".to_string())"))]
24    pub odata_type: models::odata_v4::Type,
25    #[serde(rename = "Actions")]
26    #[serde(default, skip_serializing_if = "Option::is_none")]
27    pub actions: Option<models::memory_domain::v1_5_0::Actions>,
28    /// An indication of whether this memory domain supports the provisioning of blocks of memory.
29    #[serde(rename = "AllowsBlockProvisioning")]
30    #[serde(default, skip_serializing_if = "Option::is_none")]
31    pub allows_block_provisioning: Option<bool>,
32    /// An indication of whether this memory domain supports the creation of memory chunks.
33    #[serde(rename = "AllowsMemoryChunkCreation")]
34    #[serde(default, skip_serializing_if = "Option::is_none")]
35    pub allows_memory_chunk_creation: Option<bool>,
36    /// An indication of whether this memory domain supports the creation of memory chunks with mirroring enabled.
37    #[serde(rename = "AllowsMirroring")]
38    #[serde(default, skip_serializing_if = "Option::is_none")]
39    pub allows_mirroring: Option<bool>,
40    /// An indication of whether this memory domain supports the creation of memory chunks with sparing enabled.
41    #[serde(rename = "AllowsSparing")]
42    #[serde(default, skip_serializing_if = "Option::is_none")]
43    pub allows_sparing: Option<bool>,
44    #[serde(rename = "Description")]
45    #[serde(default, skip_serializing_if = "Option::is_none")]
46    pub description: Option<models::resource::Description>,
47    #[serde(rename = "Id")]
48    #[serde(skip_deserializing)]
49    pub id: models::resource::Id,
50    /// The interleave sets for the memory chunk.
51    #[serde(rename = "InterleavableMemorySets")]
52    #[serde(default, skip_serializing_if = "Option::is_none")]
53    pub interleavable_memory_sets: Option<Vec<models::memory_domain::v1_5_0::MemorySet>>,
54    #[serde(rename = "Links")]
55    #[serde(default, skip_serializing_if = "Option::is_none")]
56    pub links: Option<models::memory_domain::v1_5_0::Links>,
57    /// The incremental size, from the minimum size, allowed for a memory chunk within this domain in mebibytes (MiB).
58    #[serde(rename = "MemoryChunkIncrementMiB")]
59    #[serde(default, skip_serializing_if = "Option::is_none")]
60    pub memory_chunk_increment_mi_b: Option<i64>,
61    #[serde(rename = "MemoryChunks")]
62    #[serde(default, skip_serializing_if = "Option::is_none")]
63    pub memory_chunks: Option<models::odata_v4::IdRef>,
64    /// The total size of the memory domain in mebibytes (MiB).
65    #[serde(rename = "MemorySizeMiB")]
66    #[serde(default, skip_serializing_if = "Option::is_none")]
67    pub memory_size_mi_b: Option<i64>,
68    /// The minimum size allowed for a memory chunk within this domain in mebibytes (MiB).
69    #[serde(rename = "MinMemoryChunkSizeMiB")]
70    #[serde(default, skip_serializing_if = "Option::is_none")]
71    pub min_memory_chunk_size_mi_b: Option<i64>,
72    #[serde(rename = "Name")]
73    #[serde(skip_deserializing)]
74    pub name: models::resource::Name,
75    #[serde(rename = "Oem")]
76    #[serde(default, skip_serializing_if = "Option::is_none")]
77    pub oem: Option<models::resource::Oem>,
78    #[serde(rename = "Status")]
79    #[serde(default, skip_serializing_if = "Option::is_none")]
80    pub status: Option<models::resource::Status>,
81}
82
83impl crate::Metadata<'static> for MemoryDomain {
84    const JSON_SCHEMA: &'static str = "MemoryDomain.v1_5_0.json";
85}