Sha256: 3c78b4809534d6bb666cd07eb89bd098b1661a9002b7ae3bd42c65b6a786f2d5
Contents?: true
Size: 1.96 KB
Versions: 2
Compression:
Stored size: 1.96 KB
Contents
module Fog module VcloudDirector class Compute class Real # Retrieve a catalog. # # @param [String] id Object identifier of the catalog. # @return [Excon::Response] # * hash<~Hash>: # # @raise [Fog::VcloudDirector::Compute::Forbidden] # # @see http://pubs.vmware.com/vcd-51/topic/com.vmware.vcloud.api.reference.doc_51/doc/operations/GET-Catalog.html # @since vCloud API version 0.9 def get_catalog(id) response = request( :expects => 200, :idempotent => true, :method => 'GET', :parser => Fog::ToHashDocument.new, :path => "catalog/#{id}" ) ensure_list! response.body, :CatalogItems, :CatalogItem response end end class Mock def get_catalog(id) unless catalog = data[:catalogs][id] raise Fog::VcloudDirector::Compute::Forbidden.new( "No access to entity \"(com.vmware.vcloud.entity.catalog:#{id})\"." ) end items = data[:catalog_items].select {|_,v| v[:catalog] == id} body = { :href => make_href("catalog/#{id}"), :type => 'application/vnd.vmware.vcloud.catalog+xml', :id => id, :name => catalog[:name], :CatalogItems => { :CatalogItem => items.map do |uuid,item| { :href => make_href("catalogItem/#{uuid}"), :id => uuid, :name => item[:name], :type => 'application/vnd.vmware.vcloud.catalogItem+xml' } end }, } Excon::Response.new( :status => 200, :headers => {'Content-Type' => "#{body[:type]};version=#{api_version}"}, :body => body ) end end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
fog-vcloud-director-0.3.1 | lib/fog/vcloud_director/requests/compute/get_catalog.rb |
fog-vcloud-director-0.3.0 | lib/fog/vcloud_director/requests/compute/get_catalog.rb |