tembo_api_client/models/
storage.rs1use serde::{Deserialize, Serialize};
12
13#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
15pub enum Storage {
16 #[serde(rename = "10Gi")]
17 Variant10Gi,
18 #[serde(rename = "50Gi")]
19 Variant50Gi,
20 #[serde(rename = "100Gi")]
21 Variant100Gi,
22 #[serde(rename = "200Gi")]
23 Variant200Gi,
24 #[serde(rename = "300Gi")]
25 Variant300Gi,
26 #[serde(rename = "400Gi")]
27 Variant400Gi,
28 #[serde(rename = "500Gi")]
29 Variant500Gi,
30 #[serde(rename = "1Ti")]
31 Variant1Ti,
32 #[serde(rename = "1.5Ti")]
33 Variant1Period5Ti,
34 #[serde(rename = "2Ti")]
35 Variant2Ti,
36}
37
38impl ToString for Storage {
39 fn to_string(&self) -> String {
40 match self {
41 Self::Variant10Gi => String::from("10Gi"),
42 Self::Variant50Gi => String::from("50Gi"),
43 Self::Variant100Gi => String::from("100Gi"),
44 Self::Variant200Gi => String::from("200Gi"),
45 Self::Variant300Gi => String::from("300Gi"),
46 Self::Variant400Gi => String::from("400Gi"),
47 Self::Variant500Gi => String::from("500Gi"),
48 Self::Variant1Ti => String::from("1Ti"),
49 Self::Variant1Period5Ti => String::from("1.5Ti"),
50 Self::Variant2Ti => String::from("2Ti"),
51 }
52 }
53}
54
55impl Default for Storage {
56 fn default() -> Storage {
57 Self::Variant10Gi
58 }
59}
60
61impl std::str::FromStr for Storage {
62 type Err = String;
63
64 fn from_str(s: &str) -> Result<Self, Self::Err> {
65 match s {
66 "10Gi" => Ok(Self::Variant10Gi),
67 "50Gi" => Ok(Self::Variant50Gi),
68 "100Gi" => Ok(Self::Variant100Gi),
69 "200Gi" => Ok(Self::Variant200Gi),
70 "300Gi" => Ok(Self::Variant300Gi),
71 "400Gi" => Ok(Self::Variant400Gi),
72 "500Gi" => Ok(Self::Variant500Gi),
73 "1Ti" => Ok(Self::Variant1Ti),
74 "1.5Ti" => Ok(Self::Variant1Period5Ti),
75 "2Ti" => Ok(Self::Variant2Ti),
76 _ => Err(format!("Invalid storage size: {}", s)),
77 }
78 }
79}