Sha256: 15f2ff8fc2a1f5bb2aaec2a27d1bc60bbce3964c4a7e29f1787d616200a20628

Contents?: true

Size: 770 Bytes

Versions: 1

Compression:

Stored size: 770 Bytes

Contents

require 'rackspace-fog/core/collection'
require 'rackspace-fog/bluebox/models/compute/server'

module Fog
  module Compute
    class Bluebox

      class Servers < Fog::Collection

        model Fog::Compute::Bluebox::Server

        def all
          data = connection.get_blocks.body
          load(data)
        end

        def bootstrap(new_attributes = {})
          server = create(new_attributes)
          server.wait_for { ready? }
          server.setup(:key_data => [server.private_key])
          server
        end

        def get(server_id)
          if server_id && server = connection.get_block(server_id).body
            new(server)
          end
        rescue Fog::Compute::Bluebox::NotFound
          nil
        end

      end

    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
rackspace-fog-1.4.2 lib/rackspace-fog/bluebox/models/compute/servers.rb