# coding: utf-8

"""
Code generated by OpenAPI Generator (https://openapi-generator.tech), manual changes will be lost - read more on https://github.com/algolia/api-clients-automation. DO NOT EDIT.
"""

from __future__ import annotations

from enum import Enum
from json import loads
from sys import version_info

if version_info >= (3, 11):
    from typing import Self
else:
    from typing_extensions import Self


class RunReasonCode(str, Enum):
    """
    A code for the task run's outcome. A readable description of the code is included in the `reason` response property.
    """

    """
    allowed enum values
    """
    INTERNAL = "internal"

    CANCELLED = "cancelled"

    CRITICAL = "critical"

    NO_EVENTS = "no_events"

    TOO_MANY_ERRORS = "too_many_errors"

    LACKING_EVENTS = "lacking_events"

    OK = "ok"

    BLOCKING = "blocking"

    IDLE = "idle"

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