Sha256: 3ef0fe04b131f7613718b519ecdcbf8f93d0100d30a45a4daf70da89300db530

Contents?: true

Size: 1.12 KB

Versions: 69

Compression:

Stored size: 1.12 KB

Contents

require 'fog/model'

module Fog
  module Slicehost

    class Server < Fog::Model

      identity :id

      attribute :addresses
      attribute :backup_id,     'backup-id'
      attribute :bandwidth_in,  'bw-in'
      attribute :bandwidth_out, 'bw-out'
      attribute :flavor_id,     'flavor-id'
      attribute :image_id,      'image-id'
      attribute :name
      attribute :password,      'root-password'
      attribute :progress
      attribute :status

      def destroy
        requires :id
        connection.delete_slice(@id)
        true
      end

      def flavor
        requires :flavor_id
        connection.flavors.get(@flavor_id)
      end

      def image
        requires :image_id
        connection.images.get(@image_id)
      end

      def ready?
        @status == 'active'
      end

      def reboot(type = 'SOFT')
        requires :id
        connection.reboot_server(@id, type)
        true
      end

      def save
        requires :flavor_id, :image_id, :name
        data = connection.create_slice(@flavor_id, @image_id, @name)
        merge_attributes(data.body)
        true
      end

    end

  end
end

Version data entries

69 entries across 69 versions & 1 rubygems

Version Path
fog-0.0.87 lib/fog/slicehost/models/server.rb
fog-0.0.86 lib/fog/slicehost/models/server.rb
fog-0.0.85 lib/fog/slicehost/models/server.rb
fog-0.0.84 lib/fog/slicehost/models/server.rb
fog-0.0.83 lib/fog/slicehost/models/server.rb
fog-0.0.82 lib/fog/slicehost/models/server.rb
fog-0.0.81 lib/fog/slicehost/models/server.rb
fog-0.0.80 lib/fog/slicehost/models/server.rb
fog-0.0.79 lib/fog/slicehost/models/server.rb
fog-0.0.78 lib/fog/slicehost/models/server.rb
fog-0.0.77 lib/fog/slicehost/models/server.rb
fog-0.0.76 lib/fog/slicehost/models/server.rb
fog-0.0.75 lib/fog/slicehost/models/server.rb
fog-0.0.74 lib/fog/slicehost/models/server.rb
fog-0.0.73 lib/fog/slicehost/models/server.rb
fog-0.0.72 lib/fog/slicehost/models/server.rb
fog-0.0.71 lib/fog/slicehost/models/server.rb
fog-0.0.70 lib/fog/slicehost/models/server.rb
fog-0.0.69 lib/fog/slicehost/models/server.rb
fog-0.0.68 lib/fog/slicehost/models/server.rb