import { ModelInputProps } from './ModelInputProps';
import { Value } from '../../../cloudformation/Value';
/**
  Describes the Docker container for the model package.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-modelpackage-modelpackagecontainerdefinition.html">the AWS Docs</a>
*/
export interface ModelPackageContainerDefinitionProps {
    /** <code>ModelInput</code>  <a name="cfn-sagemaker-modelpackage-modelpackagecontainerdefinition-modelinput"></a>
  A structure with Model Input details.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-some-interrupt">Some interruptions</a> */
    modelInput?: ModelInputProps;
    /** <code>NearestModelName</code>  <a name="cfn-sagemaker-modelpackage-modelpackagecontainerdefinition-nearestmodelname"></a>
  The name of a pre-trained machine learning benchmarked by Amazon SageMaker Inference Recommender model that matches your model. You can find a list of benchmarked models by calling <code>ListModelMetadata</code>.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-some-interrupt">Some interruptions</a> */
    nearestModelName?: Value<string>;
    /** <code>ContainerHostname</code>  <a name="cfn-sagemaker-modelpackage-modelpackagecontainerdefinition-containerhostname"></a>
  The DNS host name for the Docker container.<br />
  
  Required: No<br />
  
  Maximum: <code>63</code><br />
  
  Pattern: <code>^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}</code><br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-some-interrupt">Some interruptions</a> */
    containerHostname?: Value<string>;
    /** <code>ImageDigest</code>  <a name="cfn-sagemaker-modelpackage-modelpackagecontainerdefinition-imagedigest"></a>
  An MD5 hash of the training algorithm that identifies the Docker image used for training.<br />
  
  Required: No<br />
  
  Maximum: <code>72</code><br />
  
  Pattern: <code>^[Ss][Hh][Aa]256:[0-9a-fA-F]{64}$</code><br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-some-interrupt">Some interruptions</a> */
    imageDigest?: Value<string>;
    /** <code>FrameworkVersion</code>  <a name="cfn-sagemaker-modelpackage-modelpackagecontainerdefinition-frameworkversion"></a>
  The framework version of the Model Package Container Image.<br />
  
  Required: No<br />
  
  Minimum: <code>3</code><br />
  
  Maximum: <code>10</code><br />
  
  Pattern: <code>[0-9]\.[A-Za-z0-9.-]+</code><br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-some-interrupt">Some interruptions</a> */
    frameworkVersion?: Value<string>;
    /** <code>Environment</code>  <a name="cfn-sagemaker-modelpackage-modelpackagecontainerdefinition-environment"></a>
  The environment variables to set in the Docker container. Each key and value in the <code>Environment</code> string to string map can have length of up to 1024. We support up to 16 entries in the map.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-some-interrupt">Some interruptions</a> */
    environment?: Value<{
        [key: string]: Value<string>;
    }>;
    /** <code>ModelDataUrl</code>  <a name="cfn-sagemaker-modelpackage-modelpackagecontainerdefinition-modeldataurl"></a>
  The Amazon S3 path where the model artifacts, which result from model training, are stored. This path must point to a single <code>gzip</code> compressed tar archive (<code>.tar.gz</code> suffix).<br />
  The model artifacts must be in an S3 bucket that is in the same region as the model package.
  
  Required: No<br />
  
  Maximum: <code>1024</code><br />
  
  Pattern: <code>^(https|s3)://([^/]+)/?(.*)$</code><br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-some-interrupt">Some interruptions</a> */
    modelDataUrl?: Value<string>;
    /** <code>Image</code>  <a name="cfn-sagemaker-modelpackage-modelpackagecontainerdefinition-image"></a>
  The Amazon EC2 Container Registry (Amazon ECR) path where inference code is stored.<br />
  If you are using your own custom algorithm instead of an algorithm provided by SageMaker, the inference code must meet SageMaker requirements. SageMaker supports both <code>registry/repository[:tag]</code> and <code>registry/repository[@digest]</code> image path formats. For more information, see <a href="https://docs.aws.amazon.com/sagemaker/latest/dg/your-algorithms.html">Using Your Own Algorithms with Amazon SageMaker</a>.<br />
  
  Required: Yes<br />
  
  Maximum: <code>255</code><br />
  
  Pattern: <code>[\S]+</code><br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-some-interrupt">Some interruptions</a> */
    image: Value<string>;
    /** <code>Framework</code>  <a name="cfn-sagemaker-modelpackage-modelpackagecontainerdefinition-framework"></a>
  The machine learning framework of the model package container image.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-some-interrupt">Some interruptions</a> */
    framework?: Value<string>;
}
