def is_new_tag(image_record: dict, registry: str, repo: str, tag: str):
    """
    Returns false if the provided registry, repo, tag tuple exactly match those fields in one of the image_detail objects in
    image_record. If no such match is possible, return true.
    """

    # If we are missing an image_details block entirely or it is None, assume this is a new tag
    if image_record and not image_record.get("image_detail"):
        return True
    else:
        # Iterate through each existing image_detail objects and look for an exact match
        for image_detail in image_record.get("image_detail", []):
            existing_registry = image_detail.get("registry")
            existing_repo = image_detail.get("repo")
            existing_tag = image_detail.get("tag")

            if (
                existing_registry == registry
                and existing_repo == repo
                and existing_tag == tag
            ):
                return False
        else:
            return True