Sha256: 2cdc5ac1bd62d66d972788a166025bb2878ad078a5027329a1bd06b13c1e69cb

Contents?: true

Size: 1.38 KB

Versions: 1

Compression:

Stored size: 1.38 KB

Contents

#
# Author:: Alessio Rocchi (<alessio.rocchi@staff.aruba.it>)
# © Copyright ArubaCloud.
#
# LICENSE: MIT (http://opensource.org/licenses/MIT)
#

require 'fog/arubacloud/service'
require 'fog/arubacloud/error'
require 'benchmark'

module Fog
  module Compute
    class ArubaCloud

      class Real
        # Return the server details
        # @return [Excon::Response]
        def get_server_details(server_id)
          body = self.body('GetServerDetails').merge({:ServerId => server_id})
          options = {
              :http_method => :post,
              :method => 'GetServerDetails',
              :body => Fog::JSON.encode(body)
          }
          response = nil
          time = Benchmark.realtime {
            response = request(options)
          }
          Fog::Logger.debug("GetServerDetails time: #{time}")
          if response['Success']
            response
          else
            raise Fog::ArubaCloud::Errors::RequestError.new(
                "Error during GetServerDetails request. Error message: \n#{response}"
            )
          end
        end # get_server_details
      end # Real

      class Mock
        def get_server_details(server_id)
          raise Fog::Errors::MockNotImplemented.new(
              'Mock not implemented. Feel free to contribute.'
          )
        end # get_server_details
      end # Mock

    end # ArubaCloud
  end # Compute
end # Fog

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
fog-arubacloud-0.0.3 lib/fog/arubacloud/requests/compute/get_server_details.rb