code: def upsert_entry(
      self,
      key: str,
      value: any,
  ):
      try:
          entry = self.session.execute(
              select(self.model).filter(self.model._key == key)
          ).scalar_one_or_none()
          if entry:
              entry.update(self.session, _value=value)
          else:
              self.insert_entry(key, value)
      except Exception as e:
          raise CatalogError(
              f"Error while upserting entry to ConfigurationCatalog: {str(e)}"
          )
  
file_path: evadb/evadb/catalog/services/configuration_catalog_service.py
imports: from sqlalchemy.orm import Session
  from sqlalchemy.sql.expression import select
  from evadb.catalog.models.configuration_catalog import ConfigurationCatalog
  from evadb.catalog.models.utils import ConfigurationCatalogEntry
  from evadb.catalog.services.base_service import BaseService
  from evadb.utils.errors import CatalogError
  from evadb.utils.logging_manager import logger
label_desc: Use image node_id 4 for calling the ConfigurationCatalogService obj's underlying member method code with example usage: obj.upsert_entry(key, value) without return types