=begin
#CLOUD API

#An enterprise-grade Infrastructure is provided as a Service (IaaS) solution that can be managed through a browser-based \"Data Center Designer\" (DCD) tool or via an easy to use API.   The API allows you to perform a variety of management tasks such as spinning up additional servers, adding volumes, adjusting networking, and so forth. It is designed to allow users to leverage the same power and flexibility found within the DCD visual tool. Both tools are consistent with their concepts and lend well to making the experience smooth and intuitive.

The version of the OpenAPI document: 5.0

Generated by: https://openapi-generator.tech
OpenAPI Generator version: 5.0.1-SNAPSHOT

=end

require 'date'
require 'time'

module Ionoscloud
  class Type
    DATACENTER = "datacenter".freeze
    SERVER = "server".freeze
    VOLUME = "volume".freeze
    NIC = "nic".freeze
    LOADBALANCER = "loadbalancer".freeze
    LOCATION = "location".freeze
    FIREWALL_RULE = "firewall-rule".freeze
    IMAGE = "image".freeze
    SNAPSHOT = "snapshot".freeze
    LAN = "lan".freeze
    IPBLOCK = "ipblock".freeze
    PCC = "pcc".freeze
    CONTRACT = "contract".freeze
    USER = "user".freeze
    GROUP = "group".freeze
    COLLECTION = "collection".freeze
    RESOURCE = "resource".freeze
    REQUEST = "request".freeze
    REQUEST_STATUS = "request-status".freeze
    S3KEY = "s3key".freeze
    BACKUPUNIT = "backupunit".freeze
    LABEL = "label".freeze
    K8S = "k8s".freeze
    NODEPOOL = "nodepool".freeze

    # 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)
      constantValues = Type.constants.select { |c| Type::const_get(c) == value }
      raise "Invalid ENUM value #{value} for class #Type" if constantValues.empty?
      value
    end
  end
end