redfish_codegen/models/storage_controller/v1_7_0/
storage_controller.rs1use crate::models;
4
5#[derive(Clone, Debug, serde::Deserialize, serde::Serialize)]
7#[derive(derivative::Derivative)]
8#[derivative(Default)]
9pub struct StorageController {
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(\"#StorageController.v1_7_0.StorageController\".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::storage_controller::v1_7_0::Actions>,
28 #[serde(rename = "Assembly")]
29 #[serde(default, skip_serializing_if = "Option::is_none")]
30 pub assembly: Option<models::odata_v4::IdRef>,
31 #[serde(rename = "AssetTag")]
33 #[serde(default, skip_serializing_if = "Option::is_none")]
34 pub asset_tag: Option<String>,
35 #[serde(rename = "CacheSummary")]
36 #[serde(default, skip_serializing_if = "Option::is_none")]
37 pub cache_summary: Option<models::storage_controller::v1_7_0::CacheSummary>,
38 #[serde(rename = "Certificates")]
39 #[serde(default, skip_serializing_if = "Option::is_none")]
40 pub certificates: Option<models::odata_v4::IdRef>,
41 #[serde(rename = "ControllerRates")]
42 #[serde(default, skip_serializing_if = "Option::is_none")]
43 pub controller_rates: Option<models::storage_controller::v1_7_0::Rates>,
44 #[serde(rename = "Description")]
45 #[serde(default, skip_serializing_if = "Option::is_none")]
46 pub description: Option<models::resource::Description>,
47 #[serde(rename = "EnvironmentMetrics")]
48 #[serde(default, skip_serializing_if = "Option::is_none")]
49 pub environment_metrics: Option<models::odata_v4::IdRef>,
50 #[serde(rename = "FirmwareVersion")]
52 #[serde(default, skip_serializing_if = "Option::is_none")]
53 pub firmware_version: Option<String>,
54 #[serde(rename = "Id")]
55 #[serde(skip_deserializing)]
56 pub id: models::resource::Id,
57 #[serde(rename = "Identifiers")]
59 #[serde(default, skip_serializing_if = "Option::is_none")]
60 pub identifiers: Option<Vec<models::resource::Identifier>>,
61 #[serde(rename = "Links")]
62 #[serde(default, skip_serializing_if = "Option::is_none")]
63 pub links: Option<models::storage_controller::v1_7_0::Links>,
64 #[serde(rename = "Location")]
65 #[serde(default, skip_serializing_if = "Option::is_none")]
66 pub location: Option<models::resource::Location>,
67 #[serde(rename = "Manufacturer")]
69 #[serde(default, skip_serializing_if = "Option::is_none")]
70 pub manufacturer: Option<String>,
71 #[serde(rename = "Measurements")]
73 #[serde(default, skip_serializing_if = "Option::is_none")]
74 pub measurements: Option<Vec<models::software_inventory::MeasurementBlock>>,
75 #[serde(rename = "Metrics")]
76 #[serde(default, skip_serializing_if = "Option::is_none")]
77 pub metrics: Option<models::odata_v4::IdRef>,
78 #[serde(rename = "Model")]
80 #[serde(default, skip_serializing_if = "Option::is_none")]
81 pub model: Option<String>,
82 #[serde(rename = "NVMeControllerProperties")]
83 #[serde(default, skip_serializing_if = "Option::is_none")]
84 pub nvme_controller_properties: Option<models::storage_controller::v1_7_0::NVMeControllerProperties>,
85 #[serde(rename = "Name")]
86 #[serde(skip_deserializing)]
87 pub name: models::resource::Name,
88 #[serde(rename = "Oem")]
89 #[serde(default, skip_serializing_if = "Option::is_none")]
90 pub oem: Option<models::resource::Oem>,
91 #[serde(rename = "PCIeInterface")]
92 #[serde(default, skip_serializing_if = "Option::is_none")]
93 pub pcie_interface: Option<models::pcie_device::PCIeInterface>,
94 #[serde(rename = "PartNumber")]
96 #[serde(default, skip_serializing_if = "Option::is_none")]
97 pub part_number: Option<String>,
98 #[serde(rename = "Ports")]
99 #[serde(default, skip_serializing_if = "Option::is_none")]
100 pub ports: Option<models::odata_v4::IdRef>,
101 #[serde(rename = "SKU")]
103 #[serde(default, skip_serializing_if = "Option::is_none")]
104 pub sku: Option<String>,
105 #[serde(rename = "SerialNumber")]
107 #[serde(default, skip_serializing_if = "Option::is_none")]
108 pub serial_number: Option<String>,
109 #[serde(rename = "SpeedGbps")]
111 #[serde(default, skip_serializing_if = "Option::is_none")]
112 pub speed_gbps: Option<f64>,
113 #[serde(rename = "Status")]
114 #[serde(default, skip_serializing_if = "Option::is_none")]
115 pub status: Option<models::resource::Status>,
116 #[serde(rename = "SupportedControllerProtocols")]
118 #[serde(default, skip_serializing_if = "Option::is_none")]
119 pub supported_controller_protocols: Option<Vec<models::protocol::Protocol>>,
120 #[serde(rename = "SupportedDeviceProtocols")]
122 #[serde(default, skip_serializing_if = "Option::is_none")]
123 pub supported_device_protocols: Option<Vec<models::protocol::Protocol>>,
124 #[serde(rename = "SupportedRAIDTypes")]
126 #[serde(default, skip_serializing_if = "Option::is_none")]
127 pub supported_raid_types: Option<Vec<models::volume::RAIDType>>,
128}
129
130impl crate::Metadata<'static> for StorageController {
131 const JSON_SCHEMA: &'static str = "StorageController.v1_7_0.json";
132}