=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 SandboxState
    CREATING = "creating".freeze
    RESTORING = "restoring".freeze
    DESTROYED = "destroyed".freeze
    DESTROYING = "destroying".freeze
    STARTED = "started".freeze
    STOPPED = "stopped".freeze
    STARTING = "starting".freeze
    STOPPING = "stopping".freeze
    ERROR = "error".freeze
    BUILD_FAILED = "build_failed".freeze
    PENDING_BUILD = "pending_build".freeze
    BUILDING_SNAPSHOT = "building_snapshot".freeze
    UNKNOWN = "unknown".freeze
    PULLING_SNAPSHOT = "pulling_snapshot".freeze
    ARCHIVED = "archived".freeze
    ARCHIVING = "archiving".freeze
    RESIZING = "resizing".freeze
    SNAPSHOTTING = "snapshotting".freeze
    FORKING = "forking".freeze
    UNKNOWN_DEFAULT_OPEN_API = "unknown_default_open_api".freeze

    def self.all_vars
      @all_vars ||= [CREATING, RESTORING, DESTROYED, DESTROYING, STARTED, STOPPED, STARTING, STOPPING, ERROR, BUILD_FAILED, PENDING_BUILD, BUILDING_SNAPSHOT, UNKNOWN, PULLING_SNAPSHOT, ARCHIVED, ARCHIVING, RESIZING, SNAPSHOTTING, FORKING, 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 SandboxState.all_vars.include?(value)
      UNKNOWN_DEFAULT_OPEN_API
    end
  end
end
