Method: Deltacloud::Drivers::Openstack::OpenstackDriver#images

Defined in:
lib/deltacloud/drivers/openstack/openstack_driver.rb

#images(credentials, opts = {}) ⇒ Object



75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
# File 'lib/deltacloud/drivers/openstack/openstack_driver.rb', line 75

def images(credentials, opts={})
  os = new_client(credentials)
  results = []
  profiles = hardware_profiles(credentials)
  safely do
    if(opts[:id])
      begin
        img = os.get_image(opts[:id])
        results << convert_from_image(img, os.connection.authuser)
      rescue => e
        raise e unless e.message =~ /Image not found/
        results = []
      end
    else
      results = os.list_images.collect do |i|
        convert_from_image(i, os.connection.authuser)
      end
    end
  end
  results.each { |img| img.hardware_profiles = profiles }
  filter_on(results, :owner_id, opts)
end