redfish_codegen/models/storage/v1_4_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_4_8::StorageControllerActions>,
16 #[serde(rename = "Assembly")]
17 #[serde(default, skip_serializing_if = "Option::is_none")]
18 pub assembly: Option<models::odata_v4::IdRef>,
19 #[serde(rename = "AssetTag")]
21 #[serde(default, skip_serializing_if = "Option::is_none")]
22 pub asset_tag: Option<String>,
23 #[serde(rename = "FirmwareVersion")]
25 #[serde(default, skip_serializing_if = "Option::is_none")]
26 pub firmware_version: Option<String>,
27 #[serde(rename = "Identifiers")]
29 #[serde(default, skip_serializing_if = "Option::is_none")]
30 pub identifiers: Option<Vec<models::resource::Identifier>>,
31 #[serde(rename = "Links")]
32 #[serde(default, skip_serializing_if = "Option::is_none")]
33 pub links: Option<models::storage::v1_4_8::StorageControllerLinks>,
34 #[serde(rename = "Location")]
35 #[serde(default, skip_serializing_if = "Option::is_none")]
36 pub location: Option<models::resource::Location>,
37 #[serde(rename = "Manufacturer")]
39 #[serde(default, skip_serializing_if = "Option::is_none")]
40 pub manufacturer: Option<String>,
41 #[serde(rename = "MemberId")]
43 pub member_id: String,
44 #[serde(rename = "Model")]
46 #[serde(default, skip_serializing_if = "Option::is_none")]
47 pub model: Option<String>,
48 #[serde(rename = "Name")]
50 #[serde(default, skip_serializing_if = "Option::is_none")]
51 pub name: Option<String>,
52 #[serde(rename = "Oem")]
53 #[serde(default, skip_serializing_if = "Option::is_none")]
54 pub oem: Option<models::resource::Oem>,
55 #[serde(rename = "PartNumber")]
57 #[serde(default, skip_serializing_if = "Option::is_none")]
58 pub part_number: Option<String>,
59 #[serde(rename = "SKU")]
61 #[serde(default, skip_serializing_if = "Option::is_none")]
62 pub sku: Option<String>,
63 #[serde(rename = "SerialNumber")]
65 #[serde(default, skip_serializing_if = "Option::is_none")]
66 pub serial_number: Option<String>,
67 #[serde(rename = "SpeedGbps")]
69 #[serde(default, skip_serializing_if = "Option::is_none")]
70 pub speed_gbps: Option<f64>,
71 #[serde(rename = "Status")]
72 #[serde(default, skip_serializing_if = "Option::is_none")]
73 pub status: Option<models::resource::Status>,
74 #[serde(rename = "SupportedControllerProtocols")]
76 #[serde(default, skip_serializing_if = "Option::is_none")]
77 pub supported_controller_protocols: Option<Vec<models::protocol::Protocol>>,
78 #[serde(rename = "SupportedDeviceProtocols")]
80 #[serde(default, skip_serializing_if = "Option::is_none")]
81 pub supported_device_protocols: Option<Vec<models::protocol::Protocol>>,
82}
83
84impl crate::Metadata<'static> for StorageController {
85 const JSON_SCHEMA: &'static str = "Storage.v1_4_8.json";
86}