# This file is auto-generated by oagen. Do not edit.

"""Enumeration of user management authentication provider values."""

from __future__ import annotations

from enum import Enum
from typing import Literal, TypeAlias


class UserManagementAuthenticationProvider(str, Enum):
    """Known values for UserManagementAuthenticationProvider."""

    AUTHKIT = "authkit"
    APPLE_OAUTH = "AppleOAuth"
    BITBUCKET_OAUTH = "BitbucketOAuth"
    GIT_HUB_OAUTH = "GitHubOAuth"
    GIT_LAB_OAUTH = "GitLabOAuth"
    GOOGLE_OAUTH = "GoogleOAuth"
    INTUIT_OAUTH = "IntuitOAuth"
    LINKED_IN_OAUTH = "LinkedInOAuth"
    MICROSOFT_OAUTH = "MicrosoftOAuth"
    SALESFORCE_OAUTH = "SalesforceOAuth"
    SLACK_OAUTH = "SlackOAuth"
    VERCEL_MARKETPLACE_OAUTH = "VercelMarketplaceOAuth"
    VERCEL_OAUTH = "VercelOAuth"
    XERO_OAUTH = "XeroOAuth"

    @classmethod
    def _missing_(cls, value: object) -> UserManagementAuthenticationProvider | None:
        if not isinstance(value, str):
            return None
        unknown = str.__new__(cls, value)
        unknown._name_ = value.upper()
        unknown._value_ = value
        return unknown


UserManagementAuthenticationProviderLiteral: TypeAlias = Literal[
    "authkit",
    "AppleOAuth",
    "BitbucketOAuth",
    "GitHubOAuth",
    "GitLabOAuth",
    "GoogleOAuth",
    "IntuitOAuth",
    "LinkedInOAuth",
    "MicrosoftOAuth",
    "SalesforceOAuth",
    "SlackOAuth",
    "VercelMarketplaceOAuth",
    "VercelOAuth",
    "XeroOAuth",
]
