# coding: utf-8

"""
    Kanidm

    API for interacting with the Kanidm system. This is a work in progress.

    The version of the OpenAPI document: 1.9.0-dev
    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 AuthMech(str, Enum):
    """
    The mechanisms that may proceed in this authentication
    """

    """
    allowed enum values
    """
    ANONYMOUS = 'anonymous'
    PASSWORD = 'password'
    PASSWORDBACKUPCODE = 'passwordbackupcode'
    PASSWORDMFA = 'passwordmfa'
    PASSWORDSECURITYKEY = 'passwordsecuritykey'
    PASSKEY = 'passkey'
    OAUTH2TRUST = 'oauth2trust'

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


