Class: Fog::Compute::Ecloud::Node

Inherits:
Ecloud::Model show all
Defined in:
lib/fog/compute/ecloud/models/node.rb

Instance Attribute Summary

Attributes inherited from Ecloud::Model

#loaded

Instance Method Summary collapse

Methods inherited from Ecloud::Model

#load_unless_loaded!

Instance Method Details

#deleteObject Also known as: destroy



24
25
26
27
# File 'lib/fog/compute/ecloud/models/node.rb', line 24

def delete
  data = service.node_service_delete(href).body
  self.service.tasks.new(data)
end

#edit(options) ⇒ Object



29
30
31
32
33
34
35
# File 'lib/fog/compute/ecloud/models/node.rb', line 29

def edit(options)
  options[:uri] = href
  options[:description] ||= ""
  options = {:name => name}.merge(options)
  data = service.node_service_edit(options).body
  task = Fog::Compute::Ecloud::Tasks.new(:service => service, :href => data[:href])[0]
end

#idObject



37
38
39
# File 'lib/fog/compute/ecloud/models/node.rb', line 37

def id
  href.scan(/\d+/)[0]
end

#ready?Boolean

Returns:

  • (Boolean)


16
17
18
# File 'lib/fog/compute/ecloud/models/node.rb', line 16

def ready?
  !self.name.nil?
end

#reloadObject



43
44
45
46
# File 'lib/fog/compute/ecloud/models/node.rb', line 43

def reload
  @tasks = nil
  super
end

#tasksObject



20
21
22
# File 'lib/fog/compute/ecloud/models/node.rb', line 20

def tasks
  @tasks ||= Fog::Compute::Ecloud::Tasks.new(:service => service, :href => "#{service.base_path}/tasks/virtualMachines/#{id}")
end