code: def test_all_framework_models_add_jumpstart_uri_tags(
      repack_model, tar_and_uload_dir, sagemaker_session
  ):
      framework_model_classes_to_kwargs = {
          PyTorchModel: {
              "framework_version": "1.5.0",
              "py_version": "py3",
          },
          TensorFlowModel: {
              "framework_version": "2.3",
          },
          HuggingFaceModel: {
              "pytorch_version": "1.7.1",
              "py_version": "py36",
              "transformers_version": "4.6.1",
          },
          MXNetModel: {
              "framework_version": "1.7.0",
              "py_version": "py3",
          },
          SKLearnModel: {
              "framework_version": "0.23-1",
          },
          XGBoostModel: {
              "framework_version": "1.3-1",
          },
      }
      jumpstart_model_dir = (
          f"s3://{random.choice(list(JUMPSTART_GATED_AND_PUBLIC_BUCKET_NAME_SET))}"
          "/model_dirs/model.tar.gz"
      )
      for (
          framework_model_class,
          kwargs,
      ) in framework_model_classes_to_kwargs.items():
          framework_model_class(
              entry_point=ENTRY_POINT_INFERENCE,
              role=ROLE,
              sagemaker_session=sagemaker_session,
              model_data=jumpstart_model_dir,
              **kwargs,
          ).deploy(
              instance_type="ml.m2.xlarge",
              initial_instance_count=INSTANCE_COUNT,
              tags=[{"Key": "blah", "Value": "yoyoma"}],
          )
  
          assert [
              {"Key": "blah", "Value": "yoyoma"},
              {
                  "Key": JumpStartTag.INFERENCE_MODEL_URI.value,
                  "Value": jumpstart_model_dir,
              },
          ] == sagemaker_session.create_model.call_args_list[0][1][
              "tags"
          ]
  
          assert (
              [
                  {"Key": "blah", "Value": "yoyoma"},
                  {
                      "Key": JumpStartTag.INFERENCE_MODEL_URI.value,
                      "Value": jumpstart_model_dir,
                  },
              ]
              == sagemaker_session.endpoint_from_production_variants.call_args_list[
                  0
              ][
                  1
              ][
                  "tags"
              ]
          )
  
          sagemaker_session.create_model.reset_mock()
          sagemaker_session.endpoint_from_production_variants.reset_mock()
  
imports: from __future__ import absolute_import
  import random
  from unittest.mock import MagicMock
  import pytest
  from mock import Mock, patch
  import sagemaker
  from sagemaker.async_inference import AsyncInferenceConfig
  from sagemaker.model import FrameworkModel, Model
  from sagemaker.huggingface.model import HuggingFaceModel
  from sagemaker.jumpstart.constants import JUMPSTART_GATED_AND_PUBLIC_BUCKET_NAME_SET, JUMPSTART_RESOURCE_BASE_NAME
  from sagemaker.jumpstart.enums import JumpStartTag
  from sagemaker.mxnet.model import MXNetModel
  from sagemaker.pytorch.model import PyTorchModel
  from sagemaker.session_settings import SessionSettings
  from sagemaker.sklearn.model import SKLearnModel
  from sagemaker.tensorflow.model import TensorFlowModel
  from sagemaker.xgboost.model import XGBoostModel
  from sagemaker.enums import EndpointType
  from sagemaker.compute_resource_requirements.resource_requirements import ResourceRequirements
  from sagemaker.workflow.properties import Properties
  from tests.unit import _test_default_bucket_and_prefix_combinations, DEFAULT_S3_BUCKET_NAME, DEFAULT_S3_OBJECT_KEY_PREFIX_NAME, SAGEMAKER_CONFIG_EDGE_PACKAGING_JOB
label_desc: Use image node_id 31 for calling a global function with example usage: test_all_framework_models_add_jumpstart_uri_tags(repack_model, tar_and_uload_dir, sagemaker_session) without return types