'Returns detailed information for all available images
:param req: The WSGI/Webob Request object
:returns: The response body is a mapping of the following form
{\'images\':
\'id\': <ID>,
\'name\': <NAME>,
\'size\': <SIZE>,
\'disk_format\': <DISK_FORMAT>,
\'container_format\': <CONTAINER_FORMAT>,
\'checksum\': <CHECKSUM>,
\'min_disk\': <MIN_DISK>,
\'min_ram\': <MIN_RAM>,
\'store\': <STORE>,
\'status\': <STATUS>,
\'created_at\': <TIMESTAMP>,
\'updated_at\': <TIMESTAMP>,
\'deleted_at\': <TIMESTAMP>|<NONE>,
\'properties\': {\'distro\': \'Ubuntu 10.04 LTS\', {...}}'

def detail(self, req):

    if (req.method == 'HEAD'):
        msg = _('This    operation    is    currently    not    permitted    on    Glance    images    details.')
        raise HTTPMethodNotAllowed(explanation=msg, headers={'Allow': 'GET'}, body_template='${explanation}')
    self._enforce(req, 'get_images')
    params = self._get_query_params(req)
    try:
        images = registry.get_images_detail(req.context, **params)
        for image in images:
            redact_loc(image, copy_dict=False)
            self._enforce_read_protected_props(image, req)
    except exception.Invalid as e:
        raise HTTPBadRequest(explanation=e.msg, request=req)
    except exception.NotAuthenticated as e:
        raise HTTPUnauthorized(explanation=e.msg, request=req)
    return dict(images=images)
