diff --git a/lib/fog/opennebula/compute.rb b/lib/fog/opennebula/compute.rb index f515c29b3..77a5a7456 100644 --- a/lib/fog/opennebula/compute.rb +++ b/lib/fog/opennebula/compute.rb @@ -30,6 +30,7 @@ module Fog request :template_pool request :vm_disk_snapshot request :vm_shutdown + request :image_pool class Mock include Collections diff --git a/lib/fog/opennebula/requests/compute/image_pool.rb b/lib/fog/opennebula/requests/compute/image_pool.rb new file mode 100644 index 000000000..cbc29adb5 --- /dev/null +++ b/lib/fog/opennebula/requests/compute/image_pool.rb @@ -0,0 +1,32 @@ +module Fog + module Compute + class OpenNebula + class Real + def image_pool(filter = { }) + + images = ::OpenNebula::ImagePool.new(client) + if filter[:mine].nil? + images.info! + else + images.info_mine! + end # if filter[:mine].nil? + + if not filter[:id].nil? + images.each do |i| + if filter[:id] == i.id + return [ i ] # return an array with only one element - found image + end + end + end + images.delete nil + images + end #def image_pool + end #class Real + + class Mock + def image_pool(filter = { }) + end + end #class Mock + end #class OpenNebula + end #module Compute +end #module Fog