code: def _retrieve_gated_model_uri_env_var_value(
      model_id: str,
      model_version: str,
      region: Optional[str] = None,
      tolerate_vulnerable_model: bool = False,
      tolerate_deprecated_model: bool = False,
      sagemaker_session: Session = DEFAULT_JUMPSTART_SAGEMAKER_SESSION,
      instance_type: Optional[str] = None,
  ) -> Optional[str]:
      """Retrieves the gated model env var URI matching the given arguments.
  
      Args:
          model_id (str): JumpStart model ID of the JumpStart model for which to
              retrieve the gated model env var URI.
          model_version (str): Version of the JumpStart model for which to retrieve the
              gated model env var URI.
          region (Optional[str]): Region for which to retrieve the gated model env var URI.
              (Default: None).
          tolerate_vulnerable_model (bool): True if vulnerable versions of model
              specifications should be tolerated (exception not raised). If False, raises an
              exception if the script used by this version of the model has dependencies with known
              security vulnerabilities. (Default: False).
          tolerate_deprecated_model (bool): True if deprecated versions of model
              specifications should be tolerated (exception not raised). If False, raises
              an exception if the version of the model is deprecated. (Default: False).
          sagemaker_session (sagemaker.session.Session): A SageMaker Session
              object, used for SageMaker interactions. If not
              specified, one is created using the default AWS configuration
              chain. (Default: sagemaker.jumpstart.constants.DEFAULT_JUMPSTART_SAGEMAKER_SESSION).
          instance_type (str): An instance type to optionally supply in order to get
              environment variables specific for the instance type.
  
      Returns:
          Optional[str]: the s3 URI to use for the environment variable, or None if the model does not
              have gated training artifacts.
  
      Raises:
          ValueError: If the model specs specified are invalid.
      """
  
      if region is None:
          region = JUMPSTART_DEFAULT_REGION_NAME
  
      model_specs = verify_model_region_and_return_specs(
          model_id=model_id,
          version=model_version,
          scope=JumpStartScriptScope.TRAINING,
          region=region,
          tolerate_vulnerable_model=tolerate_vulnerable_model,
          tolerate_deprecated_model=tolerate_deprecated_model,
          sagemaker_session=sagemaker_session,
      )
  
      s3_key: Optional[
          str
      ] = model_specs.training_instance_type_variants.get_instance_specific_gated_model_key_env_var_value(  # noqa E501  # pylint: disable=c0301
          instance_type
      )
      if s3_key is None:
          return None
  
      return (
          f"s3://{get_jumpstart_gated_content_bucket(region)}/{s3_key}"
      )
  
imports: from __future__ import absolute_import
  from typing import Dict, Optional
  from sagemaker.jumpstart.constants import DEFAULT_JUMPSTART_SAGEMAKER_SESSION, JUMPSTART_DEFAULT_REGION_NAME, SAGEMAKER_GATED_MODEL_S3_URI_TRAINING_ENV_VAR_KEY
  from sagemaker.jumpstart.enums import JumpStartScriptScope
  from sagemaker.jumpstart.utils import get_jumpstart_gated_content_bucket, verify_model_region_and_return_specs
  from sagemaker.session import Session
label_desc: Use image node_id 2 for calling a global function with example usage: _retrieve_gated_model_uri_env_var_value(model_id, model_version, region, tolerate_vulnerable_model, tolerate_deprecated_model, sagemaker_session, instance_type) and returns: str, get_jumpstart_gated_content_bucket, str, s3_key, None