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

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

Instance Attribute Summary

Attributes inherited from Ecloud::Model

#loaded

Attributes inherited from Model

#collection, #connection

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 Attributes::InstanceMethods

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

Constructor Details

This class inherits a constructor from Fog::Model

Instance Method Details

#deleteObject



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

def delete
  data = connection.node_service_delete(href).body
  task = Fog::Compute::Ecloud::Tasks.new(:connection => connection, :href => data[:href])[0]
end

#edit(options) ⇒ Object



25
26
27
28
29
30
31
# File 'lib/rackspace-fog/ecloud/models/compute/node.rb', line 25

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

#idObject



33
34
35
# File 'lib/rackspace-fog/ecloud/models/compute/node.rb', line 33

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

#tasksObject



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

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