Sha256: 5ef7de0be6e9dffb0db05078820dca7d245e76787b15af4bb8785941cf2eb250

Contents?: true

Size: 927 Bytes

Versions: 1

Compression:

Stored size: 927 Bytes

Contents

require File.expand_path('../server', __FILE__)
require File.expand_path('../../helpers/compute/data_helper', __dir__)

module Fog
  module Compute
    class ProfitBricks
      class Servers < Fog::Collection
        include Fog::Helpers::ProfitBricks::DataHelper
        model Fog::Compute::ProfitBricks::Server

        def all(datacenter_id)
          result = service.get_all_servers(datacenter_id)

          servers = result.body['items'].each {|server| server['datacenter_id'] = datacenter_id}
          result.body['items'] = servers

          load(result.body['items'].each {|dc| flatten(dc)})
        end

        def get(datacenter_id, server_id)
          server = service.get_server(datacenter_id, server_id).body
          server['datacenter_id'] = datacenter_id

          Excon::Errors
          new(flatten(server))
        rescue Excon::Errors::NotFound
          nil
        end
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
fog-profitbricks-2.0.1 lib/fog/profitbricks/models/compute/servers.rb