1#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)]
14pub struct PatchedWritableVirtualMachineWithConfigContextRequest {
15 #[serde(rename = "name", skip_serializing_if = "Option::is_none")]
16 pub name: Option<String>,
17 #[serde(
18 rename = "virtual_machine_type",
19 default,
20 with = "::serde_with::rust::double_option",
21 skip_serializing_if = "Option::is_none"
22 )]
23 pub virtual_machine_type: Option<
24 Option<Box<crate::models::BulkVirtualMachineWithConfigContextRequestVirtualMachineType>>,
25 >,
26 #[serde(
27 rename = "role",
28 default,
29 with = "::serde_with::rust::double_option",
30 skip_serializing_if = "Option::is_none"
31 )]
32 pub role: Option<Option<Box<crate::models::BulkVirtualMachineWithConfigContextRequestRole>>>,
33 #[serde(rename = "status", skip_serializing_if = "Option::is_none")]
35 pub status: Option<Status>,
36 #[serde(rename = "start_on_boot", skip_serializing_if = "Option::is_none")]
38 pub start_on_boot: Option<StartOnBoot>,
39 #[serde(
40 rename = "site",
41 default,
42 with = "::serde_with::rust::double_option",
43 skip_serializing_if = "Option::is_none"
44 )]
45 pub site: Option<Option<Box<crate::models::BulkVlanRequestSite>>>,
46 #[serde(
47 rename = "cluster",
48 default,
49 with = "::serde_with::rust::double_option",
50 skip_serializing_if = "Option::is_none"
51 )]
52 pub cluster: Option<Option<Box<crate::models::BulkDeviceWithConfigContextRequestCluster>>>,
53 #[serde(
54 rename = "device",
55 default,
56 with = "::serde_with::rust::double_option",
57 skip_serializing_if = "Option::is_none"
58 )]
59 pub device: Option<Option<Box<crate::models::BulkDeviceBayRequestInstalledDevice>>>,
60 #[serde(
61 rename = "platform",
62 default,
63 with = "::serde_with::rust::double_option",
64 skip_serializing_if = "Option::is_none"
65 )]
66 pub platform: Option<Option<Box<crate::models::BulkDeviceTypeRequestDefaultPlatform>>>,
67 #[serde(
68 rename = "primary_ip4",
69 default,
70 with = "::serde_with::rust::double_option",
71 skip_serializing_if = "Option::is_none"
72 )]
73 pub primary_ip4:
74 Option<Option<Box<crate::models::BulkDeviceWithConfigContextRequestPrimaryIp4>>>,
75 #[serde(
76 rename = "primary_ip6",
77 default,
78 with = "::serde_with::rust::double_option",
79 skip_serializing_if = "Option::is_none"
80 )]
81 pub primary_ip6:
82 Option<Option<Box<crate::models::BulkDeviceWithConfigContextRequestPrimaryIp4>>>,
83 #[serde(
84 rename = "vcpus",
85 default,
86 with = "::serde_with::rust::double_option",
87 skip_serializing_if = "Option::is_none"
88 )]
89 pub vcpus: Option<Option<f64>>,
90 #[serde(
91 rename = "memory",
92 default,
93 with = "::serde_with::rust::double_option",
94 skip_serializing_if = "Option::is_none"
95 )]
96 pub memory: Option<Option<i32>>,
97 #[serde(
98 rename = "disk",
99 default,
100 with = "::serde_with::rust::double_option",
101 skip_serializing_if = "Option::is_none"
102 )]
103 pub disk: Option<Option<i32>>,
104 #[serde(rename = "description", skip_serializing_if = "Option::is_none")]
105 pub description: Option<String>,
106 #[serde(rename = "serial", skip_serializing_if = "Option::is_none")]
107 pub serial: Option<String>,
108 #[serde(
109 rename = "tenant",
110 default,
111 with = "::serde_with::rust::double_option",
112 skip_serializing_if = "Option::is_none"
113 )]
114 pub tenant: Option<Option<Box<crate::models::AsnRangeRequestTenant>>>,
115 #[serde(
116 rename = "owner",
117 default,
118 with = "::serde_with::rust::double_option",
119 skip_serializing_if = "Option::is_none"
120 )]
121 pub owner: Option<Option<Box<crate::models::AsnRangeRequestOwner>>>,
122 #[serde(rename = "comments", skip_serializing_if = "Option::is_none")]
123 pub comments: Option<String>,
124 #[serde(rename = "tags", skip_serializing_if = "Option::is_none")]
125 pub tags: Option<Vec<crate::models::NestedTagRequest>>,
126 #[serde(
128 rename = "local_context_data",
129 default,
130 with = "::serde_with::rust::double_option",
131 skip_serializing_if = "Option::is_none"
132 )]
133 pub local_context_data: Option<Option<serde_json::Value>>,
134 #[serde(
135 rename = "config_template",
136 default,
137 with = "::serde_with::rust::double_option",
138 skip_serializing_if = "Option::is_none"
139 )]
140 pub config_template: Option<Option<Box<crate::models::BulkDeviceRoleRequestConfigTemplate>>>,
141 #[serde(rename = "custom_fields", skip_serializing_if = "Option::is_none")]
142 pub custom_fields: Option<::std::collections::HashMap<String, serde_json::Value>>,
143}
144
145impl PatchedWritableVirtualMachineWithConfigContextRequest {
146 pub fn new() -> PatchedWritableVirtualMachineWithConfigContextRequest {
148 PatchedWritableVirtualMachineWithConfigContextRequest {
149 name: None,
150 virtual_machine_type: None,
151 role: None,
152 status: None,
153 start_on_boot: None,
154 site: None,
155 cluster: None,
156 device: None,
157 platform: None,
158 primary_ip4: None,
159 primary_ip6: None,
160 vcpus: None,
161 memory: None,
162 disk: None,
163 description: None,
164 serial: None,
165 tenant: None,
166 owner: None,
167 comments: None,
168 tags: None,
169 local_context_data: None,
170 config_template: None,
171 custom_fields: None,
172 }
173 }
174}
175
176#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
178pub enum Status {
179 #[serde(rename = "offline")]
180 Offline,
181 #[serde(rename = "active")]
182 Active,
183 #[serde(rename = "planned")]
184 Planned,
185 #[serde(rename = "staged")]
186 Staged,
187 #[serde(rename = "failed")]
188 Failed,
189 #[serde(rename = "decommissioning")]
190 Decommissioning,
191 #[serde(rename = "paused")]
192 Paused,
193}
194
195impl Default for Status {
196 fn default() -> Status {
197 Self::Offline
198 }
199}
200#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
202pub enum StartOnBoot {
203 #[serde(rename = "on")]
204 On,
205 #[serde(rename = "off")]
206 Off,
207 #[serde(rename = "laststate")]
208 Laststate,
209}
210
211impl Default for StartOnBoot {
212 fn default() -> StartOnBoot {
213 Self::On
214 }
215}