module Fog module Compute class RackspaceV2 class Real # Retrieves a list of images # ==== Parameters # * options<~String>: # * 'name'<~String> - Filters the list of images by image name # * 'limit'<~String> - Maximum number of objects to return # * 'marker'<~String> - Only return objects whose name is greater than marker # * 'status'<~String> - Filters the list of images by status # * 'type'<~String> - Filters base Rackspace images or anyn custom server images that have been created # # @return [Excon::Response] response: # * body [Hash]: # * images [Array]: # * [Hash]: # * id [String] - image id # * links [Array] - image links # * name [String] - image name # * minDisk [Fixnum] - image minimum disk required # * minRam [Fixnum] - image minimum ram required # * created [String] - image creation date (ISO 8601 format) # * updated [String] - date of most recent image update # * state [String] - image status (e.g. ACTIVE, SAVING, ERROR) # * progress [Fixnum] - image saving progress # # @raise [Fog::Compute::RackspaceV2::NotFound] - HTTP 404 # @raise [Fog::Compute::RackspaceV2::BadRequest] - HTTP 400 # @raise [Fog::Compute::RackspaceV2::InternalServerError] - HTTP 500 # @raise [Fog::Compute::RackspaceV2::ServiceError] # @see http://docs.rackspace.com/servers/api/v2/cs-devguide/content/List_Images-d1e4435.html def list_images_detail(options = {}) options = options.reject {|key, value| value.nil?} request( :expects => [200, 203], :method => 'GET', :path => 'images/detail', :query => {'format' => 'json'}.merge!(options) ) end end class Mock def list_images_detail(options = {}) images = self.data[:images].values response(:body => {"images" => images}) end end end end end