/*
 * 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 VpnPhase2PolicyChoices {
    #[serde(rename = "1")]
    Variant1,
    #[serde(rename = "2")]
    Variant2,
    #[serde(rename = "5")]
    Variant5,
    #[serde(rename = "14")]
    Variant14,
    #[serde(rename = "19")]
    Variant19,
    #[serde(rename = "20")]
    Variant20,
    #[serde(rename = "21")]
    Variant21,
    #[serde(rename = "22")]
    Variant22,
    #[serde(rename = "23")]
    Variant23,
    #[serde(rename = "24")]
    Variant24,
    #[serde(rename = "25")]
    Variant25,
    #[serde(rename = "26")]
    Variant26,
    #[serde(rename = "27")]
    Variant27,
    #[serde(rename = "28")]
    Variant28,
    #[serde(rename = "29")]
    Variant29,
    #[serde(rename = "30")]
    Variant30,
    #[serde(rename = "31")]
    Variant31,
    #[serde(rename = "32")]
    Variant32,
    #[serde(rename = "33")]
    Variant33,
    #[serde(rename = "34")]
    Variant34,
}

impl ToString for VpnPhase2PolicyChoices {
    fn to_string(&self) -> String {
        match self {
            Self::Variant1 => String::from("1"),
            Self::Variant2 => String::from("2"),
            Self::Variant5 => String::from("5"),
            Self::Variant14 => String::from("14"),
            Self::Variant19 => String::from("19"),
            Self::Variant20 => String::from("20"),
            Self::Variant21 => String::from("21"),
            Self::Variant22 => String::from("22"),
            Self::Variant23 => String::from("23"),
            Self::Variant24 => String::from("24"),
            Self::Variant25 => String::from("25"),
            Self::Variant26 => String::from("26"),
            Self::Variant27 => String::from("27"),
            Self::Variant28 => String::from("28"),
            Self::Variant29 => String::from("29"),
            Self::Variant30 => String::from("30"),
            Self::Variant31 => String::from("31"),
            Self::Variant32 => String::from("32"),
            Self::Variant33 => String::from("33"),
            Self::Variant34 => String::from("34"),
        }
    }
}

impl Default for VpnPhase2PolicyChoices {
    fn default() -> VpnPhase2PolicyChoices {
        Self::Variant1
    }
}
