1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
16pub enum PveReportedModelEnum {
17 #[serde(rename = "486")]
18 Variant486,
19 #[serde(rename = "a64fx")]
20 A64fx,
21 #[serde(rename = "athlon")]
22 Athlon,
23 #[serde(rename = "Broadwell")]
24 Broadwell,
25 #[serde(rename = "Broadwell-IBRS")]
26 BroadwellIbrs,
27 #[serde(rename = "Broadwell-noTSX")]
28 BroadwellNoTsx,
29 #[serde(rename = "Broadwell-noTSX-IBRS")]
30 BroadwellNoTsxIbrs,
31 #[serde(rename = "Cascadelake-Server")]
32 CascadelakeServer,
33 #[serde(rename = "Cascadelake-Server-noTSX")]
34 CascadelakeServerNoTsx,
35 #[serde(rename = "Cascadelake-Server-v2")]
36 CascadelakeServerV2,
37 #[serde(rename = "Cascadelake-Server-v4")]
38 CascadelakeServerV4,
39 #[serde(rename = "Cascadelake-Server-v5")]
40 CascadelakeServerV5,
41 #[serde(rename = "ClearwaterForest")]
42 ClearwaterForest,
43 #[serde(rename = "ClearwaterForest-v2")]
44 ClearwaterForestV2,
45 #[serde(rename = "ClearwaterForest-v3")]
46 ClearwaterForestV3,
47 #[serde(rename = "Conroe")]
48 Conroe,
49 #[serde(rename = "Cooperlake")]
50 Cooperlake,
51 #[serde(rename = "Cooperlake-v2")]
52 CooperlakeV2,
53 #[serde(rename = "core2duo")]
54 Core2duo,
55 #[serde(rename = "coreduo")]
56 Coreduo,
57 #[serde(rename = "cortex-a35")]
58 CortexA35,
59 #[serde(rename = "cortex-a53")]
60 CortexA53,
61 #[serde(rename = "cortex-a55")]
62 CortexA55,
63 #[serde(rename = "cortex-a57")]
64 CortexA57,
65 #[serde(rename = "cortex-a710")]
66 CortexA710,
67 #[serde(rename = "cortex-a72")]
68 CortexA72,
69 #[serde(rename = "cortex-a76")]
70 CortexA76,
71 #[serde(rename = "cortex-a78ae")]
72 CortexA78ae,
73 #[serde(rename = "DiamondRapids")]
74 DiamondRapids,
75 #[serde(rename = "EPYC")]
76 Epyc,
77 #[serde(rename = "EPYC-Genoa")]
78 EpycGenoa,
79 #[serde(rename = "EPYC-Genoa-v2")]
80 EpycGenoaV2,
81 #[serde(rename = "EPYC-IBPB")]
82 EpycIbpb,
83 #[serde(rename = "EPYC-Milan")]
84 EpycMilan,
85 #[serde(rename = "EPYC-Milan-v2")]
86 EpycMilanV2,
87 #[serde(rename = "EPYC-Milan-v3")]
88 EpycMilanV3,
89 #[serde(rename = "EPYC-Rome")]
90 EpycRome,
91 #[serde(rename = "EPYC-Rome-v2")]
92 EpycRomeV2,
93 #[serde(rename = "EPYC-Rome-v3")]
94 EpycRomeV3,
95 #[serde(rename = "EPYC-Rome-v4")]
96 EpycRomeV4,
97 #[serde(rename = "EPYC-Rome-v5")]
98 EpycRomeV5,
99 #[serde(rename = "EPYC-Turin")]
100 EpycTurin,
101 #[serde(rename = "EPYC-v3")]
102 EpycV3,
103 #[serde(rename = "EPYC-v4")]
104 EpycV4,
105 #[serde(rename = "EPYC-v5")]
106 EpycV5,
107 #[serde(rename = "GraniteRapids")]
108 GraniteRapids,
109 #[serde(rename = "GraniteRapids-v2")]
110 GraniteRapidsV2,
111 #[serde(rename = "GraniteRapids-v3")]
112 GraniteRapidsV3,
113 #[serde(rename = "GraniteRapids-v4")]
114 GraniteRapidsV4,
115 #[serde(rename = "GraniteRapids-v5")]
116 GraniteRapidsV5,
117 #[serde(rename = "Haswell")]
118 Haswell,
119 #[serde(rename = "Haswell-IBRS")]
120 HaswellIbrs,
121 #[serde(rename = "Haswell-noTSX")]
122 HaswellNoTsx,
123 #[serde(rename = "Haswell-noTSX-IBRS")]
124 HaswellNoTsxIbrs,
125 #[serde(rename = "host")]
126 Host,
127 #[serde(rename = "Icelake-Client")]
128 IcelakeClient,
129 #[serde(rename = "Icelake-Client-noTSX")]
130 IcelakeClientNoTsx,
131 #[serde(rename = "Icelake-Server")]
132 IcelakeServer,
133 #[serde(rename = "Icelake-Server-noTSX")]
134 IcelakeServerNoTsx,
135 #[serde(rename = "Icelake-Server-v3")]
136 IcelakeServerV3,
137 #[serde(rename = "Icelake-Server-v4")]
138 IcelakeServerV4,
139 #[serde(rename = "Icelake-Server-v5")]
140 IcelakeServerV5,
141 #[serde(rename = "Icelake-Server-v6")]
142 IcelakeServerV6,
143 #[serde(rename = "Icelake-Server-v7")]
144 IcelakeServerV7,
145 #[serde(rename = "IvyBridge")]
146 IvyBridge,
147 #[serde(rename = "IvyBridge-IBRS")]
148 IvyBridgeIbrs,
149 #[serde(rename = "KnightsMill")]
150 KnightsMill,
151 #[serde(rename = "kvm32")]
152 Kvm32,
153 #[serde(rename = "kvm64")]
154 Kvm64,
155 #[serde(rename = "max")]
156 Max,
157 #[serde(rename = "Nehalem")]
158 Nehalem,
159 #[serde(rename = "Nehalem-IBRS")]
160 NehalemIbrs,
161 #[serde(rename = "neoverse-n1")]
162 NeoverseN1,
163 #[serde(rename = "neoverse-n2")]
164 NeoverseN2,
165 #[serde(rename = "neoverse-v1")]
166 NeoverseV1,
167 #[serde(rename = "Opteron_G1")]
168 OpteronG1,
169 #[serde(rename = "Opteron_G2")]
170 OpteronG2,
171 #[serde(rename = "Opteron_G3")]
172 OpteronG3,
173 #[serde(rename = "Opteron_G4")]
174 OpteronG4,
175 #[serde(rename = "Opteron_G5")]
176 OpteronG5,
177 #[serde(rename = "Penryn")]
178 Penryn,
179 #[serde(rename = "pentium")]
180 Pentium,
181 #[serde(rename = "pentium2")]
182 Pentium2,
183 #[serde(rename = "pentium3")]
184 Pentium3,
185 #[serde(rename = "phenom")]
186 Phenom,
187 #[serde(rename = "qemu32")]
188 Qemu32,
189 #[serde(rename = "qemu64")]
190 Qemu64,
191 #[serde(rename = "SandyBridge")]
192 SandyBridge,
193 #[serde(rename = "SandyBridge-IBRS")]
194 SandyBridgeIbrs,
195 #[serde(rename = "SapphireRapids")]
196 SapphireRapids,
197 #[serde(rename = "SapphireRapids-v2")]
198 SapphireRapidsV2,
199 #[serde(rename = "SapphireRapids-v3")]
200 SapphireRapidsV3,
201 #[serde(rename = "SapphireRapids-v4")]
202 SapphireRapidsV4,
203 #[serde(rename = "SapphireRapids-v5")]
204 SapphireRapidsV5,
205 #[serde(rename = "SapphireRapids-v6")]
206 SapphireRapidsV6,
207 #[serde(rename = "SierraForest")]
208 SierraForest,
209 #[serde(rename = "SierraForest-v2")]
210 SierraForestV2,
211 #[serde(rename = "SierraForest-v3")]
212 SierraForestV3,
213 #[serde(rename = "SierraForest-v4")]
214 SierraForestV4,
215 #[serde(rename = "SierraForest-v5")]
216 SierraForestV5,
217 #[serde(rename = "Skylake-Client")]
218 SkylakeClient,
219 #[serde(rename = "Skylake-Client-IBRS")]
220 SkylakeClientIbrs,
221 #[serde(rename = "Skylake-Client-noTSX-IBRS")]
222 SkylakeClientNoTsxIbrs,
223 #[serde(rename = "Skylake-Client-v4")]
224 SkylakeClientV4,
225 #[serde(rename = "Skylake-Server")]
226 SkylakeServer,
227 #[serde(rename = "Skylake-Server-IBRS")]
228 SkylakeServerIbrs,
229 #[serde(rename = "Skylake-Server-noTSX-IBRS")]
230 SkylakeServerNoTsxIbrs,
231 #[serde(rename = "Skylake-Server-v4")]
232 SkylakeServerV4,
233 #[serde(rename = "Skylake-Server-v5")]
234 SkylakeServerV5,
235 #[serde(rename = "Westmere")]
236 Westmere,
237 #[serde(rename = "Westmere-IBRS")]
238 WestmereIbrs,
239
240}
241
242impl std::fmt::Display for PveReportedModelEnum {
243 fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
244 match self {
245 Self::Variant486 => write!(f, "486"),
246 Self::A64fx => write!(f, "a64fx"),
247 Self::Athlon => write!(f, "athlon"),
248 Self::Broadwell => write!(f, "Broadwell"),
249 Self::BroadwellIbrs => write!(f, "Broadwell-IBRS"),
250 Self::BroadwellNoTsx => write!(f, "Broadwell-noTSX"),
251 Self::BroadwellNoTsxIbrs => write!(f, "Broadwell-noTSX-IBRS"),
252 Self::CascadelakeServer => write!(f, "Cascadelake-Server"),
253 Self::CascadelakeServerNoTsx => write!(f, "Cascadelake-Server-noTSX"),
254 Self::CascadelakeServerV2 => write!(f, "Cascadelake-Server-v2"),
255 Self::CascadelakeServerV4 => write!(f, "Cascadelake-Server-v4"),
256 Self::CascadelakeServerV5 => write!(f, "Cascadelake-Server-v5"),
257 Self::ClearwaterForest => write!(f, "ClearwaterForest"),
258 Self::ClearwaterForestV2 => write!(f, "ClearwaterForest-v2"),
259 Self::ClearwaterForestV3 => write!(f, "ClearwaterForest-v3"),
260 Self::Conroe => write!(f, "Conroe"),
261 Self::Cooperlake => write!(f, "Cooperlake"),
262 Self::CooperlakeV2 => write!(f, "Cooperlake-v2"),
263 Self::Core2duo => write!(f, "core2duo"),
264 Self::Coreduo => write!(f, "coreduo"),
265 Self::CortexA35 => write!(f, "cortex-a35"),
266 Self::CortexA53 => write!(f, "cortex-a53"),
267 Self::CortexA55 => write!(f, "cortex-a55"),
268 Self::CortexA57 => write!(f, "cortex-a57"),
269 Self::CortexA710 => write!(f, "cortex-a710"),
270 Self::CortexA72 => write!(f, "cortex-a72"),
271 Self::CortexA76 => write!(f, "cortex-a76"),
272 Self::CortexA78ae => write!(f, "cortex-a78ae"),
273 Self::DiamondRapids => write!(f, "DiamondRapids"),
274 Self::Epyc => write!(f, "EPYC"),
275 Self::EpycGenoa => write!(f, "EPYC-Genoa"),
276 Self::EpycGenoaV2 => write!(f, "EPYC-Genoa-v2"),
277 Self::EpycIbpb => write!(f, "EPYC-IBPB"),
278 Self::EpycMilan => write!(f, "EPYC-Milan"),
279 Self::EpycMilanV2 => write!(f, "EPYC-Milan-v2"),
280 Self::EpycMilanV3 => write!(f, "EPYC-Milan-v3"),
281 Self::EpycRome => write!(f, "EPYC-Rome"),
282 Self::EpycRomeV2 => write!(f, "EPYC-Rome-v2"),
283 Self::EpycRomeV3 => write!(f, "EPYC-Rome-v3"),
284 Self::EpycRomeV4 => write!(f, "EPYC-Rome-v4"),
285 Self::EpycRomeV5 => write!(f, "EPYC-Rome-v5"),
286 Self::EpycTurin => write!(f, "EPYC-Turin"),
287 Self::EpycV3 => write!(f, "EPYC-v3"),
288 Self::EpycV4 => write!(f, "EPYC-v4"),
289 Self::EpycV5 => write!(f, "EPYC-v5"),
290 Self::GraniteRapids => write!(f, "GraniteRapids"),
291 Self::GraniteRapidsV2 => write!(f, "GraniteRapids-v2"),
292 Self::GraniteRapidsV3 => write!(f, "GraniteRapids-v3"),
293 Self::GraniteRapidsV4 => write!(f, "GraniteRapids-v4"),
294 Self::GraniteRapidsV5 => write!(f, "GraniteRapids-v5"),
295 Self::Haswell => write!(f, "Haswell"),
296 Self::HaswellIbrs => write!(f, "Haswell-IBRS"),
297 Self::HaswellNoTsx => write!(f, "Haswell-noTSX"),
298 Self::HaswellNoTsxIbrs => write!(f, "Haswell-noTSX-IBRS"),
299 Self::Host => write!(f, "host"),
300 Self::IcelakeClient => write!(f, "Icelake-Client"),
301 Self::IcelakeClientNoTsx => write!(f, "Icelake-Client-noTSX"),
302 Self::IcelakeServer => write!(f, "Icelake-Server"),
303 Self::IcelakeServerNoTsx => write!(f, "Icelake-Server-noTSX"),
304 Self::IcelakeServerV3 => write!(f, "Icelake-Server-v3"),
305 Self::IcelakeServerV4 => write!(f, "Icelake-Server-v4"),
306 Self::IcelakeServerV5 => write!(f, "Icelake-Server-v5"),
307 Self::IcelakeServerV6 => write!(f, "Icelake-Server-v6"),
308 Self::IcelakeServerV7 => write!(f, "Icelake-Server-v7"),
309 Self::IvyBridge => write!(f, "IvyBridge"),
310 Self::IvyBridgeIbrs => write!(f, "IvyBridge-IBRS"),
311 Self::KnightsMill => write!(f, "KnightsMill"),
312 Self::Kvm32 => write!(f, "kvm32"),
313 Self::Kvm64 => write!(f, "kvm64"),
314 Self::Max => write!(f, "max"),
315 Self::Nehalem => write!(f, "Nehalem"),
316 Self::NehalemIbrs => write!(f, "Nehalem-IBRS"),
317 Self::NeoverseN1 => write!(f, "neoverse-n1"),
318 Self::NeoverseN2 => write!(f, "neoverse-n2"),
319 Self::NeoverseV1 => write!(f, "neoverse-v1"),
320 Self::OpteronG1 => write!(f, "Opteron_G1"),
321 Self::OpteronG2 => write!(f, "Opteron_G2"),
322 Self::OpteronG3 => write!(f, "Opteron_G3"),
323 Self::OpteronG4 => write!(f, "Opteron_G4"),
324 Self::OpteronG5 => write!(f, "Opteron_G5"),
325 Self::Penryn => write!(f, "Penryn"),
326 Self::Pentium => write!(f, "pentium"),
327 Self::Pentium2 => write!(f, "pentium2"),
328 Self::Pentium3 => write!(f, "pentium3"),
329 Self::Phenom => write!(f, "phenom"),
330 Self::Qemu32 => write!(f, "qemu32"),
331 Self::Qemu64 => write!(f, "qemu64"),
332 Self::SandyBridge => write!(f, "SandyBridge"),
333 Self::SandyBridgeIbrs => write!(f, "SandyBridge-IBRS"),
334 Self::SapphireRapids => write!(f, "SapphireRapids"),
335 Self::SapphireRapidsV2 => write!(f, "SapphireRapids-v2"),
336 Self::SapphireRapidsV3 => write!(f, "SapphireRapids-v3"),
337 Self::SapphireRapidsV4 => write!(f, "SapphireRapids-v4"),
338 Self::SapphireRapidsV5 => write!(f, "SapphireRapids-v5"),
339 Self::SapphireRapidsV6 => write!(f, "SapphireRapids-v6"),
340 Self::SierraForest => write!(f, "SierraForest"),
341 Self::SierraForestV2 => write!(f, "SierraForest-v2"),
342 Self::SierraForestV3 => write!(f, "SierraForest-v3"),
343 Self::SierraForestV4 => write!(f, "SierraForest-v4"),
344 Self::SierraForestV5 => write!(f, "SierraForest-v5"),
345 Self::SkylakeClient => write!(f, "Skylake-Client"),
346 Self::SkylakeClientIbrs => write!(f, "Skylake-Client-IBRS"),
347 Self::SkylakeClientNoTsxIbrs => write!(f, "Skylake-Client-noTSX-IBRS"),
348 Self::SkylakeClientV4 => write!(f, "Skylake-Client-v4"),
349 Self::SkylakeServer => write!(f, "Skylake-Server"),
350 Self::SkylakeServerIbrs => write!(f, "Skylake-Server-IBRS"),
351 Self::SkylakeServerNoTsxIbrs => write!(f, "Skylake-Server-noTSX-IBRS"),
352 Self::SkylakeServerV4 => write!(f, "Skylake-Server-v4"),
353 Self::SkylakeServerV5 => write!(f, "Skylake-Server-v5"),
354 Self::Westmere => write!(f, "Westmere"),
355 Self::WestmereIbrs => write!(f, "Westmere-IBRS"),
356 }
357 }
358}
359
360impl Default for PveReportedModelEnum {
361 fn default() -> PveReportedModelEnum {
362 Self::Variant486
363 }
364}
365