authentik-client 2026.2.2-rc1

Making authentication simple.
Documentation
/*
 * authentik
 *
 * Making authentication simple.
 *
 * The version of the OpenAPI document: 2026.2.2-rc1
 * 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 AppEnum {
    #[serde(rename = "authentik.commands")]
    AuthentikCommands,
    #[serde(rename = "authentik.tenants")]
    AuthentikTenants,
    #[serde(rename = "authentik.tasks")]
    AuthentikTasks,
    #[serde(rename = "authentik.admin")]
    AuthentikAdmin,
    #[serde(rename = "authentik.api")]
    AuthentikApi,
    #[serde(rename = "authentik.core")]
    AuthentikCore,
    #[serde(rename = "authentik.crypto")]
    AuthentikCrypto,
    #[serde(rename = "authentik.endpoints")]
    AuthentikEndpoints,
    #[serde(rename = "authentik.endpoints.connectors.agent")]
    AuthentikEndpointsConnectorsAgent,
    #[serde(rename = "authentik.enterprise")]
    AuthentikEnterprise,
    #[serde(rename = "authentik.events")]
    AuthentikEvents,
    #[serde(rename = "authentik.admin.files")]
    AuthentikAdminFiles,
    #[serde(rename = "authentik.flows")]
    AuthentikFlows,
    #[serde(rename = "authentik.outposts")]
    AuthentikOutposts,
    #[serde(rename = "authentik.policies.dummy")]
    AuthentikPoliciesDummy,
    #[serde(rename = "authentik.policies.event_matcher")]
    AuthentikPoliciesEventMatcher,
    #[serde(rename = "authentik.policies.expiry")]
    AuthentikPoliciesExpiry,
    #[serde(rename = "authentik.policies.expression")]
    AuthentikPoliciesExpression,
    #[serde(rename = "authentik.policies.geoip")]
    AuthentikPoliciesGeoip,
    #[serde(rename = "authentik.policies.password")]
    AuthentikPoliciesPassword,
    #[serde(rename = "authentik.policies.reputation")]
    AuthentikPoliciesReputation,
    #[serde(rename = "authentik.policies")]
    AuthentikPolicies,
    #[serde(rename = "authentik.providers.ldap")]
    AuthentikProvidersLdap,
    #[serde(rename = "authentik.providers.oauth2")]
    AuthentikProvidersOauth2,
    #[serde(rename = "authentik.providers.proxy")]
    AuthentikProvidersProxy,
    #[serde(rename = "authentik.providers.rac")]
    AuthentikProvidersRac,
    #[serde(rename = "authentik.providers.radius")]
    AuthentikProvidersRadius,
    #[serde(rename = "authentik.providers.saml")]
    AuthentikProvidersSaml,
    #[serde(rename = "authentik.providers.scim")]
    AuthentikProvidersScim,
    #[serde(rename = "authentik.rbac")]
    AuthentikRbac,
    #[serde(rename = "authentik.recovery")]
    AuthentikRecovery,
    #[serde(rename = "authentik.sources.kerberos")]
    AuthentikSourcesKerberos,
    #[serde(rename = "authentik.sources.ldap")]
    AuthentikSourcesLdap,
    #[serde(rename = "authentik.sources.oauth")]
    AuthentikSourcesOauth,
    #[serde(rename = "authentik.sources.plex")]
    AuthentikSourcesPlex,
    #[serde(rename = "authentik.sources.saml")]
    AuthentikSourcesSaml,
    #[serde(rename = "authentik.sources.scim")]
    AuthentikSourcesScim,
    #[serde(rename = "authentik.sources.telegram")]
    AuthentikSourcesTelegram,
    #[serde(rename = "authentik.stages.authenticator")]
    AuthentikStagesAuthenticator,
    #[serde(rename = "authentik.stages.authenticator_duo")]
    AuthentikStagesAuthenticatorDuo,
    #[serde(rename = "authentik.stages.authenticator_email")]
    AuthentikStagesAuthenticatorEmail,
    #[serde(rename = "authentik.stages.authenticator_sms")]
    AuthentikStagesAuthenticatorSms,
    #[serde(rename = "authentik.stages.authenticator_static")]
    AuthentikStagesAuthenticatorStatic,
    #[serde(rename = "authentik.stages.authenticator_totp")]
    AuthentikStagesAuthenticatorTotp,
    #[serde(rename = "authentik.stages.authenticator_validate")]
    AuthentikStagesAuthenticatorValidate,
    #[serde(rename = "authentik.stages.authenticator_webauthn")]
    AuthentikStagesAuthenticatorWebauthn,
    #[serde(rename = "authentik.stages.captcha")]
    AuthentikStagesCaptcha,
    #[serde(rename = "authentik.stages.consent")]
    AuthentikStagesConsent,
    #[serde(rename = "authentik.stages.deny")]
    AuthentikStagesDeny,
    #[serde(rename = "authentik.stages.dummy")]
    AuthentikStagesDummy,
    #[serde(rename = "authentik.stages.email")]
    AuthentikStagesEmail,
    #[serde(rename = "authentik.stages.identification")]
    AuthentikStagesIdentification,
    #[serde(rename = "authentik.stages.invitation")]
    AuthentikStagesInvitation,
    #[serde(rename = "authentik.stages.password")]
    AuthentikStagesPassword,
    #[serde(rename = "authentik.stages.prompt")]
    AuthentikStagesPrompt,
    #[serde(rename = "authentik.stages.redirect")]
    AuthentikStagesRedirect,
    #[serde(rename = "authentik.stages.user_delete")]
    AuthentikStagesUserDelete,
    #[serde(rename = "authentik.stages.user_login")]
    AuthentikStagesUserLogin,
    #[serde(rename = "authentik.stages.user_logout")]
    AuthentikStagesUserLogout,
    #[serde(rename = "authentik.stages.user_write")]
    AuthentikStagesUserWrite,
    #[serde(rename = "authentik.tasks.schedules")]
    AuthentikTasksSchedules,
    #[serde(rename = "authentik.brands")]
    AuthentikBrands,
    #[serde(rename = "authentik.blueprints")]
    AuthentikBlueprints,
    #[serde(rename = "authentik.enterprise.audit")]
    AuthentikEnterpriseAudit,
    #[serde(rename = "authentik.enterprise.endpoints.connectors.agent")]
    AuthentikEnterpriseEndpointsConnectorsAgent,
    #[serde(rename = "authentik.enterprise.endpoints.connectors.fleet")]
    AuthentikEnterpriseEndpointsConnectorsFleet,
    #[serde(rename = "authentik.enterprise.lifecycle")]
    AuthentikEnterpriseLifecycle,
    #[serde(rename = "authentik.enterprise.policies.unique_password")]
    AuthentikEnterprisePoliciesUniquePassword,
    #[serde(rename = "authentik.enterprise.providers.google_workspace")]
    AuthentikEnterpriseProvidersGoogleWorkspace,
    #[serde(rename = "authentik.enterprise.providers.microsoft_entra")]
    AuthentikEnterpriseProvidersMicrosoftEntra,
    #[serde(rename = "authentik.enterprise.providers.radius")]
    AuthentikEnterpriseProvidersRadius,
    #[serde(rename = "authentik.enterprise.providers.scim")]
    AuthentikEnterpriseProvidersScim,
    #[serde(rename = "authentik.enterprise.providers.ssf")]
    AuthentikEnterpriseProvidersSsf,
    #[serde(rename = "authentik.enterprise.providers.ws_federation")]
    AuthentikEnterpriseProvidersWsFederation,
    #[serde(rename = "authentik.enterprise.reports")]
    AuthentikEnterpriseReports,
    #[serde(rename = "authentik.enterprise.search")]
    AuthentikEnterpriseSearch,
    #[serde(rename = "authentik.enterprise.stages.authenticator_endpoint_gdtc")]
    AuthentikEnterpriseStagesAuthenticatorEndpointGdtc,
    #[serde(rename = "authentik.enterprise.stages.mtls")]
    AuthentikEnterpriseStagesMtls,
    #[serde(rename = "authentik.enterprise.stages.source")]
    AuthentikEnterpriseStagesSource,
}

impl std::fmt::Display for AppEnum {
    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
        match self {
            Self::AuthentikCommands => write!(f, "authentik.commands"),
            Self::AuthentikTenants => write!(f, "authentik.tenants"),
            Self::AuthentikTasks => write!(f, "authentik.tasks"),
            Self::AuthentikAdmin => write!(f, "authentik.admin"),
            Self::AuthentikApi => write!(f, "authentik.api"),
            Self::AuthentikCore => write!(f, "authentik.core"),
            Self::AuthentikCrypto => write!(f, "authentik.crypto"),
            Self::AuthentikEndpoints => write!(f, "authentik.endpoints"),
            Self::AuthentikEndpointsConnectorsAgent => write!(f, "authentik.endpoints.connectors.agent"),
            Self::AuthentikEnterprise => write!(f, "authentik.enterprise"),
            Self::AuthentikEvents => write!(f, "authentik.events"),
            Self::AuthentikAdminFiles => write!(f, "authentik.admin.files"),
            Self::AuthentikFlows => write!(f, "authentik.flows"),
            Self::AuthentikOutposts => write!(f, "authentik.outposts"),
            Self::AuthentikPoliciesDummy => write!(f, "authentik.policies.dummy"),
            Self::AuthentikPoliciesEventMatcher => write!(f, "authentik.policies.event_matcher"),
            Self::AuthentikPoliciesExpiry => write!(f, "authentik.policies.expiry"),
            Self::AuthentikPoliciesExpression => write!(f, "authentik.policies.expression"),
            Self::AuthentikPoliciesGeoip => write!(f, "authentik.policies.geoip"),
            Self::AuthentikPoliciesPassword => write!(f, "authentik.policies.password"),
            Self::AuthentikPoliciesReputation => write!(f, "authentik.policies.reputation"),
            Self::AuthentikPolicies => write!(f, "authentik.policies"),
            Self::AuthentikProvidersLdap => write!(f, "authentik.providers.ldap"),
            Self::AuthentikProvidersOauth2 => write!(f, "authentik.providers.oauth2"),
            Self::AuthentikProvidersProxy => write!(f, "authentik.providers.proxy"),
            Self::AuthentikProvidersRac => write!(f, "authentik.providers.rac"),
            Self::AuthentikProvidersRadius => write!(f, "authentik.providers.radius"),
            Self::AuthentikProvidersSaml => write!(f, "authentik.providers.saml"),
            Self::AuthentikProvidersScim => write!(f, "authentik.providers.scim"),
            Self::AuthentikRbac => write!(f, "authentik.rbac"),
            Self::AuthentikRecovery => write!(f, "authentik.recovery"),
            Self::AuthentikSourcesKerberos => write!(f, "authentik.sources.kerberos"),
            Self::AuthentikSourcesLdap => write!(f, "authentik.sources.ldap"),
            Self::AuthentikSourcesOauth => write!(f, "authentik.sources.oauth"),
            Self::AuthentikSourcesPlex => write!(f, "authentik.sources.plex"),
            Self::AuthentikSourcesSaml => write!(f, "authentik.sources.saml"),
            Self::AuthentikSourcesScim => write!(f, "authentik.sources.scim"),
            Self::AuthentikSourcesTelegram => write!(f, "authentik.sources.telegram"),
            Self::AuthentikStagesAuthenticator => write!(f, "authentik.stages.authenticator"),
            Self::AuthentikStagesAuthenticatorDuo => write!(f, "authentik.stages.authenticator_duo"),
            Self::AuthentikStagesAuthenticatorEmail => write!(f, "authentik.stages.authenticator_email"),
            Self::AuthentikStagesAuthenticatorSms => write!(f, "authentik.stages.authenticator_sms"),
            Self::AuthentikStagesAuthenticatorStatic => write!(f, "authentik.stages.authenticator_static"),
            Self::AuthentikStagesAuthenticatorTotp => write!(f, "authentik.stages.authenticator_totp"),
            Self::AuthentikStagesAuthenticatorValidate => write!(f, "authentik.stages.authenticator_validate"),
            Self::AuthentikStagesAuthenticatorWebauthn => write!(f, "authentik.stages.authenticator_webauthn"),
            Self::AuthentikStagesCaptcha => write!(f, "authentik.stages.captcha"),
            Self::AuthentikStagesConsent => write!(f, "authentik.stages.consent"),
            Self::AuthentikStagesDeny => write!(f, "authentik.stages.deny"),
            Self::AuthentikStagesDummy => write!(f, "authentik.stages.dummy"),
            Self::AuthentikStagesEmail => write!(f, "authentik.stages.email"),
            Self::AuthentikStagesIdentification => write!(f, "authentik.stages.identification"),
            Self::AuthentikStagesInvitation => write!(f, "authentik.stages.invitation"),
            Self::AuthentikStagesPassword => write!(f, "authentik.stages.password"),
            Self::AuthentikStagesPrompt => write!(f, "authentik.stages.prompt"),
            Self::AuthentikStagesRedirect => write!(f, "authentik.stages.redirect"),
            Self::AuthentikStagesUserDelete => write!(f, "authentik.stages.user_delete"),
            Self::AuthentikStagesUserLogin => write!(f, "authentik.stages.user_login"),
            Self::AuthentikStagesUserLogout => write!(f, "authentik.stages.user_logout"),
            Self::AuthentikStagesUserWrite => write!(f, "authentik.stages.user_write"),
            Self::AuthentikTasksSchedules => write!(f, "authentik.tasks.schedules"),
            Self::AuthentikBrands => write!(f, "authentik.brands"),
            Self::AuthentikBlueprints => write!(f, "authentik.blueprints"),
            Self::AuthentikEnterpriseAudit => write!(f, "authentik.enterprise.audit"),
            Self::AuthentikEnterpriseEndpointsConnectorsAgent => {
                write!(f, "authentik.enterprise.endpoints.connectors.agent")
            }
            Self::AuthentikEnterpriseEndpointsConnectorsFleet => {
                write!(f, "authentik.enterprise.endpoints.connectors.fleet")
            }
            Self::AuthentikEnterpriseLifecycle => write!(f, "authentik.enterprise.lifecycle"),
            Self::AuthentikEnterprisePoliciesUniquePassword => {
                write!(f, "authentik.enterprise.policies.unique_password")
            }
            Self::AuthentikEnterpriseProvidersGoogleWorkspace => {
                write!(f, "authentik.enterprise.providers.google_workspace")
            }
            Self::AuthentikEnterpriseProvidersMicrosoftEntra => {
                write!(f, "authentik.enterprise.providers.microsoft_entra")
            }
            Self::AuthentikEnterpriseProvidersRadius => write!(f, "authentik.enterprise.providers.radius"),
            Self::AuthentikEnterpriseProvidersScim => write!(f, "authentik.enterprise.providers.scim"),
            Self::AuthentikEnterpriseProvidersSsf => write!(f, "authentik.enterprise.providers.ssf"),
            Self::AuthentikEnterpriseProvidersWsFederation => write!(f, "authentik.enterprise.providers.ws_federation"),
            Self::AuthentikEnterpriseReports => write!(f, "authentik.enterprise.reports"),
            Self::AuthentikEnterpriseSearch => write!(f, "authentik.enterprise.search"),
            Self::AuthentikEnterpriseStagesAuthenticatorEndpointGdtc => {
                write!(f, "authentik.enterprise.stages.authenticator_endpoint_gdtc")
            }
            Self::AuthentikEnterpriseStagesMtls => write!(f, "authentik.enterprise.stages.mtls"),
            Self::AuthentikEnterpriseStagesSource => write!(f, "authentik.enterprise.stages.source"),
        }
    }
}

impl Default for AppEnum {
    fn default() -> AppEnum {
        Self::AuthentikCommands
    }
}