1
0
Fork 0
mirror of https://github.com/fog/fog.git synced 2022-11-09 13:51:43 -05:00
fog--fog/lib/fog/ecloud/models/compute/node.rb

40 lines
1.3 KiB
Ruby
Raw Normal View History

module Fog
module Compute
class Ecloud
class Node < Fog::Ecloud::Model
2012-06-07 12:50:11 -04:00
identity :href
2012-06-07 12:50:11 -04:00
attribute :name, :aliases => :Name
attribute :type, :aliases => :Type
attribute :other_links, :aliases => :Links
attribute :ip_address, :aliases => :IpAddress
2012-06-07 12:50:11 -04:00
attribute :protocol, :aliases => :Protocol
attribute :port, :aliases => :Port, :type => :integer
attribute :enabled, :aliases => :Enabled, :type => :boolean
attribute :description, :aliases => :Description
2012-06-07 12:50:11 -04:00
def tasks
@tasks ||= Fog::Compute::Ecloud::Tasks.new(:connection => connection, :href => "/cloudapi/ecloud/tasks/virtualMachines/#{id}")
end
2012-06-07 12:50:11 -04:00
def delete
data = connection.node_service_delete(href).body
task = Fog::Compute::Ecloud::Tasks.new(:connection => connection, :href => data[:href])[0]
end
2012-06-07 12:50:11 -04:00
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
def id
href.scan(/\d+/)[0]
end
end
end
end
end