Class: Nifty::Backends::Utils::Opennebula::Helper

Inherits:
Object
  • Object
show all
Defined in:
lib/nifty/backends/utils/opennebula/helper.rb

Overview

Helper class for OpenNebula backend

Author:

  • Michal Kimle

Class Method Summary collapse

Class Method Details

.client(secret, endpoint) ⇒ OpenNebula::Client

Creates client for communication with OpenNebula

Parameters:

  • secret (String)

    OpenNebula’s authentication secret

  • endpoint (String)

    OpenNebula’s endpoint

Returns:

  • (OpenNebula::Client)

    OpenNebula client instance



13
14
15
# File 'lib/nifty/backends/utils/opennebula/helper.rb', line 13

def client(secret, endpoint)
  OpenNebula::Client.new(secret, endpoint)
end

.handle_opennebula_errorObject

Handles OpenNebula error codes and turn them into exceptions



24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
# File 'lib/nifty/backends/utils/opennebula/helper.rb', line 24

def handle_opennebula_error
  fail Nifty::Errors::Backends::Opennebula::StubError, 'OpenNebula service-wrapper was called without a block!' unless block_given?

  return_value = yield
  return return_value unless OpenNebula.is_error?(return_value)

  case return_value.errno
  when OpenNebula::Error::EAUTHENTICATION
    fail Nifty::Errors::Backends::Opennebula::AuthenticationError, return_value.message
  when OpenNebula::Error::EAUTHORIZATION
    fail Nifty::Errors::Backends::Opennebula::UserNotAuthorizedError, return_value.message
  when OpenNebula::Error::ENO_EXISTS
    fail Nifty::Errors::Backends::Opennebula::ResourceNotFoundError, return_value.message
  when OpenNebula::Error::EACTION
    fail Nifty::Errors::Backends::Opennebula::ResourceStateError, return_value.message
  else
    fail Nifty::Errors::Backends::Opennebula::ResourceRetrievalError, return_value.message
  end
end