firecracker_rs_sdk/models/
machine_configuration.rs1use serde::{Deserialize, Serialize};
2
3use super::cpu_template::CPUTemplate;
4
5#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq, PartialOrd, Ord, Hash)]
7pub struct MachineConfiguration {
8 #[serde(rename = "cpu_template", skip_serializing_if = "Option::is_none")]
10 pub cpu_template: Option<CPUTemplate>,
11
12 #[serde(rename = "smt", skip_serializing_if = "Option::is_none")]
15 pub smt: Option<bool>,
16
17 #[serde(rename = "mem_size_mib")]
20 pub mem_size_mib: isize,
21
22 #[serde(rename = "track_dirty_pages", skip_serializing_if = "Option::is_none")]
27 pub track_dirty_pages: Option<bool>,
28
29 #[serde(rename = "vcpu_count")]
34 pub vcpu_count: isize,
35
36 #[serde(rename = "huge_pages", skip_serializing_if = "Option::is_none")]
41 pub huge_pages: Option<HugePageOption>,
42}
43
44#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq, PartialOrd, Ord, Hash)]
45pub enum HugePageOption {
46 #[serde(rename = "None")]
47 None,
48 #[serde(rename = "2M")]
49 HugePage2M,
50}