tembo_api_client/models/
storage.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 serde::{Deserialize, Serialize};
12
13///
14#[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}