authentik-rust 0.0.1

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

use crate::models;

/// AppEnum : * `authentik.tenants` - authentik Tenants * `authentik.admin` - authentik Admin * `authentik.api` - authentik API * `authentik.crypto` - authentik Crypto * `authentik.flows` - authentik Flows * `authentik.outposts` - authentik Outpost * `authentik.policies.dummy` - authentik Policies.Dummy * `authentik.policies.event_matcher` - authentik Policies.Event Matcher * `authentik.policies.expiry` - authentik Policies.Expiry * `authentik.policies.expression` - authentik Policies.Expression * `authentik.policies.password` - authentik Policies.Password * `authentik.policies.reputation` - authentik Policies.Reputation * `authentik.policies` - authentik Policies * `authentik.providers.ldap` - authentik Providers.LDAP * `authentik.providers.oauth2` - authentik Providers.OAuth2 * `authentik.providers.proxy` - authentik Providers.Proxy * `authentik.providers.radius` - authentik Providers.Radius * `authentik.providers.saml` - authentik Providers.SAML * `authentik.providers.scim` - authentik Providers.SCIM * `authentik.rbac` - authentik RBAC * `authentik.recovery` - authentik Recovery * `authentik.sources.ldap` - authentik Sources.LDAP * `authentik.sources.oauth` - authentik Sources.OAuth * `authentik.sources.plex` - authentik Sources.Plex * `authentik.sources.saml` - authentik Sources.SAML * `authentik.stages.authenticator` - authentik Stages.Authenticator * `authentik.stages.authenticator_duo` - authentik Stages.Authenticator.Duo * `authentik.stages.authenticator_sms` - authentik Stages.Authenticator.SMS * `authentik.stages.authenticator_static` - authentik Stages.Authenticator.Static * `authentik.stages.authenticator_totp` - authentik Stages.Authenticator.TOTP * `authentik.stages.authenticator_validate` - authentik Stages.Authenticator.Validate * `authentik.stages.authenticator_webauthn` - authentik Stages.Authenticator.WebAuthn * `authentik.stages.captcha` - authentik Stages.Captcha * `authentik.stages.consent` - authentik Stages.Consent * `authentik.stages.deny` - authentik Stages.Deny * `authentik.stages.dummy` - authentik Stages.Dummy * `authentik.stages.email` - authentik Stages.Email * `authentik.stages.identification` - authentik Stages.Identification * `authentik.stages.invitation` - authentik Stages.User Invitation * `authentik.stages.password` - authentik Stages.Password * `authentik.stages.prompt` - authentik Stages.Prompt * `authentik.stages.user_delete` - authentik Stages.User Delete * `authentik.stages.user_login` - authentik Stages.User Login * `authentik.stages.user_logout` - authentik Stages.User Logout * `authentik.stages.user_write` - authentik Stages.User Write * `authentik.brands` - authentik Brands * `authentik.blueprints` - authentik Blueprints * `authentik.core` - authentik Core * `authentik.enterprise` - authentik Enterprise * `authentik.enterprise.audit` - authentik Enterprise.Audit * `authentik.enterprise.providers.rac` - authentik Enterprise.Providers.RAC * `authentik.events` - authentik Events
/// * `authentik.tenants` - authentik Tenants * `authentik.admin` - authentik Admin * `authentik.api` - authentik API * `authentik.crypto` - authentik Crypto * `authentik.flows` - authentik Flows * `authentik.outposts` - authentik Outpost * `authentik.policies.dummy` - authentik Policies.Dummy * `authentik.policies.event_matcher` - authentik Policies.Event Matcher * `authentik.policies.expiry` - authentik Policies.Expiry * `authentik.policies.expression` - authentik Policies.Expression * `authentik.policies.password` - authentik Policies.Password * `authentik.policies.reputation` - authentik Policies.Reputation * `authentik.policies` - authentik Policies * `authentik.providers.ldap` - authentik Providers.LDAP * `authentik.providers.oauth2` - authentik Providers.OAuth2 * `authentik.providers.proxy` - authentik Providers.Proxy * `authentik.providers.radius` - authentik Providers.Radius * `authentik.providers.saml` - authentik Providers.SAML * `authentik.providers.scim` - authentik Providers.SCIM * `authentik.rbac` - authentik RBAC * `authentik.recovery` - authentik Recovery * `authentik.sources.ldap` - authentik Sources.LDAP * `authentik.sources.oauth` - authentik Sources.OAuth * `authentik.sources.plex` - authentik Sources.Plex * `authentik.sources.saml` - authentik Sources.SAML * `authentik.stages.authenticator` - authentik Stages.Authenticator * `authentik.stages.authenticator_duo` - authentik Stages.Authenticator.Duo * `authentik.stages.authenticator_sms` - authentik Stages.Authenticator.SMS * `authentik.stages.authenticator_static` - authentik Stages.Authenticator.Static * `authentik.stages.authenticator_totp` - authentik Stages.Authenticator.TOTP * `authentik.stages.authenticator_validate` - authentik Stages.Authenticator.Validate * `authentik.stages.authenticator_webauthn` - authentik Stages.Authenticator.WebAuthn * `authentik.stages.captcha` - authentik Stages.Captcha * `authentik.stages.consent` - authentik Stages.Consent * `authentik.stages.deny` - authentik Stages.Deny * `authentik.stages.dummy` - authentik Stages.Dummy * `authentik.stages.email` - authentik Stages.Email * `authentik.stages.identification` - authentik Stages.Identification * `authentik.stages.invitation` - authentik Stages.User Invitation * `authentik.stages.password` - authentik Stages.Password * `authentik.stages.prompt` - authentik Stages.Prompt * `authentik.stages.user_delete` - authentik Stages.User Delete * `authentik.stages.user_login` - authentik Stages.User Login * `authentik.stages.user_logout` - authentik Stages.User Logout * `authentik.stages.user_write` - authentik Stages.User Write * `authentik.brands` - authentik Brands * `authentik.blueprints` - authentik Blueprints * `authentik.core` - authentik Core * `authentik.enterprise` - authentik Enterprise * `authentik.enterprise.audit` - authentik Enterprise.Audit * `authentik.enterprise.providers.rac` - authentik Enterprise.Providers.RAC * `authentik.events` - authentik Events
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum AppEnum {
    #[serde(rename = "authentik.tenants")]
    Tenants,
    #[serde(rename = "authentik.admin")]
    Admin,
    #[serde(rename = "authentik.api")]
    Api,
    #[serde(rename = "authentik.crypto")]
    Crypto,
    #[serde(rename = "authentik.flows")]
    Flows,
    #[serde(rename = "authentik.outposts")]
    Outposts,
    #[serde(rename = "authentik.policies.dummy")]
    PoliciesPeriodDummy,
    #[serde(rename = "authentik.policies.event_matcher")]
    PoliciesPeriodEventMatcher,
    #[serde(rename = "authentik.policies.expiry")]
    PoliciesPeriodExpiry,
    #[serde(rename = "authentik.policies.expression")]
    PoliciesPeriodExpression,
    #[serde(rename = "authentik.policies.password")]
    PoliciesPeriodPassword,
    #[serde(rename = "authentik.policies.reputation")]
    PoliciesPeriodReputation,
    #[serde(rename = "authentik.policies")]
    Policies,
    #[serde(rename = "authentik.providers.ldap")]
    ProvidersPeriodLdap,
    #[serde(rename = "authentik.providers.oauth2")]
    ProvidersPeriodOauth2,
    #[serde(rename = "authentik.providers.proxy")]
    ProvidersPeriodProxy,
    #[serde(rename = "authentik.providers.radius")]
    ProvidersPeriodRadius,
    #[serde(rename = "authentik.providers.saml")]
    ProvidersPeriodSaml,
    #[serde(rename = "authentik.providers.scim")]
    ProvidersPeriodScim,
    #[serde(rename = "authentik.rbac")]
    Rbac,
    #[serde(rename = "authentik.recovery")]
    Recovery,
    #[serde(rename = "authentik.sources.ldap")]
    SourcesPeriodLdap,
    #[serde(rename = "authentik.sources.oauth")]
    SourcesPeriodOauth,
    #[serde(rename = "authentik.sources.plex")]
    SourcesPeriodPlex,
    #[serde(rename = "authentik.sources.saml")]
    SourcesPeriodSaml,
    #[serde(rename = "authentik.stages.authenticator")]
    StagesPeriodAuthenticator,
    #[serde(rename = "authentik.stages.authenticator_duo")]
    StagesPeriodAuthenticatorDuo,
    #[serde(rename = "authentik.stages.authenticator_sms")]
    StagesPeriodAuthenticatorSms,
    #[serde(rename = "authentik.stages.authenticator_static")]
    StagesPeriodAuthenticatorStatic,
    #[serde(rename = "authentik.stages.authenticator_totp")]
    StagesPeriodAuthenticatorTotp,
    #[serde(rename = "authentik.stages.authenticator_validate")]
    StagesPeriodAuthenticatorValidate,
    #[serde(rename = "authentik.stages.authenticator_webauthn")]
    StagesPeriodAuthenticatorWebauthn,
    #[serde(rename = "authentik.stages.captcha")]
    StagesPeriodCaptcha,
    #[serde(rename = "authentik.stages.consent")]
    StagesPeriodConsent,
    #[serde(rename = "authentik.stages.deny")]
    StagesPeriodDeny,
    #[serde(rename = "authentik.stages.dummy")]
    StagesPeriodDummy,
    #[serde(rename = "authentik.stages.email")]
    StagesPeriodEmail,
    #[serde(rename = "authentik.stages.identification")]
    StagesPeriodIdentification,
    #[serde(rename = "authentik.stages.invitation")]
    StagesPeriodInvitation,
    #[serde(rename = "authentik.stages.password")]
    StagesPeriodPassword,
    #[serde(rename = "authentik.stages.prompt")]
    StagesPeriodPrompt,
    #[serde(rename = "authentik.stages.user_delete")]
    StagesPeriodUserDelete,
    #[serde(rename = "authentik.stages.user_login")]
    StagesPeriodUserLogin,
    #[serde(rename = "authentik.stages.user_logout")]
    StagesPeriodUserLogout,
    #[serde(rename = "authentik.stages.user_write")]
    StagesPeriodUserWrite,
    #[serde(rename = "authentik.brands")]
    Brands,
    #[serde(rename = "authentik.blueprints")]
    Blueprints,
    #[serde(rename = "authentik.core")]
    Core,
    #[serde(rename = "authentik.enterprise")]
    Enterprise,
    #[serde(rename = "authentik.enterprise.audit")]
    EnterprisePeriodAudit,
    #[serde(rename = "authentik.enterprise.providers.rac")]
    EnterprisePeriodProvidersPeriodRac,
    #[serde(rename = "authentik.events")]
    Events,

}

