# coding: utf-8

"""
    Hatchet API

    The Hatchet API

    The version of the OpenAPI document: 1.0.0
    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 V1TaskEventType(str, Enum):
    """
    V1TaskEventType
    """

    """
    allowed enum values
    """
    REQUEUED_NO_WORKER = "REQUEUED_NO_WORKER"
    REQUEUED_RATE_LIMIT = "REQUEUED_RATE_LIMIT"
    SCHEDULING_TIMED_OUT = "SCHEDULING_TIMED_OUT"
    ASSIGNED = "ASSIGNED"
    STARTED = "STARTED"
    FINISHED = "FINISHED"
    FAILED = "FAILED"
    RETRYING = "RETRYING"
    CANCELLED = "CANCELLED"
    TIMED_OUT = "TIMED_OUT"
    REASSIGNED = "REASSIGNED"
    SLOT_RELEASED = "SLOT_RELEASED"
    TIMEOUT_REFRESHED = "TIMEOUT_REFRESHED"
    RETRIED_BY_USER = "RETRIED_BY_USER"
    SENT_TO_WORKER = "SENT_TO_WORKER"
    RATE_LIMIT_ERROR = "RATE_LIMIT_ERROR"
    ACKNOWLEDGED = "ACKNOWLEDGED"
    CREATED = "CREATED"
    QUEUED = "QUEUED"
    SKIPPED = "SKIPPED"

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