tembo_api_client/models/
environment.rsuse crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum Environment {
#[serde(rename = "dev")]
Dev,
#[serde(rename = "test")]
Test,
#[serde(rename = "prod")]
Prod,
}
impl std::fmt::Display for Environment {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
match self {
Self::Dev => write!(f, "dev"),
Self::Test => write!(f, "test"),
Self::Prod => write!(f, "prod"),
}
}
}
impl Default for Environment {
fn default() -> Environment {
Self::Dev
}
}
impl std::str::FromStr for Environment {
type Err = String;
fn from_str(s: &str) -> Result<Self, Self::Err> {
match s.to_lowercase().as_str() {
"dev" => Ok(Self::Dev),
"test" => Ok(Self::Test),
"prod" => Ok(Self::Prod),
_ => Err(format!("Invalid environment: {}", s)),
}
}
}