impl ToString for AppEnum {
    fn to_string(&self) -> String {
        match self {
            Self::Tenants => String::from("authentik.tenants"),
            Self::Admin => String::from("authentik.admin"),
            Self::Api => String::from("authentik.api"),
            Self::Crypto => String::from("authentik.crypto"),
            Self::Flows => String::from("authentik.flows"),
            Self::Outposts => String::from("authentik.outposts"),
            Self::PoliciesPeriodDummy => String::from("authentik.policies.dummy"),
            Self::PoliciesPeriodEventMatcher => String::from("authentik.policies.event_matcher"),
            Self::PoliciesPeriodExpiry => String::from("authentik.policies.expiry"),
            Self::PoliciesPeriodExpression => String::from("authentik.policies.expression"),
            Self::PoliciesPeriodPassword => String::from("authentik.policies.password"),
            Self::PoliciesPeriodReputation => String::from("authentik.policies.reputation"),
            Self::Policies => String::from("authentik.policies"),
            Self::ProvidersPeriodLdap => String::from("authentik.providers.ldap"),
            Self::ProvidersPeriodOauth2 => String::from("authentik.providers.oauth2"),
            Self::ProvidersPeriodProxy => String::from("authentik.providers.proxy"),
            Self::ProvidersPeriodRadius => String::from("authentik.providers.radius"),
            Self::ProvidersPeriodSaml => String::from("authentik.providers.saml"),
            Self::ProvidersPeriodScim => String::from("authentik.providers.scim"),
            Self::Rbac => String::from("authentik.rbac"),
            Self::Recovery => String::from("authentik.recovery"),
            Self::SourcesPeriodLdap => String::from("authentik.sources.ldap"),
            Self::SourcesPeriodOauth => String::from("authentik.sources.oauth"),
            Self::SourcesPeriodPlex => String::from("authentik.sources.plex"),
            Self::SourcesPeriodSaml => String::from("authentik.sources.saml"),
            Self::StagesPeriodAuthenticator => String::from("authentik.stages.authenticator"),
            Self::StagesPeriodAuthenticatorDuo => String::from("authentik.stages.authenticator_duo"),
            Self::StagesPeriodAuthenticatorSms => String::from("authentik.stages.authenticator_sms"),
            Self::StagesPeriodAuthenticatorStatic => String::from("authentik.stages.authenticator_static"),
            Self::StagesPeriodAuthenticatorTotp => String::from("authentik.stages.authenticator_totp"),
            Self::StagesPeriodAuthenticatorValidate => String::from("authentik.stages.authenticator_validate"),
            Self::StagesPeriodAuthenticatorWebauthn => String::from("authentik.stages.authenticator_webauthn"),
            Self::StagesPeriodCaptcha => String::from("authentik.stages.captcha"),
            Self::StagesPeriodConsent => String::from("authentik.stages.consent"),
            Self::StagesPeriodDeny => String::from("authentik.stages.deny"),
            Self::StagesPeriodDummy => String::from("authentik.stages.dummy"),
            Self::StagesPeriodEmail => String::from("authentik.stages.email"),
            Self::StagesPeriodIdentification => String::from("authentik.stages.identification"),
            Self::StagesPeriodInvitation => String::from("authentik.stages.invitation"),
            Self::StagesPeriodPassword => String::from("authentik.stages.password"),
            Self::StagesPeriodPrompt => String::from("authentik.stages.prompt"),
            Self::StagesPeriodUserDelete => String::from("authentik.stages.user_delete"),
            Self::StagesPeriodUserLogin => String::from("authentik.stages.user_login"),
            Self::StagesPeriodUserLogout => String::from("authentik.stages.user_logout"),
            Self::StagesPeriodUserWrite => String::from("authentik.stages.user_write"),
            Self::Brands => String::from("authentik.brands"),
            Self::Blueprints => String::from("authentik.blueprints"),
            Self::Core => String::from("authentik.core"),
            Self::Enterprise => String::from("authentik.enterprise"),
            Self::EnterprisePeriodAudit => String::from("authentik.enterprise.audit"),
            Self::EnterprisePeriodProvidersPeriodRac => String::from("authentik.enterprise.providers.rac"),
            Self::Events => String::from("authentik.events"),
        }
    }
}

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