import { Value } from '../../cloudformation/Value';
import { ContainerDefinitionProps } from './model/ContainerDefinitionProps';
import { VpcConfigProps } from './model/VpcConfigProps';
import { InferenceExecutionConfigProps } from './model/InferenceExecutionConfigProps';
import { Tag } from '../Tag';
import { Attribute } from '../../cloudformation/Attribute';
import { AwsResource } from '../../cloudformation/resources/AwsResource';
export type ModelAttributes = {
    ModelName: Attribute<string>;
};
export type Model = AwsResource<'AWS::SageMaker::Model', ModelProperties, ModelAttributes>;
/**
  The <code>AWS::SageMaker::Model</code> resource to create a model to host at an Amazon SageMaker endpoint. For more information, see <a href="https://docs.aws.amazon.com/sagemaker/latest/dg/how-it-works-hosting.html">Deploying a Model on Amazon SageMaker Hosting Services</a> in the <em>Amazon SageMaker Developer Guide</em>.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-model.html">the AWS Docs</a>
*/
export declare function model(modelProps: ModelProperties): Model;
/**
  The <code>AWS::SageMaker::Model</code> resource to create a model to host at an Amazon SageMaker endpoint. For more information, see <a href="https://docs.aws.amazon.com/sagemaker/latest/dg/how-it-works-hosting.html">Deploying a Model on Amazon SageMaker Hosting Services</a> in the <em>Amazon SageMaker Developer Guide</em>.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-model.html">the AWS Docs</a>
*/
export interface ModelProperties {
    /** <code>ExecutionRoleArn</code>  <a name="cfn-sagemaker-model-executionrolearn"></a>
  The Amazon Resource Name (ARN) of the IAM role that SageMaker can assume to access model artifacts and docker image for deployment on ML compute instances or for batch transform jobs. Deploying on ML compute instances is part of model hosting. For more information, see <a href="https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-roles.html">SageMaker Roles</a>.<br />
  To be able to pass this role to SageMaker, the caller of this API must have the <code>iam:PassRole</code> permission.
  
  Required: Yes<br />
  
  Minimum: <code>20</code><br />
  
  Maximum: <code>2048</code><br />
  
  Pattern: <code>^arn:aws[a-z\-]*:iam::\d{12}:role/?[a-zA-Z_0-9+=,.@\-_/]+$</code><br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement">Replacement</a> */
    executionRoleArn: Value<string>;
    /** <code>EnableNetworkIsolation</code>  <a name="cfn-sagemaker-model-enablenetworkisolation"></a>
  Isolates the model container. No inbound or outbound network calls can be made to or from the model container.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement">Replacement</a> */
    enableNetworkIsolation?: Value<boolean>;
    /** <code>PrimaryContainer</code>  <a name="cfn-sagemaker-model-primarycontainer"></a>
  The location of the primary docker image containing inference code, associated artifacts, and custom environment map that the inference code uses when the model is deployed for predictions.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement">Replacement</a> */
    primaryContainer?: ContainerDefinitionProps;
    /** <code>ModelName</code>  <a name="cfn-sagemaker-model-modelname"></a>
  The name of the new model.<br />
  
  Required: No<br />
  
  Maximum: <code>63</code><br />
  
  Pattern: <code>^[a-zA-Z0-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-replacement">Replacement</a> */
    modelName?: Value<string>;
    /** <code>VpcConfig</code>  <a name="cfn-sagemaker-model-vpcconfig"></a>
  A <a href="https://docs.aws.amazon.com/sagemaker/latest/dg/API_VpcConfig.html">VpcConfig</a> object that specifies the VPC that you want your model to connect to. Control access to and from your model container by configuring the VPC. <code>VpcConfig</code> is used in hosting services and in batch transform. For more information, see <a href="https://docs.aws.amazon.com/sagemaker/latest/dg/host-vpc.html">Protect Endpoints by Using an Amazon Virtual Private Cloud</a> and <a href="https://docs.aws.amazon.com/sagemaker/latest/dg/batch-vpc.html">Protect Data in Batch Transform Jobs by Using an Amazon Virtual Private Cloud</a>.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement">Replacement</a> */
    vpcConfig?: VpcConfigProps;
    /** <code>Containers</code>  <a name="cfn-sagemaker-model-containers"></a>
  Specifies the containers in the inference pipeline.<br />
  
  Required: No<br />
  
  Maximum: <code>15</code><br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement">Replacement</a> */
    containers?: ContainerDefinitionProps[];
    /** <code>InferenceExecutionConfig</code>  <a name="cfn-sagemaker-model-inferenceexecutionconfig"></a>
  Specifies details of how containers in a multi-container endpoint are called.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement">Replacement</a> */
    inferenceExecutionConfig?: InferenceExecutionConfigProps;
    /** <code>Tags</code>  <a name="cfn-sagemaker-model-tags"></a>
  A list of key-value pairs to apply to this resource.<br />
  For more information, see <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html">Resource Tag</a> and <a href="https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html#allocation-what">Using Cost Allocation Tags</a> in the
  AWS Billing and Cost Management User Guide: br />
  
  Required: No<br />
  
  Maximum: <code>50</code><br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    tags?: Tag[];
}
