10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
# File 'lib/oneds/mrproper/one/helper.rb', line 10
def handle_opennebula_error
raise Oneds::Mrproper::Errors::One::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
raise Oneds::Mrproper::Errors::One::AuthenticationError, return_value.message
when OpenNebula::Error::EAUTHORIZATION
raise Oneds::Mrproper::Errors::One::UserNotAuthorizedError, return_value.message
when OpenNebula::Error::ENO_EXISTS
raise Oneds::Mrproper::Errors::One::ResourceNotFoundError, return_value.message
when OpenNebula::Error::EACTION
raise Oneds::Mrproper::Errors::One::ResourceStateError, return_value.message
else
raise Oneds::Mrproper::Errors::One::ResourceRetrievalError, return_value.message
end
end
|