/*
 * API Documentation
 *
 * Source of truth and network automation platform
 *
 * The version of the OpenAPI document: 3.1.0 (3.1)
 *
 * Generated by: https://openapi-generator.tech
 */

///
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum PanelTypeEnum {
    #[serde(rename = "utility")]
    Utility,
    #[serde(rename = "generator")]
    Generator,
    #[serde(rename = "switchgear")]
    Switchgear,
    #[serde(rename = "mdp")]
    Mdp,
    #[serde(rename = "ups")]
    Ups,
    #[serde(rename = "transfer-switch")]
    TransferSwitch,
    #[serde(rename = "pdu")]
    Pdu,
    #[serde(rename = "panelboard")]
    Panelboard,
    #[serde(rename = "mlc")]
    Mlc,
    #[serde(rename = "rpp")]
    Rpp,
}

impl ToString for PanelTypeEnum {
    fn to_string(&self) -> String {
        match self {
            Self::Utility => String::from("utility"),
            Self::Generator => String::from("generator"),
            Self::Switchgear => String::from("switchgear"),
            Self::Mdp => String::from("mdp"),
            Self::Ups => String::from("ups"),
            Self::TransferSwitch => String::from("transfer-switch"),
            Self::Pdu => String::from("pdu"),
            Self::Panelboard => String::from("panelboard"),
            Self::Mlc => String::from("mlc"),
            Self::Rpp => String::from("rpp"),
        }
    }
}

impl Default for PanelTypeEnum {
    fn default() -> PanelTypeEnum {
        Self::Utility
    }
}
