redfish_codegen/models/storage/v1_5_6/
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_5_6::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 = "CacheSummary")]
24 #[serde(default, skip_serializing_if = "Option::is_none")]
25 pub cache_summary: Option<models::storage::v1_5_6::CacheSummary>,
26 #[serde(rename = "FirmwareVersion")]
28 #[serde(default, skip_serializing_if = "Option::is_none")]
29 pub firmware_version: Option<String>,
30 #[serde(rename = "Identifiers")]
32 #[serde(default, skip_serializing_if = "Option::is_none")]
33 pub identifiers: Option<Vec<models::resource::Identifier>>,
34 #[serde(rename = "Links")]
35 #[serde(default, skip_serializing_if = "Option::is_none")]
36 pub links: Option<models::storage::v1_5_6::StorageControllerLinks>,
37 #[serde(rename = "Location")]
38 #[serde(default, skip_serializing_if = "Option::is_none")]
39 pub location: Option<models::resource::Location>,
40 #[serde(rename = "Manufacturer")]
42 #[serde(default, skip_serializing_if = "Option::is_none")]
43 pub manufacturer: Option<String>,
44 #[serde(rename = "MemberId")]
46 pub member_id: String,
47 #[serde(rename = "Model")]
49 #[serde(default, skip_serializing_if = "Option::is_none")]
50 pub model: Option<String>,
51 #[serde(rename = "Name")]
53 #[serde(default, skip_serializing_if = "Option::is_none")]
54 pub name: Option<String>,
55 #[serde(rename = "Oem")]
56 #[serde(default, skip_serializing_if = "Option::is_none")]
57 pub oem: Option<models::resource::Oem>,
58 #[serde(rename = "PCIeInterface")]
59 #[serde(default, skip_serializing_if = "Option::is_none")]
60 pub pcie_interface: Option<models::pcie_device::PCIeInterface>,
61 #[serde(rename = "PartNumber")]
63 #[serde(default, skip_serializing_if = "Option::is_none")]
64 pub part_number: Option<String>,
65 #[serde(rename = "SKU")]
67 #[serde(default, skip_serializing_if = "Option::is_none")]
68 pub sku: Option<String>,
69 #[serde(rename = "SerialNumber")]
71 #[serde(default, skip_serializing_if = "Option::is_none")]
72 pub serial_number: Option<String>,
73 #[serde(rename = "SpeedGbps")]
75 #[serde(default, skip_serializing_if = "Option::is_none")]
76 pub speed_gbps: Option<f64>,
77 #[serde(rename = "Status")]
78 #[serde(default, skip_serializing_if = "Option::is_none")]
79 pub status: Option<models::resource::Status>,
80 #[serde(rename = "SupportedControllerProtocols")]
82 #[serde(default, skip_serializing_if = "Option::is_none")]
83 pub supported_controller_protocols: Option<Vec<models::protocol::Protocol>>,
84 #[serde(rename = "SupportedDeviceProtocols")]
86 #[serde(default, skip_serializing_if = "Option::is_none")]
87 pub supported_device_protocols: Option<Vec<models::protocol::Protocol>>,
88}
89
90impl crate::Metadata<'static> for StorageController {
91 const JSON_SCHEMA: &'static str = "Storage.v1_5_6.json";
92}