cloud_hypervisor_client/models/
memory_zone_config.rs1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15pub struct MemoryZoneConfig {
16 #[serde(rename = "id")]
17 pub id: String,
18 #[serde(rename = "size")]
19 pub size: i64,
20 #[serde(rename = "file", skip_serializing_if = "Option::is_none")]
21 pub file: Option<String>,
22 #[serde(rename = "mergeable", skip_serializing_if = "Option::is_none")]
23 pub mergeable: Option<bool>,
24 #[serde(rename = "shared", skip_serializing_if = "Option::is_none")]
25 pub shared: Option<bool>,
26 #[serde(rename = "hugepages", skip_serializing_if = "Option::is_none")]
27 pub hugepages: Option<bool>,
28 #[serde(rename = "hugepage_size", skip_serializing_if = "Option::is_none")]
29 pub hugepage_size: Option<i64>,
30 #[serde(rename = "host_numa_node", skip_serializing_if = "Option::is_none")]
31 pub host_numa_node: Option<i32>,
32 #[serde(rename = "hotplug_size", skip_serializing_if = "Option::is_none")]
33 pub hotplug_size: Option<i64>,
34 #[serde(rename = "hotplugged_size", skip_serializing_if = "Option::is_none")]
35 pub hotplugged_size: Option<i64>,
36 #[serde(rename = "prefault", skip_serializing_if = "Option::is_none")]
37 pub prefault: Option<bool>,
38}
39
40impl MemoryZoneConfig {
41 pub fn new(id: String, size: i64) -> MemoryZoneConfig {
42 MemoryZoneConfig {
43 id,
44 size,
45 file: None,
46 mergeable: None,
47 shared: None,
48 hugepages: None,
49 hugepage_size: None,
50 host_numa_node: None,
51 hotplug_size: None,
52 hotplugged_size: None,
53 prefault: None,
54 }
55 }
56}