def is_should_create(exists, expected, create_anyway):
    """If we should create a resource even if it was supposed to exist.

    :param exists: Whether we found the resource in target API.
    :param expected: Whether we expected to find the resource in target API.
    :param create_anyway: If we should create the resource, even though it
    was supposed to exist and did not.
    :return:
    """
    return (not exists and not expected) or \
           (not exists and expected and create_anyway)