# coding: utf-8

"""
    authentik

    Making authentication simple.

    The version of the OpenAPI document: 2024.8.3
    Contact: hello@goauthentik.io
    Generated by OpenAPI Generator (https://openapi-generator.tech)

    Do not edit the class manually.
"""  # noqa: E501


from __future__ import annotations
import json
from enum import Enum
from typing_extensions import Self


class ProviderModelEnum(str, Enum):
    """
    ProviderModelEnum
    """

    """
    allowed enum values
    """
    AUTHENTIK_PROVIDERS_GOOGLE_WORKSPACE_DOT_GOOGLEWORKSPACEPROVIDER = 'authentik_providers_google_workspace.googleworkspaceprovider'
    AUTHENTIK_PROVIDERS_LDAP_DOT_LDAPPROVIDER = 'authentik_providers_ldap.ldapprovider'
    AUTHENTIK_PROVIDERS_MICROSOFT_ENTRA_DOT_MICROSOFTENTRAPROVIDER = 'authentik_providers_microsoft_entra.microsoftentraprovider'
    AUTHENTIK_PROVIDERS_OAUTH2_DOT_OAUTH2PROVIDER = 'authentik_providers_oauth2.oauth2provider'
    AUTHENTIK_PROVIDERS_PROXY_DOT_PROXYPROVIDER = 'authentik_providers_proxy.proxyprovider'
    AUTHENTIK_PROVIDERS_RAC_DOT_RACPROVIDER = 'authentik_providers_rac.racprovider'
    AUTHENTIK_PROVIDERS_RADIUS_DOT_RADIUSPROVIDER = 'authentik_providers_radius.radiusprovider'
    AUTHENTIK_PROVIDERS_SAML_DOT_SAMLPROVIDER = 'authentik_providers_saml.samlprovider'
    AUTHENTIK_PROVIDERS_SCIM_DOT_SCIMPROVIDER = 'authentik_providers_scim.scimprovider'

    @classmethod
    def from_json(cls, json_str: str) -> Self:
        """Create an instance of ProviderModelEnum from a JSON string"""
        return cls(json.loads(json_str))


