/*
 * 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 SecretTypeEnum {
    #[serde(rename = "authentication-key")]
    AuthenticationKey,
    #[serde(rename = "authentication-protocol")]
    AuthenticationProtocol,
    #[serde(rename = "key")]
    Key,
    #[serde(rename = "notes")]
    Notes,
    #[serde(rename = "password")]
    Password,
    #[serde(rename = "private-algorithm")]
    PrivateAlgorithm,
    #[serde(rename = "private-key")]
    PrivateKey,
    #[serde(rename = "secret")]
    Secret,
    #[serde(rename = "token")]
    Token,
    #[serde(rename = "url")]
    Url,
    #[serde(rename = "username")]
    Username,
}

impl ToString for SecretTypeEnum {
    fn to_string(&self) -> String {
        match self {
            Self::AuthenticationKey => String::from("authentication-key"),
            Self::AuthenticationProtocol => String::from("authentication-protocol"),
            Self::Key => String::from("key"),
            Self::Notes => String::from("notes"),
            Self::Password => String::from("password"),
            Self::PrivateAlgorithm => String::from("private-algorithm"),
            Self::PrivateKey => String::from("private-key"),
            Self::Secret => String::from("secret"),
            Self::Token => String::from("token"),
            Self::Url => String::from("url"),
            Self::Username => String::from("username"),
        }
    }
}

impl Default for SecretTypeEnum {
    fn default() -> SecretTypeEnum {
        Self::AuthenticationKey
    }
}
