1#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)]
14pub struct VirtualMachineWithConfigContext {
15 #[serde(rename = "id", skip_serializing_if = "Option::is_none")]
16 pub id: Option<i32>,
17 #[serde(rename = "url", skip_serializing_if = "Option::is_none")]
18 pub url: Option<String>,
19 #[serde(rename = "display_url", skip_serializing_if = "Option::is_none")]
20 pub display_url: Option<String>,
21 #[serde(rename = "display", skip_serializing_if = "Option::is_none")]
22 pub display: Option<String>,
23 #[serde(rename = "name")]
24 pub name: String,
25 #[serde(
26 rename = "virtual_machine_type",
27 default,
28 with = "::serde_with::rust::double_option",
29 skip_serializing_if = "Option::is_none"
30 )]
31 pub virtual_machine_type: Option<Option<Box<crate::models::BriefVirtualMachineType>>>,
32 #[serde(
33 rename = "role",
34 default,
35 with = "::serde_with::rust::double_option",
36 skip_serializing_if = "Option::is_none"
37 )]
38 pub role: Option<Option<Box<crate::models::BriefDeviceRole>>>,
39 #[serde(rename = "status", skip_serializing_if = "Option::is_none")]
40 pub status: Option<Box<crate::models::VirtualMachineWithConfigContextStatus>>,
41 #[serde(rename = "start_on_boot", skip_serializing_if = "Option::is_none")]
42 pub start_on_boot: Option<Box<crate::models::VirtualMachineWithConfigContextStartOnBoot>>,
43 #[serde(
44 rename = "site",
45 default,
46 with = "::serde_with::rust::double_option",
47 skip_serializing_if = "Option::is_none"
48 )]
49 pub site: Option<Option<Box<crate::models::BriefSite>>>,
50 #[serde(
51 rename = "cluster",
52 default,
53 with = "::serde_with::rust::double_option",
54 skip_serializing_if = "Option::is_none"
55 )]
56 pub cluster: Option<Option<Box<crate::models::BriefCluster>>>,
57 #[serde(
58 rename = "device",
59 default,
60 with = "::serde_with::rust::double_option",
61 skip_serializing_if = "Option::is_none"
62 )]
63 pub device: Option<Option<Box<crate::models::BriefDevice>>>,
64 #[serde(
65 rename = "platform",
66 default,
67 with = "::serde_with::rust::double_option",
68 skip_serializing_if = "Option::is_none"
69 )]
70 pub platform: Option<Option<Box<crate::models::BriefPlatform>>>,
71 #[serde(
72 rename = "primary_ip",
73 default,
74 with = "::serde_with::rust::double_option",
75 skip_serializing_if = "Option::is_none"
76 )]
77 pub primary_ip: Option<Option<Box<crate::models::BriefIpAddress>>>,
78 #[serde(
79 rename = "primary_ip4",
80 default,
81 with = "::serde_with::rust::double_option",
82 skip_serializing_if = "Option::is_none"
83 )]
84 pub primary_ip4: Option<Option<Box<crate::models::BriefIpAddress>>>,
85 #[serde(
86 rename = "primary_ip6",
87 default,
88 with = "::serde_with::rust::double_option",
89 skip_serializing_if = "Option::is_none"
90 )]
91 pub primary_ip6: Option<Option<Box<crate::models::BriefIpAddress>>>,
92 #[serde(
93 rename = "vcpus",
94 default,
95 with = "::serde_with::rust::double_option",
96 skip_serializing_if = "Option::is_none"
97 )]
98 pub vcpus: Option<Option<f64>>,
99 #[serde(
100 rename = "memory",
101 default,
102 with = "::serde_with::rust::double_option",
103 skip_serializing_if = "Option::is_none"
104 )]
105 pub memory: Option<Option<i32>>,
106 #[serde(
107 rename = "disk",
108 default,
109 with = "::serde_with::rust::double_option",
110 skip_serializing_if = "Option::is_none"
111 )]
112 pub disk: Option<Option<i32>>,
113 #[serde(rename = "description", skip_serializing_if = "Option::is_none")]
114 pub description: Option<String>,
115 #[serde(rename = "serial", skip_serializing_if = "Option::is_none")]
116 pub serial: Option<String>,
117 #[serde(
118 rename = "tenant",
119 default,
120 with = "::serde_with::rust::double_option",
121 skip_serializing_if = "Option::is_none"
122 )]
123 pub tenant: Option<Option<Box<crate::models::BriefTenant>>>,
124 #[serde(
125 rename = "owner",
126 default,
127 with = "::serde_with::rust::double_option",
128 skip_serializing_if = "Option::is_none"
129 )]
130 pub owner: Option<Option<Box<crate::models::BriefOwner>>>,
131 #[serde(rename = "comments", skip_serializing_if = "Option::is_none")]
132 pub comments: Option<String>,
133 #[serde(rename = "tags", skip_serializing_if = "Option::is_none")]
134 pub tags: Option<Vec<crate::models::NestedTag>>,
135 #[serde(
137 rename = "local_context_data",
138 default,
139 with = "::serde_with::rust::double_option",
140 skip_serializing_if = "Option::is_none"
141 )]
142 pub local_context_data: Option<Option<serde_json::Value>>,
143 #[serde(
144 rename = "config_template",
145 default,
146 with = "::serde_with::rust::double_option",
147 skip_serializing_if = "Option::is_none"
148 )]
149 pub config_template: Option<Option<Box<crate::models::BriefConfigTemplate>>>,
150 #[serde(rename = "custom_fields", skip_serializing_if = "Option::is_none")]
151 pub custom_fields: Option<::std::collections::HashMap<String, serde_json::Value>>,
152 #[serde(
153 rename = "created",
154 default,
155 with = "::serde_with::rust::double_option",
156 skip_serializing_if = "Option::is_none"
157 )]
158 pub created: Option<Option<String>>,
159 #[serde(
160 rename = "last_updated",
161 default,
162 with = "::serde_with::rust::double_option",
163 skip_serializing_if = "Option::is_none"
164 )]
165 pub last_updated: Option<Option<String>>,
166 #[serde(rename = "interface_count", skip_serializing_if = "Option::is_none")]
167 pub interface_count: Option<i32>,
168 #[serde(rename = "virtual_disk_count", skip_serializing_if = "Option::is_none")]
169 pub virtual_disk_count: Option<i32>,
170 #[serde(
171 rename = "config_context",
172 default,
173 with = "::serde_with::rust::double_option",
174 skip_serializing_if = "Option::is_none"
175 )]
176 pub config_context: Option<Option<serde_json::Value>>,
177}
178
179impl VirtualMachineWithConfigContext {
180 pub fn new(name: String) -> VirtualMachineWithConfigContext {
182 VirtualMachineWithConfigContext {
183 id: None,
184 url: None,
185 display_url: None,
186 display: None,
187 name,
188 virtual_machine_type: None,
189 role: None,
190 status: None,
191 start_on_boot: None,
192 site: None,
193 cluster: None,
194 device: None,
195 platform: None,
196 primary_ip: None,
197 primary_ip4: None,
198 primary_ip6: None,
199 vcpus: None,
200 memory: None,
201 disk: None,
202 description: None,
203 serial: None,
204 tenant: None,
205 owner: None,
206 comments: None,
207 tags: None,
208 local_context_data: None,
209 config_template: None,
210 custom_fields: None,
211 created: None,
212 last_updated: None,
213 interface_count: None,
214 virtual_disk_count: None,
215 config_context: None,
216 }
217 }
218}