Class: Cloudpassage::Server

Inherits:
Single show all
Defined in:
lib/cloudpassage/servers.rb

Instance Attribute Summary

Attributes inherited from Single

#id

Instance Method Summary collapse

Methods inherited from Single

#destroy, #get

Methods inherited from Base

#[], #data, #exists?, #headers, #method_missing, #object_symbol, #post, #put, #reload, #wait_for

Constructor Details

#initialize(token, base_resource, id, data = nil) ⇒ Server

Returns a new instance of Server.



17
18
19
20
# File 'lib/cloudpassage/servers.rb', line 17

def initialize(token, base_resource, id, data=nil)
  @id = id
  super(token, RestClient::Resource.new("#{BASE_URL}/servers/"), @id, data)
end

Dynamic Method Handling

This class handles dynamic methods through the method_missing method in the class Cloudpassage::Base

Instance Method Details

#accountsObject



26
27
28
# File 'lib/cloudpassage/servers.rb', line 26

def accounts
  Accounts.new(self, @token, @base_resource['accounts'])
end

#command(id) ⇒ Object



46
47
48
# File 'lib/cloudpassage/servers.rb', line 46

def command(id)
  commands.get(id)
end

#commandsObject



42
43
44
# File 'lib/cloudpassage/servers.rb', line 42

def commands
  Commands.new(@token, @base_resource['commands'])
end

#group=(group_id) ⇒ Object



36
37
38
39
40
# File 'lib/cloudpassage/servers.rb', line 36

def group=(group_id)
  # add server to group
  payload = {"server"=>{"group_id"=>group_id}}
  @base_resource.put(payload.to_json, headers.merge(:content_type => :json))
end

#issuesObject



22
23
24
# File 'lib/cloudpassage/servers.rb', line 22

def issues
  Issues.new(@token, @base_resource['issues'])
end

#retireObject



30
31
32
33
34
# File 'lib/cloudpassage/servers.rb', line 30

def retire
  # retire a 'inactive' server
  payload = {"server"=>{"retire"=>true}}
  @base_resource.put(payload.to_json, headers.merge(:content_type => :json))
end