1#[derive(Debug, Clone)]
2pub struct ResizeClient<T> {
3 client: T,
4 path: String,
5}
6impl<T> ResizeClient<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, "/resize"),
14 }
15 }
16}
17impl<T> ResizeClient<T>
18where
19 T: crate::client::Client,
20{
21 #[doc = "Resize a container mount point."]
22 #[doc = ""]
23 #[doc = "Permission check: perm(\"/vms/{vmid}\", [\"VM.Config.Disk\"], any)"]
24 pub async fn put(&self, params: PutParams) -> Result<String, T::Error> {
25 let path = self.path.to_string();
26 self.client.put(&path, ¶ms).await
27 }
28}
29impl PutParams {
30 pub fn new(disk: Disk, size: SizeStr) -> Self {
31 Self {
32 disk,
33 size,
34 digest: ::std::default::Default::default(),
35 additional_properties: ::std::default::Default::default(),
36 }
37 }
38}
39#[derive(Clone, Debug, :: serde :: Serialize, :: serde :: Deserialize)]
40pub struct PutParams {
41 #[serde(skip_serializing_if = "Option::is_none", default)]
42 #[doc = "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications."]
43 #[doc = ""]
44 pub digest: Option<DigestStr>,
45 #[doc = "The disk you want to resize."]
46 #[doc = ""]
47 pub disk: Disk,
48 #[doc = "The new size. With the '+' sign the value is added to the actual size of the volume and without it, the value is taken as an absolute one. Shrinking disk size is not supported."]
49 #[doc = ""]
50 pub size: SizeStr,
51 #[serde(
52 flatten,
53 default,
54 skip_serializing_if = "::std::collections::HashMap::is_empty"
55 )]
56 pub additional_properties: ::std::collections::HashMap<String, ::serde_json::Value>,
57}
58#[derive(Clone, Debug, :: serde :: Serialize, :: serde :: Deserialize, PartialEq)]
59#[doc = "The disk you want to resize."]
60#[doc = ""]
61pub enum Disk {
62 #[serde(rename = "mp0")]
63 Mp0,
64 #[serde(rename = "mp1")]
65 Mp1,
66 #[serde(rename = "mp10")]
67 Mp10,
68 #[serde(rename = "mp100")]
69 Mp100,
70 #[serde(rename = "mp101")]
71 Mp101,
72 #[serde(rename = "mp102")]
73 Mp102,
74 #[serde(rename = "mp103")]
75 Mp103,
76 #[serde(rename = "mp104")]
77 Mp104,
78 #[serde(rename = "mp105")]
79 Mp105,
80 #[serde(rename = "mp106")]
81 Mp106,
82 #[serde(rename = "mp107")]
83 Mp107,
84 #[serde(rename = "mp108")]
85 Mp108,
86 #[serde(rename = "mp109")]
87 Mp109,
88 #[serde(rename = "mp11")]
89 Mp11,
90 #[serde(rename = "mp110")]
91 Mp110,
92 #[serde(rename = "mp111")]
93 Mp111,
94 #[serde(rename = "mp112")]
95 Mp112,
96 #[serde(rename = "mp113")]
97 Mp113,
98 #[serde(rename = "mp114")]
99 Mp114,
100 #[serde(rename = "mp115")]
101 Mp115,
102 #[serde(rename = "mp116")]
103 Mp116,
104 #[serde(rename = "mp117")]
105 Mp117,
106 #[serde(rename = "mp118")]
107 Mp118,
108 #[serde(rename = "mp119")]
109 Mp119,
110 #[serde(rename = "mp12")]
111 Mp12,
112 #[serde(rename = "mp120")]
113 Mp120,
114 #[serde(rename = "mp121")]
115 Mp121,
116 #[serde(rename = "mp122")]
117 Mp122,
118 #[serde(rename = "mp123")]
119 Mp123,
120 #[serde(rename = "mp124")]
121 Mp124,
122 #[serde(rename = "mp125")]
123 Mp125,
124 #[serde(rename = "mp126")]
125 Mp126,
126 #[serde(rename = "mp127")]
127 Mp127,
128 #[serde(rename = "mp128")]
129 Mp128,
130 #[serde(rename = "mp129")]
131 Mp129,
132 #[serde(rename = "mp13")]
133 Mp13,
134 #[serde(rename = "mp130")]
135 Mp130,
136 #[serde(rename = "mp131")]
137 Mp131,
138 #[serde(rename = "mp132")]
139 Mp132,
140 #[serde(rename = "mp133")]
141 Mp133,
142 #[serde(rename = "mp134")]
143 Mp134,
144 #[serde(rename = "mp135")]
145 Mp135,
146 #[serde(rename = "mp136")]
147 Mp136,
148 #[serde(rename = "mp137")]
149 Mp137,
150 #[serde(rename = "mp138")]
151 Mp138,
152 #[serde(rename = "mp139")]
153 Mp139,
154 #[serde(rename = "mp14")]
155 Mp14,
156 #[serde(rename = "mp140")]
157 Mp140,
158 #[serde(rename = "mp141")]
159 Mp141,
160 #[serde(rename = "mp142")]
161 Mp142,
162 #[serde(rename = "mp143")]
163 Mp143,
164 #[serde(rename = "mp144")]
165 Mp144,
166 #[serde(rename = "mp145")]
167 Mp145,
168 #[serde(rename = "mp146")]
169 Mp146,
170 #[serde(rename = "mp147")]
171 Mp147,
172 #[serde(rename = "mp148")]
173 Mp148,
174 #[serde(rename = "mp149")]
175 Mp149,
176 #[serde(rename = "mp15")]
177 Mp15,
178 #[serde(rename = "mp150")]
179 Mp150,
180 #[serde(rename = "mp151")]
181 Mp151,
182 #[serde(rename = "mp152")]
183 Mp152,
184 #[serde(rename = "mp153")]
185 Mp153,
186 #[serde(rename = "mp154")]
187 Mp154,
188 #[serde(rename = "mp155")]
189 Mp155,
190 #[serde(rename = "mp156")]
191 Mp156,
192 #[serde(rename = "mp157")]
193 Mp157,
194 #[serde(rename = "mp158")]
195 Mp158,
196 #[serde(rename = "mp159")]
197 Mp159,
198 #[serde(rename = "mp16")]
199 Mp16,
200 #[serde(rename = "mp160")]
201 Mp160,
202 #[serde(rename = "mp161")]
203 Mp161,
204 #[serde(rename = "mp162")]
205 Mp162,
206 #[serde(rename = "mp163")]
207 Mp163,
208 #[serde(rename = "mp164")]
209 Mp164,
210 #[serde(rename = "mp165")]
211 Mp165,
212 #[serde(rename = "mp166")]
213 Mp166,
214 #[serde(rename = "mp167")]
215 Mp167,
216 #[serde(rename = "mp168")]
217 Mp168,
218 #[serde(rename = "mp169")]
219 Mp169,
220 #[serde(rename = "mp17")]
221 Mp17,
222 #[serde(rename = "mp170")]
223 Mp170,
224 #[serde(rename = "mp171")]
225 Mp171,
226 #[serde(rename = "mp172")]
227 Mp172,
228 #[serde(rename = "mp173")]
229 Mp173,
230 #[serde(rename = "mp174")]
231 Mp174,
232 #[serde(rename = "mp175")]
233 Mp175,
234 #[serde(rename = "mp176")]
235 Mp176,
236 #[serde(rename = "mp177")]
237 Mp177,
238 #[serde(rename = "mp178")]
239 Mp178,
240 #[serde(rename = "mp179")]
241 Mp179,
242 #[serde(rename = "mp18")]
243 Mp18,
244 #[serde(rename = "mp180")]
245 Mp180,
246 #[serde(rename = "mp181")]
247 Mp181,
248 #[serde(rename = "mp182")]
249 Mp182,
250 #[serde(rename = "mp183")]
251 Mp183,
252 #[serde(rename = "mp184")]
253 Mp184,
254 #[serde(rename = "mp185")]
255 Mp185,
256 #[serde(rename = "mp186")]
257 Mp186,
258 #[serde(rename = "mp187")]
259 Mp187,
260 #[serde(rename = "mp188")]
261 Mp188,
262 #[serde(rename = "mp189")]
263 Mp189,
264 #[serde(rename = "mp19")]
265 Mp19,
266 #[serde(rename = "mp190")]
267 Mp190,
268 #[serde(rename = "mp191")]
269 Mp191,
270 #[serde(rename = "mp192")]
271 Mp192,
272 #[serde(rename = "mp193")]
273 Mp193,
274 #[serde(rename = "mp194")]
275 Mp194,
276 #[serde(rename = "mp195")]
277 Mp195,
278 #[serde(rename = "mp196")]
279 Mp196,
280 #[serde(rename = "mp197")]
281 Mp197,
282 #[serde(rename = "mp198")]
283 Mp198,
284 #[serde(rename = "mp199")]
285 Mp199,
286 #[serde(rename = "mp2")]
287 Mp2,
288 #[serde(rename = "mp20")]
289 Mp20,
290 #[serde(rename = "mp200")]
291 Mp200,
292 #[serde(rename = "mp201")]
293 Mp201,
294 #[serde(rename = "mp202")]
295 Mp202,
296 #[serde(rename = "mp203")]
297 Mp203,
298 #[serde(rename = "mp204")]
299 Mp204,
300 #[serde(rename = "mp205")]
301 Mp205,
302 #[serde(rename = "mp206")]
303 Mp206,
304 #[serde(rename = "mp207")]
305 Mp207,
306 #[serde(rename = "mp208")]
307 Mp208,
308 #[serde(rename = "mp209")]
309 Mp209,
310 #[serde(rename = "mp21")]
311 Mp21,
312 #[serde(rename = "mp210")]
313 Mp210,
314 #[serde(rename = "mp211")]
315 Mp211,
316 #[serde(rename = "mp212")]
317 Mp212,
318 #[serde(rename = "mp213")]
319 Mp213,
320 #[serde(rename = "mp214")]
321 Mp214,
322 #[serde(rename = "mp215")]
323 Mp215,
324 #[serde(rename = "mp216")]
325 Mp216,
326 #[serde(rename = "mp217")]
327 Mp217,
328 #[serde(rename = "mp218")]
329 Mp218,
330 #[serde(rename = "mp219")]
331 Mp219,
332 #[serde(rename = "mp22")]
333 Mp22,
334 #[serde(rename = "mp220")]
335 Mp220,
336 #[serde(rename = "mp221")]
337 Mp221,
338 #[serde(rename = "mp222")]
339 Mp222,
340 #[serde(rename = "mp223")]
341 Mp223,
342 #[serde(rename = "mp224")]
343 Mp224,
344 #[serde(rename = "mp225")]
345 Mp225,
346 #[serde(rename = "mp226")]
347 Mp226,
348 #[serde(rename = "mp227")]
349 Mp227,
350 #[serde(rename = "mp228")]
351 Mp228,
352 #[serde(rename = "mp229")]
353 Mp229,
354 #[serde(rename = "mp23")]
355 Mp23,
356 #[serde(rename = "mp230")]
357 Mp230,
358 #[serde(rename = "mp231")]
359 Mp231,
360 #[serde(rename = "mp232")]
361 Mp232,
362 #[serde(rename = "mp233")]
363 Mp233,
364 #[serde(rename = "mp234")]
365 Mp234,
366 #[serde(rename = "mp235")]
367 Mp235,
368 #[serde(rename = "mp236")]
369 Mp236,
370 #[serde(rename = "mp237")]
371 Mp237,
372 #[serde(rename = "mp238")]
373 Mp238,
374 #[serde(rename = "mp239")]
375 Mp239,
376 #[serde(rename = "mp24")]
377 Mp24,
378 #[serde(rename = "mp240")]
379 Mp240,
380 #[serde(rename = "mp241")]
381 Mp241,
382 #[serde(rename = "mp242")]
383 Mp242,
384 #[serde(rename = "mp243")]
385 Mp243,
386 #[serde(rename = "mp244")]
387 Mp244,
388 #[serde(rename = "mp245")]
389 Mp245,
390 #[serde(rename = "mp246")]
391 Mp246,
392 #[serde(rename = "mp247")]
393 Mp247,
394 #[serde(rename = "mp248")]
395 Mp248,
396 #[serde(rename = "mp249")]
397 Mp249,
398 #[serde(rename = "mp25")]
399 Mp25,
400 #[serde(rename = "mp250")]
401 Mp250,
402 #[serde(rename = "mp251")]
403 Mp251,
404 #[serde(rename = "mp252")]
405 Mp252,
406 #[serde(rename = "mp253")]
407 Mp253,
408 #[serde(rename = "mp254")]
409 Mp254,
410 #[serde(rename = "mp255")]
411 Mp255,
412 #[serde(rename = "mp26")]
413 Mp26,
414 #[serde(rename = "mp27")]
415 Mp27,
416 #[serde(rename = "mp28")]
417 Mp28,
418 #[serde(rename = "mp29")]
419 Mp29,
420 #[serde(rename = "mp3")]
421 Mp3,
422 #[serde(rename = "mp30")]
423 Mp30,
424 #[serde(rename = "mp31")]
425 Mp31,
426 #[serde(rename = "mp32")]
427 Mp32,
428 #[serde(rename = "mp33")]
429 Mp33,
430 #[serde(rename = "mp34")]
431 Mp34,
432 #[serde(rename = "mp35")]
433 Mp35,
434 #[serde(rename = "mp36")]
435 Mp36,
436 #[serde(rename = "mp37")]
437 Mp37,
438 #[serde(rename = "mp38")]
439 Mp38,
440 #[serde(rename = "mp39")]
441 Mp39,
442 #[serde(rename = "mp4")]
443 Mp4,
444 #[serde(rename = "mp40")]
445 Mp40,
446 #[serde(rename = "mp41")]
447 Mp41,
448 #[serde(rename = "mp42")]
449 Mp42,
450 #[serde(rename = "mp43")]
451 Mp43,
452 #[serde(rename = "mp44")]
453 Mp44,
454 #[serde(rename = "mp45")]
455 Mp45,
456 #[serde(rename = "mp46")]
457 Mp46,
458 #[serde(rename = "mp47")]
459 Mp47,
460 #[serde(rename = "mp48")]
461 Mp48,
462 #[serde(rename = "mp49")]
463 Mp49,
464 #[serde(rename = "mp5")]
465 Mp5,
466 #[serde(rename = "mp50")]
467 Mp50,
468 #[serde(rename = "mp51")]
469 Mp51,
470 #[serde(rename = "mp52")]
471 Mp52,
472 #[serde(rename = "mp53")]
473 Mp53,
474 #[serde(rename = "mp54")]
475 Mp54,
476 #[serde(rename = "mp55")]
477 Mp55,
478 #[serde(rename = "mp56")]
479 Mp56,
480 #[serde(rename = "mp57")]
481 Mp57,
482 #[serde(rename = "mp58")]
483 Mp58,
484 #[serde(rename = "mp59")]
485 Mp59,
486 #[serde(rename = "mp6")]
487 Mp6,
488 #[serde(rename = "mp60")]
489 Mp60,
490 #[serde(rename = "mp61")]
491 Mp61,
492 #[serde(rename = "mp62")]
493 Mp62,
494 #[serde(rename = "mp63")]
495 Mp63,
496 #[serde(rename = "mp64")]
497 Mp64,
498 #[serde(rename = "mp65")]
499 Mp65,
500 #[serde(rename = "mp66")]
501 Mp66,
502 #[serde(rename = "mp67")]
503 Mp67,
504 #[serde(rename = "mp68")]
505 Mp68,
506 #[serde(rename = "mp69")]
507 Mp69,
508 #[serde(rename = "mp7")]
509 Mp7,
510 #[serde(rename = "mp70")]
511 Mp70,
512 #[serde(rename = "mp71")]
513 Mp71,
514 #[serde(rename = "mp72")]
515 Mp72,
516 #[serde(rename = "mp73")]
517 Mp73,
518 #[serde(rename = "mp74")]
519 Mp74,
520 #[serde(rename = "mp75")]
521 Mp75,
522 #[serde(rename = "mp76")]
523 Mp76,
524 #[serde(rename = "mp77")]
525 Mp77,
526 #[serde(rename = "mp78")]
527 Mp78,
528 #[serde(rename = "mp79")]
529 Mp79,
530 #[serde(rename = "mp8")]
531 Mp8,
532 #[serde(rename = "mp80")]
533 Mp80,
534 #[serde(rename = "mp81")]
535 Mp81,
536 #[serde(rename = "mp82")]
537 Mp82,
538 #[serde(rename = "mp83")]
539 Mp83,
540 #[serde(rename = "mp84")]
541 Mp84,
542 #[serde(rename = "mp85")]
543 Mp85,
544 #[serde(rename = "mp86")]
545 Mp86,
546 #[serde(rename = "mp87")]
547 Mp87,
548 #[serde(rename = "mp88")]
549 Mp88,
550 #[serde(rename = "mp89")]
551 Mp89,
552 #[serde(rename = "mp9")]
553 Mp9,
554 #[serde(rename = "mp90")]
555 Mp90,
556 #[serde(rename = "mp91")]
557 Mp91,
558 #[serde(rename = "mp92")]
559 Mp92,
560 #[serde(rename = "mp93")]
561 Mp93,
562 #[serde(rename = "mp94")]
563 Mp94,
564 #[serde(rename = "mp95")]
565 Mp95,
566 #[serde(rename = "mp96")]
567 Mp96,
568 #[serde(rename = "mp97")]
569 Mp97,
570 #[serde(rename = "mp98")]
571 Mp98,
572 #[serde(rename = "mp99")]
573 Mp99,
574 #[serde(rename = "rootfs")]
575 Rootfs,
576}
577impl TryFrom<&str> for Disk {
578 type Error = String;
579 fn try_from(value: &str) -> Result<Self, <Self as TryFrom<&str>>::Error> {
580 match value {
581 "mp0" => Ok(Self::Mp0),
582 "mp1" => Ok(Self::Mp1),
583 "mp10" => Ok(Self::Mp10),
584 "mp100" => Ok(Self::Mp100),
585 "mp101" => Ok(Self::Mp101),
586 "mp102" => Ok(Self::Mp102),
587 "mp103" => Ok(Self::Mp103),
588 "mp104" => Ok(Self::Mp104),
589 "mp105" => Ok(Self::Mp105),
590 "mp106" => Ok(Self::Mp106),
591 "mp107" => Ok(Self::Mp107),
592 "mp108" => Ok(Self::Mp108),
593 "mp109" => Ok(Self::Mp109),
594 "mp11" => Ok(Self::Mp11),
595 "mp110" => Ok(Self::Mp110),
596 "mp111" => Ok(Self::Mp111),
597 "mp112" => Ok(Self::Mp112),
598 "mp113" => Ok(Self::Mp113),
599 "mp114" => Ok(Self::Mp114),
600 "mp115" => Ok(Self::Mp115),
601 "mp116" => Ok(Self::Mp116),
602 "mp117" => Ok(Self::Mp117),
603 "mp118" => Ok(Self::Mp118),
604 "mp119" => Ok(Self::Mp119),
605 "mp12" => Ok(Self::Mp12),
606 "mp120" => Ok(Self::Mp120),
607 "mp121" => Ok(Self::Mp121),
608 "mp122" => Ok(Self::Mp122),
609 "mp123" => Ok(Self::Mp123),
610 "mp124" => Ok(Self::Mp124),
611 "mp125" => Ok(Self::Mp125),
612 "mp126" => Ok(Self::Mp126),
613 "mp127" => Ok(Self::Mp127),
614 "mp128" => Ok(Self::Mp128),
615 "mp129" => Ok(Self::Mp129),
616 "mp13" => Ok(Self::Mp13),
617 "mp130" => Ok(Self::Mp130),
618 "mp131" => Ok(Self::Mp131),
619 "mp132" => Ok(Self::Mp132),
620 "mp133" => Ok(Self::Mp133),
621 "mp134" => Ok(Self::Mp134),
622 "mp135" => Ok(Self::Mp135),
623 "mp136" => Ok(Self::Mp136),
624 "mp137" => Ok(Self::Mp137),
625 "mp138" => Ok(Self::Mp138),
626 "mp139" => Ok(Self::Mp139),
627 "mp14" => Ok(Self::Mp14),
628 "mp140" => Ok(Self::Mp140),
629 "mp141" => Ok(Self::Mp141),
630 "mp142" => Ok(Self::Mp142),
631 "mp143" => Ok(Self::Mp143),
632 "mp144" => Ok(Self::Mp144),
633 "mp145" => Ok(Self::Mp145),
634 "mp146" => Ok(Self::Mp146),
635 "mp147" => Ok(Self::Mp147),
636 "mp148" => Ok(Self::Mp148),
637 "mp149" => Ok(Self::Mp149),
638 "mp15" => Ok(Self::Mp15),
639 "mp150" => Ok(Self::Mp150),
640 "mp151" => Ok(Self::Mp151),
641 "mp152" => Ok(Self::Mp152),
642 "mp153" => Ok(Self::Mp153),
643 "mp154" => Ok(Self::Mp154),
644 "mp155" => Ok(Self::Mp155),
645 "mp156" => Ok(Self::Mp156),
646 "mp157" => Ok(Self::Mp157),
647 "mp158" => Ok(Self::Mp158),
648 "mp159" => Ok(Self::Mp159),
649 "mp16" => Ok(Self::Mp16),
650 "mp160" => Ok(Self::Mp160),
651 "mp161" => Ok(Self::Mp161),
652 "mp162" => Ok(Self::Mp162),
653 "mp163" => Ok(Self::Mp163),
654 "mp164" => Ok(Self::Mp164),
655 "mp165" => Ok(Self::Mp165),
656 "mp166" => Ok(Self::Mp166),
657 "mp167" => Ok(Self::Mp167),
658 "mp168" => Ok(Self::Mp168),
659 "mp169" => Ok(Self::Mp169),
660 "mp17" => Ok(Self::Mp17),
661 "mp170" => Ok(Self::Mp170),
662 "mp171" => Ok(Self::Mp171),
663 "mp172" => Ok(Self::Mp172),
664 "mp173" => Ok(Self::Mp173),
665 "mp174" => Ok(Self::Mp174),
666 "mp175" => Ok(Self::Mp175),
667 "mp176" => Ok(Self::Mp176),
668 "mp177" => Ok(Self::Mp177),
669 "mp178" => Ok(Self::Mp178),
670 "mp179" => Ok(Self::Mp179),
671 "mp18" => Ok(Self::Mp18),
672 "mp180" => Ok(Self::Mp180),
673 "mp181" => Ok(Self::Mp181),
674 "mp182" => Ok(Self::Mp182),
675 "mp183" => Ok(Self::Mp183),
676 "mp184" => Ok(Self::Mp184),
677 "mp185" => Ok(Self::Mp185),
678 "mp186" => Ok(Self::Mp186),
679 "mp187" => Ok(Self::Mp187),
680 "mp188" => Ok(Self::Mp188),
681 "mp189" => Ok(Self::Mp189),
682 "mp19" => Ok(Self::Mp19),
683 "mp190" => Ok(Self::Mp190),
684 "mp191" => Ok(Self::Mp191),
685 "mp192" => Ok(Self::Mp192),
686 "mp193" => Ok(Self::Mp193),
687 "mp194" => Ok(Self::Mp194),
688 "mp195" => Ok(Self::Mp195),
689 "mp196" => Ok(Self::Mp196),
690 "mp197" => Ok(Self::Mp197),
691 "mp198" => Ok(Self::Mp198),
692 "mp199" => Ok(Self::Mp199),
693 "mp2" => Ok(Self::Mp2),
694 "mp20" => Ok(Self::Mp20),
695 "mp200" => Ok(Self::Mp200),
696 "mp201" => Ok(Self::Mp201),
697 "mp202" => Ok(Self::Mp202),
698 "mp203" => Ok(Self::Mp203),
699 "mp204" => Ok(Self::Mp204),
700 "mp205" => Ok(Self::Mp205),
701 "mp206" => Ok(Self::Mp206),
702 "mp207" => Ok(Self::Mp207),
703 "mp208" => Ok(Self::Mp208),
704 "mp209" => Ok(Self::Mp209),
705 "mp21" => Ok(Self::Mp21),
706 "mp210" => Ok(Self::Mp210),
707 "mp211" => Ok(Self::Mp211),
708 "mp212" => Ok(Self::Mp212),
709 "mp213" => Ok(Self::Mp213),
710 "mp214" => Ok(Self::Mp214),
711 "mp215" => Ok(Self::Mp215),
712 "mp216" => Ok(Self::Mp216),
713 "mp217" => Ok(Self::Mp217),
714 "mp218" => Ok(Self::Mp218),
715 "mp219" => Ok(Self::Mp219),
716 "mp22" => Ok(Self::Mp22),
717 "mp220" => Ok(Self::Mp220),
718 "mp221" => Ok(Self::Mp221),
719 "mp222" => Ok(Self::Mp222),
720 "mp223" => Ok(Self::Mp223),
721 "mp224" => Ok(Self::Mp224),
722 "mp225" => Ok(Self::Mp225),
723 "mp226" => Ok(Self::Mp226),
724 "mp227" => Ok(Self::Mp227),
725 "mp228" => Ok(Self::Mp228),
726 "mp229" => Ok(Self::Mp229),
727 "mp23" => Ok(Self::Mp23),
728 "mp230" => Ok(Self::Mp230),
729 "mp231" => Ok(Self::Mp231),
730 "mp232" => Ok(Self::Mp232),
731 "mp233" => Ok(Self::Mp233),
732 "mp234" => Ok(Self::Mp234),
733 "mp235" => Ok(Self::Mp235),
734 "mp236" => Ok(Self::Mp236),
735 "mp237" => Ok(Self::Mp237),
736 "mp238" => Ok(Self::Mp238),
737 "mp239" => Ok(Self::Mp239),
738 "mp24" => Ok(Self::Mp24),
739 "mp240" => Ok(Self::Mp240),
740 "mp241" => Ok(Self::Mp241),
741 "mp242" => Ok(Self::Mp242),
742 "mp243" => Ok(Self::Mp243),
743 "mp244" => Ok(Self::Mp244),
744 "mp245" => Ok(Self::Mp245),
745 "mp246" => Ok(Self::Mp246),
746 "mp247" => Ok(Self::Mp247),
747 "mp248" => Ok(Self::Mp248),
748 "mp249" => Ok(Self::Mp249),
749 "mp25" => Ok(Self::Mp25),
750 "mp250" => Ok(Self::Mp250),
751 "mp251" => Ok(Self::Mp251),
752 "mp252" => Ok(Self::Mp252),
753 "mp253" => Ok(Self::Mp253),
754 "mp254" => Ok(Self::Mp254),
755 "mp255" => Ok(Self::Mp255),
756 "mp26" => Ok(Self::Mp26),
757 "mp27" => Ok(Self::Mp27),
758 "mp28" => Ok(Self::Mp28),
759 "mp29" => Ok(Self::Mp29),
760 "mp3" => Ok(Self::Mp3),
761 "mp30" => Ok(Self::Mp30),
762 "mp31" => Ok(Self::Mp31),
763 "mp32" => Ok(Self::Mp32),
764 "mp33" => Ok(Self::Mp33),
765 "mp34" => Ok(Self::Mp34),
766 "mp35" => Ok(Self::Mp35),
767 "mp36" => Ok(Self::Mp36),
768 "mp37" => Ok(Self::Mp37),
769 "mp38" => Ok(Self::Mp38),
770 "mp39" => Ok(Self::Mp39),
771 "mp4" => Ok(Self::Mp4),
772 "mp40" => Ok(Self::Mp40),
773 "mp41" => Ok(Self::Mp41),
774 "mp42" => Ok(Self::Mp42),
775 "mp43" => Ok(Self::Mp43),
776 "mp44" => Ok(Self::Mp44),
777 "mp45" => Ok(Self::Mp45),
778 "mp46" => Ok(Self::Mp46),
779 "mp47" => Ok(Self::Mp47),
780 "mp48" => Ok(Self::Mp48),
781 "mp49" => Ok(Self::Mp49),
782 "mp5" => Ok(Self::Mp5),
783 "mp50" => Ok(Self::Mp50),
784 "mp51" => Ok(Self::Mp51),
785 "mp52" => Ok(Self::Mp52),
786 "mp53" => Ok(Self::Mp53),
787 "mp54" => Ok(Self::Mp54),
788 "mp55" => Ok(Self::Mp55),
789 "mp56" => Ok(Self::Mp56),
790 "mp57" => Ok(Self::Mp57),
791 "mp58" => Ok(Self::Mp58),
792 "mp59" => Ok(Self::Mp59),
793 "mp6" => Ok(Self::Mp6),
794 "mp60" => Ok(Self::Mp60),
795 "mp61" => Ok(Self::Mp61),
796 "mp62" => Ok(Self::Mp62),
797 "mp63" => Ok(Self::Mp63),
798 "mp64" => Ok(Self::Mp64),
799 "mp65" => Ok(Self::Mp65),
800 "mp66" => Ok(Self::Mp66),
801 "mp67" => Ok(Self::Mp67),
802 "mp68" => Ok(Self::Mp68),
803 "mp69" => Ok(Self::Mp69),
804 "mp7" => Ok(Self::Mp7),
805 "mp70" => Ok(Self::Mp70),
806 "mp71" => Ok(Self::Mp71),
807 "mp72" => Ok(Self::Mp72),
808 "mp73" => Ok(Self::Mp73),
809 "mp74" => Ok(Self::Mp74),
810 "mp75" => Ok(Self::Mp75),
811 "mp76" => Ok(Self::Mp76),
812 "mp77" => Ok(Self::Mp77),
813 "mp78" => Ok(Self::Mp78),
814 "mp79" => Ok(Self::Mp79),
815 "mp8" => Ok(Self::Mp8),
816 "mp80" => Ok(Self::Mp80),
817 "mp81" => Ok(Self::Mp81),
818 "mp82" => Ok(Self::Mp82),
819 "mp83" => Ok(Self::Mp83),
820 "mp84" => Ok(Self::Mp84),
821 "mp85" => Ok(Self::Mp85),
822 "mp86" => Ok(Self::Mp86),
823 "mp87" => Ok(Self::Mp87),
824 "mp88" => Ok(Self::Mp88),
825 "mp89" => Ok(Self::Mp89),
826 "mp9" => Ok(Self::Mp9),
827 "mp90" => Ok(Self::Mp90),
828 "mp91" => Ok(Self::Mp91),
829 "mp92" => Ok(Self::Mp92),
830 "mp93" => Ok(Self::Mp93),
831 "mp94" => Ok(Self::Mp94),
832 "mp95" => Ok(Self::Mp95),
833 "mp96" => Ok(Self::Mp96),
834 "mp97" => Ok(Self::Mp97),
835 "mp98" => Ok(Self::Mp98),
836 "mp99" => Ok(Self::Mp99),
837 "rootfs" => Ok(Self::Rootfs),
838 v => Err(format!("Unknown variant {v}")),
839 }
840 }
841}
842#[derive(Debug, Clone, PartialEq, PartialOrd)]
843pub struct DigestStr {
844 value: String,
845}
846impl crate::types::bounded_string::BoundedString for DigestStr {
847 const MIN_LENGTH: Option<usize> = None::<usize>;
848 const MAX_LENGTH: Option<usize> = Some(40usize);
849 const DEFAULT: Option<&'static str> = None::<&'static str>;
850 const PATTERN: Option<&'static str> = None::<&'static str>;
851 const TYPE_DESCRIPTION: &'static str = "a string with length at most 40";
852 fn get_value(&self) -> &str {
853 &self.value
854 }
855 fn new(value: String) -> Result<Self, crate::types::bounded_string::BoundedStringError> {
856 Self::validate(&value)?;
857 Ok(Self { value })
858 }
859}
860impl std::convert::TryFrom<String> for DigestStr {
861 type Error = crate::types::bounded_string::BoundedStringError;
862 fn try_from(value: String) -> Result<Self, Self::Error> {
863 crate::types::bounded_string::BoundedString::new(value)
864 }
865}
866impl ::serde::Serialize for DigestStr {
867 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
868 where
869 S: ::serde::Serializer,
870 {
871 crate::types::bounded_string::serialize_bounded_string(self, serializer)
872 }
873}
874impl<'de> ::serde::Deserialize<'de> for DigestStr {
875 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
876 where
877 D: ::serde::Deserializer<'de>,
878 {
879 crate::types::bounded_string::deserialize_bounded_string(deserializer)
880 }
881}
882#[derive(Debug, Clone, PartialEq, PartialOrd)]
883pub struct SizeStr {
884 value: String,
885}
886impl crate::types::bounded_string::BoundedString for SizeStr {
887 const MIN_LENGTH: Option<usize> = None::<usize>;
888 const MAX_LENGTH: Option<usize> = None::<usize>;
889 const DEFAULT: Option<&'static str> = None::<&'static str>;
890 const PATTERN: Option<&'static str> = Some("\\+?\\d+(\\.\\d+)?[KMGT]?");
891 const TYPE_DESCRIPTION: &'static str =
892 "a string with pattern r\"\\+?\\d+(\\.\\d+)?[KMGT]?\" and no length constraints";
893 fn get_value(&self) -> &str {
894 &self.value
895 }
896 fn new(value: String) -> Result<Self, crate::types::bounded_string::BoundedStringError> {
897 Self::validate(&value)?;
898 Ok(Self { value })
899 }
900}
901impl std::convert::TryFrom<String> for SizeStr {
902 type Error = crate::types::bounded_string::BoundedStringError;
903 fn try_from(value: String) -> Result<Self, Self::Error> {
904 crate::types::bounded_string::BoundedString::new(value)
905 }
906}
907impl ::serde::Serialize for SizeStr {
908 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
909 where
910 S: ::serde::Serializer,
911 {
912 crate::types::bounded_string::serialize_bounded_string(self, serializer)
913 }
914}
915impl<'de> ::serde::Deserialize<'de> for SizeStr {
916 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
917 where
918 D: ::serde::Deserializer<'de>,
919 {
920 crate::types::bounded_string::deserialize_bounded_string(deserializer)
921 }
922}