Class: RightScaleAPI::Server

Inherits:
Account::SubResource show all
Defined in:
lib/right-scale-api/server.rb

Instance Attribute Summary

Attributes inherited from Account::SubResource

#account

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Account::SubResource

#collection_uri

Methods inherited from Base

api_name, attributes, create, #delete, #destroy, get, #get, #head, #initialize, #post, #put, #reload!, #send_request, #update, #uri

Constructor Details

This class inherits a constructor from RightScaleAPI::Base

Class Method Details

.opts_to_query_opts(opts) ⇒ Object



80
81
82
83
84
85
86
# File 'lib/right-scale-api/server.rb', line 80

def self.opts_to_query_opts opts
  assoc_ip = opts.delete :associate_eip_at_launch
  if !assoc_ip.nil?
    opts[:associate_eip_at_launch] = assoc_ip ? 1 : 0
  end
  super opts
end

Instance Method Details

#attach_blank_volume(opts) ⇒ Object

creates a blank volume and attaches it to the server

Parameters:

  • opts (Hash)

    Account#create_ec2_ebs_volume’s opts +

  • [String] (Hash)

    a customizable set of options



73
74
75
76
77
78
# File 'lib/right-scale-api/server.rb', line 73

def attach_blank_volume opts
  device = opts.delete :device
  opts = {:ec2_availability_zone => 'us-east-1a'}.merge opts #default to the server's avail zone
  volume = .create_ec2_ebs_volume opts
  attach_volume volume, device
end

#attach_volume(volume, device) ⇒ Object

Attach a volume to the server

Parameters:



57
58
59
60
61
62
63
64
65
66
67
68
# File 'lib/right-scale-api/server.rb', line 57

def attach_volume volume, device
  if running?
    post '/attach_volume', :query => {
      :server => {
        :ec2_ebs_volume_href => volume.uri,
        :device => device
      }
    }
  else
    volume.attach_to_server self, device, 'boot'
  end
end

#operational?Boolean Also known as: running?

Is the server operational

Returns:

  • (Boolean)


48
49
50
# File 'lib/right-scale-api/server.rb', line 48

def operational?
  state == 'operational'
end

#rebootObject

Reboots the server



36
37
38
# File 'lib/right-scale-api/server.rb', line 36

def reboot
  post '/reboot'
end

#settingsObject



43
44
45
# File 'lib/right-scale-api/server.rb', line 43

def settings
  get('/settings')['settings']
end

#startObject

Starts the server



26
27
28
# File 'lib/right-scale-api/server.rb', line 26

def start
  post '/start'
end

#stopObject

Stops the server



31
32
33
# File 'lib/right-scale-api/server.rb', line 31

def stop
  post '/stop'
end