tembo_api_client/models/
memory.rs

1/*
2 * Tembo Cloud
3 *
4 * Platform API for Tembo Cloud             </br>             </br>             To find a Tembo Data API, please find it here:             </br>             </br>             [AWS US East 1](https://api.data-1.use1.tembo.io/swagger-ui/)
5 *
6 * The version of the OpenAPI document: v1.0.0
7 *
8 * Generated by: https://openapi-generator.tech
9 */
10
11use crate::models;
12use serde::{Deserialize, Serialize};
13
14///
15#[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}