1#[derive(Debug, Clone)]
2pub struct MoveDiskClient<T> {
3 client: T,
4 path: String,
5}
6impl<T> MoveDiskClient<T>
7where
8 T: crate::client::Client,
9{
10 pub fn new(client: T, parent_path: &str) -> Self {
11 Self {
12 client,
13 path: format!("{}{}", parent_path, "/move_disk"),
14 }
15 }
16}
17impl<T> MoveDiskClient<T>
18where
19 T: crate::client::Client,
20{
21 #[doc = "Move volume to different storage or to a different VM."]
22 #[doc = ""]
23 #[doc = "Permission check: perm(\"/vms/{vmid}\", [\"VM.Config.Disk\"])"]
24 #[doc = "You need 'VM.Config.Disk' permissions on /vms/{vmid}, and 'Datastore.AllocateSpace' permissions on the storage. To move a disk to another VM, you need the permissions on the target VM as well."]
25 pub async fn post(&self, params: PostParams) -> Result<String, T::Error> {
26 let path = self.path.to_string();
27 self.client.post(&path, ¶ms).await
28 }
29}
30impl PostParams {
31 pub fn new(disk: Disk) -> Self {
32 Self {
33 disk,
34 bwlimit: ::std::default::Default::default(),
35 delete: ::std::default::Default::default(),
36 digest: ::std::default::Default::default(),
37 format: ::std::default::Default::default(),
38 storage: ::std::default::Default::default(),
39 target_digest: ::std::default::Default::default(),
40 target_disk: ::std::default::Default::default(),
41 target_vmid: ::std::default::Default::default(),
42 additional_properties: ::std::default::Default::default(),
43 }
44 }
45}
46#[derive(Clone, Debug, :: serde :: Serialize, :: serde :: Deserialize)]
47pub struct PostParams {
48 #[serde(
49 serialize_with = "crate::types::serialize_unsigned_int_optional",
50 deserialize_with = "crate::types::deserialize_unsigned_int_optional"
51 )]
52 #[serde(skip_serializing_if = "Option::is_none", default)]
53 #[doc = "Override I/O bandwidth limit (in KiB/s)."]
54 #[doc = ""]
55 pub bwlimit: Option<u64>,
56 #[serde(
57 serialize_with = "crate::types::serialize_bool_optional",
58 deserialize_with = "crate::types::deserialize_bool_optional"
59 )]
60 #[serde(skip_serializing_if = "Option::is_none", default)]
61 #[doc = "Delete the original disk after successful copy. By default the original disk is kept as unused disk."]
62 #[doc = ""]
63 pub delete: Option<bool>,
64 #[serde(skip_serializing_if = "Option::is_none", default)]
65 #[doc = "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications."]
66 #[doc = ""]
67 pub digest: Option<DigestStr>,
68 #[doc = "The disk you want to move."]
69 #[doc = ""]
70 pub disk: Disk,
71 #[serde(skip_serializing_if = "Option::is_none", default)]
72 #[doc = "Target Format."]
73 #[doc = ""]
74 pub format: Option<Format>,
75 #[serde(skip_serializing_if = "Option::is_none", default)]
76 #[doc = "Target storage."]
77 #[doc = ""]
78 pub storage: Option<String>,
79 #[serde(rename = "target-digest")]
80 #[serde(skip_serializing_if = "Option::is_none", default)]
81 #[doc = "Prevent changes if the current config file of the target VM has a different SHA1 digest. This can be used to detect concurrent modifications."]
82 #[doc = ""]
83 pub target_digest: Option<TargetDigestStr>,
84 #[serde(rename = "target-disk")]
85 #[serde(skip_serializing_if = "Option::is_none", default)]
86 #[doc = "The config key the disk will be moved to on the target VM (for example, ide0 or scsi1). Default is the source disk key."]
87 #[doc = ""]
88 pub target_disk: Option<TargetDisk>,
89 #[serde(rename = "target-vmid")]
90 #[serde(skip_serializing_if = "Option::is_none", default)]
91 #[doc = "The (unique) ID of the VM."]
92 #[doc = ""]
93 pub target_vmid: Option<TargetVmidInt>,
94 #[serde(
95 flatten,
96 default,
97 skip_serializing_if = "::std::collections::HashMap::is_empty"
98 )]
99 pub additional_properties: ::std::collections::HashMap<String, ::serde_json::Value>,
100}
101#[derive(Clone, Debug, :: serde :: Serialize, :: serde :: Deserialize, PartialEq)]
102#[doc = "The disk you want to move."]
103#[doc = ""]
104pub enum Disk {
105 #[serde(rename = "efidisk0")]
106 Efidisk0,
107 #[serde(rename = "ide0")]
108 Ide0,
109 #[serde(rename = "ide1")]
110 Ide1,
111 #[serde(rename = "ide2")]
112 Ide2,
113 #[serde(rename = "ide3")]
114 Ide3,
115 #[serde(rename = "sata0")]
116 Sata0,
117 #[serde(rename = "sata1")]
118 Sata1,
119 #[serde(rename = "sata2")]
120 Sata2,
121 #[serde(rename = "sata3")]
122 Sata3,
123 #[serde(rename = "sata4")]
124 Sata4,
125 #[serde(rename = "sata5")]
126 Sata5,
127 #[serde(rename = "scsi0")]
128 Scsi0,
129 #[serde(rename = "scsi1")]
130 Scsi1,
131 #[serde(rename = "scsi10")]
132 Scsi10,
133 #[serde(rename = "scsi11")]
134 Scsi11,
135 #[serde(rename = "scsi12")]
136 Scsi12,
137 #[serde(rename = "scsi13")]
138 Scsi13,
139 #[serde(rename = "scsi14")]
140 Scsi14,
141 #[serde(rename = "scsi15")]
142 Scsi15,
143 #[serde(rename = "scsi16")]
144 Scsi16,
145 #[serde(rename = "scsi17")]
146 Scsi17,
147 #[serde(rename = "scsi18")]
148 Scsi18,
149 #[serde(rename = "scsi19")]
150 Scsi19,
151 #[serde(rename = "scsi2")]
152 Scsi2,
153 #[serde(rename = "scsi20")]
154 Scsi20,
155 #[serde(rename = "scsi21")]
156 Scsi21,
157 #[serde(rename = "scsi22")]
158 Scsi22,
159 #[serde(rename = "scsi23")]
160 Scsi23,
161 #[serde(rename = "scsi24")]
162 Scsi24,
163 #[serde(rename = "scsi25")]
164 Scsi25,
165 #[serde(rename = "scsi26")]
166 Scsi26,
167 #[serde(rename = "scsi27")]
168 Scsi27,
169 #[serde(rename = "scsi28")]
170 Scsi28,
171 #[serde(rename = "scsi29")]
172 Scsi29,
173 #[serde(rename = "scsi3")]
174 Scsi3,
175 #[serde(rename = "scsi30")]
176 Scsi30,
177 #[serde(rename = "scsi4")]
178 Scsi4,
179 #[serde(rename = "scsi5")]
180 Scsi5,
181 #[serde(rename = "scsi6")]
182 Scsi6,
183 #[serde(rename = "scsi7")]
184 Scsi7,
185 #[serde(rename = "scsi8")]
186 Scsi8,
187 #[serde(rename = "scsi9")]
188 Scsi9,
189 #[serde(rename = "tpmstate0")]
190 Tpmstate0,
191 #[serde(rename = "unused0")]
192 Unused0,
193 #[serde(rename = "unused1")]
194 Unused1,
195 #[serde(rename = "unused10")]
196 Unused10,
197 #[serde(rename = "unused100")]
198 Unused100,
199 #[serde(rename = "unused101")]
200 Unused101,
201 #[serde(rename = "unused102")]
202 Unused102,
203 #[serde(rename = "unused103")]
204 Unused103,
205 #[serde(rename = "unused104")]
206 Unused104,
207 #[serde(rename = "unused105")]
208 Unused105,
209 #[serde(rename = "unused106")]
210 Unused106,
211 #[serde(rename = "unused107")]
212 Unused107,
213 #[serde(rename = "unused108")]
214 Unused108,
215 #[serde(rename = "unused109")]
216 Unused109,
217 #[serde(rename = "unused11")]
218 Unused11,
219 #[serde(rename = "unused110")]
220 Unused110,
221 #[serde(rename = "unused111")]
222 Unused111,
223 #[serde(rename = "unused112")]
224 Unused112,
225 #[serde(rename = "unused113")]
226 Unused113,
227 #[serde(rename = "unused114")]
228 Unused114,
229 #[serde(rename = "unused115")]
230 Unused115,
231 #[serde(rename = "unused116")]
232 Unused116,
233 #[serde(rename = "unused117")]
234 Unused117,
235 #[serde(rename = "unused118")]
236 Unused118,
237 #[serde(rename = "unused119")]
238 Unused119,
239 #[serde(rename = "unused12")]
240 Unused12,
241 #[serde(rename = "unused120")]
242 Unused120,
243 #[serde(rename = "unused121")]
244 Unused121,
245 #[serde(rename = "unused122")]
246 Unused122,
247 #[serde(rename = "unused123")]
248 Unused123,
249 #[serde(rename = "unused124")]
250 Unused124,
251 #[serde(rename = "unused125")]
252 Unused125,
253 #[serde(rename = "unused126")]
254 Unused126,
255 #[serde(rename = "unused127")]
256 Unused127,
257 #[serde(rename = "unused128")]
258 Unused128,
259 #[serde(rename = "unused129")]
260 Unused129,
261 #[serde(rename = "unused13")]
262 Unused13,
263 #[serde(rename = "unused130")]
264 Unused130,
265 #[serde(rename = "unused131")]
266 Unused131,
267 #[serde(rename = "unused132")]
268 Unused132,
269 #[serde(rename = "unused133")]
270 Unused133,
271 #[serde(rename = "unused134")]
272 Unused134,
273 #[serde(rename = "unused135")]
274 Unused135,
275 #[serde(rename = "unused136")]
276 Unused136,
277 #[serde(rename = "unused137")]
278 Unused137,
279 #[serde(rename = "unused138")]
280 Unused138,
281 #[serde(rename = "unused139")]
282 Unused139,
283 #[serde(rename = "unused14")]
284 Unused14,
285 #[serde(rename = "unused140")]
286 Unused140,
287 #[serde(rename = "unused141")]
288 Unused141,
289 #[serde(rename = "unused142")]
290 Unused142,
291 #[serde(rename = "unused143")]
292 Unused143,
293 #[serde(rename = "unused144")]
294 Unused144,
295 #[serde(rename = "unused145")]
296 Unused145,
297 #[serde(rename = "unused146")]
298 Unused146,
299 #[serde(rename = "unused147")]
300 Unused147,
301 #[serde(rename = "unused148")]
302 Unused148,
303 #[serde(rename = "unused149")]
304 Unused149,
305 #[serde(rename = "unused15")]
306 Unused15,
307 #[serde(rename = "unused150")]
308 Unused150,
309 #[serde(rename = "unused151")]
310 Unused151,
311 #[serde(rename = "unused152")]
312 Unused152,
313 #[serde(rename = "unused153")]
314 Unused153,
315 #[serde(rename = "unused154")]
316 Unused154,
317 #[serde(rename = "unused155")]
318 Unused155,
319 #[serde(rename = "unused156")]
320 Unused156,
321 #[serde(rename = "unused157")]
322 Unused157,
323 #[serde(rename = "unused158")]
324 Unused158,
325 #[serde(rename = "unused159")]
326 Unused159,
327 #[serde(rename = "unused16")]
328 Unused16,
329 #[serde(rename = "unused160")]
330 Unused160,
331 #[serde(rename = "unused161")]
332 Unused161,
333 #[serde(rename = "unused162")]
334 Unused162,
335 #[serde(rename = "unused163")]
336 Unused163,
337 #[serde(rename = "unused164")]
338 Unused164,
339 #[serde(rename = "unused165")]
340 Unused165,
341 #[serde(rename = "unused166")]
342 Unused166,
343 #[serde(rename = "unused167")]
344 Unused167,
345 #[serde(rename = "unused168")]
346 Unused168,
347 #[serde(rename = "unused169")]
348 Unused169,
349 #[serde(rename = "unused17")]
350 Unused17,
351 #[serde(rename = "unused170")]
352 Unused170,
353 #[serde(rename = "unused171")]
354 Unused171,
355 #[serde(rename = "unused172")]
356 Unused172,
357 #[serde(rename = "unused173")]
358 Unused173,
359 #[serde(rename = "unused174")]
360 Unused174,
361 #[serde(rename = "unused175")]
362 Unused175,
363 #[serde(rename = "unused176")]
364 Unused176,
365 #[serde(rename = "unused177")]
366 Unused177,
367 #[serde(rename = "unused178")]
368 Unused178,
369 #[serde(rename = "unused179")]
370 Unused179,
371 #[serde(rename = "unused18")]
372 Unused18,
373 #[serde(rename = "unused180")]
374 Unused180,
375 #[serde(rename = "unused181")]
376 Unused181,
377 #[serde(rename = "unused182")]
378 Unused182,
379 #[serde(rename = "unused183")]
380 Unused183,
381 #[serde(rename = "unused184")]
382 Unused184,
383 #[serde(rename = "unused185")]
384 Unused185,
385 #[serde(rename = "unused186")]
386 Unused186,
387 #[serde(rename = "unused187")]
388 Unused187,
389 #[serde(rename = "unused188")]
390 Unused188,
391 #[serde(rename = "unused189")]
392 Unused189,
393 #[serde(rename = "unused19")]
394 Unused19,
395 #[serde(rename = "unused190")]
396 Unused190,
397 #[serde(rename = "unused191")]
398 Unused191,
399 #[serde(rename = "unused192")]
400 Unused192,
401 #[serde(rename = "unused193")]
402 Unused193,
403 #[serde(rename = "unused194")]
404 Unused194,
405 #[serde(rename = "unused195")]
406 Unused195,
407 #[serde(rename = "unused196")]
408 Unused196,
409 #[serde(rename = "unused197")]
410 Unused197,
411 #[serde(rename = "unused198")]
412 Unused198,
413 #[serde(rename = "unused199")]
414 Unused199,
415 #[serde(rename = "unused2")]
416 Unused2,
417 #[serde(rename = "unused20")]
418 Unused20,
419 #[serde(rename = "unused200")]
420 Unused200,
421 #[serde(rename = "unused201")]
422 Unused201,
423 #[serde(rename = "unused202")]
424 Unused202,
425 #[serde(rename = "unused203")]
426 Unused203,
427 #[serde(rename = "unused204")]
428 Unused204,
429 #[serde(rename = "unused205")]
430 Unused205,
431 #[serde(rename = "unused206")]
432 Unused206,
433 #[serde(rename = "unused207")]
434 Unused207,
435 #[serde(rename = "unused208")]
436 Unused208,
437 #[serde(rename = "unused209")]
438 Unused209,
439 #[serde(rename = "unused21")]
440 Unused21,
441 #[serde(rename = "unused210")]
442 Unused210,
443 #[serde(rename = "unused211")]
444 Unused211,
445 #[serde(rename = "unused212")]
446 Unused212,
447 #[serde(rename = "unused213")]
448 Unused213,
449 #[serde(rename = "unused214")]
450 Unused214,
451 #[serde(rename = "unused215")]
452 Unused215,
453 #[serde(rename = "unused216")]
454 Unused216,
455 #[serde(rename = "unused217")]
456 Unused217,
457 #[serde(rename = "unused218")]
458 Unused218,
459 #[serde(rename = "unused219")]
460 Unused219,
461 #[serde(rename = "unused22")]
462 Unused22,
463 #[serde(rename = "unused220")]
464 Unused220,
465 #[serde(rename = "unused221")]
466 Unused221,
467 #[serde(rename = "unused222")]
468 Unused222,
469 #[serde(rename = "unused223")]
470 Unused223,
471 #[serde(rename = "unused224")]
472 Unused224,
473 #[serde(rename = "unused225")]
474 Unused225,
475 #[serde(rename = "unused226")]
476 Unused226,
477 #[serde(rename = "unused227")]
478 Unused227,
479 #[serde(rename = "unused228")]
480 Unused228,
481 #[serde(rename = "unused229")]
482 Unused229,
483 #[serde(rename = "unused23")]
484 Unused23,
485 #[serde(rename = "unused230")]
486 Unused230,
487 #[serde(rename = "unused231")]
488 Unused231,
489 #[serde(rename = "unused232")]
490 Unused232,
491 #[serde(rename = "unused233")]
492 Unused233,
493 #[serde(rename = "unused234")]
494 Unused234,
495 #[serde(rename = "unused235")]
496 Unused235,
497 #[serde(rename = "unused236")]
498 Unused236,
499 #[serde(rename = "unused237")]
500 Unused237,
501 #[serde(rename = "unused238")]
502 Unused238,
503 #[serde(rename = "unused239")]
504 Unused239,
505 #[serde(rename = "unused24")]
506 Unused24,
507 #[serde(rename = "unused240")]
508 Unused240,
509 #[serde(rename = "unused241")]
510 Unused241,
511 #[serde(rename = "unused242")]
512 Unused242,
513 #[serde(rename = "unused243")]
514 Unused243,
515 #[serde(rename = "unused244")]
516 Unused244,
517 #[serde(rename = "unused245")]
518 Unused245,
519 #[serde(rename = "unused246")]
520 Unused246,
521 #[serde(rename = "unused247")]
522 Unused247,
523 #[serde(rename = "unused248")]
524 Unused248,
525 #[serde(rename = "unused249")]
526 Unused249,
527 #[serde(rename = "unused25")]
528 Unused25,
529 #[serde(rename = "unused250")]
530 Unused250,
531 #[serde(rename = "unused251")]
532 Unused251,
533 #[serde(rename = "unused252")]
534 Unused252,
535 #[serde(rename = "unused253")]
536 Unused253,
537 #[serde(rename = "unused254")]
538 Unused254,
539 #[serde(rename = "unused255")]
540 Unused255,
541 #[serde(rename = "unused26")]
542 Unused26,
543 #[serde(rename = "unused27")]
544 Unused27,
545 #[serde(rename = "unused28")]
546 Unused28,
547 #[serde(rename = "unused29")]
548 Unused29,
549 #[serde(rename = "unused3")]
550 Unused3,
551 #[serde(rename = "unused30")]
552 Unused30,
553 #[serde(rename = "unused31")]
554 Unused31,
555 #[serde(rename = "unused32")]
556 Unused32,
557 #[serde(rename = "unused33")]
558 Unused33,
559 #[serde(rename = "unused34")]
560 Unused34,
561 #[serde(rename = "unused35")]
562 Unused35,
563 #[serde(rename = "unused36")]
564 Unused36,
565 #[serde(rename = "unused37")]
566 Unused37,
567 #[serde(rename = "unused38")]
568 Unused38,
569 #[serde(rename = "unused39")]
570 Unused39,
571 #[serde(rename = "unused4")]
572 Unused4,
573 #[serde(rename = "unused40")]
574 Unused40,
575 #[serde(rename = "unused41")]
576 Unused41,
577 #[serde(rename = "unused42")]
578 Unused42,
579 #[serde(rename = "unused43")]
580 Unused43,
581 #[serde(rename = "unused44")]
582 Unused44,
583 #[serde(rename = "unused45")]
584 Unused45,
585 #[serde(rename = "unused46")]
586 Unused46,
587 #[serde(rename = "unused47")]
588 Unused47,
589 #[serde(rename = "unused48")]
590 Unused48,
591 #[serde(rename = "unused49")]
592 Unused49,
593 #[serde(rename = "unused5")]
594 Unused5,
595 #[serde(rename = "unused50")]
596 Unused50,
597 #[serde(rename = "unused51")]
598 Unused51,
599 #[serde(rename = "unused52")]
600 Unused52,
601 #[serde(rename = "unused53")]
602 Unused53,
603 #[serde(rename = "unused54")]
604 Unused54,
605 #[serde(rename = "unused55")]
606 Unused55,
607 #[serde(rename = "unused56")]
608 Unused56,
609 #[serde(rename = "unused57")]
610 Unused57,
611 #[serde(rename = "unused58")]
612 Unused58,
613 #[serde(rename = "unused59")]
614 Unused59,
615 #[serde(rename = "unused6")]
616 Unused6,
617 #[serde(rename = "unused60")]
618 Unused60,
619 #[serde(rename = "unused61")]
620 Unused61,
621 #[serde(rename = "unused62")]
622 Unused62,
623 #[serde(rename = "unused63")]
624 Unused63,
625 #[serde(rename = "unused64")]
626 Unused64,
627 #[serde(rename = "unused65")]
628 Unused65,
629 #[serde(rename = "unused66")]
630 Unused66,
631 #[serde(rename = "unused67")]
632 Unused67,
633 #[serde(rename = "unused68")]
634 Unused68,
635 #[serde(rename = "unused69")]
636 Unused69,
637 #[serde(rename = "unused7")]
638 Unused7,
639 #[serde(rename = "unused70")]
640 Unused70,
641 #[serde(rename = "unused71")]
642 Unused71,
643 #[serde(rename = "unused72")]
644 Unused72,
645 #[serde(rename = "unused73")]
646 Unused73,
647 #[serde(rename = "unused74")]
648 Unused74,
649 #[serde(rename = "unused75")]
650 Unused75,
651 #[serde(rename = "unused76")]
652 Unused76,
653 #[serde(rename = "unused77")]
654 Unused77,
655 #[serde(rename = "unused78")]
656 Unused78,
657 #[serde(rename = "unused79")]
658 Unused79,
659 #[serde(rename = "unused8")]
660 Unused8,
661 #[serde(rename = "unused80")]
662 Unused80,
663 #[serde(rename = "unused81")]
664 Unused81,
665 #[serde(rename = "unused82")]
666 Unused82,
667 #[serde(rename = "unused83")]
668 Unused83,
669 #[serde(rename = "unused84")]
670 Unused84,
671 #[serde(rename = "unused85")]
672 Unused85,
673 #[serde(rename = "unused86")]
674 Unused86,
675 #[serde(rename = "unused87")]
676 Unused87,
677 #[serde(rename = "unused88")]
678 Unused88,
679 #[serde(rename = "unused89")]
680 Unused89,
681 #[serde(rename = "unused9")]
682 Unused9,
683 #[serde(rename = "unused90")]
684 Unused90,
685 #[serde(rename = "unused91")]
686 Unused91,
687 #[serde(rename = "unused92")]
688 Unused92,
689 #[serde(rename = "unused93")]
690 Unused93,
691 #[serde(rename = "unused94")]
692 Unused94,
693 #[serde(rename = "unused95")]
694 Unused95,
695 #[serde(rename = "unused96")]
696 Unused96,
697 #[serde(rename = "unused97")]
698 Unused97,
699 #[serde(rename = "unused98")]
700 Unused98,
701 #[serde(rename = "unused99")]
702 Unused99,
703 #[serde(rename = "virtio0")]
704 Virtio0,
705 #[serde(rename = "virtio1")]
706 Virtio1,
707 #[serde(rename = "virtio10")]
708 Virtio10,
709 #[serde(rename = "virtio11")]
710 Virtio11,
711 #[serde(rename = "virtio12")]
712 Virtio12,
713 #[serde(rename = "virtio13")]
714 Virtio13,
715 #[serde(rename = "virtio14")]
716 Virtio14,
717 #[serde(rename = "virtio15")]
718 Virtio15,
719 #[serde(rename = "virtio2")]
720 Virtio2,
721 #[serde(rename = "virtio3")]
722 Virtio3,
723 #[serde(rename = "virtio4")]
724 Virtio4,
725 #[serde(rename = "virtio5")]
726 Virtio5,
727 #[serde(rename = "virtio6")]
728 Virtio6,
729 #[serde(rename = "virtio7")]
730 Virtio7,
731 #[serde(rename = "virtio8")]
732 Virtio8,
733 #[serde(rename = "virtio9")]
734 Virtio9,
735}
736impl TryFrom<&str> for Disk {
737 type Error = String;
738 fn try_from(value: &str) -> Result<Self, <Self as TryFrom<&str>>::Error> {
739 match value {
740 "efidisk0" => Ok(Self::Efidisk0),
741 "ide0" => Ok(Self::Ide0),
742 "ide1" => Ok(Self::Ide1),
743 "ide2" => Ok(Self::Ide2),
744 "ide3" => Ok(Self::Ide3),
745 "sata0" => Ok(Self::Sata0),
746 "sata1" => Ok(Self::Sata1),
747 "sata2" => Ok(Self::Sata2),
748 "sata3" => Ok(Self::Sata3),
749 "sata4" => Ok(Self::Sata4),
750 "sata5" => Ok(Self::Sata5),
751 "scsi0" => Ok(Self::Scsi0),
752 "scsi1" => Ok(Self::Scsi1),
753 "scsi10" => Ok(Self::Scsi10),
754 "scsi11" => Ok(Self::Scsi11),
755 "scsi12" => Ok(Self::Scsi12),
756 "scsi13" => Ok(Self::Scsi13),
757 "scsi14" => Ok(Self::Scsi14),
758 "scsi15" => Ok(Self::Scsi15),
759 "scsi16" => Ok(Self::Scsi16),
760 "scsi17" => Ok(Self::Scsi17),
761 "scsi18" => Ok(Self::Scsi18),
762 "scsi19" => Ok(Self::Scsi19),
763 "scsi2" => Ok(Self::Scsi2),
764 "scsi20" => Ok(Self::Scsi20),
765 "scsi21" => Ok(Self::Scsi21),
766 "scsi22" => Ok(Self::Scsi22),
767 "scsi23" => Ok(Self::Scsi23),
768 "scsi24" => Ok(Self::Scsi24),
769 "scsi25" => Ok(Self::Scsi25),
770 "scsi26" => Ok(Self::Scsi26),
771 "scsi27" => Ok(Self::Scsi27),
772 "scsi28" => Ok(Self::Scsi28),
773 "scsi29" => Ok(Self::Scsi29),
774 "scsi3" => Ok(Self::Scsi3),
775 "scsi30" => Ok(Self::Scsi30),
776 "scsi4" => Ok(Self::Scsi4),
777 "scsi5" => Ok(Self::Scsi5),
778 "scsi6" => Ok(Self::Scsi6),
779 "scsi7" => Ok(Self::Scsi7),
780 "scsi8" => Ok(Self::Scsi8),
781 "scsi9" => Ok(Self::Scsi9),
782 "tpmstate0" => Ok(Self::Tpmstate0),
783 "unused0" => Ok(Self::Unused0),
784 "unused1" => Ok(Self::Unused1),
785 "unused10" => Ok(Self::Unused10),
786 "unused100" => Ok(Self::Unused100),
787 "unused101" => Ok(Self::Unused101),
788 "unused102" => Ok(Self::Unused102),
789 "unused103" => Ok(Self::Unused103),
790 "unused104" => Ok(Self::Unused104),
791 "unused105" => Ok(Self::Unused105),
792 "unused106" => Ok(Self::Unused106),
793 "unused107" => Ok(Self::Unused107),
794 "unused108" => Ok(Self::Unused108),
795 "unused109" => Ok(Self::Unused109),
796 "unused11" => Ok(Self::Unused11),
797 "unused110" => Ok(Self::Unused110),
798 "unused111" => Ok(Self::Unused111),
799 "unused112" => Ok(Self::Unused112),
800 "unused113" => Ok(Self::Unused113),
801 "unused114" => Ok(Self::Unused114),
802 "unused115" => Ok(Self::Unused115),
803 "unused116" => Ok(Self::Unused116),
804 "unused117" => Ok(Self::Unused117),
805 "unused118" => Ok(Self::Unused118),
806 "unused119" => Ok(Self::Unused119),
807 "unused12" => Ok(Self::Unused12),
808 "unused120" => Ok(Self::Unused120),
809 "unused121" => Ok(Self::Unused121),
810 "unused122" => Ok(Self::Unused122),
811 "unused123" => Ok(Self::Unused123),
812 "unused124" => Ok(Self::Unused124),
813 "unused125" => Ok(Self::Unused125),
814 "unused126" => Ok(Self::Unused126),
815 "unused127" => Ok(Self::Unused127),
816 "unused128" => Ok(Self::Unused128),
817 "unused129" => Ok(Self::Unused129),
818 "unused13" => Ok(Self::Unused13),
819 "unused130" => Ok(Self::Unused130),
820 "unused131" => Ok(Self::Unused131),
821 "unused132" => Ok(Self::Unused132),
822 "unused133" => Ok(Self::Unused133),
823 "unused134" => Ok(Self::Unused134),
824 "unused135" => Ok(Self::Unused135),
825 "unused136" => Ok(Self::Unused136),
826 "unused137" => Ok(Self::Unused137),
827 "unused138" => Ok(Self::Unused138),
828 "unused139" => Ok(Self::Unused139),
829 "unused14" => Ok(Self::Unused14),
830 "unused140" => Ok(Self::Unused140),
831 "unused141" => Ok(Self::Unused141),
832 "unused142" => Ok(Self::Unused142),
833 "unused143" => Ok(Self::Unused143),
834 "unused144" => Ok(Self::Unused144),
835 "unused145" => Ok(Self::Unused145),
836 "unused146" => Ok(Self::Unused146),
837 "unused147" => Ok(Self::Unused147),
838 "unused148" => Ok(Self::Unused148),
839 "unused149" => Ok(Self::Unused149),
840 "unused15" => Ok(Self::Unused15),
841 "unused150" => Ok(Self::Unused150),
842 "unused151" => Ok(Self::Unused151),
843 "unused152" => Ok(Self::Unused152),
844 "unused153" => Ok(Self::Unused153),
845 "unused154" => Ok(Self::Unused154),
846 "unused155" => Ok(Self::Unused155),
847 "unused156" => Ok(Self::Unused156),
848 "unused157" => Ok(Self::Unused157),
849 "unused158" => Ok(Self::Unused158),
850 "unused159" => Ok(Self::Unused159),
851 "unused16" => Ok(Self::Unused16),
852 "unused160" => Ok(Self::Unused160),
853 "unused161" => Ok(Self::Unused161),
854 "unused162" => Ok(Self::Unused162),
855 "unused163" => Ok(Self::Unused163),
856 "unused164" => Ok(Self::Unused164),
857 "unused165" => Ok(Self::Unused165),
858 "unused166" => Ok(Self::Unused166),
859 "unused167" => Ok(Self::Unused167),
860 "unused168" => Ok(Self::Unused168),
861 "unused169" => Ok(Self::Unused169),
862 "unused17" => Ok(Self::Unused17),
863 "unused170" => Ok(Self::Unused170),
864 "unused171" => Ok(Self::Unused171),
865 "unused172" => Ok(Self::Unused172),
866 "unused173" => Ok(Self::Unused173),
867 "unused174" => Ok(Self::Unused174),
868 "unused175" => Ok(Self::Unused175),
869 "unused176" => Ok(Self::Unused176),
870 "unused177" => Ok(Self::Unused177),
871 "unused178" => Ok(Self::Unused178),
872 "unused179" => Ok(Self::Unused179),
873 "unused18" => Ok(Self::Unused18),
874 "unused180" => Ok(Self::Unused180),
875 "unused181" => Ok(Self::Unused181),
876 "unused182" => Ok(Self::Unused182),
877 "unused183" => Ok(Self::Unused183),
878 "unused184" => Ok(Self::Unused184),
879 "unused185" => Ok(Self::Unused185),
880 "unused186" => Ok(Self::Unused186),
881 "unused187" => Ok(Self::Unused187),
882 "unused188" => Ok(Self::Unused188),
883 "unused189" => Ok(Self::Unused189),
884 "unused19" => Ok(Self::Unused19),
885 "unused190" => Ok(Self::Unused190),
886 "unused191" => Ok(Self::Unused191),
887 "unused192" => Ok(Self::Unused192),
888 "unused193" => Ok(Self::Unused193),
889 "unused194" => Ok(Self::Unused194),
890 "unused195" => Ok(Self::Unused195),
891 "unused196" => Ok(Self::Unused196),
892 "unused197" => Ok(Self::Unused197),
893 "unused198" => Ok(Self::Unused198),
894 "unused199" => Ok(Self::Unused199),
895 "unused2" => Ok(Self::Unused2),
896 "unused20" => Ok(Self::Unused20),
897 "unused200" => Ok(Self::Unused200),
898 "unused201" => Ok(Self::Unused201),
899 "unused202" => Ok(Self::Unused202),
900 "unused203" => Ok(Self::Unused203),
901 "unused204" => Ok(Self::Unused204),
902 "unused205" => Ok(Self::Unused205),
903 "unused206" => Ok(Self::Unused206),
904 "unused207" => Ok(Self::Unused207),
905 "unused208" => Ok(Self::Unused208),
906 "unused209" => Ok(Self::Unused209),
907 "unused21" => Ok(Self::Unused21),
908 "unused210" => Ok(Self::Unused210),
909 "unused211" => Ok(Self::Unused211),
910 "unused212" => Ok(Self::Unused212),
911 "unused213" => Ok(Self::Unused213),
912 "unused214" => Ok(Self::Unused214),
913 "unused215" => Ok(Self::Unused215),
914 "unused216" => Ok(Self::Unused216),
915 "unused217" => Ok(Self::Unused217),
916 "unused218" => Ok(Self::Unused218),
917 "unused219" => Ok(Self::Unused219),
918 "unused22" => Ok(Self::Unused22),
919 "unused220" => Ok(Self::Unused220),
920 "unused221" => Ok(Self::Unused221),
921 "unused222" => Ok(Self::Unused222),
922 "unused223" => Ok(Self::Unused223),
923 "unused224" => Ok(Self::Unused224),
924 "unused225" => Ok(Self::Unused225),
925 "unused226" => Ok(Self::Unused226),
926 "unused227" => Ok(Self::Unused227),
927 "unused228" => Ok(Self::Unused228),
928 "unused229" => Ok(Self::Unused229),
929 "unused23" => Ok(Self::Unused23),
930 "unused230" => Ok(Self::Unused230),
931 "unused231" => Ok(Self::Unused231),
932 "unused232" => Ok(Self::Unused232),
933 "unused233" => Ok(Self::Unused233),
934 "unused234" => Ok(Self::Unused234),
935 "unused235" => Ok(Self::Unused235),
936 "unused236" => Ok(Self::Unused236),
937 "unused237" => Ok(Self::Unused237),
938 "unused238" => Ok(Self::Unused238),
939 "unused239" => Ok(Self::Unused239),
940 "unused24" => Ok(Self::Unused24),
941 "unused240" => Ok(Self::Unused240),
942 "unused241" => Ok(Self::Unused241),
943 "unused242" => Ok(Self::Unused242),
944 "unused243" => Ok(Self::Unused243),
945 "unused244" => Ok(Self::Unused244),
946 "unused245" => Ok(Self::Unused245),
947 "unused246" => Ok(Self::Unused246),
948 "unused247" => Ok(Self::Unused247),
949 "unused248" => Ok(Self::Unused248),
950 "unused249" => Ok(Self::Unused249),
951 "unused25" => Ok(Self::Unused25),
952 "unused250" => Ok(Self::Unused250),
953 "unused251" => Ok(Self::Unused251),
954 "unused252" => Ok(Self::Unused252),
955 "unused253" => Ok(Self::Unused253),
956 "unused254" => Ok(Self::Unused254),
957 "unused255" => Ok(Self::Unused255),
958 "unused26" => Ok(Self::Unused26),
959 "unused27" => Ok(Self::Unused27),
960 "unused28" => Ok(Self::Unused28),
961 "unused29" => Ok(Self::Unused29),
962 "unused3" => Ok(Self::Unused3),
963 "unused30" => Ok(Self::Unused30),
964 "unused31" => Ok(Self::Unused31),
965 "unused32" => Ok(Self::Unused32),
966 "unused33" => Ok(Self::Unused33),
967 "unused34" => Ok(Self::Unused34),
968 "unused35" => Ok(Self::Unused35),
969 "unused36" => Ok(Self::Unused36),
970 "unused37" => Ok(Self::Unused37),
971 "unused38" => Ok(Self::Unused38),
972 "unused39" => Ok(Self::Unused39),
973 "unused4" => Ok(Self::Unused4),
974 "unused40" => Ok(Self::Unused40),
975 "unused41" => Ok(Self::Unused41),
976 "unused42" => Ok(Self::Unused42),
977 "unused43" => Ok(Self::Unused43),
978 "unused44" => Ok(Self::Unused44),
979 "unused45" => Ok(Self::Unused45),
980 "unused46" => Ok(Self::Unused46),
981 "unused47" => Ok(Self::Unused47),
982 "unused48" => Ok(Self::Unused48),
983 "unused49" => Ok(Self::Unused49),
984 "unused5" => Ok(Self::Unused5),
985 "unused50" => Ok(Self::Unused50),
986 "unused51" => Ok(Self::Unused51),
987 "unused52" => Ok(Self::Unused52),
988 "unused53" => Ok(Self::Unused53),
989 "unused54" => Ok(Self::Unused54),
990 "unused55" => Ok(Self::Unused55),
991 "unused56" => Ok(Self::Unused56),
992 "unused57" => Ok(Self::Unused57),
993 "unused58" => Ok(Self::Unused58),
994 "unused59" => Ok(Self::Unused59),
995 "unused6" => Ok(Self::Unused6),
996 "unused60" => Ok(Self::Unused60),
997 "unused61" => Ok(Self::Unused61),
998 "unused62" => Ok(Self::Unused62),
999 "unused63" => Ok(Self::Unused63),
1000 "unused64" => Ok(Self::Unused64),
1001 "unused65" => Ok(Self::Unused65),
1002 "unused66" => Ok(Self::Unused66),
1003 "unused67" => Ok(Self::Unused67),
1004 "unused68" => Ok(Self::Unused68),
1005 "unused69" => Ok(Self::Unused69),
1006 "unused7" => Ok(Self::Unused7),
1007 "unused70" => Ok(Self::Unused70),
1008 "unused71" => Ok(Self::Unused71),
1009 "unused72" => Ok(Self::Unused72),
1010 "unused73" => Ok(Self::Unused73),
1011 "unused74" => Ok(Self::Unused74),
1012 "unused75" => Ok(Self::Unused75),
1013 "unused76" => Ok(Self::Unused76),
1014 "unused77" => Ok(Self::Unused77),
1015 "unused78" => Ok(Self::Unused78),
1016 "unused79" => Ok(Self::Unused79),
1017 "unused8" => Ok(Self::Unused8),
1018 "unused80" => Ok(Self::Unused80),
1019 "unused81" => Ok(Self::Unused81),
1020 "unused82" => Ok(Self::Unused82),
1021 "unused83" => Ok(Self::Unused83),
1022 "unused84" => Ok(Self::Unused84),
1023 "unused85" => Ok(Self::Unused85),
1024 "unused86" => Ok(Self::Unused86),
1025 "unused87" => Ok(Self::Unused87),
1026 "unused88" => Ok(Self::Unused88),
1027 "unused89" => Ok(Self::Unused89),
1028 "unused9" => Ok(Self::Unused9),
1029 "unused90" => Ok(Self::Unused90),
1030 "unused91" => Ok(Self::Unused91),
1031 "unused92" => Ok(Self::Unused92),
1032 "unused93" => Ok(Self::Unused93),
1033 "unused94" => Ok(Self::Unused94),
1034 "unused95" => Ok(Self::Unused95),
1035 "unused96" => Ok(Self::Unused96),
1036 "unused97" => Ok(Self::Unused97),
1037 "unused98" => Ok(Self::Unused98),
1038 "unused99" => Ok(Self::Unused99),
1039 "virtio0" => Ok(Self::Virtio0),
1040 "virtio1" => Ok(Self::Virtio1),
1041 "virtio10" => Ok(Self::Virtio10),
1042 "virtio11" => Ok(Self::Virtio11),
1043 "virtio12" => Ok(Self::Virtio12),
1044 "virtio13" => Ok(Self::Virtio13),
1045 "virtio14" => Ok(Self::Virtio14),
1046 "virtio15" => Ok(Self::Virtio15),
1047 "virtio2" => Ok(Self::Virtio2),
1048 "virtio3" => Ok(Self::Virtio3),
1049 "virtio4" => Ok(Self::Virtio4),
1050 "virtio5" => Ok(Self::Virtio5),
1051 "virtio6" => Ok(Self::Virtio6),
1052 "virtio7" => Ok(Self::Virtio7),
1053 "virtio8" => Ok(Self::Virtio8),
1054 "virtio9" => Ok(Self::Virtio9),
1055 v => Err(format!("Unknown variant {v}")),
1056 }
1057 }
1058}
1059#[derive(Clone, Debug, :: serde :: Serialize, :: serde :: Deserialize, PartialEq)]
1060#[doc = "Target Format."]
1061#[doc = ""]
1062pub enum Format {
1063 #[serde(rename = "qcow2")]
1064 Qcow2,
1065 #[serde(rename = "raw")]
1066 Raw,
1067 #[serde(rename = "vmdk")]
1068 Vmdk,
1069}
1070impl TryFrom<&str> for Format {
1071 type Error = String;
1072 fn try_from(value: &str) -> Result<Self, <Self as TryFrom<&str>>::Error> {
1073 match value {
1074 "qcow2" => Ok(Self::Qcow2),
1075 "raw" => Ok(Self::Raw),
1076 "vmdk" => Ok(Self::Vmdk),
1077 v => Err(format!("Unknown variant {v}")),
1078 }
1079 }
1080}
1081#[derive(Clone, Debug, :: serde :: Serialize, :: serde :: Deserialize, PartialEq)]
1082#[doc = "The config key the disk will be moved to on the target VM (for example, ide0 or scsi1). Default is the source disk key."]
1083#[doc = ""]
1084pub enum TargetDisk {
1085 #[serde(rename = "efidisk0")]
1086 Efidisk0,
1087 #[serde(rename = "ide0")]
1088 Ide0,
1089 #[serde(rename = "ide1")]
1090 Ide1,
1091 #[serde(rename = "ide2")]
1092 Ide2,
1093 #[serde(rename = "ide3")]
1094 Ide3,
1095 #[serde(rename = "sata0")]
1096 Sata0,
1097 #[serde(rename = "sata1")]
1098 Sata1,
1099 #[serde(rename = "sata2")]
1100 Sata2,
1101 #[serde(rename = "sata3")]
1102 Sata3,
1103 #[serde(rename = "sata4")]
1104 Sata4,
1105 #[serde(rename = "sata5")]
1106 Sata5,
1107 #[serde(rename = "scsi0")]
1108 Scsi0,
1109 #[serde(rename = "scsi1")]
1110 Scsi1,
1111 #[serde(rename = "scsi10")]
1112 Scsi10,
1113 #[serde(rename = "scsi11")]
1114 Scsi11,
1115 #[serde(rename = "scsi12")]
1116 Scsi12,
1117 #[serde(rename = "scsi13")]
1118 Scsi13,
1119 #[serde(rename = "scsi14")]
1120 Scsi14,
1121 #[serde(rename = "scsi15")]
1122 Scsi15,
1123 #[serde(rename = "scsi16")]
1124 Scsi16,
1125 #[serde(rename = "scsi17")]
1126 Scsi17,
1127 #[serde(rename = "scsi18")]
1128 Scsi18,
1129 #[serde(rename = "scsi19")]
1130 Scsi19,
1131 #[serde(rename = "scsi2")]
1132 Scsi2,
1133 #[serde(rename = "scsi20")]
1134 Scsi20,
1135 #[serde(rename = "scsi21")]
1136 Scsi21,
1137 #[serde(rename = "scsi22")]
1138 Scsi22,
1139 #[serde(rename = "scsi23")]
1140 Scsi23,
1141 #[serde(rename = "scsi24")]
1142 Scsi24,
1143 #[serde(rename = "scsi25")]
1144 Scsi25,
1145 #[serde(rename = "scsi26")]
1146 Scsi26,
1147 #[serde(rename = "scsi27")]
1148 Scsi27,
1149 #[serde(rename = "scsi28")]
1150 Scsi28,
1151 #[serde(rename = "scsi29")]
1152 Scsi29,
1153 #[serde(rename = "scsi3")]
1154 Scsi3,
1155 #[serde(rename = "scsi30")]
1156 Scsi30,
1157 #[serde(rename = "scsi4")]
1158 Scsi4,
1159 #[serde(rename = "scsi5")]
1160 Scsi5,
1161 #[serde(rename = "scsi6")]
1162 Scsi6,
1163 #[serde(rename = "scsi7")]
1164 Scsi7,
1165 #[serde(rename = "scsi8")]
1166 Scsi8,
1167 #[serde(rename = "scsi9")]
1168 Scsi9,
1169 #[serde(rename = "tpmstate0")]
1170 Tpmstate0,
1171 #[serde(rename = "unused0")]
1172 Unused0,
1173 #[serde(rename = "unused1")]
1174 Unused1,
1175 #[serde(rename = "unused10")]
1176 Unused10,
1177 #[serde(rename = "unused100")]
1178 Unused100,
1179 #[serde(rename = "unused101")]
1180 Unused101,
1181 #[serde(rename = "unused102")]
1182 Unused102,
1183 #[serde(rename = "unused103")]
1184 Unused103,
1185 #[serde(rename = "unused104")]
1186 Unused104,
1187 #[serde(rename = "unused105")]
1188 Unused105,
1189 #[serde(rename = "unused106")]
1190 Unused106,
1191 #[serde(rename = "unused107")]
1192 Unused107,
1193 #[serde(rename = "unused108")]
1194 Unused108,
1195 #[serde(rename = "unused109")]
1196 Unused109,
1197 #[serde(rename = "unused11")]
1198 Unused11,
1199 #[serde(rename = "unused110")]
1200 Unused110,
1201 #[serde(rename = "unused111")]
1202 Unused111,
1203 #[serde(rename = "unused112")]
1204 Unused112,
1205 #[serde(rename = "unused113")]
1206 Unused113,
1207 #[serde(rename = "unused114")]
1208 Unused114,
1209 #[serde(rename = "unused115")]
1210 Unused115,
1211 #[serde(rename = "unused116")]
1212 Unused116,
1213 #[serde(rename = "unused117")]
1214 Unused117,
1215 #[serde(rename = "unused118")]
1216 Unused118,
1217 #[serde(rename = "unused119")]
1218 Unused119,
1219 #[serde(rename = "unused12")]
1220 Unused12,
1221 #[serde(rename = "unused120")]
1222 Unused120,
1223 #[serde(rename = "unused121")]
1224 Unused121,
1225 #[serde(rename = "unused122")]
1226 Unused122,
1227 #[serde(rename = "unused123")]
1228 Unused123,
1229 #[serde(rename = "unused124")]
1230 Unused124,
1231 #[serde(rename = "unused125")]
1232 Unused125,
1233 #[serde(rename = "unused126")]
1234 Unused126,
1235 #[serde(rename = "unused127")]
1236 Unused127,
1237 #[serde(rename = "unused128")]
1238 Unused128,
1239 #[serde(rename = "unused129")]
1240 Unused129,
1241 #[serde(rename = "unused13")]
1242 Unused13,
1243 #[serde(rename = "unused130")]
1244 Unused130,
1245 #[serde(rename = "unused131")]
1246 Unused131,
1247 #[serde(rename = "unused132")]
1248 Unused132,
1249 #[serde(rename = "unused133")]
1250 Unused133,
1251 #[serde(rename = "unused134")]
1252 Unused134,
1253 #[serde(rename = "unused135")]
1254 Unused135,
1255 #[serde(rename = "unused136")]
1256 Unused136,
1257 #[serde(rename = "unused137")]
1258 Unused137,
1259 #[serde(rename = "unused138")]
1260 Unused138,
1261 #[serde(rename = "unused139")]
1262 Unused139,
1263 #[serde(rename = "unused14")]
1264 Unused14,
1265 #[serde(rename = "unused140")]
1266 Unused140,
1267 #[serde(rename = "unused141")]
1268 Unused141,
1269 #[serde(rename = "unused142")]
1270 Unused142,
1271 #[serde(rename = "unused143")]
1272 Unused143,
1273 #[serde(rename = "unused144")]
1274 Unused144,
1275 #[serde(rename = "unused145")]
1276 Unused145,
1277 #[serde(rename = "unused146")]
1278 Unused146,
1279 #[serde(rename = "unused147")]
1280 Unused147,
1281 #[serde(rename = "unused148")]
1282 Unused148,
1283 #[serde(rename = "unused149")]
1284 Unused149,
1285 #[serde(rename = "unused15")]
1286 Unused15,
1287 #[serde(rename = "unused150")]
1288 Unused150,
1289 #[serde(rename = "unused151")]
1290 Unused151,
1291 #[serde(rename = "unused152")]
1292 Unused152,
1293 #[serde(rename = "unused153")]
1294 Unused153,
1295 #[serde(rename = "unused154")]
1296 Unused154,
1297 #[serde(rename = "unused155")]
1298 Unused155,
1299 #[serde(rename = "unused156")]
1300 Unused156,
1301 #[serde(rename = "unused157")]
1302 Unused157,
1303 #[serde(rename = "unused158")]
1304 Unused158,
1305 #[serde(rename = "unused159")]
1306 Unused159,
1307 #[serde(rename = "unused16")]
1308 Unused16,
1309 #[serde(rename = "unused160")]
1310 Unused160,
1311 #[serde(rename = "unused161")]
1312 Unused161,
1313 #[serde(rename = "unused162")]
1314 Unused162,
1315 #[serde(rename = "unused163")]
1316 Unused163,
1317 #[serde(rename = "unused164")]
1318 Unused164,
1319 #[serde(rename = "unused165")]
1320 Unused165,
1321 #[serde(rename = "unused166")]
1322 Unused166,
1323 #[serde(rename = "unused167")]
1324 Unused167,
1325 #[serde(rename = "unused168")]
1326 Unused168,
1327 #[serde(rename = "unused169")]
1328 Unused169,
1329 #[serde(rename = "unused17")]
1330 Unused17,
1331 #[serde(rename = "unused170")]
1332 Unused170,
1333 #[serde(rename = "unused171")]
1334 Unused171,
1335 #[serde(rename = "unused172")]
1336 Unused172,
1337 #[serde(rename = "unused173")]
1338 Unused173,
1339 #[serde(rename = "unused174")]
1340 Unused174,
1341 #[serde(rename = "unused175")]
1342 Unused175,
1343 #[serde(rename = "unused176")]
1344 Unused176,
1345 #[serde(rename = "unused177")]
1346 Unused177,
1347 #[serde(rename = "unused178")]
1348 Unused178,
1349 #[serde(rename = "unused179")]
1350 Unused179,
1351 #[serde(rename = "unused18")]
1352 Unused18,
1353 #[serde(rename = "unused180")]
1354 Unused180,
1355 #[serde(rename = "unused181")]
1356 Unused181,
1357 #[serde(rename = "unused182")]
1358 Unused182,
1359 #[serde(rename = "unused183")]
1360 Unused183,
1361 #[serde(rename = "unused184")]
1362 Unused184,
1363 #[serde(rename = "unused185")]
1364 Unused185,
1365 #[serde(rename = "unused186")]
1366 Unused186,
1367 #[serde(rename = "unused187")]
1368 Unused187,
1369 #[serde(rename = "unused188")]
1370 Unused188,
1371 #[serde(rename = "unused189")]
1372 Unused189,
1373 #[serde(rename = "unused19")]
1374 Unused19,
1375 #[serde(rename = "unused190")]
1376 Unused190,
1377 #[serde(rename = "unused191")]
1378 Unused191,
1379 #[serde(rename = "unused192")]
1380 Unused192,
1381 #[serde(rename = "unused193")]
1382 Unused193,
1383 #[serde(rename = "unused194")]
1384 Unused194,
1385 #[serde(rename = "unused195")]
1386 Unused195,
1387 #[serde(rename = "unused196")]
1388 Unused196,
1389 #[serde(rename = "unused197")]
1390 Unused197,
1391 #[serde(rename = "unused198")]
1392 Unused198,
1393 #[serde(rename = "unused199")]
1394 Unused199,
1395 #[serde(rename = "unused2")]
1396 Unused2,
1397 #[serde(rename = "unused20")]
1398 Unused20,
1399 #[serde(rename = "unused200")]
1400 Unused200,
1401 #[serde(rename = "unused201")]
1402 Unused201,
1403 #[serde(rename = "unused202")]
1404 Unused202,
1405 #[serde(rename = "unused203")]
1406 Unused203,
1407 #[serde(rename = "unused204")]
1408 Unused204,
1409 #[serde(rename = "unused205")]
1410 Unused205,
1411 #[serde(rename = "unused206")]
1412 Unused206,
1413 #[serde(rename = "unused207")]
1414 Unused207,
1415 #[serde(rename = "unused208")]
1416 Unused208,
1417 #[serde(rename = "unused209")]
1418 Unused209,
1419 #[serde(rename = "unused21")]
1420 Unused21,
1421 #[serde(rename = "unused210")]
1422 Unused210,
1423 #[serde(rename = "unused211")]
1424 Unused211,
1425 #[serde(rename = "unused212")]
1426 Unused212,
1427 #[serde(rename = "unused213")]
1428 Unused213,
1429 #[serde(rename = "unused214")]
1430 Unused214,
1431 #[serde(rename = "unused215")]
1432 Unused215,
1433 #[serde(rename = "unused216")]
1434 Unused216,
1435 #[serde(rename = "unused217")]
1436 Unused217,
1437 #[serde(rename = "unused218")]
1438 Unused218,
1439 #[serde(rename = "unused219")]
1440 Unused219,
1441 #[serde(rename = "unused22")]
1442 Unused22,
1443 #[serde(rename = "unused220")]
1444 Unused220,
1445 #[serde(rename = "unused221")]
1446 Unused221,
1447 #[serde(rename = "unused222")]
1448 Unused222,
1449 #[serde(rename = "unused223")]
1450 Unused223,
1451 #[serde(rename = "unused224")]
1452 Unused224,
1453 #[serde(rename = "unused225")]
1454 Unused225,
1455 #[serde(rename = "unused226")]
1456 Unused226,
1457 #[serde(rename = "unused227")]
1458 Unused227,
1459 #[serde(rename = "unused228")]
1460 Unused228,
1461 #[serde(rename = "unused229")]
1462 Unused229,
1463 #[serde(rename = "unused23")]
1464 Unused23,
1465 #[serde(rename = "unused230")]
1466 Unused230,
1467 #[serde(rename = "unused231")]
1468 Unused231,
1469 #[serde(rename = "unused232")]
1470 Unused232,
1471 #[serde(rename = "unused233")]
1472 Unused233,
1473 #[serde(rename = "unused234")]
1474 Unused234,
1475 #[serde(rename = "unused235")]
1476 Unused235,
1477 #[serde(rename = "unused236")]
1478 Unused236,
1479 #[serde(rename = "unused237")]
1480 Unused237,
1481 #[serde(rename = "unused238")]
1482 Unused238,
1483 #[serde(rename = "unused239")]
1484 Unused239,
1485 #[serde(rename = "unused24")]
1486 Unused24,
1487 #[serde(rename = "unused240")]
1488 Unused240,
1489 #[serde(rename = "unused241")]
1490 Unused241,
1491 #[serde(rename = "unused242")]
1492 Unused242,
1493 #[serde(rename = "unused243")]
1494 Unused243,
1495 #[serde(rename = "unused244")]
1496 Unused244,
1497 #[serde(rename = "unused245")]
1498 Unused245,
1499 #[serde(rename = "unused246")]
1500 Unused246,
1501 #[serde(rename = "unused247")]
1502 Unused247,
1503 #[serde(rename = "unused248")]
1504 Unused248,
1505 #[serde(rename = "unused249")]
1506 Unused249,
1507 #[serde(rename = "unused25")]
1508 Unused25,
1509 #[serde(rename = "unused250")]
1510 Unused250,
1511 #[serde(rename = "unused251")]
1512 Unused251,
1513 #[serde(rename = "unused252")]
1514 Unused252,
1515 #[serde(rename = "unused253")]
1516 Unused253,
1517 #[serde(rename = "unused254")]
1518 Unused254,
1519 #[serde(rename = "unused255")]
1520 Unused255,
1521 #[serde(rename = "unused26")]
1522 Unused26,
1523 #[serde(rename = "unused27")]
1524 Unused27,
1525 #[serde(rename = "unused28")]
1526 Unused28,
1527 #[serde(rename = "unused29")]
1528 Unused29,
1529 #[serde(rename = "unused3")]
1530 Unused3,
1531 #[serde(rename = "unused30")]
1532 Unused30,
1533 #[serde(rename = "unused31")]
1534 Unused31,
1535 #[serde(rename = "unused32")]
1536 Unused32,
1537 #[serde(rename = "unused33")]
1538 Unused33,
1539 #[serde(rename = "unused34")]
1540 Unused34,
1541 #[serde(rename = "unused35")]
1542 Unused35,
1543 #[serde(rename = "unused36")]
1544 Unused36,
1545 #[serde(rename = "unused37")]
1546 Unused37,
1547 #[serde(rename = "unused38")]
1548 Unused38,
1549 #[serde(rename = "unused39")]
1550 Unused39,
1551 #[serde(rename = "unused4")]
1552 Unused4,
1553 #[serde(rename = "unused40")]
1554 Unused40,
1555 #[serde(rename = "unused41")]
1556 Unused41,
1557 #[serde(rename = "unused42")]
1558 Unused42,
1559 #[serde(rename = "unused43")]
1560 Unused43,
1561 #[serde(rename = "unused44")]
1562 Unused44,
1563 #[serde(rename = "unused45")]
1564 Unused45,
1565 #[serde(rename = "unused46")]
1566 Unused46,
1567 #[serde(rename = "unused47")]
1568 Unused47,
1569 #[serde(rename = "unused48")]
1570 Unused48,
1571 #[serde(rename = "unused49")]
1572 Unused49,
1573 #[serde(rename = "unused5")]
1574 Unused5,
1575 #[serde(rename = "unused50")]
1576 Unused50,
1577 #[serde(rename = "unused51")]
1578 Unused51,
1579 #[serde(rename = "unused52")]
1580 Unused52,
1581 #[serde(rename = "unused53")]
1582 Unused53,
1583 #[serde(rename = "unused54")]
1584 Unused54,
1585 #[serde(rename = "unused55")]
1586 Unused55,
1587 #[serde(rename = "unused56")]
1588 Unused56,
1589 #[serde(rename = "unused57")]
1590 Unused57,
1591 #[serde(rename = "unused58")]
1592 Unused58,
1593 #[serde(rename = "unused59")]
1594 Unused59,
1595 #[serde(rename = "unused6")]
1596 Unused6,
1597 #[serde(rename = "unused60")]
1598 Unused60,
1599 #[serde(rename = "unused61")]
1600 Unused61,
1601 #[serde(rename = "unused62")]
1602 Unused62,
1603 #[serde(rename = "unused63")]
1604 Unused63,
1605 #[serde(rename = "unused64")]
1606 Unused64,
1607 #[serde(rename = "unused65")]
1608 Unused65,
1609 #[serde(rename = "unused66")]
1610 Unused66,
1611 #[serde(rename = "unused67")]
1612 Unused67,
1613 #[serde(rename = "unused68")]
1614 Unused68,
1615 #[serde(rename = "unused69")]
1616 Unused69,
1617 #[serde(rename = "unused7")]
1618 Unused7,
1619 #[serde(rename = "unused70")]
1620 Unused70,
1621 #[serde(rename = "unused71")]
1622 Unused71,
1623 #[serde(rename = "unused72")]
1624 Unused72,
1625 #[serde(rename = "unused73")]
1626 Unused73,
1627 #[serde(rename = "unused74")]
1628 Unused74,
1629 #[serde(rename = "unused75")]
1630 Unused75,
1631 #[serde(rename = "unused76")]
1632 Unused76,
1633 #[serde(rename = "unused77")]
1634 Unused77,
1635 #[serde(rename = "unused78")]
1636 Unused78,
1637 #[serde(rename = "unused79")]
1638 Unused79,
1639 #[serde(rename = "unused8")]
1640 Unused8,
1641 #[serde(rename = "unused80")]
1642 Unused80,
1643 #[serde(rename = "unused81")]
1644 Unused81,
1645 #[serde(rename = "unused82")]
1646 Unused82,
1647 #[serde(rename = "unused83")]
1648 Unused83,
1649 #[serde(rename = "unused84")]
1650 Unused84,
1651 #[serde(rename = "unused85")]
1652 Unused85,
1653 #[serde(rename = "unused86")]
1654 Unused86,
1655 #[serde(rename = "unused87")]
1656 Unused87,
1657 #[serde(rename = "unused88")]
1658 Unused88,
1659 #[serde(rename = "unused89")]
1660 Unused89,
1661 #[serde(rename = "unused9")]
1662 Unused9,
1663 #[serde(rename = "unused90")]
1664 Unused90,
1665 #[serde(rename = "unused91")]
1666 Unused91,
1667 #[serde(rename = "unused92")]
1668 Unused92,
1669 #[serde(rename = "unused93")]
1670 Unused93,
1671 #[serde(rename = "unused94")]
1672 Unused94,
1673 #[serde(rename = "unused95")]
1674 Unused95,
1675 #[serde(rename = "unused96")]
1676 Unused96,
1677 #[serde(rename = "unused97")]
1678 Unused97,
1679 #[serde(rename = "unused98")]
1680 Unused98,
1681 #[serde(rename = "unused99")]
1682 Unused99,
1683 #[serde(rename = "virtio0")]
1684 Virtio0,
1685 #[serde(rename = "virtio1")]
1686 Virtio1,
1687 #[serde(rename = "virtio10")]
1688 Virtio10,
1689 #[serde(rename = "virtio11")]
1690 Virtio11,
1691 #[serde(rename = "virtio12")]
1692 Virtio12,
1693 #[serde(rename = "virtio13")]
1694 Virtio13,
1695 #[serde(rename = "virtio14")]
1696 Virtio14,
1697 #[serde(rename = "virtio15")]
1698 Virtio15,
1699 #[serde(rename = "virtio2")]
1700 Virtio2,
1701 #[serde(rename = "virtio3")]
1702 Virtio3,
1703 #[serde(rename = "virtio4")]
1704 Virtio4,
1705 #[serde(rename = "virtio5")]
1706 Virtio5,
1707 #[serde(rename = "virtio6")]
1708 Virtio6,
1709 #[serde(rename = "virtio7")]
1710 Virtio7,
1711 #[serde(rename = "virtio8")]
1712 Virtio8,
1713 #[serde(rename = "virtio9")]
1714 Virtio9,
1715}
1716impl TryFrom<&str> for TargetDisk {
1717 type Error = String;
1718 fn try_from(value: &str) -> Result<Self, <Self as TryFrom<&str>>::Error> {
1719 match value {
1720 "efidisk0" => Ok(Self::Efidisk0),
1721 "ide0" => Ok(Self::Ide0),
1722 "ide1" => Ok(Self::Ide1),
1723 "ide2" => Ok(Self::Ide2),
1724 "ide3" => Ok(Self::Ide3),
1725 "sata0" => Ok(Self::Sata0),
1726 "sata1" => Ok(Self::Sata1),
1727 "sata2" => Ok(Self::Sata2),
1728 "sata3" => Ok(Self::Sata3),
1729 "sata4" => Ok(Self::Sata4),
1730 "sata5" => Ok(Self::Sata5),
1731 "scsi0" => Ok(Self::Scsi0),
1732 "scsi1" => Ok(Self::Scsi1),
1733 "scsi10" => Ok(Self::Scsi10),
1734 "scsi11" => Ok(Self::Scsi11),
1735 "scsi12" => Ok(Self::Scsi12),
1736 "scsi13" => Ok(Self::Scsi13),
1737 "scsi14" => Ok(Self::Scsi14),
1738 "scsi15" => Ok(Self::Scsi15),
1739 "scsi16" => Ok(Self::Scsi16),
1740 "scsi17" => Ok(Self::Scsi17),
1741 "scsi18" => Ok(Self::Scsi18),
1742 "scsi19" => Ok(Self::Scsi19),
1743 "scsi2" => Ok(Self::Scsi2),
1744 "scsi20" => Ok(Self::Scsi20),
1745 "scsi21" => Ok(Self::Scsi21),
1746 "scsi22" => Ok(Self::Scsi22),
1747 "scsi23" => Ok(Self::Scsi23),
1748 "scsi24" => Ok(Self::Scsi24),
1749 "scsi25" => Ok(Self::Scsi25),
1750 "scsi26" => Ok(Self::Scsi26),
1751 "scsi27" => Ok(Self::Scsi27),
1752 "scsi28" => Ok(Self::Scsi28),
1753 "scsi29" => Ok(Self::Scsi29),
1754 "scsi3" => Ok(Self::Scsi3),
1755 "scsi30" => Ok(Self::Scsi30),
1756 "scsi4" => Ok(Self::Scsi4),
1757 "scsi5" => Ok(Self::Scsi5),
1758 "scsi6" => Ok(Self::Scsi6),
1759 "scsi7" => Ok(Self::Scsi7),
1760 "scsi8" => Ok(Self::Scsi8),
1761 "scsi9" => Ok(Self::Scsi9),
1762 "tpmstate0" => Ok(Self::Tpmstate0),
1763 "unused0" => Ok(Self::Unused0),
1764 "unused1" => Ok(Self::Unused1),
1765 "unused10" => Ok(Self::Unused10),
1766 "unused100" => Ok(Self::Unused100),
1767 "unused101" => Ok(Self::Unused101),
1768 "unused102" => Ok(Self::Unused102),
1769 "unused103" => Ok(Self::Unused103),
1770 "unused104" => Ok(Self::Unused104),
1771 "unused105" => Ok(Self::Unused105),
1772 "unused106" => Ok(Self::Unused106),
1773 "unused107" => Ok(Self::Unused107),
1774 "unused108" => Ok(Self::Unused108),
1775 "unused109" => Ok(Self::Unused109),
1776 "unused11" => Ok(Self::Unused11),
1777 "unused110" => Ok(Self::Unused110),
1778 "unused111" => Ok(Self::Unused111),
1779 "unused112" => Ok(Self::Unused112),
1780 "unused113" => Ok(Self::Unused113),
1781 "unused114" => Ok(Self::Unused114),
1782 "unused115" => Ok(Self::Unused115),
1783 "unused116" => Ok(Self::Unused116),
1784 "unused117" => Ok(Self::Unused117),
1785 "unused118" => Ok(Self::Unused118),
1786 "unused119" => Ok(Self::Unused119),
1787 "unused12" => Ok(Self::Unused12),
1788 "unused120" => Ok(Self::Unused120),
1789 "unused121" => Ok(Self::Unused121),
1790 "unused122" => Ok(Self::Unused122),
1791 "unused123" => Ok(Self::Unused123),
1792 "unused124" => Ok(Self::Unused124),
1793 "unused125" => Ok(Self::Unused125),
1794 "unused126" => Ok(Self::Unused126),
1795 "unused127" => Ok(Self::Unused127),
1796 "unused128" => Ok(Self::Unused128),
1797 "unused129" => Ok(Self::Unused129),
1798 "unused13" => Ok(Self::Unused13),
1799 "unused130" => Ok(Self::Unused130),
1800 "unused131" => Ok(Self::Unused131),
1801 "unused132" => Ok(Self::Unused132),
1802 "unused133" => Ok(Self::Unused133),
1803 "unused134" => Ok(Self::Unused134),
1804 "unused135" => Ok(Self::Unused135),
1805 "unused136" => Ok(Self::Unused136),
1806 "unused137" => Ok(Self::Unused137),
1807 "unused138" => Ok(Self::Unused138),
1808 "unused139" => Ok(Self::Unused139),
1809 "unused14" => Ok(Self::Unused14),
1810 "unused140" => Ok(Self::Unused140),
1811 "unused141" => Ok(Self::Unused141),
1812 "unused142" => Ok(Self::Unused142),
1813 "unused143" => Ok(Self::Unused143),
1814 "unused144" => Ok(Self::Unused144),
1815 "unused145" => Ok(Self::Unused145),
1816 "unused146" => Ok(Self::Unused146),
1817 "unused147" => Ok(Self::Unused147),
1818 "unused148" => Ok(Self::Unused148),
1819 "unused149" => Ok(Self::Unused149),
1820 "unused15" => Ok(Self::Unused15),
1821 "unused150" => Ok(Self::Unused150),
1822 "unused151" => Ok(Self::Unused151),
1823 "unused152" => Ok(Self::Unused152),
1824 "unused153" => Ok(Self::Unused153),
1825 "unused154" => Ok(Self::Unused154),
1826 "unused155" => Ok(Self::Unused155),
1827 "unused156" => Ok(Self::Unused156),
1828 "unused157" => Ok(Self::Unused157),
1829 "unused158" => Ok(Self::Unused158),
1830 "unused159" => Ok(Self::Unused159),
1831 "unused16" => Ok(Self::Unused16),
1832 "unused160" => Ok(Self::Unused160),
1833 "unused161" => Ok(Self::Unused161),
1834 "unused162" => Ok(Self::Unused162),
1835 "unused163" => Ok(Self::Unused163),
1836 "unused164" => Ok(Self::Unused164),
1837 "unused165" => Ok(Self::Unused165),
1838 "unused166" => Ok(Self::Unused166),
1839 "unused167" => Ok(Self::Unused167),
1840 "unused168" => Ok(Self::Unused168),
1841 "unused169" => Ok(Self::Unused169),
1842 "unused17" => Ok(Self::Unused17),
1843 "unused170" => Ok(Self::Unused170),
1844 "unused171" => Ok(Self::Unused171),
1845 "unused172" => Ok(Self::Unused172),
1846 "unused173" => Ok(Self::Unused173),
1847 "unused174" => Ok(Self::Unused174),
1848 "unused175" => Ok(Self::Unused175),
1849 "unused176" => Ok(Self::Unused176),
1850 "unused177" => Ok(Self::Unused177),
1851 "unused178" => Ok(Self::Unused178),
1852 "unused179" => Ok(Self::Unused179),
1853 "unused18" => Ok(Self::Unused18),
1854 "unused180" => Ok(Self::Unused180),
1855 "unused181" => Ok(Self::Unused181),
1856 "unused182" => Ok(Self::Unused182),
1857 "unused183" => Ok(Self::Unused183),
1858 "unused184" => Ok(Self::Unused184),
1859 "unused185" => Ok(Self::Unused185),
1860 "unused186" => Ok(Self::Unused186),
1861 "unused187" => Ok(Self::Unused187),
1862 "unused188" => Ok(Self::Unused188),
1863 "unused189" => Ok(Self::Unused189),
1864 "unused19" => Ok(Self::Unused19),
1865 "unused190" => Ok(Self::Unused190),
1866 "unused191" => Ok(Self::Unused191),
1867 "unused192" => Ok(Self::Unused192),
1868 "unused193" => Ok(Self::Unused193),
1869 "unused194" => Ok(Self::Unused194),
1870 "unused195" => Ok(Self::Unused195),
1871 "unused196" => Ok(Self::Unused196),
1872 "unused197" => Ok(Self::Unused197),
1873 "unused198" => Ok(Self::Unused198),
1874 "unused199" => Ok(Self::Unused199),
1875 "unused2" => Ok(Self::Unused2),
1876 "unused20" => Ok(Self::Unused20),
1877 "unused200" => Ok(Self::Unused200),
1878 "unused201" => Ok(Self::Unused201),
1879 "unused202" => Ok(Self::Unused202),
1880 "unused203" => Ok(Self::Unused203),
1881 "unused204" => Ok(Self::Unused204),
1882 "unused205" => Ok(Self::Unused205),
1883 "unused206" => Ok(Self::Unused206),
1884 "unused207" => Ok(Self::Unused207),
1885 "unused208" => Ok(Self::Unused208),
1886 "unused209" => Ok(Self::Unused209),
1887 "unused21" => Ok(Self::Unused21),
1888 "unused210" => Ok(Self::Unused210),
1889 "unused211" => Ok(Self::Unused211),
1890 "unused212" => Ok(Self::Unused212),
1891 "unused213" => Ok(Self::Unused213),
1892 "unused214" => Ok(Self::Unused214),
1893 "unused215" => Ok(Self::Unused215),
1894 "unused216" => Ok(Self::Unused216),
1895 "unused217" => Ok(Self::Unused217),
1896 "unused218" => Ok(Self::Unused218),
1897 "unused219" => Ok(Self::Unused219),
1898 "unused22" => Ok(Self::Unused22),
1899 "unused220" => Ok(Self::Unused220),
1900 "unused221" => Ok(Self::Unused221),
1901 "unused222" => Ok(Self::Unused222),
1902 "unused223" => Ok(Self::Unused223),
1903 "unused224" => Ok(Self::Unused224),
1904 "unused225" => Ok(Self::Unused225),
1905 "unused226" => Ok(Self::Unused226),
1906 "unused227" => Ok(Self::Unused227),
1907 "unused228" => Ok(Self::Unused228),
1908 "unused229" => Ok(Self::Unused229),
1909 "unused23" => Ok(Self::Unused23),
1910 "unused230" => Ok(Self::Unused230),
1911 "unused231" => Ok(Self::Unused231),
1912 "unused232" => Ok(Self::Unused232),
1913 "unused233" => Ok(Self::Unused233),
1914 "unused234" => Ok(Self::Unused234),
1915 "unused235" => Ok(Self::Unused235),
1916 "unused236" => Ok(Self::Unused236),
1917 "unused237" => Ok(Self::Unused237),
1918 "unused238" => Ok(Self::Unused238),
1919 "unused239" => Ok(Self::Unused239),
1920 "unused24" => Ok(Self::Unused24),
1921 "unused240" => Ok(Self::Unused240),
1922 "unused241" => Ok(Self::Unused241),
1923 "unused242" => Ok(Self::Unused242),
1924 "unused243" => Ok(Self::Unused243),
1925 "unused244" => Ok(Self::Unused244),
1926 "unused245" => Ok(Self::Unused245),
1927 "unused246" => Ok(Self::Unused246),
1928 "unused247" => Ok(Self::Unused247),
1929 "unused248" => Ok(Self::Unused248),
1930 "unused249" => Ok(Self::Unused249),
1931 "unused25" => Ok(Self::Unused25),
1932 "unused250" => Ok(Self::Unused250),
1933 "unused251" => Ok(Self::Unused251),
1934 "unused252" => Ok(Self::Unused252),
1935 "unused253" => Ok(Self::Unused253),
1936 "unused254" => Ok(Self::Unused254),
1937 "unused255" => Ok(Self::Unused255),
1938 "unused26" => Ok(Self::Unused26),
1939 "unused27" => Ok(Self::Unused27),
1940 "unused28" => Ok(Self::Unused28),
1941 "unused29" => Ok(Self::Unused29),
1942 "unused3" => Ok(Self::Unused3),
1943 "unused30" => Ok(Self::Unused30),
1944 "unused31" => Ok(Self::Unused31),
1945 "unused32" => Ok(Self::Unused32),
1946 "unused33" => Ok(Self::Unused33),
1947 "unused34" => Ok(Self::Unused34),
1948 "unused35" => Ok(Self::Unused35),
1949 "unused36" => Ok(Self::Unused36),
1950 "unused37" => Ok(Self::Unused37),
1951 "unused38" => Ok(Self::Unused38),
1952 "unused39" => Ok(Self::Unused39),
1953 "unused4" => Ok(Self::Unused4),
1954 "unused40" => Ok(Self::Unused40),
1955 "unused41" => Ok(Self::Unused41),
1956 "unused42" => Ok(Self::Unused42),
1957 "unused43" => Ok(Self::Unused43),
1958 "unused44" => Ok(Self::Unused44),
1959 "unused45" => Ok(Self::Unused45),
1960 "unused46" => Ok(Self::Unused46),
1961 "unused47" => Ok(Self::Unused47),
1962 "unused48" => Ok(Self::Unused48),
1963 "unused49" => Ok(Self::Unused49),
1964 "unused5" => Ok(Self::Unused5),
1965 "unused50" => Ok(Self::Unused50),
1966 "unused51" => Ok(Self::Unused51),
1967 "unused52" => Ok(Self::Unused52),
1968 "unused53" => Ok(Self::Unused53),
1969 "unused54" => Ok(Self::Unused54),
1970 "unused55" => Ok(Self::Unused55),
1971 "unused56" => Ok(Self::Unused56),
1972 "unused57" => Ok(Self::Unused57),
1973 "unused58" => Ok(Self::Unused58),
1974 "unused59" => Ok(Self::Unused59),
1975 "unused6" => Ok(Self::Unused6),
1976 "unused60" => Ok(Self::Unused60),
1977 "unused61" => Ok(Self::Unused61),
1978 "unused62" => Ok(Self::Unused62),
1979 "unused63" => Ok(Self::Unused63),
1980 "unused64" => Ok(Self::Unused64),
1981 "unused65" => Ok(Self::Unused65),
1982 "unused66" => Ok(Self::Unused66),
1983 "unused67" => Ok(Self::Unused67),
1984 "unused68" => Ok(Self::Unused68),
1985 "unused69" => Ok(Self::Unused69),
1986 "unused7" => Ok(Self::Unused7),
1987 "unused70" => Ok(Self::Unused70),
1988 "unused71" => Ok(Self::Unused71),
1989 "unused72" => Ok(Self::Unused72),
1990 "unused73" => Ok(Self::Unused73),
1991 "unused74" => Ok(Self::Unused74),
1992 "unused75" => Ok(Self::Unused75),
1993 "unused76" => Ok(Self::Unused76),
1994 "unused77" => Ok(Self::Unused77),
1995 "unused78" => Ok(Self::Unused78),
1996 "unused79" => Ok(Self::Unused79),
1997 "unused8" => Ok(Self::Unused8),
1998 "unused80" => Ok(Self::Unused80),
1999 "unused81" => Ok(Self::Unused81),
2000 "unused82" => Ok(Self::Unused82),
2001 "unused83" => Ok(Self::Unused83),
2002 "unused84" => Ok(Self::Unused84),
2003 "unused85" => Ok(Self::Unused85),
2004 "unused86" => Ok(Self::Unused86),
2005 "unused87" => Ok(Self::Unused87),
2006 "unused88" => Ok(Self::Unused88),
2007 "unused89" => Ok(Self::Unused89),
2008 "unused9" => Ok(Self::Unused9),
2009 "unused90" => Ok(Self::Unused90),
2010 "unused91" => Ok(Self::Unused91),
2011 "unused92" => Ok(Self::Unused92),
2012 "unused93" => Ok(Self::Unused93),
2013 "unused94" => Ok(Self::Unused94),
2014 "unused95" => Ok(Self::Unused95),
2015 "unused96" => Ok(Self::Unused96),
2016 "unused97" => Ok(Self::Unused97),
2017 "unused98" => Ok(Self::Unused98),
2018 "unused99" => Ok(Self::Unused99),
2019 "virtio0" => Ok(Self::Virtio0),
2020 "virtio1" => Ok(Self::Virtio1),
2021 "virtio10" => Ok(Self::Virtio10),
2022 "virtio11" => Ok(Self::Virtio11),
2023 "virtio12" => Ok(Self::Virtio12),
2024 "virtio13" => Ok(Self::Virtio13),
2025 "virtio14" => Ok(Self::Virtio14),
2026 "virtio15" => Ok(Self::Virtio15),
2027 "virtio2" => Ok(Self::Virtio2),
2028 "virtio3" => Ok(Self::Virtio3),
2029 "virtio4" => Ok(Self::Virtio4),
2030 "virtio5" => Ok(Self::Virtio5),
2031 "virtio6" => Ok(Self::Virtio6),
2032 "virtio7" => Ok(Self::Virtio7),
2033 "virtio8" => Ok(Self::Virtio8),
2034 "virtio9" => Ok(Self::Virtio9),
2035 v => Err(format!("Unknown variant {v}")),
2036 }
2037 }
2038}
2039#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
2040pub struct TargetVmidInt(i128);
2041impl crate::types::bounded_integer::BoundedInteger for TargetVmidInt {
2042 const MIN: Option<i128> = Some(100i128);
2043 const MAX: Option<i128> = Some(999999999i128);
2044 const DEFAULT: Option<i128> = None::<i128>;
2045 const TYPE_DESCRIPTION: &'static str = "an integer between 100 and 999999999";
2046 fn get(&self) -> i128 {
2047 self.0
2048 }
2049 fn new(value: i128) -> Result<Self, crate::types::bounded_integer::BoundedIntegerError> {
2050 Self::validate(value)?;
2051 Ok(Self(value))
2052 }
2053}
2054impl std::convert::TryFrom<i128> for TargetVmidInt {
2055 type Error = crate::types::bounded_integer::BoundedIntegerError;
2056 fn try_from(value: i128) -> Result<Self, Self::Error> {
2057 crate::types::bounded_integer::BoundedInteger::new(value)
2058 }
2059}
2060impl ::serde::Serialize for TargetVmidInt {
2061 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2062 where
2063 S: ::serde::Serializer,
2064 {
2065 crate::types::bounded_integer::serialize_bounded_integer(self, serializer)
2066 }
2067}
2068impl<'de> ::serde::Deserialize<'de> for TargetVmidInt {
2069 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
2070 where
2071 D: ::serde::Deserializer<'de>,
2072 {
2073 crate::types::bounded_integer::deserialize_bounded_integer(deserializer)
2074 }
2075}
2076#[derive(Debug, Clone, PartialEq, PartialOrd)]
2077pub struct DigestStr {
2078 value: String,
2079}
2080impl crate::types::bounded_string::BoundedString for DigestStr {
2081 const MIN_LENGTH: Option<usize> = None::<usize>;
2082 const MAX_LENGTH: Option<usize> = Some(40usize);
2083 const DEFAULT: Option<&'static str> = None::<&'static str>;
2084 const PATTERN: Option<&'static str> = None::<&'static str>;
2085 const TYPE_DESCRIPTION: &'static str = "a string with length at most 40";
2086 fn get_value(&self) -> &str {
2087 &self.value
2088 }
2089 fn new(value: String) -> Result<Self, crate::types::bounded_string::BoundedStringError> {
2090 Self::validate(&value)?;
2091 Ok(Self { value })
2092 }
2093}
2094impl std::convert::TryFrom<String> for DigestStr {
2095 type Error = crate::types::bounded_string::BoundedStringError;
2096 fn try_from(value: String) -> Result<Self, Self::Error> {
2097 crate::types::bounded_string::BoundedString::new(value)
2098 }
2099}
2100impl ::serde::Serialize for DigestStr {
2101 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2102 where
2103 S: ::serde::Serializer,
2104 {
2105 crate::types::bounded_string::serialize_bounded_string(self, serializer)
2106 }
2107}
2108impl<'de> ::serde::Deserialize<'de> for DigestStr {
2109 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
2110 where
2111 D: ::serde::Deserializer<'de>,
2112 {
2113 crate::types::bounded_string::deserialize_bounded_string(deserializer)
2114 }
2115}
2116#[derive(Debug, Clone, PartialEq, PartialOrd)]
2117pub struct TargetDigestStr {
2118 value: String,
2119}
2120impl crate::types::bounded_string::BoundedString for TargetDigestStr {
2121 const MIN_LENGTH: Option<usize> = None::<usize>;
2122 const MAX_LENGTH: Option<usize> = Some(40usize);
2123 const DEFAULT: Option<&'static str> = None::<&'static str>;
2124 const PATTERN: Option<&'static str> = None::<&'static str>;
2125 const TYPE_DESCRIPTION: &'static str = "a string with length at most 40";
2126 fn get_value(&self) -> &str {
2127 &self.value
2128 }
2129 fn new(value: String) -> Result<Self, crate::types::bounded_string::BoundedStringError> {
2130 Self::validate(&value)?;
2131 Ok(Self { value })
2132 }
2133}
2134impl std::convert::TryFrom<String> for TargetDigestStr {
2135 type Error = crate::types::bounded_string::BoundedStringError;
2136 fn try_from(value: String) -> Result<Self, Self::Error> {
2137 crate::types::bounded_string::BoundedString::new(value)
2138 }
2139}
2140impl ::serde::Serialize for TargetDigestStr {
2141 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2142 where
2143 S: ::serde::Serializer,
2144 {
2145 crate::types::bounded_string::serialize_bounded_string(self, serializer)
2146 }
2147}
2148impl<'de> ::serde::Deserialize<'de> for TargetDigestStr {
2149 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
2150 where
2151 D: ::serde::Deserializer<'de>,
2152 {
2153 crate::types::bounded_string::deserialize_bounded_string(deserializer)
2154 }
2155}