redfish_codegen/models/fan/v1_4_0/
fan.rs

1// Generated by redfish-codegen. Do not modify.
2
3use crate::models;
4
5/// The Fan schema describes a cooling fan unit for a computer system or similar devices contained within a chassis.  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 Fan {
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(\"#Fan.v1_4_0.Fan\".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::fan::v1_4_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 = "Description")]
32    #[serde(default, skip_serializing_if = "Option::is_none")]
33    pub description: Option<models::resource::Description>,
34    /// The diameter of the fan assembly in millimeters.
35    #[serde(rename = "FanDiameterMm")]
36    #[serde(default, skip_serializing_if = "Option::is_none")]
37    pub fan_diameter_mm: Option<i64>,
38    /// An indication of whether this device can be inserted or removed while the equipment is in operation.
39    #[serde(rename = "HotPluggable")]
40    #[serde(default, skip_serializing_if = "Option::is_none")]
41    pub hot_pluggable: Option<bool>,
42    #[serde(rename = "Id")]
43    #[serde(skip_deserializing)]
44    pub id: models::resource::Id,
45    #[serde(rename = "Links")]
46    #[serde(default, skip_serializing_if = "Option::is_none")]
47    pub links: Option<models::fan::v1_4_0::Links>,
48    #[serde(rename = "Location")]
49    #[serde(default, skip_serializing_if = "Option::is_none")]
50    pub location: Option<models::resource::Location>,
51    /// An indicator allowing an operator to physically locate this resource.
52    #[serde(rename = "LocationIndicatorActive")]
53    #[serde(default, skip_serializing_if = "Option::is_none")]
54    pub location_indicator_active: Option<bool>,
55    /// The manufacturer of this fan.
56    #[serde(rename = "Manufacturer")]
57    #[serde(default, skip_serializing_if = "Option::is_none")]
58    pub manufacturer: Option<String>,
59    /// The model number for this fan.
60    #[serde(rename = "Model")]
61    #[serde(default, skip_serializing_if = "Option::is_none")]
62    pub model: Option<String>,
63    #[serde(rename = "Name")]
64    #[serde(skip_deserializing)]
65    pub name: models::resource::Name,
66    #[serde(rename = "Oem")]
67    #[serde(default, skip_serializing_if = "Option::is_none")]
68    pub oem: Option<models::resource::Oem>,
69    /// The part number for this fan.
70    #[serde(rename = "PartNumber")]
71    #[serde(default, skip_serializing_if = "Option::is_none")]
72    pub part_number: Option<String>,
73    #[serde(rename = "PhysicalContext")]
74    #[serde(default, skip_serializing_if = "Option::is_none")]
75    pub physical_context: Option<models::physical_context::PhysicalContext>,
76    #[serde(rename = "PowerWatts")]
77    #[serde(default, skip_serializing_if = "Option::is_none")]
78    pub power_watts: Option<models::sensor::SensorPowerExcerpt>,
79    /// An indication of whether this component can be independently replaced as allowed by the vendor's replacement policy.
80    #[serde(rename = "Replaceable")]
81    #[serde(default, skip_serializing_if = "Option::is_none")]
82    pub replaceable: Option<bool>,
83    /// The serial number for this fan.
84    #[serde(rename = "SerialNumber")]
85    #[serde(default, skip_serializing_if = "Option::is_none")]
86    pub serial_number: Option<String>,
87    /// The spare part number for this fan.
88    #[serde(rename = "SparePartNumber")]
89    #[serde(default, skip_serializing_if = "Option::is_none")]
90    pub spare_part_number: Option<String>,
91    #[serde(rename = "SpeedPercent")]
92    #[serde(default, skip_serializing_if = "Option::is_none")]
93    pub speed_percent: Option<models::sensor::SensorFanExcerpt>,
94    #[serde(rename = "Status")]
95    #[serde(default, skip_serializing_if = "Option::is_none")]
96    pub status: Option<models::resource::Status>,
97}
98
99impl crate::Metadata<'static> for Fan {
100    const JSON_SCHEMA: &'static str = "Fan.v1_4_0.json";
101}