class_docstr: Add a new document to a given Index or overwrite an existing one.
  
  .. seealso::
      For more information on how to use this operator, take a look at the guide:
      :ref:`howto/operator:OpenSearchAddDocumentOperator`
  
  :param index_name: The name of the index to put the document.
  :param document: A dictionary representation of the document.
  :param document_id: The id for the document in the index.
  :param doc_class: A Document subclassed object using opensearch-dsl
  :param opensearch_conn_id: opensearch connection to use
code: def __init__(
      self,
      *,
      index_name: str | None = None,
      document: dict[str, Any] | None = None,
      doc_id: int | None = None,
      doc_class: Any | None = None,
      opensearch_conn_id: str = "opensearch_default",
      **kwargs,
  ) -> None:
      super().__init__(**kwargs)
      self.index_name = index_name
      self.document = document
      self.doc_id = doc_id
      self.doc_class = doc_class
      self.opensearch_conn_id = opensearch_conn_id
  
imports: from __future__ import annotations
  from functools import cached_property
  from typing import TYPE_CHECKING, Any, Sequence
  from opensearchpy.exceptions import OpenSearchException
  from airflow.exceptions import AirflowException
  from airflow.models import BaseOperator
  from airflow.providers.opensearch.hooks.opensearch import OpenSearchHook
label_desc: Use image node_id 1 to create a new OpenSearchAddDocumentOperator object from inherited base classes: BaseOperator with example: obj = OpenSearchAddDocumentOperator()