Sha256: 89dc08ff3400331691f155d8abaaea9f39e14585e4097e56abbc662be1a44362
Contents?: true
Size: 1.26 KB
Versions: 5
Compression:
Stored size: 1.26 KB
Contents
require 'fog/core/collection' require 'fog/vcloud_director/models/compute/vapp' module Fog module Compute class VcloudDirector class Vapps < Collection include Fog::VcloudDirector::Query model Fog::Compute::VcloudDirector::Vapp attribute :vdc def query_type "vApp" end def get_single_vapp(vapp_id) item = service.get_vapp(vapp_id).body return nil unless item %w(:Link).each {|key_to_delete| item.delete(key_to_delete) } service.add_id_from_href!(item) new(item) end private def get_by_id(item_id) item = service.get_vapp(item_id).body %w(:Link).each {|key_to_delete| item.delete(key_to_delete) } service.add_id_from_href!(item) item[:Description] ||= "" item end def item_list data = service.get_vdc(vdc.id).body return [] if data[:ResourceEntities].empty? resource_entities = data[:ResourceEntities][:ResourceEntity] items = resource_entities.select { |link| link[:type] == "application/vnd.vmware.vcloud.vApp+xml" } items.each{|item| service.add_id_from_href!(item) } items end end end end end
Version data entries
5 entries across 5 versions & 1 rubygems