=begin
#Hatchet API

#The Hatchet API

The version of the OpenAPI document: 1.0.0

Generated by: https://openapi-generator.tech
Generator version: 7.14.0

=end

require 'date'
require 'time'

module HatchetSdkRest
  class V1TaskEventType
    REQUEUED_NO_WORKER = "REQUEUED_NO_WORKER".freeze
    REQUEUED_RATE_LIMIT = "REQUEUED_RATE_LIMIT".freeze
    SCHEDULING_TIMED_OUT = "SCHEDULING_TIMED_OUT".freeze
    ASSIGNED = "ASSIGNED".freeze
    STARTED = "STARTED".freeze
    FINISHED = "FINISHED".freeze
    FAILED = "FAILED".freeze
    RETRYING = "RETRYING".freeze
    CANCELLED = "CANCELLED".freeze
    TIMED_OUT = "TIMED_OUT".freeze
    REASSIGNED = "REASSIGNED".freeze
    SLOT_RELEASED = "SLOT_RELEASED".freeze
    TIMEOUT_REFRESHED = "TIMEOUT_REFRESHED".freeze
    RETRIED_BY_USER = "RETRIED_BY_USER".freeze
    SENT_TO_WORKER = "SENT_TO_WORKER".freeze
    RATE_LIMIT_ERROR = "RATE_LIMIT_ERROR".freeze
    ACKNOWLEDGED = "ACKNOWLEDGED".freeze
    CREATED = "CREATED".freeze
    QUEUED = "QUEUED".freeze
    SKIPPED = "SKIPPED".freeze
    COULD_NOT_SEND_TO_WORKER = "COULD_NOT_SEND_TO_WORKER".freeze

    def self.all_vars
      @all_vars ||= [REQUEUED_NO_WORKER, REQUEUED_RATE_LIMIT, SCHEDULING_TIMED_OUT, ASSIGNED, STARTED, FINISHED, FAILED, RETRYING, CANCELLED, TIMED_OUT, REASSIGNED, SLOT_RELEASED, TIMEOUT_REFRESHED, RETRIED_BY_USER, SENT_TO_WORKER, RATE_LIMIT_ERROR, ACKNOWLEDGED, CREATED, QUEUED, SKIPPED, COULD_NOT_SEND_TO_WORKER].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 V1TaskEventType.all_vars.include?(value)
      raise "Invalid ENUM value #{value} for class #V1TaskEventType"
    end
  end
end
