def METHOD_NAME(
    self, *documents: Union[List[Dict], List[List[Dict]]], **kwargs: Any
) -> List[IndexAction]:
    # pylint: disable=unused-argument
    """Add documents to merge in to existing documents in the Azure search
    index, or upload if they do not yet exist.
    This action behaves like *merge* if a document with the given key
    already exists in the index. If the document does not exist, it behaves
    like *upload* with a new document.
    :param documents: Documents to merge or upload into an Azure search
     index. May be a single list of documents, or documents as individual
     parameters.
    :type documents: Dict or List[Dict]
    :return: the added actions
    :rtype: List[IndexAction]
    """
    return self._extend_batch(_flatten_args(documents), "mergeOrUpload")