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/row.rb
2013-01-07 21:25:06 +00:00

56 lines
1.4 KiB
Ruby

module Fog
module Compute
class Ecloud
class Row < Fog::Ecloud::Model
identity :href
attribute :name, :aliases => :Name
attribute :type, :aliases => :Type
attribute :other_links, :aliases => :Links
attribute :index, :aliases => :Index
def groups
@groups = self.service.groups(:href => href)
end
def edit(options)
options[:uri] = href
service.rows_edit(options).body
end
def move_up(options)
options[:uri] = href + "/action/moveup"
service.rows_moveup(options).body
end
def move_down(options)
options[:uri] = href + "/action/movedown"
service.rows_movedown(options).body
end
def delete
service.rows_delete(href).body
end
def create_group(options = {})
options[:uri] = "/cloudapi/ecloud/layoutGroups/environments/#{environment_id}/action/createLayoutGroup"
options[:row_name] = name
options[:href] = href
data = service.groups_create(options).body
group = self.service.groups.new(data)
end
def environment_id
reload if other_links.nil?
other_links[:Link][:href].scan(/\d+/)[0]
end
def id
href.scan(/\d+/)[0]
end
alias destroy delete
end
end
end
end