# File lib/fog/aws/requests/compute/describe_images.rb, line 61
        def describe_images(filters = {})
          unless filters.is_a?(Hash)
            Fog::Logger.deprecation("describe_images with #{filters.class} param is deprecated, use describe_images('image-id' => []) instead [light_black](#{caller.first})[/]")
            filters = {'image-id' => [*filters]}
          end

          if filters.keys.any? {|key| key =~ /^block-device/}
            Fog::Logger.warning("describe_images block-device-mapping filters are not yet mocked [light_black](#{caller.first})[/]")
            Fog::Mock.not_implemented
          end

          if owner = filters.delete('Owner')
            if owner == 'self'
              filters['owner-id'] = self.data[:owner_id]
            else
              filters['owner-alias'] = owner
            end
          end

          response = Excon::Response.new

          aliases = {
            'architecture'        => 'architecture',
            'description'         => 'description',
            'hypervisor'          => 'hypervisor',
            'image-id'            => 'imageId',
            'image-type'          => 'imageType',
            'is-public'           => 'isPublic',
            'kernel-id'           => 'kernelId',
            'manifest-location'   => 'manifestLocation',
            'name'                => 'name',
            'owner-alias'         => 'imageOwnerAlias',
            'owner-id'            => 'imageOwnerId',
            'ramdisk-id'          => 'ramdiskId',
            'root-device-name'    => 'rootDeviceName',
            'root-device-type'    => 'rootDeviceType',
            'state'               => 'imageState',
            'virtualization-type' => 'virtualizationType'
          }

          image_set = visible_images.values
          image_set = apply_tag_filters(image_set, filters, 'imageId')

          for filter_key, filter_value in filters
            aliased_key = aliases[filter_key]
            image_set = image_set.reject{|image| ![*filter_value].include?(image[aliased_key])}
          end

          image_set = image_set.map do |image|
            case image['imageState']
            when 'pending'
              if Time.now - image['registered'] >= Fog::Mock.delay
                image['imageState'] = 'available'
              end
            end
            image.reject { |key, value| ['registered'].include?(key) }.merge('tagSet' => self.data[:tag_sets][image['imageId']])
          end

          response.status = 200
          response.body = {
            'requestId' => Fog::AWS::Mock.request_id,
            'imagesSet' => image_set
          }
          response
        end