docs: def deploy_config(model, initial_instance_count, instance_type, endpoint_name=None, tags=None):
      """Export Airflow deploy config from a SageMaker model
  
      Args:
          model (sagemaker.model.Model): The SageMaker model to export the Airflow config from.
          instance_type (str): The EC2 instance type to deploy this Model to. For example, 'ml.p2.xlarge'.
          initial_instance_count (int): The initial number of instances to run in the
              ``Endpoint`` created from this ``Model``.
          endpoint_name (str): The name of the endpoint to create (default: None).
              If not specified, a unique endpoint name will be created.
          tags (list[dict]): List of tags for labeling a training job. For more, see
              https://docs.aws.amazon.com/sagemaker/latest/dg/API_Tag.html.
  
      Returns:
          dict: Deploy config that can be directly used by SageMakerEndpointOperator in Airflow.
  
      """
      model_base_config = model_config(instance_type, model)
  
      production_variant = sagemaker.production_variant(model.name, instance_type, initial_instance_count)
      name = model.name
      config_options = {'EndpointConfigName': name, 'ProductionVariants': [production_variant]}
      if tags is not None:
          config_options['Tags'] = tags
  
      endpoint_name = endpoint_name or name
      endpoint_base_config = {
          'EndpointName': endpoint_name,
          'EndpointConfigName': name
      }
  
      config = {
          'Model': model_base_config,
          'EndpointConfig': config_options,
          'Endpoint': endpoint_base_config
      }
  
      # if there is s3 operations needed for model, move it to root level of config
      s3_operations = model_base_config.pop('S3Operations', None)
      if s3_operations is not None:
          config['S3Operations'] = s3_operations
  
      return config