tembo-api-client 1.1.1

API client for Tembo Cloud's Platform API (api.tembo.io)
Documentation
/*
 * Tembo Cloud
 *
 * 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/)
 *
 * The version of the OpenAPI document: v1.0.0
 *
 * Generated by: https://openapi-generator.tech
 */

///
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum StackType {
    #[serde(rename = "Standard")]
    Standard,
    #[serde(rename = "MessageQueue")]
    MessageQueue,
    #[serde(rename = "MachineLearning")]
    MachineLearning,
    #[serde(rename = "OLTP")]
    Oltp,
    #[serde(rename = "Analytics")]
    Analytics,
    #[serde(rename = "VectorDB")]
    VectorDb,
    #[serde(rename = "Geospatial")]
    Geospatial,
    #[serde(rename = "MongoAlternative")]
    MongoAlternative,
    #[serde(rename = "Timeseries")]
    Timeseries,
    #[serde(rename = "ParadeDB")]
    ParadeDB,
}

impl ToString for StackType {
    fn to_string(&self) -> String {
        match self {
            Self::Standard => String::from("Standard"),
            Self::MessageQueue => String::from("MessageQueue"),
            Self::MachineLearning => String::from("MachineLearning"),
            Self::Oltp => String::from("OLTP"),
            Self::Analytics => String::from("Analytics"),
            Self::VectorDb => String::from("VectorDB"),
            Self::Geospatial => String::from("Geospatial"),
            Self::MongoAlternative => String::from("MongoAlternative"),
            Self::Timeseries => String::from("Timeseries"),
            Self::ParadeDB => String::from("ParadeDB"),
        }
    }
}

impl Default for StackType {
    fn default() -> StackType {
        Self::Standard
    }
}

impl std::str::FromStr for StackType {
    type Err = String;

    fn from_str(s: &str) -> Result<Self, Self::Err> {
        match s {
            "Standard" => Ok(Self::Standard),
            "MessageQueue" => Ok(Self::MessageQueue),
            "MachineLearning" => Ok(Self::MachineLearning),
            "OLTP" => Ok(Self::Oltp),
            "Analytics" => Ok(Self::Analytics),
            "VectorDB" => Ok(Self::VectorDb),
            "Geospatial" => Ok(Self::Geospatial),
            "MongoAlternative" => Ok(Self::MongoAlternative),
            "Timeseries" => Ok(Self::Timeseries),
            "ParadeDB" => Ok(Self::ParadeDB),
            _ => Err(format!("Invalid StackType: {}", s)),
        }
    }
}