# coding: utf-8

"""
    authentik

    Making authentication simple.

    The version of the OpenAPI document: 2025.6.4
    Contact: hello@goauthentik.io
    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 EventActions(str, Enum):
    """
    EventActions
    """

    """
    allowed enum values
    """
    LOGIN = 'login'
    LOGIN_FAILED = 'login_failed'
    LOGOUT = 'logout'
    USER_WRITE = 'user_write'
    SUSPICIOUS_REQUEST = 'suspicious_request'
    PASSWORD_SET = 'password_set'
    SECRET_VIEW = 'secret_view'
    SECRET_ROTATE = 'secret_rotate'
    INVITATION_USED = 'invitation_used'
    AUTHORIZE_APPLICATION = 'authorize_application'
    SOURCE_LINKED = 'source_linked'
    IMPERSONATION_STARTED = 'impersonation_started'
    IMPERSONATION_ENDED = 'impersonation_ended'
    FLOW_EXECUTION = 'flow_execution'
    POLICY_EXECUTION = 'policy_execution'
    POLICY_EXCEPTION = 'policy_exception'
    PROPERTY_MAPPING_EXCEPTION = 'property_mapping_exception'
    SYSTEM_TASK_EXECUTION = 'system_task_execution'
    SYSTEM_TASK_EXCEPTION = 'system_task_exception'
    SYSTEM_EXCEPTION = 'system_exception'
    CONFIGURATION_ERROR = 'configuration_error'
    MODEL_CREATED = 'model_created'
    MODEL_UPDATED = 'model_updated'
    MODEL_DELETED = 'model_deleted'
    EMAIL_SENT = 'email_sent'
    UPDATE_AVAILABLE = 'update_available'
    CUSTOM = 'custom_'

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


