redfish_codegen/models/chassis/v1_23_0/
chassis.rs

1// Generated by redfish-codegen. Do not modify.
2
3use crate::models;
4
5/// The Chassis schema represents the physical components of a system.  This resource represents the sheet-metal confined spaces and logical zones such as racks, enclosures, chassis and all other containers.  Subsystems, such as sensors, that operate outside of a system's data plane are linked either directly or indirectly through this resource.  A subsystem that operates outside of a system's data plane are not accessible to software that runs on the system.  It also describes the location, such as a slot, socket, or bay, where a unit can be installed, by populating a resource instance with an absent state if a unit is not present.
6#[derive(Clone, Debug, serde::Deserialize, serde::Serialize)]
7#[derive(derivative::Derivative)]
8#[derivative(Default)]
9pub struct Chassis {
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(\"#Chassis.v1_23_0.Chassis\".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::chassis::v1_23_0::Actions>,
28    #[serde(rename = "Assembly")]
29    #[serde(default, skip_serializing_if = "Option::is_none")]
30    pub assembly: Option<models::odata_v4::IdRef>,
31    /// The user-assigned asset tag of this chassis.
32    #[serde(rename = "AssetTag")]
33    #[serde(default, skip_serializing_if = "Option::is_none")]
34    pub asset_tag: Option<String>,
35    #[serde(rename = "Certificates")]
36    #[serde(default, skip_serializing_if = "Option::is_none")]
37    pub certificates: Option<models::odata_v4::IdRef>,
38    #[serde(rename = "ChassisType")]
39    pub chassis_type: models::chassis::v1_23_0::ChassisType,
40    #[serde(rename = "Controls")]
41    #[serde(default, skip_serializing_if = "Option::is_none")]
42    pub controls: Option<models::odata_v4::IdRef>,
43    /// The depth of the chassis.
44    #[serde(rename = "DepthMm")]
45    #[serde(default, skip_serializing_if = "Option::is_none")]
46    pub depth_mm: Option<f64>,
47    #[serde(rename = "Description")]
48    #[serde(default, skip_serializing_if = "Option::is_none")]
49    pub description: Option<models::resource::Description>,
50    #[serde(rename = "Drives")]
51    #[serde(default, skip_serializing_if = "Option::is_none")]
52    pub drives: Option<models::odata_v4::IdRef>,
53    /// The URIs of the management interfaces for the upstream electrical source connections for this chassis.
54    #[serde(rename = "ElectricalSourceManagerURIs")]
55    #[serde(default, skip_serializing_if = "Option::is_none")]
56    pub electrical_source_manager_ur_is: Option<Vec<String>>,
57    /// The names of the upstream electrical sources, such as circuits or outlets, connected to this chassis.
58    #[serde(rename = "ElectricalSourceNames")]
59    #[serde(default, skip_serializing_if = "Option::is_none")]
60    pub electrical_source_names: Option<Vec<String>>,
61    #[serde(rename = "EnvironmentMetrics")]
62    #[serde(default, skip_serializing_if = "Option::is_none")]
63    pub environment_metrics: Option<models::odata_v4::IdRef>,
64    #[serde(rename = "EnvironmentalClass")]
65    #[serde(default, skip_serializing_if = "Option::is_none")]
66    pub environmental_class: Option<models::chassis::v1_23_0::EnvironmentalClass>,
67    #[serde(rename = "FabricAdapters")]
68    #[serde(default, skip_serializing_if = "Option::is_none")]
69    pub fabric_adapters: Option<models::odata_v4::IdRef>,
70    /// The height of the chassis.
71    #[serde(rename = "HeightMm")]
72    #[serde(default, skip_serializing_if = "Option::is_none")]
73    pub height_mm: Option<f64>,
74    /// An indication of whether this component can be inserted or removed while the equipment is in operation.
75    #[serde(rename = "HotPluggable")]
76    #[serde(default, skip_serializing_if = "Option::is_none")]
77    pub hot_pluggable: Option<bool>,
78    #[serde(rename = "Id")]
79    #[serde(skip_deserializing)]
80    pub id: models::resource::Id,
81    #[serde(rename = "IndicatorLED")]
82    #[serde(default, skip_serializing_if = "Option::is_none")]
83    pub indicator_led: Option<models::chassis::v1_23_0::IndicatorLED>,
84    #[serde(rename = "Links")]
85    #[serde(default, skip_serializing_if = "Option::is_none")]
86    pub links: Option<models::chassis::v1_23_0::Links>,
87    #[serde(rename = "Location")]
88    #[serde(default, skip_serializing_if = "Option::is_none")]
89    pub location: Option<models::resource::Location>,
90    /// An indicator allowing an operator to physically locate this resource.
91    #[serde(rename = "LocationIndicatorActive")]
92    #[serde(default, skip_serializing_if = "Option::is_none")]
93    pub location_indicator_active: Option<bool>,
94    #[serde(rename = "LogServices")]
95    #[serde(default, skip_serializing_if = "Option::is_none")]
96    pub log_services: Option<models::odata_v4::IdRef>,
97    /// The manufacturer of this chassis.
98    #[serde(rename = "Manufacturer")]
99    #[serde(default, skip_serializing_if = "Option::is_none")]
100    pub manufacturer: Option<String>,
101    /// The upper bound of the total power consumed by the chassis.
102    #[serde(rename = "MaxPowerWatts")]
103    #[serde(default, skip_serializing_if = "Option::is_none")]
104    pub max_power_watts: Option<f64>,
105    /// An array of DSP0274-defined measurement blocks.
106    #[serde(rename = "Measurements")]
107    #[serde(default, skip_serializing_if = "Option::is_none")]
108    pub measurements: Option<Vec<models::software_inventory::MeasurementBlock>>,
109    #[serde(rename = "MediaControllers")]
110    #[serde(default, skip_serializing_if = "Option::is_none")]
111    pub media_controllers: Option<models::odata_v4::IdRef>,
112    #[serde(rename = "Memory")]
113    #[serde(default, skip_serializing_if = "Option::is_none")]
114    pub memory: Option<models::odata_v4::IdRef>,
115    #[serde(rename = "MemoryDomains")]
116    #[serde(default, skip_serializing_if = "Option::is_none")]
117    pub memory_domains: Option<models::odata_v4::IdRef>,
118    /// The lower bound of the total power consumed by the chassis.
119    #[serde(rename = "MinPowerWatts")]
120    #[serde(default, skip_serializing_if = "Option::is_none")]
121    pub min_power_watts: Option<f64>,
122    /// The model number of the chassis.
123    #[serde(rename = "Model")]
124    #[serde(default, skip_serializing_if = "Option::is_none")]
125    pub model: Option<String>,
126    #[serde(rename = "Name")]
127    #[serde(skip_deserializing)]
128    pub name: models::resource::Name,
129    #[serde(rename = "NetworkAdapters")]
130    #[serde(default, skip_serializing_if = "Option::is_none")]
131    pub network_adapters: Option<models::odata_v4::IdRef>,
132    #[serde(rename = "Oem")]
133    #[serde(default, skip_serializing_if = "Option::is_none")]
134    pub oem: Option<models::resource::Oem>,
135    #[serde(rename = "PCIeDevices")]
136    #[serde(default, skip_serializing_if = "Option::is_none")]
137    pub pcie_devices: Option<models::odata_v4::IdRef>,
138    #[serde(rename = "PCIeSlots")]
139    #[serde(default, skip_serializing_if = "Option::is_none")]
140    pub pcie_slots: Option<models::odata_v4::IdRef>,
141    /// The part number of the chassis.
142    #[serde(rename = "PartNumber")]
143    #[serde(default, skip_serializing_if = "Option::is_none")]
144    pub part_number: Option<String>,
145    #[serde(rename = "PhysicalSecurity")]
146    #[serde(default, skip_serializing_if = "Option::is_none")]
147    pub physical_security: Option<models::chassis::v1_23_0::PhysicalSecurity>,
148    #[serde(rename = "Power")]
149    #[serde(default, skip_serializing_if = "Option::is_none")]
150    pub power: Option<models::odata_v4::IdRef>,
151    #[serde(rename = "PowerState")]
152    #[serde(default, skip_serializing_if = "Option::is_none")]
153    pub power_state: Option<models::resource::PowerState>,
154    #[serde(rename = "PowerSubsystem")]
155    #[serde(default, skip_serializing_if = "Option::is_none")]
156    pub power_subsystem: Option<models::odata_v4::IdRef>,
157    /// Indicates that the chassis receives power from the containing chassis.
158    #[serde(rename = "PoweredByParent")]
159    #[serde(default, skip_serializing_if = "Option::is_none")]
160    pub powered_by_parent: Option<bool>,
161    #[serde(rename = "Processors")]
162    #[serde(default, skip_serializing_if = "Option::is_none")]
163    pub processors: Option<models::odata_v4::IdRef>,
164    /// An indication of whether this component can be independently replaced as allowed by the vendor's replacement policy.
165    #[serde(rename = "Replaceable")]
166    #[serde(default, skip_serializing_if = "Option::is_none")]
167    pub replaceable: Option<bool>,
168    /// The SKU of the chassis.
169    #[serde(rename = "SKU")]
170    #[serde(default, skip_serializing_if = "Option::is_none")]
171    pub sku: Option<String>,
172    #[serde(rename = "Sensors")]
173    #[serde(default, skip_serializing_if = "Option::is_none")]
174    pub sensors: Option<models::odata_v4::IdRef>,
175    /// The serial number of the chassis.
176    #[serde(rename = "SerialNumber")]
177    #[serde(default, skip_serializing_if = "Option::is_none")]
178    pub serial_number: Option<String>,
179    /// The spare part number of the chassis.
180    #[serde(rename = "SparePartNumber")]
181    #[serde(default, skip_serializing_if = "Option::is_none")]
182    pub spare_part_number: Option<String>,
183    #[serde(rename = "Status")]
184    #[serde(default, skip_serializing_if = "Option::is_none")]
185    pub status: Option<models::resource::Status>,
186    #[serde(rename = "Thermal")]
187    #[serde(default, skip_serializing_if = "Option::is_none")]
188    pub thermal: Option<models::odata_v4::IdRef>,
189    #[serde(rename = "ThermalDirection")]
190    #[serde(default, skip_serializing_if = "Option::is_none")]
191    pub thermal_direction: Option<models::chassis::v1_23_0::ThermalDirection>,
192    /// Indicates that the chassis is thermally managed by the parent chassis.
193    #[serde(rename = "ThermalManagedByParent")]
194    #[serde(default, skip_serializing_if = "Option::is_none")]
195    pub thermal_managed_by_parent: Option<bool>,
196    #[serde(rename = "ThermalSubsystem")]
197    #[serde(default, skip_serializing_if = "Option::is_none")]
198    pub thermal_subsystem: Option<models::odata_v4::IdRef>,
199    #[serde(rename = "TrustedComponents")]
200    #[serde(default, skip_serializing_if = "Option::is_none")]
201    pub trusted_components: Option<models::odata_v4::IdRef>,
202    #[serde(rename = "UUID")]
203    #[serde(default, skip_serializing_if = "Option::is_none")]
204    pub uuid: Option<models::resource::UUID>,
205    /// The hardware version of this chassis.
206    #[serde(rename = "Version")]
207    #[serde(default, skip_serializing_if = "Option::is_none")]
208    pub version: Option<String>,
209    /// The weight of the chassis.
210    #[serde(rename = "WeightKg")]
211    #[serde(default, skip_serializing_if = "Option::is_none")]
212    pub weight_kg: Option<f64>,
213    /// The width of the chassis.
214    #[serde(rename = "WidthMm")]
215    #[serde(default, skip_serializing_if = "Option::is_none")]
216    pub width_mm: Option<f64>,
217}
218
219impl crate::Metadata<'static> for Chassis {
220    const JSON_SCHEMA: &'static str = "Chassis.v1_23_0.json";
221}