'Returns an AllocationCandidates object containing all resource
providers matching a set of supplied resource constraints, with a set
of allocation requests constructed from that list of resource
providers.
:param filters: A dict of filters containing one or more of the
following keys:
\'resources\': A dict, keyed by resource class name, of amounts of
that resource being requested. The resource provider
must either have capacity for the amount being
requested or be associated via aggregate to a provider
that shares this resource and has capacity for the
requested amount.'

@classmethod
def get_by_filters(cls, context, filters):

    _ensure_rc_cache(context)
    (alloc_reqs, provider_summaries) = cls._get_by_filters(context, filters)
    return cls(context, allocation_requests=alloc_reqs, provider_summaries=provider_summaries)
