=begin
#Daytona

#Daytona AI platform API Docs

The version of the OpenAPI document: 1.0
Contact: support@daytona.com
Generated by: https://openapi-generator.tech
Generator version: 7.21.0

=end

require 'date'
require 'time'

module DaytonaApiClient
  class JobType
    CREATE_SANDBOX = "CREATE_SANDBOX".freeze
    START_SANDBOX = "START_SANDBOX".freeze
    STOP_SANDBOX = "STOP_SANDBOX".freeze
    DESTROY_SANDBOX = "DESTROY_SANDBOX".freeze
    RESIZE_SANDBOX = "RESIZE_SANDBOX".freeze
    CREATE_BACKUP = "CREATE_BACKUP".freeze
    BUILD_SNAPSHOT = "BUILD_SNAPSHOT".freeze
    PULL_SNAPSHOT = "PULL_SNAPSHOT".freeze
    RECOVER_SANDBOX = "RECOVER_SANDBOX".freeze
    INSPECT_SNAPSHOT_IN_REGISTRY = "INSPECT_SNAPSHOT_IN_REGISTRY".freeze
    REMOVE_SNAPSHOT = "REMOVE_SNAPSHOT".freeze
    UPDATE_SANDBOX_NETWORK_SETTINGS = "UPDATE_SANDBOX_NETWORK_SETTINGS".freeze
    SNAPSHOT_SANDBOX = "SNAPSHOT_SANDBOX".freeze
    FORK_SANDBOX = "FORK_SANDBOX".freeze
    UNKNOWN_DEFAULT_OPEN_API = "unknown_default_open_api".freeze

    def self.all_vars
      @all_vars ||= [CREATE_SANDBOX, START_SANDBOX, STOP_SANDBOX, DESTROY_SANDBOX, RESIZE_SANDBOX, CREATE_BACKUP, BUILD_SNAPSHOT, PULL_SNAPSHOT, RECOVER_SANDBOX, INSPECT_SNAPSHOT_IN_REGISTRY, REMOVE_SNAPSHOT, UPDATE_SANDBOX_NETWORK_SETTINGS, SNAPSHOT_SANDBOX, FORK_SANDBOX, UNKNOWN_DEFAULT_OPEN_API].freeze
    end

    # Builds the enum from string
    # @param [String] The enum value in the form of the string
    # @return [String] The enum value
    def self.build_from_hash(value)
      new.build_from_hash(value)
    end

    # Builds the enum from string
    # @param [String] The enum value in the form of the string
    # @return [String] The enum value
    def build_from_hash(value)
      return value if JobType.all_vars.include?(value)
      UNKNOWN_DEFAULT_OPEN_API
    end
  end
end
