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

"""Enumeration of create user password hash type values."""

from __future__ import annotations

from enum import Enum
from typing import Literal, TypeAlias


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

    BCRYPT = "bcrypt"
    FIREBASE_SCRYPT = "firebase-scrypt"
    SSHA = "ssha"
    SSHA_256 = "ssha256"
    SCRYPT = "scrypt"
    PBKDF_2 = "pbkdf2"
    ARGON_2 = "argon2"

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


CreateUserPasswordHashTypeLiteral: TypeAlias = Literal[
    "bcrypt", "firebase-scrypt", "ssha", "ssha256", "scrypt", "pbkdf2", "argon2"
]
