Sha256: 78399c35bac8f9fd7e09c482af08d12c147db92e73eae31c69673affaf75f82d

Contents?: true

Size: 1.6 KB

Versions: 9

Compression:

Stored size: 1.6 KB

Contents

module Solusvm
  class Server < Base
    def create(hostname, password, options = {})
      options.reverse_merge!(
        :type         => 'xen',
        :username     => nil,
        :ips          => 1,
        :node         => nil,
        :plan         => nil,
        :template     => nil,
        :password     => password,
        :hostname     => hostname
      ).merge!(:action => 'vserver-create')
      perform_request(options)
      returned_parameters
    end

    def boot(vid)
      perform_request(:action => 'vserver-boot', :vserverid => vid)
    end

    def reboot(vid)
      perform_request(:action => 'vserver-reboot', :vserverid => vid)
    end

    def suspend(vid)
      perform_request(:action => 'vserver-suspend', :vserverid => vid)
    end

    def resume(vid)
      perform_request(:action => 'vserver-unsuspend', :vserverid => vid)
    end

    def shutdown(vid)
      perform_request(:action => 'vserver-shutdown', :vserverid => vid)
    end

    def terminate(vid, deleteclient = false)
      perform_request(:action => 'vserver-terminate', :vserverid => vid, :deleteclient => deleteclient)
    end

    def exists?(vid)
      perform_request(:action => 'vserver-checkexists', :vserverid => vid)
      !statusmsg.match(/Virtual server exists/i).nil?
    end

    def status(vid)
      perform_request(:action => 'vserver-status', :vserverid => vid)
      statusmsg
    end

    def add_ip(vid)
      perform_request(:action => 'vserver-addip', :vserverid => vid)
    end

    def change_plan(vid, plan)
      perform_request(:action => 'vserver-change', :vserverid => vid, :plan => plan)
    end
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
solusvm-0.7.0 lib/solusvm/server.rb
solusvm-0.6.1 lib/solusvm/server.rb
solusvm-0.6.0 lib/solusvm/server.rb
solusvm-0.5.1 lib/solusvm/server.rb
solusvm-0.4.3 lib/solusvm/server.rb
solusvm-0.4.2 lib/solusvm/server.rb
solusvm-0.4.1 lib/solusvm/server.rb
solusvm-0.4.0 lib/solusvm/server.rb
solusvm-0.3.3 lib/solusvm/server.rb