# coding: utf-8

"""
    InductivaWebAPI

    No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)

    The version of the OpenAPI document: 0.1.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 TaskStatusCode(str, Enum):
    """
    Possible task status codes.
    """
    """
    allowed enum values
    """
    PENDINGINPUT = 'pending-input'
    SUBMITTED = 'submitted'
    STARTED = 'started'
    SUCCESS = 'success'
    FAILED = 'failed'
    PENDINGKILL = 'pending-kill'
    KILLED = 'killed'
    SPOTINSTANCEPREEMPTED = 'spot-instance-preempted'
    EXECUTERTERMINATED = 'executer-terminated'
    EXECUTERTERMINATEDBYUSER = 'executer-terminated-by-user'
    EXECUTERTERMINATEDTTLEXCEEDED = 'executer-terminated-ttl-exceeded'
    EXECUTERTERMINATEDCREDITSEXHAUSTED = 'executer-terminated-credits-exhausted'
    EXECUTERFAILED = 'executer-failed'
    ZOMBIE = 'zombie'
    COMPUTATIONSTARTED = 'computation-started'
    COMPUTATIONENDED = 'computation-ended'
    TTLEXCEEDED = 'ttl-exceeded'

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