authentik-client 2026.2.3

Making authentication simple.
Documentation
/*
 * authentik
 *
 * Making authentication simple.
 *
 * The version of the OpenAPI document: 2026.2.3
 * Contact: hello@goauthentik.io
 * Generated by: https://openapi-generator.tech
 */

use crate::models;
use serde::{Deserialize, Serialize};

///
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum SamlNameIdPolicyEnum {
    #[serde(rename = "urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress")]
    UrnColonOasisColonNamesColonTcColonSamlColon11ColonNameidFormatColonEmailAddress,
    #[serde(rename = "urn:oasis:names:tc:SAML:2.0:nameid-format:persistent")]
    UrnColonOasisColonNamesColonTcColonSamlColon20ColonNameidFormatColonPersistent,
    #[serde(rename = "urn:oasis:names:tc:SAML:1.1:nameid-format:X509SubjectName")]
    UrnColonOasisColonNamesColonTcColonSamlColon11ColonNameidFormatColonX509SubjectName,
    #[serde(rename = "urn:oasis:names:tc:SAML:2.0:nameid-format:WindowsDomainQualifiedName")]
    UrnColonOasisColonNamesColonTcColonSamlColon20ColonNameidFormatColonWindowsDomainQualifiedName,
    #[serde(rename = "urn:oasis:names:tc:SAML:2.0:nameid-format:transient")]
    UrnColonOasisColonNamesColonTcColonSamlColon20ColonNameidFormatColonTransient,
    #[serde(rename = "urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified")]
    UrnColonOasisColonNamesColonTcColonSamlColon11ColonNameidFormatColonUnspecified,
}

impl std::fmt::Display for SamlNameIdPolicyEnum {
    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
        match self {
            Self::UrnColonOasisColonNamesColonTcColonSamlColon11ColonNameidFormatColonEmailAddress => {
                write!(f, "urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress")
            }
            Self::UrnColonOasisColonNamesColonTcColonSamlColon20ColonNameidFormatColonPersistent => {
                write!(f, "urn:oasis:names:tc:SAML:2.0:nameid-format:persistent")
            }
            Self::UrnColonOasisColonNamesColonTcColonSamlColon11ColonNameidFormatColonX509SubjectName => {
                write!(f, "urn:oasis:names:tc:SAML:1.1:nameid-format:X509SubjectName")
            }
            Self::UrnColonOasisColonNamesColonTcColonSamlColon20ColonNameidFormatColonWindowsDomainQualifiedName => {
                write!(
                    f,
                    "urn:oasis:names:tc:SAML:2.0:nameid-format:WindowsDomainQualifiedName"
                )
            }
            Self::UrnColonOasisColonNamesColonTcColonSamlColon20ColonNameidFormatColonTransient => {
                write!(f, "urn:oasis:names:tc:SAML:2.0:nameid-format:transient")
            }
            Self::UrnColonOasisColonNamesColonTcColonSamlColon11ColonNameidFormatColonUnspecified => {
                write!(f, "urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified")
            }
        }
    }
}

impl Default for SamlNameIdPolicyEnum {
    fn default() -> SamlNameIdPolicyEnum {
        Self::UrnColonOasisColonNamesColonTcColonSamlColon11ColonNameidFormatColonEmailAddress
    }
}