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

"""Enumeration of session created data auth method values."""

from __future__ import annotations

from enum import Enum
from typing import Optional
from typing import Literal, TypeAlias


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

    CROSS_APP_AUTH = "cross_app_auth"
    EXTERNAL_AUTH = "external_auth"
    IMPERSONATION = "impersonation"
    MAGIC_CODE = "magic_code"
    MIGRATED_SESSION = "migrated_session"
    OAUTH = "oauth"
    PASSKEY = "passkey"
    PASSWORD = "password"
    SSO = "sso"
    UNKNOWN = "unknown"

    @classmethod
    def _missing_(cls, value: object) -> Optional["SessionCreatedDataAuthMethod"]:
        if not isinstance(value, str):
            return None
        unknown = str.__new__(cls, value)
        unknown._name_ = value.upper()
        unknown._value_ = value
        return unknown


SessionCreatedDataAuthMethodLiteral: TypeAlias = Literal[
    "cross_app_auth",
    "external_auth",
    "impersonation",
    "magic_code",
    "migrated_session",
    "oauth",
    "passkey",
    "password",
    "sso",
    "unknown",
]
