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

"""Enumeration of authenticate response authentication method values."""

from __future__ import annotations

from enum import Enum
from typing import Literal, TypeAlias


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

    SSO = "SSO"
    PASSWORD = "Password"
    PASSKEY = "Passkey"
    APPLE_OAUTH = "AppleOAuth"
    BITBUCKET_OAUTH = "BitbucketOAuth"
    CROSS_APP_AUTH = "CrossAppAuth"
    DISCORD_OAUTH = "DiscordOAuth"
    EXTERNAL_AUTH = "ExternalAuth"
    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"
    MAGIC_AUTH = "MagicAuth"
    IMPERSONATION = "Impersonation"
    MIGRATED_SESSION = "MigratedSession"

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


AuthenticateResponseAuthenticationMethodLiteral: TypeAlias = Literal[
    "SSO",
    "Password",
    "Passkey",
    "AppleOAuth",
    "BitbucketOAuth",
    "CrossAppAuth",
    "DiscordOAuth",
    "ExternalAuth",
    "GitHubOAuth",
    "GitLabOAuth",
    "GoogleOAuth",
    "IntuitOAuth",
    "LinkedInOAuth",
    "MicrosoftOAuth",
    "SalesforceOAuth",
    "SlackOAuth",
    "VercelMarketplaceOAuth",
    "VercelOAuth",
    "XeroOAuth",
    "MagicAuth",
    "Impersonation",
    "MigratedSession",
]
