'Lists summary information for all events.'

@util.identified_stack
def index(self, req, identity, resource_name=None):

    whitelist = {'limit': util.PARAM_TYPE_SINGLE, 'marker': util.PARAM_TYPE_SINGLE, 'sort_dir': util.PARAM_TYPE_SINGLE, 'sort_keys': util.PARAM_TYPE_MULTI, 'nested_depth': util.PARAM_TYPE_SINGLE}
    filter_whitelist = {'resource_status': util.PARAM_TYPE_MIXED, 'resource_action': util.PARAM_TYPE_MIXED, 'resource_name': util.PARAM_TYPE_MIXED, 'resource_type': util.PARAM_TYPE_MIXED}
    params = util.get_allowed_params(req.params, whitelist)
    filter_params = util.get_allowed_params(req.params, filter_whitelist)
    int_params = (rpc_api.PARAM_LIMIT, rpc_api.PARAM_NESTED_DEPTH)
    try:
        for key in int_params:
            if (key in params):
                params[key] = param_utils.extract_int(key, params[key], allow_zero=True)
    except ValueError as e:
        raise exc.HTTPBadRequest(six.text_type(e))
    if (resource_name is None):
        if (not filter_params):
            filter_params = None
    else:
        filter_params['resource_name'] = resource_name
    events = self._event_list(req, identity, filters=filter_params, **params)
    if ((not events) and (resource_name is not None)):
        msg = (_('No    events    found    for    resource    %s') % resource_name)
        raise exc.HTTPNotFound(msg)
    return {'events': events}
