Sha256: 0965b44aecc201ddd0d2dc3b4a7bdd3f7d458ae3d7ec4a280d45a80a28ab2925

Contents?: true

Size: 1.37 KB

Versions: 1

Compression:

Stored size: 1.37 KB

Contents

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

require 'fog/core/collection'
require 'fog/arubacloud/models/compute/server'


module Fog
  module Compute
    class ArubaCloud
      class Servers < Fog::Collection
        model Fog::Compute::ArubaCloud::Server

        # Returns list of servers
        # @return [Fog::Compute::ArubaCloud::Servers] Retrieves a list servers.
        # @raise [Fog::Compute::ArubaCloud::NotFound]
        # @note The filter parameter on the method is just to maintain compatibility with other providers that support
        #       filtering.
        def all(filters = [])
          data = service.get_servers
          objects = data['Value']
          load(objects)
        end

        # Retrieves server
        # @param [String] server_id for server to be returned.
        # @return [Fog::Compute::ArubaCloud::Server]
        def get(server_id)
          data = service.get_server_details(server_id)
          objects = data['Value']
          msg = "Fog::Compute::ArubaCloud::Servers.get 'objects' must be an hash, actually is: #{objects.class} #{objects.to_yaml}"
          Fog::Logger.debug(msg)
          raise Fog::ArubaCloud::Errors::BadObjectType.new("#{msg}") unless objects.instance_of? Hash
          new(objects)
        end
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
fog-arubacloud-0.0.3 lib/fog/arubacloud/models/compute/servers.rb