redfish_codegen/models/storage/v1_2_8/
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.id")]
11 #[serde(skip_deserializing)]
12 pub odata_id: models::odata_v4::Id,
13 #[serde(rename = "Actions")]
14 #[serde(default, skip_serializing_if = "Option::is_none")]
15 pub actions: Option<models::storage::v1_2_8::StorageControllerActions>,
16 #[serde(rename = "AssetTag")]
18 #[serde(default, skip_serializing_if = "Option::is_none")]
19 pub asset_tag: Option<String>,
20 #[serde(rename = "FirmwareVersion")]
22 #[serde(default, skip_serializing_if = "Option::is_none")]
23 pub firmware_version: Option<String>,
24 #[serde(rename = "Identifiers")]
26 #[serde(default, skip_serializing_if = "Option::is_none")]
27 pub identifiers: Option<Vec<models::resource::Identifier>>,
28 #[serde(rename = "Links")]
29 #[serde(default, skip_serializing_if = "Option::is_none")]
30 pub links: Option<models::storage::v1_2_8::StorageControllerLinks>,
31 #[serde(rename = "Manufacturer")]
33 #[serde(default, skip_serializing_if = "Option::is_none")]
34 pub manufacturer: Option<String>,
35 #[serde(rename = "MemberId")]
37 pub member_id: String,
38 #[serde(rename = "Model")]
40 #[serde(default, skip_serializing_if = "Option::is_none")]
41 pub model: Option<String>,
42 #[serde(rename = "Oem")]
43 #[serde(default, skip_serializing_if = "Option::is_none")]
44 pub oem: Option<models::resource::Oem>,
45 #[serde(rename = "PartNumber")]
47 #[serde(default, skip_serializing_if = "Option::is_none")]
48 pub part_number: Option<String>,
49 #[serde(rename = "SKU")]
51 #[serde(default, skip_serializing_if = "Option::is_none")]
52 pub sku: Option<String>,
53 #[serde(rename = "SerialNumber")]
55 #[serde(default, skip_serializing_if = "Option::is_none")]
56 pub serial_number: Option<String>,
57 #[serde(rename = "SpeedGbps")]
59 #[serde(default, skip_serializing_if = "Option::is_none")]
60 pub speed_gbps: Option<f64>,
61 #[serde(rename = "Status")]
62 #[serde(default, skip_serializing_if = "Option::is_none")]
63 pub status: Option<models::resource::Status>,
64 #[serde(rename = "SupportedControllerProtocols")]
66 #[serde(default, skip_serializing_if = "Option::is_none")]
67 pub supported_controller_protocols: Option<Vec<models::protocol::Protocol>>,
68 #[serde(rename = "SupportedDeviceProtocols")]
70 #[serde(default, skip_serializing_if = "Option::is_none")]
71 pub supported_device_protocols: Option<Vec<models::protocol::Protocol>>,
72}
73
74impl crate::Metadata<'static> for StorageController {
75 const JSON_SCHEMA: &'static str = "Storage.v1_2_8.json";
76}