tembo_api_client/models/
storage.rsuse crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum Storage {
#[serde(rename = "10Gi")]
Variant10Gi,
#[serde(rename = "50Gi")]
Variant50Gi,
#[serde(rename = "100Gi")]
Variant100Gi,
#[serde(rename = "200Gi")]
Variant200Gi,
#[serde(rename = "300Gi")]
Variant300Gi,
#[serde(rename = "400Gi")]
Variant400Gi,
#[serde(rename = "500Gi")]
Variant500Gi,
#[serde(rename = "1Ti")]
Variant1Ti,
#[serde(rename = "1.5Ti")]
Variant1Period5Ti,
#[serde(rename = "2Ti")]
Variant2Ti,
}
impl ToString for Storage {
fn to_string(&self) -> String {
match self {
Self::Variant10Gi => String::from("10Gi"),
Self::Variant50Gi => String::from("50Gi"),
Self::Variant100Gi => String::from("100Gi"),
Self::Variant200Gi => String::from("200Gi"),
Self::Variant300Gi => String::from("300Gi"),
Self::Variant400Gi => String::from("400Gi"),
Self::Variant500Gi => String::from("500Gi"),
Self::Variant1Ti => String::from("1Ti"),
Self::Variant1Period5Ti => String::from("1.5Ti"),
Self::Variant2Ti => String::from("2Ti"),
}
}
}
impl Default for Storage {
fn default() -> Storage {
Self::Variant10Gi
}
}
impl std::str::FromStr for Storage {
type Err = String;
fn from_str(s: &str) -> Result<Self, Self::Err> {
match s {
"10Gi" => Ok(Self::Variant10Gi),
"50Gi" => Ok(Self::Variant50Gi),
"100Gi" => Ok(Self::Variant100Gi),
"200Gi" => Ok(Self::Variant200Gi),
"300Gi" => Ok(Self::Variant300Gi),
"400Gi" => Ok(Self::Variant400Gi),
"500Gi" => Ok(Self::Variant500Gi),
"1Ti" => Ok(Self::Variant1Ti),
"1.5Ti" => Ok(Self::Variant1Period5Ti),
"2Ti" => Ok(Self::Variant2Ti),
_ => Err(format!("Invalid storage size: {}", s)),
}
}
}