tembo_api_client/models/
environment.rs1use serde::{Deserialize, Serialize};
12
13#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
15pub enum Environment {
16 #[serde(rename = "dev")]
17 Dev,
18 #[serde(rename = "test")]
19 Test,
20 #[serde(rename = "prod")]
21 Prod,
22}
23
24impl std::fmt::Display for Environment {
25 fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
26 match self {
27 Self::Dev => write!(f, "dev"),
28 Self::Test => write!(f, "test"),
29 Self::Prod => write!(f, "prod"),
30 }
31 }
32}
33
34impl Default for Environment {
35 fn default() -> Environment {
36 Self::Dev
37 }
38}
39
40impl std::str::FromStr for Environment {
41 type Err = String;
42
43 fn from_str(s: &str) -> Result<Self, Self::Err> {
44 match s.to_lowercase().as_str() {
45 "dev" => Ok(Self::Dev),
46 "test" => Ok(Self::Test),
47 "prod" => Ok(Self::Prod),
48 _ => Err(format!("Invalid environment: {}", s)),
49 }
50 }
51}