Sha256: 34b35f65b88e7e31640b8a7556886490ae4efa1d16a6a1fd8b07105b7f5b94b3

Contents?: true

Size: 1.76 KB

Versions: 16

Compression:

Stored size: 1.76 KB

Contents

require 'fog/compute/models/server'

module Fog
  module Compute
    class Glesys

      class Server < Fog::Compute::Server
        extend Fog::Deprecation

        identity :serverid

        attribute :hostname
        attribute :datacenter
        attribute :cpucores
        attribute :memorysize
        attribute :disksize
        attribute :transfer
        attribute :template
        attribute :managedhosting
        attribute :platform
        attribute :cost
        attribute :rootpw
        attribute :keepip
        attribute :state
        attribute :iplist
        attribute :ipversion
        attribute :ip

        def ready?
          state == 'running'
        end

        def start
          requires :identity
          connection.start(:serverid => identity) 
        end

        def stop
          requires :identity
          connection.stop(:serverid => identity)
        end

        def destroy
          requires :identity
          connection.destroy(:serverid => identity, :keepip => keepip)
        end

        def save
          raise "Operation not supported" if self.identity
          requires :hostname, :rootpw

          options = {
            :datacenter => datacenter || "Falkenberg",
            :platform   => platform || "Xen",
            :hostname   => hostname,
            :template   => template || "Debian-6 x64",
            :disksize   => disksize || "10",
            :memorysize => memorysize || "512",
            :cpucores   => cpucores || "1",
            :rootpw     => rootpw,
            :transfer   => transfer || "500",
          } 
          data = connection.create(options)
          merge_attributes(data.body['response']['server'])
          data.status == 200 ? true : false
        end
        
      end
    end
  end
end

Version data entries

16 entries across 16 versions & 4 rubygems

Version Path
brightbox-cli-0.17.4 lib/brightbox-cli/vendor/fog/lib/fog/glesys/models/compute/server.rb
brightbox-cli-0.17.3 lib/brightbox-cli/vendor/fog/lib/fog/glesys/models/compute/server.rb
brightbox-cli-0.17.2 lib/brightbox-cli/vendor/fog/lib/fog/glesys/models/compute/server.rb
brightbox-cli-0.17.1 lib/brightbox-cli/vendor/fog/lib/fog/glesys/models/compute/server.rb
brightbox-cli-0.17.0 lib/brightbox-cli/vendor/fog/lib/fog/glesys/models/compute/server.rb
fog-1.1.2 lib/fog/glesys/models/compute/server.rb
fog_tractical-1.1.4 lib/fog/glesys/models/compute/server.rb
fog_tractical-1.1.3 lib/fog/glesys/models/compute/server.rb
brightbox-cli-0.16.0 lib/brightbox-cli/vendor/fog/lib/fog/glesys/models/compute/server.rb
fog-1.1.1 lib/fog/glesys/models/compute/server.rb
fog-1.1.0 lib/fog/glesys/models/compute/server.rb
brightbox-cli-0.15.0 lib/brightbox-cli/vendor/fog/lib/fog/glesys/models/compute/server.rb
tag-fog-1.0.1 lib/fog/glesys/models/compute/server.rb
brightbox-cli-0.14.1 lib/brightbox-cli/vendor/fog/lib/fog/glesys/models/compute/server.rb
brightbox-cli-0.14.0 lib/brightbox-cli/vendor/fog/lib/fog/glesys/models/compute/server.rb
fog-1.0.0 lib/fog/glesys/models/compute/server.rb