Class: Fog::Rackspace::Servers::Server

Inherits:
Model
  • Object
show all
Defined in:
lib/fog/rackspace/models/servers/server.rb

Instance Attribute Summary

Attributes inherited from Model

#connection

Instance Method Summary collapse

Methods inherited from Model

#_dump, _load, aliases, attribute, attributes, #attributes, #collection, identity, #identity, #initialize, #inspect, #merge_attributes, #new_record?, #reload, #requires, #wait_for

Constructor Details

This class inherits a constructor from Fog::Model

Instance Method Details

#destroyObject



20
21
22
23
24
# File 'lib/fog/rackspace/models/servers/server.rb', line 20

def destroy
  requires :id
  connection.delete_server(@id)
  true
end

#flavorObject



26
27
28
29
# File 'lib/fog/rackspace/models/servers/server.rb', line 26

def flavor
  requires :flavor_id
  connection.flavors.get(@flavor_id)
end

#imageObject



31
32
33
34
# File 'lib/fog/rackspace/models/servers/server.rb', line 31

def image
  requires :image_id
  connection.images.get(@image_id)
end

#imagesObject



36
37
38
39
# File 'lib/fog/rackspace/models/servers/server.rb', line 36

def images
  requires :id
  connection.images(:server => self)
end

#ready?Boolean

Returns:

  • (Boolean)


41
42
43
# File 'lib/fog/rackspace/models/servers/server.rb', line 41

def ready?
  @status == 'ACTIVE'
end

#reboot(type = 'SOFT') ⇒ Object



45
46
47
48
49
# File 'lib/fog/rackspace/models/servers/server.rb', line 45

def reboot(type = 'SOFT')
  requires :id
  connection.reboot_server(@id, type)
  true
end

#saveObject



51
52
53
54
55
56
57
58
# File 'lib/fog/rackspace/models/servers/server.rb', line 51

def save
  requires :flavor_id, :image_id, :name
  options = { 'metadata' => @metadata, 'personality' => @personality }
  options = options.reject {|key, value| value.nil?}
  data = connection.create_server(@flavor_id, @image_id, @name, options)
  merge_attributes(data.body['server'])
  true
end