tembo_api_client/models/
memory.rs1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
16pub enum Memory {
17 #[serde(rename = "512Mi")]
18 Variant512Mi,
19 #[serde(rename = "1Gi")]
20 Variant1Gi,
21 #[serde(rename = "2Gi")]
22 Variant2Gi,
23 #[serde(rename = "4Gi")]
24 Variant4Gi,
25 #[serde(rename = "8Gi")]
26 Variant8Gi,
27 #[serde(rename = "12Gi")]
28 Variant12Gi,
29 #[serde(rename = "16Gi")]
30 Variant16Gi,
31 #[serde(rename = "24Gi")]
32 Variant24Gi,
33 #[serde(rename = "32Gi")]
34 Variant32Gi,
35 #[serde(rename = "64Gi")]
36 Variant64Gi,
37}
38
39impl std::fmt::Display for Memory {
40 fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
41 match self {
42 Self::Variant512Mi => write!(f, "512Mi"),
43 Self::Variant1Gi => write!(f, "1Gi"),
44 Self::Variant2Gi => write!(f, "2Gi"),
45 Self::Variant4Gi => write!(f, "4Gi"),
46 Self::Variant8Gi => write!(f, "8Gi"),
47 Self::Variant12Gi => write!(f, "12Gi"),
48 Self::Variant16Gi => write!(f, "16Gi"),
49 Self::Variant24Gi => write!(f, "24Gi"),
50 Self::Variant32Gi => write!(f, "32Gi"),
51 Self::Variant64Gi => write!(f, "64Gi"),
52 }
53 }
54}
55
56impl Default for Memory {
57 fn default() -> Memory {
58 Self::Variant512Mi
59 }
60}
61
62impl std::str::FromStr for Memory {
63 type Err = String;
64
65 fn from_str(s: &str) -> Result<Self, Self::Err> {
66 match s {
67 "512Mi" => Ok(Self::Variant512Mi),
68 "1Gi" => Ok(Self::Variant1Gi),
69 "2Gi" => Ok(Self::Variant2Gi),
70 "4Gi" => Ok(Self::Variant4Gi),
71 "8Gi" => Ok(Self::Variant8Gi),
72 "12Gi" => Ok(Self::Variant12Gi),
73 "16Gi" => Ok(Self::Variant16Gi),
74 "24Gi" => Ok(Self::Variant24Gi),
75 "32Gi" => Ok(Self::Variant32Gi),
76 "64Gi" => Ok(Self::Variant64Gi),
77 _ => Err(format!("Invalid memory value: {}", s)),
78 }
79 }
80}