def _has_resource_constraints(resources):
    """Determine whether or not the statement allows resource constraints."""
    if len(resources) == 0:
        # This is probably a NotResources situation which we do not support.
        pass
    if len(resources) == 1 and resources[0] == "*":
        return False
    elif len(resources) > 1:  # pragma: no cover
        # It's possible that someone writes a bad policy that includes both a resource ARN as well as a wildcard.
        return not any(resource == "*" for resource in resources)
    return True