# coding: utf-8

"""
    Daytona

    Daytona AI platform API Docs

    The version of the OpenAPI document: 1.0
    Contact: support@daytona.com
    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 JobType(str, Enum):
    """
    The type of the job
    """

    """
    allowed enum values
    """
    CREATE_SANDBOX = 'CREATE_SANDBOX'
    START_SANDBOX = 'START_SANDBOX'
    STOP_SANDBOX = 'STOP_SANDBOX'
    DESTROY_SANDBOX = 'DESTROY_SANDBOX'
    RESIZE_SANDBOX = 'RESIZE_SANDBOX'
    CREATE_BACKUP = 'CREATE_BACKUP'
    BUILD_SNAPSHOT = 'BUILD_SNAPSHOT'
    PULL_SNAPSHOT = 'PULL_SNAPSHOT'
    RECOVER_SANDBOX = 'RECOVER_SANDBOX'
    INSPECT_SNAPSHOT_IN_REGISTRY = 'INSPECT_SNAPSHOT_IN_REGISTRY'
    REMOVE_SNAPSHOT = 'REMOVE_SNAPSHOT'
    UPDATE_SANDBOX_NETWORK_SETTINGS = 'UPDATE_SANDBOX_NETWORK_SETTINGS'
    SNAPSHOT_SANDBOX = 'SNAPSHOT_SANDBOX'
    FORK_SANDBOX = 'FORK_SANDBOX'
    UNKNOWN_DEFAULT_OPEN_API = 'unknown_default_open_api'

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


    @classmethod
    def _missing_(cls, value):
        return cls.UNKNOWN_DEFAULT_OPEN_API

