redfish_codegen/models/processor/v1_18_0/
processor.rs

1// Generated by redfish-codegen. Do not modify.
2
3use crate::models;
4
5/// The Processor schema describes the information about a single processor that a system contains.  A processor includes both performance characteristics, clock speed, architecture, core count, and so on, and compatibility, such as the CPU ID instruction results.  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 Processor {
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(\"#Processor.v1_18_0.Processor\".to_string())"))]
24    pub odata_type: models::odata_v4::Type,
25    #[serde(rename = "AccelerationFunctions")]
26    #[serde(default, skip_serializing_if = "Option::is_none")]
27    pub acceleration_functions: Option<models::odata_v4::IdRef>,
28    #[serde(rename = "Actions")]
29    #[serde(default, skip_serializing_if = "Option::is_none")]
30    pub actions: Option<models::processor::v1_18_0::Actions>,
31    #[serde(rename = "AdditionalFirmwareVersions")]
32    #[serde(default, skip_serializing_if = "Option::is_none")]
33    pub additional_firmware_versions: Option<models::software_inventory::AdditionalVersions>,
34    #[serde(rename = "AppliedOperatingConfig")]
35    #[serde(default, skip_serializing_if = "Option::is_none")]
36    pub applied_operating_config: Option<models::odata_v4::IdRef>,
37    #[serde(rename = "Assembly")]
38    #[serde(default, skip_serializing_if = "Option::is_none")]
39    pub assembly: Option<models::odata_v4::IdRef>,
40    /// The base (nominal) clock speed of the processor in MHz.
41    #[serde(rename = "BaseSpeedMHz")]
42    #[serde(default, skip_serializing_if = "Option::is_none")]
43    pub base_speed_m_hz: Option<i64>,
44    #[serde(rename = "BaseSpeedPriorityState")]
45    #[serde(default, skip_serializing_if = "Option::is_none")]
46    pub base_speed_priority_state: Option<models::processor::v1_18_0::BaseSpeedPriorityState>,
47    #[serde(rename = "Certificates")]
48    #[serde(default, skip_serializing_if = "Option::is_none")]
49    pub certificates: Option<models::odata_v4::IdRef>,
50    #[serde(rename = "Description")]
51    #[serde(default, skip_serializing_if = "Option::is_none")]
52    pub description: Option<models::resource::Description>,
53    /// An indication of whether this processor is enabled.
54    #[serde(rename = "Enabled")]
55    #[serde(default, skip_serializing_if = "Option::is_none")]
56    pub enabled: Option<bool>,
57    #[serde(rename = "EnvironmentMetrics")]
58    #[serde(default, skip_serializing_if = "Option::is_none")]
59    pub environment_metrics: Option<models::odata_v4::IdRef>,
60    #[serde(rename = "FPGA")]
61    #[serde(default, skip_serializing_if = "Option::is_none")]
62    pub fpga: Option<models::processor::v1_18_0::FPGA>,
63    /// The processor family.
64    #[serde(rename = "Family")]
65    #[serde(default, skip_serializing_if = "Option::is_none")]
66    pub family: Option<String>,
67    /// The firmware version of the processor.
68    #[serde(rename = "FirmwareVersion")]
69    #[serde(default, skip_serializing_if = "Option::is_none")]
70    pub firmware_version: Option<String>,
71    /// The list of core identifiers corresponding to the cores that have been configured with the higher clock speed from the operating configuration applied to this processor.
72    #[serde(rename = "HighSpeedCoreIDs")]
73    #[serde(default, skip_serializing_if = "Option::is_none")]
74    pub high_speed_core_i_ds: Option<Vec<i64>>,
75    #[serde(rename = "Id")]
76    #[serde(skip_deserializing)]
77    pub id: models::resource::Id,
78    #[serde(rename = "InstructionSet")]
79    #[serde(default, skip_serializing_if = "Option::is_none")]
80    pub instruction_set: Option<models::processor::v1_18_0::InstructionSet>,
81    #[serde(rename = "Links")]
82    #[serde(default, skip_serializing_if = "Option::is_none")]
83    pub links: Option<models::processor::v1_18_0::Links>,
84    #[serde(rename = "Location")]
85    #[serde(default, skip_serializing_if = "Option::is_none")]
86    pub location: Option<models::resource::Location>,
87    /// An indicator allowing an operator to physically locate this resource.
88    #[serde(rename = "LocationIndicatorActive")]
89    #[serde(default, skip_serializing_if = "Option::is_none")]
90    pub location_indicator_active: Option<bool>,
91    /// The processor manufacturer.
92    #[serde(rename = "Manufacturer")]
93    #[serde(default, skip_serializing_if = "Option::is_none")]
94    pub manufacturer: Option<String>,
95    /// The maximum clock speed of the processor.
96    #[serde(rename = "MaxSpeedMHz")]
97    #[serde(default, skip_serializing_if = "Option::is_none")]
98    pub max_speed_m_hz: Option<i64>,
99    /// The maximum Thermal Design Power (TDP) in watts.
100    #[serde(rename = "MaxTDPWatts")]
101    #[serde(default, skip_serializing_if = "Option::is_none")]
102    pub max_tdp_watts: Option<i64>,
103    /// An array of DSP0274-defined measurement blocks.
104    #[serde(rename = "Measurements")]
105    #[serde(default, skip_serializing_if = "Option::is_none")]
106    pub measurements: Option<Vec<models::software_inventory::MeasurementBlock>>,
107    #[serde(rename = "MemorySummary")]
108    #[serde(default, skip_serializing_if = "Option::is_none")]
109    pub memory_summary: Option<models::processor::v1_18_0::MemorySummary>,
110    #[serde(rename = "Metrics")]
111    #[serde(default, skip_serializing_if = "Option::is_none")]
112    pub metrics: Option<models::odata_v4::IdRef>,
113    /// The minimum clock speed of the processor in MHz.
114    #[serde(rename = "MinSpeedMHz")]
115    #[serde(default, skip_serializing_if = "Option::is_none")]
116    pub min_speed_m_hz: Option<i64>,
117    /// The product model number of this device.
118    #[serde(rename = "Model")]
119    #[serde(default, skip_serializing_if = "Option::is_none")]
120    pub model: Option<String>,
121    #[serde(rename = "Name")]
122    #[serde(skip_deserializing)]
123    pub name: models::resource::Name,
124    #[serde(rename = "Oem")]
125    #[serde(default, skip_serializing_if = "Option::is_none")]
126    pub oem: Option<models::resource::Oem>,
127    #[serde(rename = "OperatingConfigs")]
128    #[serde(default, skip_serializing_if = "Option::is_none")]
129    pub operating_configs: Option<models::odata_v4::IdRef>,
130    /// Operating speed of the processor in MHz.
131    #[serde(rename = "OperatingSpeedMHz")]
132    #[serde(default, skip_serializing_if = "Option::is_none")]
133    pub operating_speed_m_hz: Option<i64>,
134    #[serde(rename = "OperatingSpeedRangeMHz")]
135    #[serde(default, skip_serializing_if = "Option::is_none")]
136    pub operating_speed_range_m_hz: Option<models::control::ControlRangeExcerpt>,
137    /// The part number of the processor.
138    #[serde(rename = "PartNumber")]
139    #[serde(default, skip_serializing_if = "Option::is_none")]
140    pub part_number: Option<String>,
141    #[serde(rename = "Ports")]
142    #[serde(default, skip_serializing_if = "Option::is_none")]
143    pub ports: Option<models::odata_v4::IdRef>,
144    #[serde(rename = "PowerState")]
145    #[serde(default, skip_serializing_if = "Option::is_none")]
146    pub power_state: Option<models::resource::PowerState>,
147    #[serde(rename = "ProcessorArchitecture")]
148    #[serde(default, skip_serializing_if = "Option::is_none")]
149    pub processor_architecture: Option<models::processor::v1_18_0::ProcessorArchitecture>,
150    #[serde(rename = "ProcessorId")]
151    #[serde(default, skip_serializing_if = "Option::is_none")]
152    pub processor_id: Option<models::processor::v1_18_0::ProcessorId>,
153    /// The logical index of this processor within the system.
154    #[serde(rename = "ProcessorIndex")]
155    #[serde(default, skip_serializing_if = "Option::is_none")]
156    pub processor_index: Option<i64>,
157    /// The memory directly attached or integrated within this processor.  Examples include internal cache, dedicated memory for the processor, and system memory.
158    #[serde(rename = "ProcessorMemory")]
159    #[serde(default, skip_serializing_if = "Option::is_none")]
160    pub processor_memory: Option<Vec<models::processor::v1_18_0::ProcessorMemory>>,
161    #[serde(rename = "ProcessorType")]
162    #[serde(default, skip_serializing_if = "Option::is_none")]
163    pub processor_type: Option<models::processor::v1_18_0::ProcessorType>,
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 serial number of the processor.
169    #[serde(rename = "SerialNumber")]
170    #[serde(default, skip_serializing_if = "Option::is_none")]
171    pub serial_number: Option<String>,
172    /// The socket or location of the processor.
173    #[serde(rename = "Socket")]
174    #[serde(default, skip_serializing_if = "Option::is_none")]
175    pub socket: Option<String>,
176    /// The spare part number of the processor.
177    #[serde(rename = "SparePartNumber")]
178    #[serde(default, skip_serializing_if = "Option::is_none")]
179    pub spare_part_number: Option<String>,
180    /// The clock limit of the processor in MHz.
181    #[serde(rename = "SpeedLimitMHz")]
182    #[serde(default, skip_serializing_if = "Option::is_none")]
183    pub speed_limit_m_hz: Option<i64>,
184    /// Indicates whether the clock speed of the processor is fixed at the value specified in the SpeedLimitMHz property.
185    #[serde(rename = "SpeedLocked")]
186    #[serde(default, skip_serializing_if = "Option::is_none")]
187    pub speed_locked: Option<bool>,
188    #[serde(rename = "Status")]
189    #[serde(default, skip_serializing_if = "Option::is_none")]
190    pub status: Option<models::resource::Status>,
191    #[serde(rename = "SubProcessors")]
192    #[serde(default, skip_serializing_if = "Option::is_none")]
193    pub sub_processors: Option<models::odata_v4::IdRef>,
194    #[serde(rename = "SystemInterface")]
195    #[serde(default, skip_serializing_if = "Option::is_none")]
196    pub system_interface: Option<models::processor::v1_18_0::ProcessorInterface>,
197    /// The nominal Thermal Design Power (TDP) in watts.
198    #[serde(rename = "TDPWatts")]
199    #[serde(default, skip_serializing_if = "Option::is_none")]
200    pub tdp_watts: Option<i64>,
201    /// The causes of the processor being throttled.
202    #[serde(rename = "ThrottleCauses")]
203    #[serde(default, skip_serializing_if = "Option::is_none")]
204    pub throttle_causes: Option<Vec<models::processor::v1_18_0::ThrottleCause>>,
205    /// An indication of whether the processor is throttled.
206    #[serde(rename = "Throttled")]
207    #[serde(default, skip_serializing_if = "Option::is_none")]
208    pub throttled: Option<bool>,
209    /// The total number of cores that this processor contains.
210    #[serde(rename = "TotalCores")]
211    #[serde(default, skip_serializing_if = "Option::is_none")]
212    pub total_cores: Option<i64>,
213    /// The total number of enabled cores that this processor contains.
214    #[serde(rename = "TotalEnabledCores")]
215    #[serde(default, skip_serializing_if = "Option::is_none")]
216    pub total_enabled_cores: Option<i64>,
217    /// The total number of execution threads that this processor supports.
218    #[serde(rename = "TotalThreads")]
219    #[serde(default, skip_serializing_if = "Option::is_none")]
220    pub total_threads: Option<i64>,
221    #[serde(rename = "TurboState")]
222    #[serde(default, skip_serializing_if = "Option::is_none")]
223    pub turbo_state: Option<models::processor::v1_18_0::TurboState>,
224    #[serde(rename = "UUID")]
225    #[serde(default, skip_serializing_if = "Option::is_none")]
226    pub uuid: Option<models::resource::UUID>,
227    /// The hardware version of the processor.
228    #[serde(rename = "Version")]
229    #[serde(default, skip_serializing_if = "Option::is_none")]
230    pub version: Option<String>,
231}
232
233impl crate::Metadata<'static> for Processor {
234    const JSON_SCHEMA: &'static str = "Processor.v1_18_0.json";
235}