Sha256: c417243e77ce7017b258707d2fd9dd651c4de1103e9319575d8a3ca7464adc63

Contents?: true

Size: 1.62 KB

Versions: 3

Compression:

Stored size: 1.62 KB

Contents

require 'fog/core/model'

module Fog
  module StormOnDemand
    class Compute

      class Server < Fog::Model
        identity :uniq_id

        attribute :accnt
        attribute :backup_enabled
        attribute :backup_plan
        attribute :backup_quota
        attribute :backup_size
        attribute :bandwidth_quota
        attribute :config_description
        attribute :config_id
        attribute :create_date
        attribute :domain
        attribute :ip
        attribute :ip_count
        attribute :manage_level
        attribute :subaccnt
        attribute :template
        attribute :template_description
        attribute :zone
        attribute :active
        
        attr_writer :password, :username

        def initialize(attributes={})
          super
        end

        def create(options)
          data = connection.create_server(options).body['servers']
          load(data)
        end

        def destroy
          requires :identity
          connection.delete_server(:uniq_id => identity)
          true
        end

        def ready?
          active == 1
        end

        def reboot
          requires :identity
          connection.reboot_server(:uniq_id => identity)
          true
        end

        def username
          @username ||= 'root'
        end

        def clone(options)
          requires :identity
          connection.clone_server({:uniq_id => identity}.merge!(options))
          true
        end
        def resize(options)
          requires :identity
          connection.resize_server({:uniq_id => identity}.merge!(options))
          true
        end
      end

    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
fog-0.8.2 lib/fog/compute/models/storm_on_demand/server.rb
fog-0.8.1 lib/fog/compute/models/storm_on_demand/server.rb
fog-0.8.0 lib/fog/compute/models/storm_on_demand/server.rb