Sha256: 9fa7e560ef8feea2f27020f40a66ff320065bd62cbe9c4a730fd7a5f215b5fde

Contents?: true

Size: 1.94 KB

Versions: 13

Compression:

Stored size: 1.94 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 :templatename
        attribute :managedhosting
        attribute :platform
        attribute :cost
        attribute :rootpassword
        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 reboot
          requires :identity
          connection.reboot(: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, :rootpassword

          options = {
            :datacenter     => datacenter   || "Falkenberg",
            :platform       => platform     || "Xen",
            :hostname       => hostname,
            :templatename   => templatename || "Debian-6 x64",
            :disksize       => disksize     || "10",
            :memorysize     => memorysize   || "512",
            :cpucores       => cpucores     || "1",
            :rootpassword   => rootpassword,
            :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

13 entries across 13 versions & 7 rubygems

Version Path
fog-nirvanix-1.8.2 lib/fog/glesys/models/compute/server.rb
fog-nirvanix-1.8.1 lib/fog/glesys/models/compute/server.rb
fog-parser-fix-1.6.1 lib/fog/glesys/models/compute/server.rb
fog-test-again-1.6.0 lib/fog/glesys/models/compute/server.rb
fog-parser-fix-1.6.0 lib/fog/glesys/models/compute/server.rb
ey-vendored-backup-3.0.27 vendor/gems/fog/lib/fog/glesys/models/compute/server.rb
fog-sgonyea-1.8.1 lib/fog/glesys/models/compute/server.rb
fog-1.8.0 lib/fog/glesys/models/compute/server.rb
fog-maestrodev-1.7.0.20121114190951 lib/fog/glesys/models/compute/server.rb
fog-1.7.0 lib/fog/glesys/models/compute/server.rb
fog-1.6.0 lib/fog/glesys/models/compute/server.rb
fog-1.5.0 lib/fog/glesys/models/compute/server.rb
fog-1.4.0 lib/fog/glesys/models/compute/server.rb