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/vcloud_director/models/compute/vdcs.rb

38 lines
916 B
Ruby
Raw Normal View History

2013-06-18 14:50:37 -04:00
require 'fog/core/collection'
2013-08-27 05:19:54 -04:00
require 'fog/vcloud_director/models/compute/vdc'
2013-06-18 14:50:37 -04:00
module Fog
module Compute
2013-08-27 05:19:54 -04:00
class VcloudDirector
2013-07-09 09:09:08 -04:00
class Vdcs < Collection
include Fog::VcloudDirector::Query
2013-08-27 05:19:54 -04:00
model Fog::Compute::VcloudDirector::Vdc
2013-09-16 13:13:09 -04:00
2013-06-18 14:50:37 -04:00
attribute :organization
def query_type
"orgVdc"
end
2013-06-24 07:46:30 -04:00
private
2013-09-16 13:13:09 -04:00
2013-07-09 09:09:08 -04:00
def get_by_id(item_id)
item = service.get_vdc(item_id).body
%w(:VdcItems :Link :ResourceEntities).each {|key_to_delete| item.delete(key_to_delete) }
service.add_id_from_href!(item)
item
end
2013-09-16 13:13:09 -04:00
2013-07-09 09:09:08 -04:00
def item_list
data = service.get_organization(organization.id).body
items = data[:Link].select { |link| link[:type] == "application/vnd.vmware.vcloud.vdc+xml" }
items.each{|item| service.add_id_from_href!(item) }
items
2013-06-24 07:46:30 -04:00
end
2013-06-18 14:50:37 -04:00
end
end
end
2013-09-16 13:13:09 -04:00
end