'Returns a list of `ResourceProvider` objects that have sufficient
resources in their inventories to satisfy the amounts specified in the
`filters` parameter.
If no resource providers can be found, the function will return an
empty list.
:param context: `nova.context.RequestContext` that may be used to grab
a DB connection.
:param filters: Can be `name`, `uuid`, `member_of` or `resources` where
`member_of` is a list of aggregate uuids and
`resources` is a dict of amounts keyed by resource
classes.
:type filters: dict'

@classmethod
def get_all_by_filters(cls, context, filters=None):

    _ensure_rc_cache(context)
    resource_providers = cls._get_all_by_filters_from_db(context, filters)
    return base.obj_make_list(context, cls(context), objects.ResourceProvider, resource_providers)
