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

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

Instance Attribute Summary

Attributes inherited from Ecloud::Model

#loaded

Attributes inherited from Model

#collection, #service

Instance Method Summary collapse

Methods inherited from Ecloud::Model

#load_unless_loaded!, #reload

Methods inherited from Model

#initialize, #inspect, #reload, #symbolize_keys, #to_json, #wait_for

Methods included from Attributes::ClassMethods

#_load, #aliases, #attribute, #attributes, #identity, #ignore_attributes, #ignored_attributes

Methods included from Fog::Core::DeprecatedConnectionAccessors

#connection, #connection=, #prepare_service_value

Methods included from Attributes::InstanceMethods

#_dump, #attributes, #dup, #identity, #identity=, #merge_attributes, #new_record?, #persisted?, #requires, #requires_one

Constructor Details

This class inherits a constructor from Fog::Model

Instance Method Details

#deleteObject Also known as: destroy



24
25
26
27
# File 'lib/fog/ecloud/models/compute/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/ecloud/models/compute/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/ecloud/models/compute/node.rb', line 37

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

#ready?Boolean

Returns:

  • (Boolean)


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

def ready?
  !self.name.nil?
end

#tasksObject



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

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