code: def update_dict_if_key_not_present(
      dict_to_update: Optional[dict], key_to_add: Any, value_to_add: Any
  ) -> Optional[dict]:
      """If a key is not present in the dict, add the new (key, value) pair, and return dict.
  
      If dict is empty, return None.
      """
      if dict_to_update is None:
          dict_to_update = {}
      if key_to_add not in dict_to_update:
          dict_to_update[key_to_add] = value_to_add
      if dict_to_update == {}:
          dict_to_update = None
  
      return dict_to_update
  
imports: from __future__ import absolute_import
  import logging
  import os
  from typing import Any, Dict, List, Optional, Union
  from urllib.parse import urlparse
  import boto3
  from packaging.version import Version
  import sagemaker
  from sagemaker.config.config_schema import MODEL_ENABLE_NETWORK_ISOLATION_PATH, MODEL_EXECUTION_ROLE_ARN_PATH, TRAINING_JOB_ENABLE_NETWORK_ISOLATION_PATH, TRAINING_JOB_INTER_CONTAINER_ENCRYPTION_PATH, TRAINING_JOB_ROLE_ARN_PATH
  from sagemaker.jumpstart import constants, enums
  from sagemaker.jumpstart import accessors
  from sagemaker.s3 import parse_s3_url
  from sagemaker.jumpstart.exceptions import DeprecatedJumpStartModelError, VulnerableJumpStartModelError, get_old_model_version_msg
  from sagemaker.jumpstart.types import JumpStartModelHeader, JumpStartModelSpecs, JumpStartVersionedModelId
  from sagemaker.session import Session
  from sagemaker.config import load_sagemaker_config
  from sagemaker.utils import resolve_value_from_config, TagsDict
  from sagemaker.workflow import is_pipeline_variable
label_desc: Use image node_id 18 for calling a global function with example usage: update_dict_if_key_not_present(dict_to_update, key_to_add, value_to_add) and returns: dict_to_update