

This is the new *CloudFormation Template Reference Guide*. Please update your bookmarks and links. For help getting started with CloudFormation, see the [AWS CloudFormation User Guide](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html).

# AWS::SageMaker::ModelPackage
<a name="aws-resource-sagemaker-modelpackage"></a>

A container for your trained model that can be deployed for SageMaker inference. This can include inference code, artifacts, and metadata. The model package type can be one of the following.
+ Versioned model: A part of a model package group in Model Registry.
+ Unversioned model: Not part of a model package group and used in AWS Marketplace.

For more information, see [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateModelPackage.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateModelPackage.html).

## Syntax
<a name="aws-resource-sagemaker-modelpackage-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-resource-sagemaker-modelpackage-syntax.json"></a>

```
{
  "Type" : "AWS::SageMaker::ModelPackage",
  "Properties" : {
      "[AdditionalInferenceSpecifications](#cfn-sagemaker-modelpackage-additionalinferencespecifications)" : [ AdditionalInferenceSpecificationDefinition, ... ],
      "[AdditionalInferenceSpecificationsToAdd](#cfn-sagemaker-modelpackage-additionalinferencespecificationstoadd)" : [ AdditionalInferenceSpecificationDefinition, ... ],
      "[ApprovalDescription](#cfn-sagemaker-modelpackage-approvaldescription)" : String,
      "[CertifyForMarketplace](#cfn-sagemaker-modelpackage-certifyformarketplace)" : Boolean,
      "[ClientToken](#cfn-sagemaker-modelpackage-clienttoken)" : String,
      "[CustomerMetadataProperties](#cfn-sagemaker-modelpackage-customermetadataproperties)" : {Key: Value, ...},
      "[Domain](#cfn-sagemaker-modelpackage-domain)" : String,
      "[DriftCheckBaselines](#cfn-sagemaker-modelpackage-driftcheckbaselines)" : DriftCheckBaselines,
      "[InferenceSpecification](#cfn-sagemaker-modelpackage-inferencespecification)" : InferenceSpecification,
      "[MetadataProperties](#cfn-sagemaker-modelpackage-metadataproperties)" : MetadataProperties,
      "[ModelApprovalStatus](#cfn-sagemaker-modelpackage-modelapprovalstatus)" : String,
      "[ModelCard](#cfn-sagemaker-modelpackage-modelcard)" : ModelCard,
      "[ModelMetrics](#cfn-sagemaker-modelpackage-modelmetrics)" : ModelMetrics,
      "[ModelPackageDescription](#cfn-sagemaker-modelpackage-modelpackagedescription)" : String,
      "[ModelPackageGroupName](#cfn-sagemaker-modelpackage-modelpackagegroupname)" : String,
      "[ModelPackageName](#cfn-sagemaker-modelpackage-modelpackagename)" : String,
      "[ModelPackageStatusDetails](#cfn-sagemaker-modelpackage-modelpackagestatusdetails)" : ModelPackageStatusDetails,
      "[ModelPackageVersion](#cfn-sagemaker-modelpackage-modelpackageversion)" : Integer,
      "[SamplePayloadUrl](#cfn-sagemaker-modelpackage-samplepayloadurl)" : String,
      "[SecurityConfig](#cfn-sagemaker-modelpackage-securityconfig)" : SecurityConfig,
      "[SkipModelValidation](#cfn-sagemaker-modelpackage-skipmodelvalidation)" : String,
      "[SourceAlgorithmSpecification](#cfn-sagemaker-modelpackage-sourcealgorithmspecification)" : SourceAlgorithmSpecification,
      "[SourceUri](#cfn-sagemaker-modelpackage-sourceuri)" : String,
      "[Tags](#cfn-sagemaker-modelpackage-tags)" : [ Tag, ... ],
      "[Task](#cfn-sagemaker-modelpackage-task)" : String,
      "[ValidationSpecification](#cfn-sagemaker-modelpackage-validationspecification)" : ValidationSpecification
    }
}
```

### YAML
<a name="aws-resource-sagemaker-modelpackage-syntax.yaml"></a>

```
Type: AWS::SageMaker::ModelPackage
Properties:
  [AdditionalInferenceSpecifications](#cfn-sagemaker-modelpackage-additionalinferencespecifications): 
    - AdditionalInferenceSpecificationDefinition
  [AdditionalInferenceSpecificationsToAdd](#cfn-sagemaker-modelpackage-additionalinferencespecificationstoadd): 
    - AdditionalInferenceSpecificationDefinition
  [ApprovalDescription](#cfn-sagemaker-modelpackage-approvaldescription): String
  [CertifyForMarketplace](#cfn-sagemaker-modelpackage-certifyformarketplace): Boolean
  [ClientToken](#cfn-sagemaker-modelpackage-clienttoken): String
  [CustomerMetadataProperties](#cfn-sagemaker-modelpackage-customermetadataproperties): 
    Key: Value
  [Domain](#cfn-sagemaker-modelpackage-domain): String
  [DriftCheckBaselines](#cfn-sagemaker-modelpackage-driftcheckbaselines): 
    DriftCheckBaselines
  [InferenceSpecification](#cfn-sagemaker-modelpackage-inferencespecification): 
    InferenceSpecification
  [MetadataProperties](#cfn-sagemaker-modelpackage-metadataproperties): 
    MetadataProperties
  [ModelApprovalStatus](#cfn-sagemaker-modelpackage-modelapprovalstatus): String
  [ModelCard](#cfn-sagemaker-modelpackage-modelcard): 
    ModelCard
  [ModelMetrics](#cfn-sagemaker-modelpackage-modelmetrics): 
    ModelMetrics
  [ModelPackageDescription](#cfn-sagemaker-modelpackage-modelpackagedescription): String
  [ModelPackageGroupName](#cfn-sagemaker-modelpackage-modelpackagegroupname): String
  [ModelPackageName](#cfn-sagemaker-modelpackage-modelpackagename): String
  [ModelPackageStatusDetails](#cfn-sagemaker-modelpackage-modelpackagestatusdetails): 
    ModelPackageStatusDetails
  [ModelPackageVersion](#cfn-sagemaker-modelpackage-modelpackageversion): Integer
  [SamplePayloadUrl](#cfn-sagemaker-modelpackage-samplepayloadurl): String
  [SecurityConfig](#cfn-sagemaker-modelpackage-securityconfig): 
    SecurityConfig
  [SkipModelValidation](#cfn-sagemaker-modelpackage-skipmodelvalidation): String
  [SourceAlgorithmSpecification](#cfn-sagemaker-modelpackage-sourcealgorithmspecification): 
    SourceAlgorithmSpecification
  [SourceUri](#cfn-sagemaker-modelpackage-sourceuri): String
  [Tags](#cfn-sagemaker-modelpackage-tags): 
    - Tag
  [Task](#cfn-sagemaker-modelpackage-task): String
  [ValidationSpecification](#cfn-sagemaker-modelpackage-validationspecification): 
    ValidationSpecification
```

## Properties
<a name="aws-resource-sagemaker-modelpackage-properties"></a>

`AdditionalInferenceSpecifications`  <a name="cfn-sagemaker-modelpackage-additionalinferencespecifications"></a>
An array of additional Inference Specification objects.  
*Required*: No  
*Type*: Array of [AdditionalInferenceSpecificationDefinition](aws-properties-sagemaker-modelpackage-additionalinferencespecificationdefinition.md)  
*Minimum*: `1`  
*Maximum*: `15`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`AdditionalInferenceSpecificationsToAdd`  <a name="cfn-sagemaker-modelpackage-additionalinferencespecificationstoadd"></a>
An array of additional Inference Specification objects to be added to the existing array. The total number of additional Inference Specification objects cannot exceed 15. Each additional Inference Specification object specifies artifacts based on this model package that can be used on inference endpoints. Generally used with SageMaker Neo to store the compiled artifacts.  
*Required*: No  
*Type*: Array of [AdditionalInferenceSpecificationDefinition](aws-properties-sagemaker-modelpackage-additionalinferencespecificationdefinition.md)  
*Minimum*: `1`  
*Maximum*: `15`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ApprovalDescription`  <a name="cfn-sagemaker-modelpackage-approvaldescription"></a>
A description provided when the model approval is set.  
*Required*: No  
*Type*: String  
*Pattern*: `.*`  
*Maximum*: `1024`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`CertifyForMarketplace`  <a name="cfn-sagemaker-modelpackage-certifyformarketplace"></a>
Whether the model package is to be certified to be listed on AWS Marketplace. For information about listing model packages on AWS Marketplace, see [List Your Algorithm or Model Package on AWS Marketplace](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-mkt-list.html).  
*Required*: No  
*Type*: Boolean  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ClientToken`  <a name="cfn-sagemaker-modelpackage-clienttoken"></a>
A unique token that guarantees that the call to this API is idempotent.  
*Required*: No  
*Type*: String  
*Pattern*: `^[a-zA-Z0-9-]+$`  
*Minimum*: `1`  
*Maximum*: `36`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`CustomerMetadataProperties`  <a name="cfn-sagemaker-modelpackage-customermetadataproperties"></a>
The metadata properties for the model package.   
*Required*: No  
*Type*: Object of String  
*Pattern*: `^([\p{L}\p{Z}\p{N}_.:\/=+\-@]*)${1,128}`  
*Minimum*: `1`  
*Maximum*: `128`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Domain`  <a name="cfn-sagemaker-modelpackage-domain"></a>
The machine learning domain of your model package and its components. Common machine learning domains include computer vision and natural language processing.  
*Required*: No  
*Type*: String  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`DriftCheckBaselines`  <a name="cfn-sagemaker-modelpackage-driftcheckbaselines"></a>
Represents the drift check baselines that can be used when the model monitor is set using the model package.  
*Required*: No  
*Type*: [DriftCheckBaselines](aws-properties-sagemaker-modelpackage-driftcheckbaselines.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`InferenceSpecification`  <a name="cfn-sagemaker-modelpackage-inferencespecification"></a>
Defines how to perform inference generation after a training job is run.  
*Required*: No  
*Type*: [InferenceSpecification](aws-properties-sagemaker-modelpackage-inferencespecification.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`MetadataProperties`  <a name="cfn-sagemaker-modelpackage-metadataproperties"></a>
Metadata properties of the tracking entity, trial, or trial component.  
*Required*: No  
*Type*: [MetadataProperties](aws-properties-sagemaker-modelpackage-metadataproperties.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`ModelApprovalStatus`  <a name="cfn-sagemaker-modelpackage-modelapprovalstatus"></a>
The approval status of the model. This can be one of the following values.  
+ `APPROVED` - The model is approved
+ `REJECTED` - The model is rejected.
+ `PENDING_MANUAL_APPROVAL` - The model is waiting for manual approval.
*Required*: No  
*Type*: String  
*Allowed values*: `Approved | Rejected | PendingManualApproval`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ModelCard`  <a name="cfn-sagemaker-modelpackage-modelcard"></a>
An Amazon SageMaker Model Card.  
*Required*: No  
*Type*: [ModelCard](aws-properties-sagemaker-modelpackage-modelcard.md)  
*Update requires*: [Some interruptions](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-some-interrupt)

`ModelMetrics`  <a name="cfn-sagemaker-modelpackage-modelmetrics"></a>
Metrics for the model.  
*Required*: No  
*Type*: [ModelMetrics](aws-properties-sagemaker-modelpackage-modelmetrics.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`ModelPackageDescription`  <a name="cfn-sagemaker-modelpackage-modelpackagedescription"></a>
The description of the model package.  
*Required*: No  
*Type*: String  
*Pattern*: `[\p{L}\p{M}\p{Z}\p{S}\p{N}\p{P}]*`  
*Maximum*: `1024`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`ModelPackageGroupName`  <a name="cfn-sagemaker-modelpackage-modelpackagegroupname"></a>
The model group to which the model belongs.  
*Required*: No  
*Type*: String  
*Pattern*: `(arn:aws[a-z\-]*:sagemaker:[a-z0-9\-]*:[0-9]{12}:[a-z\-]*\/)?([a-zA-Z0-9]([a-zA-Z0-9-]){0,62})(?<!-)$`  
*Minimum*: `1`  
*Maximum*: `170`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`ModelPackageName`  <a name="cfn-sagemaker-modelpackage-modelpackagename"></a>
The name of the model package. The name can be as follows:  
+ For a versioned model, the name is automatically generated by SageMaker Model Registry and follows the format '`ModelPackageGroupName/ModelPackageVersion`'.
+ For an unversioned model, you must provide the name.
*Required*: No  
*Type*: String  
*Pattern*: `[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}`  
*Minimum*: `1`  
*Maximum*: `63`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ModelPackageStatusDetails`  <a name="cfn-sagemaker-modelpackage-modelpackagestatusdetails"></a>
Specifies the validation and image scan statuses of the model package.  
*Required*: No  
*Type*: [ModelPackageStatusDetails](aws-properties-sagemaker-modelpackage-modelpackagestatusdetails.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ModelPackageVersion`  <a name="cfn-sagemaker-modelpackage-modelpackageversion"></a>
The version number of a versioned model.  
*Required*: No  
*Type*: Integer  
*Minimum*: `1`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`SamplePayloadUrl`  <a name="cfn-sagemaker-modelpackage-samplepayloadurl"></a>
The Amazon Simple Storage Service path where the sample payload are stored. This path must point to a single gzip compressed tar archive (.tar.gz suffix).  
*Required*: No  
*Type*: String  
*Pattern*: `^(https|s3)://([^/]+)/?(.*)$`  
*Maximum*: `1024`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`SecurityConfig`  <a name="cfn-sagemaker-modelpackage-securityconfig"></a>
Security configuration for the model package, including encryption settings.  
*Required*: No  
*Type*: [SecurityConfig](aws-properties-sagemaker-modelpackage-securityconfig.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`SkipModelValidation`  <a name="cfn-sagemaker-modelpackage-skipmodelvalidation"></a>
Indicates if you want to skip model validation.  
*Required*: No  
*Type*: String  
*Allowed values*: `None | All`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`SourceAlgorithmSpecification`  <a name="cfn-sagemaker-modelpackage-sourcealgorithmspecification"></a>
A list of algorithms that were used to create a model package.  
*Required*: No  
*Type*: [SourceAlgorithmSpecification](aws-properties-sagemaker-modelpackage-sourcealgorithmspecification.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`SourceUri`  <a name="cfn-sagemaker-modelpackage-sourceuri"></a>
The URI of the source for the model package.  
*Required*: No  
*Type*: String  
*Pattern*: `[\p{L}\p{M}\p{Z}\p{N}\p{P}]{0,1024}`  
*Minimum*: `0`  
*Maximum*: `1024`  
*Update requires*: [Some interruptions](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-some-interrupt)

`Tags`  <a name="cfn-sagemaker-modelpackage-tags"></a>
A list of the tags associated with the model package. For more information, see [Tagging AWS resources](https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html) in the *AWS General Reference Guide*.  
*Required*: No  
*Type*: Array of [Tag](aws-properties-sagemaker-modelpackage-tag.md)  
*Maximum*: `50`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Task`  <a name="cfn-sagemaker-modelpackage-task"></a>
The machine learning task your model package accomplishes. Common machine learning tasks include object detection and image classification.  
*Required*: No  
*Type*: String  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`ValidationSpecification`  <a name="cfn-sagemaker-modelpackage-validationspecification"></a>
Specifies batch transform jobs that SageMaker runs to validate your model package.  
*Required*: No  
*Type*: [ValidationSpecification](aws-properties-sagemaker-modelpackage-validationspecification.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

## Return values
<a name="aws-resource-sagemaker-modelpackage-return-values"></a>

### Ref
<a name="aws-resource-sagemaker-modelpackage-return-values-ref"></a>

 When you pass the logical ID of this resource to the intrinsic `Ref` function, `Ref` returns the Amazon Resource Name (ARN) of the model package group.

For more information about using the `Ref` function, see [https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/intrinsic-function-reference-ref.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/intrinsic-function-reference-ref.html).

### Fn::GetAtt
<a name="aws-resource-sagemaker-modelpackage-return-values-fn--getatt"></a>

The `Fn::GetAtt` intrinsic function returns a value for a specified attribute of this type. The following are the available attributes and sample return values.

For more information about using the `Fn::GetAtt` intrinsic function, see [https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/intrinsic-function-reference-getatt.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/intrinsic-function-reference-getatt.html).

#### 
<a name="aws-resource-sagemaker-modelpackage-return-values-fn--getatt-fn--getatt"></a>

`CreationTime`  <a name="CreationTime-fn::getatt"></a>
The time that the model package was created.

`LastModifiedTime`  <a name="LastModifiedTime-fn::getatt"></a>
The last time the model package was modified.

`ModelPackageArn`  <a name="ModelPackageArn-fn::getatt"></a>
The Amazon Resource Name (ARN) of the model package.

`ModelPackageStatus`  <a name="ModelPackageStatus-fn::getatt"></a>
The status of the model package. This can be one of the following values.  
+ `PENDING` - The model package creation is pending.
+ `IN_PROGRESS` - The model package is in the process of being created.
+ `COMPLETED` - The model package was successfully created.
+ `FAILED` - The model package creation failed.
+ `DELETING` - The model package is in the process of being deleted.

# AWS::SageMaker::ModelPackage AdditionalInferenceSpecificationDefinition
<a name="aws-properties-sagemaker-modelpackage-additionalinferencespecificationdefinition"></a>

A structure of additional Inference Specification. Additional Inference Specification specifies details about inference jobs that can be run with models based on this model package

## Syntax
<a name="aws-properties-sagemaker-modelpackage-additionalinferencespecificationdefinition-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-modelpackage-additionalinferencespecificationdefinition-syntax.json"></a>

```
{
  "[Containers](#cfn-sagemaker-modelpackage-additionalinferencespecificationdefinition-containers)" : [ ModelPackageContainerDefinition, ... ],
  "[Description](#cfn-sagemaker-modelpackage-additionalinferencespecificationdefinition-description)" : String,
  "[Name](#cfn-sagemaker-modelpackage-additionalinferencespecificationdefinition-name)" : String,
  "[SupportedContentTypes](#cfn-sagemaker-modelpackage-additionalinferencespecificationdefinition-supportedcontenttypes)" : [ String, ... ],
  "[SupportedRealtimeInferenceInstanceTypes](#cfn-sagemaker-modelpackage-additionalinferencespecificationdefinition-supportedrealtimeinferenceinstancetypes)" : [ String, ... ],
  "[SupportedResponseMIMETypes](#cfn-sagemaker-modelpackage-additionalinferencespecificationdefinition-supportedresponsemimetypes)" : [ String, ... ],
  "[SupportedTransformInstanceTypes](#cfn-sagemaker-modelpackage-additionalinferencespecificationdefinition-supportedtransforminstancetypes)" : [ String, ... ]
}
```

### YAML
<a name="aws-properties-sagemaker-modelpackage-additionalinferencespecificationdefinition-syntax.yaml"></a>

```
  [Containers](#cfn-sagemaker-modelpackage-additionalinferencespecificationdefinition-containers): 
    - ModelPackageContainerDefinition
  [Description](#cfn-sagemaker-modelpackage-additionalinferencespecificationdefinition-description): String
  [Name](#cfn-sagemaker-modelpackage-additionalinferencespecificationdefinition-name): String
  [SupportedContentTypes](#cfn-sagemaker-modelpackage-additionalinferencespecificationdefinition-supportedcontenttypes): 
    - String
  [SupportedRealtimeInferenceInstanceTypes](#cfn-sagemaker-modelpackage-additionalinferencespecificationdefinition-supportedrealtimeinferenceinstancetypes): 
    - String
  [SupportedResponseMIMETypes](#cfn-sagemaker-modelpackage-additionalinferencespecificationdefinition-supportedresponsemimetypes): 
    - String
  [SupportedTransformInstanceTypes](#cfn-sagemaker-modelpackage-additionalinferencespecificationdefinition-supportedtransforminstancetypes): 
    - String
```

## Properties
<a name="aws-properties-sagemaker-modelpackage-additionalinferencespecificationdefinition-properties"></a>

`Containers`  <a name="cfn-sagemaker-modelpackage-additionalinferencespecificationdefinition-containers"></a>
The Amazon ECR registry path of the Docker image that contains the inference code.  
*Required*: Yes  
*Type*: Array of [ModelPackageContainerDefinition](aws-properties-sagemaker-modelpackage-modelpackagecontainerdefinition.md)  
*Minimum*: `1`  
*Maximum*: `15`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Description`  <a name="cfn-sagemaker-modelpackage-additionalinferencespecificationdefinition-description"></a>
A description of the additional Inference specification  
*Required*: No  
*Type*: String  
*Pattern*: `.*`  
*Maximum*: `1024`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Name`  <a name="cfn-sagemaker-modelpackage-additionalinferencespecificationdefinition-name"></a>
A unique name to identify the additional inference specification. The name must be unique within the list of your additional inference specifications for a particular model package.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}$`  
*Minimum*: `1`  
*Maximum*: `63`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`SupportedContentTypes`  <a name="cfn-sagemaker-modelpackage-additionalinferencespecificationdefinition-supportedcontenttypes"></a>
The supported MIME types for the input data.  
*Required*: No  
*Type*: Array of String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`SupportedRealtimeInferenceInstanceTypes`  <a name="cfn-sagemaker-modelpackage-additionalinferencespecificationdefinition-supportedrealtimeinferenceinstancetypes"></a>
A list of the instance types that are used to generate inferences in real-time.  
*Required*: No  
*Type*: Array of String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`SupportedResponseMIMETypes`  <a name="cfn-sagemaker-modelpackage-additionalinferencespecificationdefinition-supportedresponsemimetypes"></a>
The supported MIME types for the output data.  
*Required*: No  
*Type*: Array of String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`SupportedTransformInstanceTypes`  <a name="cfn-sagemaker-modelpackage-additionalinferencespecificationdefinition-supportedtransforminstancetypes"></a>
A list of the instance types on which a transformation job can be run or on which an endpoint can be deployed.  
*Required*: No  
*Type*: Array of String  
*Minimum*: `1`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::SageMaker::ModelPackage Bias
<a name="aws-properties-sagemaker-modelpackage-bias"></a>

Contains bias metrics for a model.

## Syntax
<a name="aws-properties-sagemaker-modelpackage-bias-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-modelpackage-bias-syntax.json"></a>

```
{
  "[PostTrainingReport](#cfn-sagemaker-modelpackage-bias-posttrainingreport)" : MetricsSource,
  "[PreTrainingReport](#cfn-sagemaker-modelpackage-bias-pretrainingreport)" : MetricsSource,
  "[Report](#cfn-sagemaker-modelpackage-bias-report)" : MetricsSource
}
```

### YAML
<a name="aws-properties-sagemaker-modelpackage-bias-syntax.yaml"></a>

```
  [PostTrainingReport](#cfn-sagemaker-modelpackage-bias-posttrainingreport): 
    MetricsSource
  [PreTrainingReport](#cfn-sagemaker-modelpackage-bias-pretrainingreport): 
    MetricsSource
  [Report](#cfn-sagemaker-modelpackage-bias-report): 
    MetricsSource
```

## Properties
<a name="aws-properties-sagemaker-modelpackage-bias-properties"></a>

`PostTrainingReport`  <a name="cfn-sagemaker-modelpackage-bias-posttrainingreport"></a>
The post-training bias report for a model.  
*Required*: No  
*Type*: [MetricsSource](aws-properties-sagemaker-modelpackage-metricssource.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`PreTrainingReport`  <a name="cfn-sagemaker-modelpackage-bias-pretrainingreport"></a>
The pre-training bias report for a model.  
*Required*: No  
*Type*: [MetricsSource](aws-properties-sagemaker-modelpackage-metricssource.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`Report`  <a name="cfn-sagemaker-modelpackage-bias-report"></a>
The bias report for a model  
*Required*: No  
*Type*: [MetricsSource](aws-properties-sagemaker-modelpackage-metricssource.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::SageMaker::ModelPackage DataSource
<a name="aws-properties-sagemaker-modelpackage-datasource"></a>

Describes the location of the channel data.

## Syntax
<a name="aws-properties-sagemaker-modelpackage-datasource-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-modelpackage-datasource-syntax.json"></a>

```
{
  "[S3DataSource](#cfn-sagemaker-modelpackage-datasource-s3datasource)" : S3DataSource
}
```

### YAML
<a name="aws-properties-sagemaker-modelpackage-datasource-syntax.yaml"></a>

```
  [S3DataSource](#cfn-sagemaker-modelpackage-datasource-s3datasource): 
    S3DataSource
```

## Properties
<a name="aws-properties-sagemaker-modelpackage-datasource-properties"></a>

`S3DataSource`  <a name="cfn-sagemaker-modelpackage-datasource-s3datasource"></a>
The S3 location of the data source that is associated with a channel.  
*Required*: Yes  
*Type*: [S3DataSource](aws-properties-sagemaker-modelpackage-s3datasource.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::SageMaker::ModelPackage DriftCheckBaselines
<a name="aws-properties-sagemaker-modelpackage-driftcheckbaselines"></a>

Represents the drift check baselines that can be used when the model monitor is set using the model package. 

## Syntax
<a name="aws-properties-sagemaker-modelpackage-driftcheckbaselines-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-modelpackage-driftcheckbaselines-syntax.json"></a>

```
{
  "[Bias](#cfn-sagemaker-modelpackage-driftcheckbaselines-bias)" : DriftCheckBias,
  "[Explainability](#cfn-sagemaker-modelpackage-driftcheckbaselines-explainability)" : DriftCheckExplainability,
  "[ModelDataQuality](#cfn-sagemaker-modelpackage-driftcheckbaselines-modeldataquality)" : DriftCheckModelDataQuality,
  "[ModelQuality](#cfn-sagemaker-modelpackage-driftcheckbaselines-modelquality)" : DriftCheckModelQuality
}
```

### YAML
<a name="aws-properties-sagemaker-modelpackage-driftcheckbaselines-syntax.yaml"></a>

```
  [Bias](#cfn-sagemaker-modelpackage-driftcheckbaselines-bias): 
    DriftCheckBias
  [Explainability](#cfn-sagemaker-modelpackage-driftcheckbaselines-explainability): 
    DriftCheckExplainability
  [ModelDataQuality](#cfn-sagemaker-modelpackage-driftcheckbaselines-modeldataquality): 
    DriftCheckModelDataQuality
  [ModelQuality](#cfn-sagemaker-modelpackage-driftcheckbaselines-modelquality): 
    DriftCheckModelQuality
```

## Properties
<a name="aws-properties-sagemaker-modelpackage-driftcheckbaselines-properties"></a>

`Bias`  <a name="cfn-sagemaker-modelpackage-driftcheckbaselines-bias"></a>
Represents the drift check bias baselines that can be used when the model monitor is set using the model package.   
*Required*: No  
*Type*: [DriftCheckBias](aws-properties-sagemaker-modelpackage-driftcheckbias.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`Explainability`  <a name="cfn-sagemaker-modelpackage-driftcheckbaselines-explainability"></a>
Represents the drift check explainability baselines that can be used when the model monitor is set using the model package.   
*Required*: No  
*Type*: [DriftCheckExplainability](aws-properties-sagemaker-modelpackage-driftcheckexplainability.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`ModelDataQuality`  <a name="cfn-sagemaker-modelpackage-driftcheckbaselines-modeldataquality"></a>
Represents the drift check model data quality baselines that can be used when the model monitor is set using the model package.  
*Required*: No  
*Type*: [DriftCheckModelDataQuality](aws-properties-sagemaker-modelpackage-driftcheckmodeldataquality.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`ModelQuality`  <a name="cfn-sagemaker-modelpackage-driftcheckbaselines-modelquality"></a>
Represents the drift check model quality baselines that can be used when the model monitor is set using the model package.  
*Required*: No  
*Type*: [DriftCheckModelQuality](aws-properties-sagemaker-modelpackage-driftcheckmodelquality.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::SageMaker::ModelPackage DriftCheckBias
<a name="aws-properties-sagemaker-modelpackage-driftcheckbias"></a>

Represents the drift check bias baselines that can be used when the model monitor is set using the model package.

## Syntax
<a name="aws-properties-sagemaker-modelpackage-driftcheckbias-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-modelpackage-driftcheckbias-syntax.json"></a>

```
{
  "[ConfigFile](#cfn-sagemaker-modelpackage-driftcheckbias-configfile)" : FileSource,
  "[PostTrainingConstraints](#cfn-sagemaker-modelpackage-driftcheckbias-posttrainingconstraints)" : MetricsSource,
  "[PreTrainingConstraints](#cfn-sagemaker-modelpackage-driftcheckbias-pretrainingconstraints)" : MetricsSource
}
```

### YAML
<a name="aws-properties-sagemaker-modelpackage-driftcheckbias-syntax.yaml"></a>

```
  [ConfigFile](#cfn-sagemaker-modelpackage-driftcheckbias-configfile): 
    FileSource
  [PostTrainingConstraints](#cfn-sagemaker-modelpackage-driftcheckbias-posttrainingconstraints): 
    MetricsSource
  [PreTrainingConstraints](#cfn-sagemaker-modelpackage-driftcheckbias-pretrainingconstraints): 
    MetricsSource
```

## Properties
<a name="aws-properties-sagemaker-modelpackage-driftcheckbias-properties"></a>

`ConfigFile`  <a name="cfn-sagemaker-modelpackage-driftcheckbias-configfile"></a>
The bias config file for a model.  
*Required*: No  
*Type*: [FileSource](aws-properties-sagemaker-modelpackage-filesource.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`PostTrainingConstraints`  <a name="cfn-sagemaker-modelpackage-driftcheckbias-posttrainingconstraints"></a>
The post-training constraints.  
*Required*: No  
*Type*: [MetricsSource](aws-properties-sagemaker-modelpackage-metricssource.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`PreTrainingConstraints`  <a name="cfn-sagemaker-modelpackage-driftcheckbias-pretrainingconstraints"></a>
The pre-training constraints.  
*Required*: No  
*Type*: [MetricsSource](aws-properties-sagemaker-modelpackage-metricssource.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::SageMaker::ModelPackage DriftCheckExplainability
<a name="aws-properties-sagemaker-modelpackage-driftcheckexplainability"></a>

Represents the drift check explainability baselines that can be used when the model monitor is set using the model package. 

## Syntax
<a name="aws-properties-sagemaker-modelpackage-driftcheckexplainability-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-modelpackage-driftcheckexplainability-syntax.json"></a>

```
{
  "[ConfigFile](#cfn-sagemaker-modelpackage-driftcheckexplainability-configfile)" : FileSource,
  "[Constraints](#cfn-sagemaker-modelpackage-driftcheckexplainability-constraints)" : MetricsSource
}
```

### YAML
<a name="aws-properties-sagemaker-modelpackage-driftcheckexplainability-syntax.yaml"></a>

```
  [ConfigFile](#cfn-sagemaker-modelpackage-driftcheckexplainability-configfile): 
    FileSource
  [Constraints](#cfn-sagemaker-modelpackage-driftcheckexplainability-constraints): 
    MetricsSource
```

## Properties
<a name="aws-properties-sagemaker-modelpackage-driftcheckexplainability-properties"></a>

`ConfigFile`  <a name="cfn-sagemaker-modelpackage-driftcheckexplainability-configfile"></a>
The explainability config file for the model.  
*Required*: No  
*Type*: [FileSource](aws-properties-sagemaker-modelpackage-filesource.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`Constraints`  <a name="cfn-sagemaker-modelpackage-driftcheckexplainability-constraints"></a>
The drift check explainability constraints.  
*Required*: No  
*Type*: [MetricsSource](aws-properties-sagemaker-modelpackage-metricssource.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::SageMaker::ModelPackage DriftCheckModelDataQuality
<a name="aws-properties-sagemaker-modelpackage-driftcheckmodeldataquality"></a>

Represents the drift check data quality baselines that can be used when the model monitor is set using the model package. 

## Syntax
<a name="aws-properties-sagemaker-modelpackage-driftcheckmodeldataquality-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-modelpackage-driftcheckmodeldataquality-syntax.json"></a>

```
{
  "[Constraints](#cfn-sagemaker-modelpackage-driftcheckmodeldataquality-constraints)" : MetricsSource,
  "[Statistics](#cfn-sagemaker-modelpackage-driftcheckmodeldataquality-statistics)" : MetricsSource
}
```

### YAML
<a name="aws-properties-sagemaker-modelpackage-driftcheckmodeldataquality-syntax.yaml"></a>

```
  [Constraints](#cfn-sagemaker-modelpackage-driftcheckmodeldataquality-constraints): 
    MetricsSource
  [Statistics](#cfn-sagemaker-modelpackage-driftcheckmodeldataquality-statistics): 
    MetricsSource
```

## Properties
<a name="aws-properties-sagemaker-modelpackage-driftcheckmodeldataquality-properties"></a>

`Constraints`  <a name="cfn-sagemaker-modelpackage-driftcheckmodeldataquality-constraints"></a>
The drift check model data quality constraints.  
*Required*: No  
*Type*: [MetricsSource](aws-properties-sagemaker-modelpackage-metricssource.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`Statistics`  <a name="cfn-sagemaker-modelpackage-driftcheckmodeldataquality-statistics"></a>
The drift check model data quality statistics.  
*Required*: No  
*Type*: [MetricsSource](aws-properties-sagemaker-modelpackage-metricssource.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::SageMaker::ModelPackage DriftCheckModelQuality
<a name="aws-properties-sagemaker-modelpackage-driftcheckmodelquality"></a>

Represents the drift check model quality baselines that can be used when the model monitor is set using the model package. 

## Syntax
<a name="aws-properties-sagemaker-modelpackage-driftcheckmodelquality-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-modelpackage-driftcheckmodelquality-syntax.json"></a>

```
{
  "[Constraints](#cfn-sagemaker-modelpackage-driftcheckmodelquality-constraints)" : MetricsSource,
  "[Statistics](#cfn-sagemaker-modelpackage-driftcheckmodelquality-statistics)" : MetricsSource
}
```

### YAML
<a name="aws-properties-sagemaker-modelpackage-driftcheckmodelquality-syntax.yaml"></a>

```
  [Constraints](#cfn-sagemaker-modelpackage-driftcheckmodelquality-constraints): 
    MetricsSource
  [Statistics](#cfn-sagemaker-modelpackage-driftcheckmodelquality-statistics): 
    MetricsSource
```

## Properties
<a name="aws-properties-sagemaker-modelpackage-driftcheckmodelquality-properties"></a>

`Constraints`  <a name="cfn-sagemaker-modelpackage-driftcheckmodelquality-constraints"></a>
The drift check model quality constraints.  
*Required*: No  
*Type*: [MetricsSource](aws-properties-sagemaker-modelpackage-metricssource.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`Statistics`  <a name="cfn-sagemaker-modelpackage-driftcheckmodelquality-statistics"></a>
The drift check model quality statistics.  
*Required*: No  
*Type*: [MetricsSource](aws-properties-sagemaker-modelpackage-metricssource.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::SageMaker::ModelPackage Explainability
<a name="aws-properties-sagemaker-modelpackage-explainability"></a>

Contains explainability metrics for a model.

## Syntax
<a name="aws-properties-sagemaker-modelpackage-explainability-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-modelpackage-explainability-syntax.json"></a>

```
{
  "[Report](#cfn-sagemaker-modelpackage-explainability-report)" : MetricsSource
}
```

### YAML
<a name="aws-properties-sagemaker-modelpackage-explainability-syntax.yaml"></a>

```
  [Report](#cfn-sagemaker-modelpackage-explainability-report): 
    MetricsSource
```

## Properties
<a name="aws-properties-sagemaker-modelpackage-explainability-properties"></a>

`Report`  <a name="cfn-sagemaker-modelpackage-explainability-report"></a>
The explainability report for a model.  
*Required*: No  
*Type*: [MetricsSource](aws-properties-sagemaker-modelpackage-metricssource.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::SageMaker::ModelPackage FileSource
<a name="aws-properties-sagemaker-modelpackage-filesource"></a>

Contains details regarding the file source.

## Syntax
<a name="aws-properties-sagemaker-modelpackage-filesource-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-modelpackage-filesource-syntax.json"></a>

```
{
  "[ContentDigest](#cfn-sagemaker-modelpackage-filesource-contentdigest)" : String,
  "[ContentType](#cfn-sagemaker-modelpackage-filesource-contenttype)" : String,
  "[S3Uri](#cfn-sagemaker-modelpackage-filesource-s3uri)" : String
}
```

### YAML
<a name="aws-properties-sagemaker-modelpackage-filesource-syntax.yaml"></a>

```
  [ContentDigest](#cfn-sagemaker-modelpackage-filesource-contentdigest): String
  [ContentType](#cfn-sagemaker-modelpackage-filesource-contenttype): String
  [S3Uri](#cfn-sagemaker-modelpackage-filesource-s3uri): String
```

## Properties
<a name="aws-properties-sagemaker-modelpackage-filesource-properties"></a>

`ContentDigest`  <a name="cfn-sagemaker-modelpackage-filesource-contentdigest"></a>
The digest of the file source.  
*Required*: No  
*Type*: String  
*Pattern*: `^[Ss][Hh][Aa]256:[0-9a-fA-F]{64}$`  
*Maximum*: `72`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`ContentType`  <a name="cfn-sagemaker-modelpackage-filesource-contenttype"></a>
The type of content stored in the file source.  
*Required*: No  
*Type*: String  
*Pattern*: `.*`  
*Maximum*: `256`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`S3Uri`  <a name="cfn-sagemaker-modelpackage-filesource-s3uri"></a>
The Amazon S3 URI for the file source.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^(https|s3)://([^/]+)/?(.*)$`  
*Maximum*: `1024`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::SageMaker::ModelPackage InferenceSpecification
<a name="aws-properties-sagemaker-modelpackage-inferencespecification"></a>

Defines how to perform inference generation after a training job is run.

## Syntax
<a name="aws-properties-sagemaker-modelpackage-inferencespecification-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-modelpackage-inferencespecification-syntax.json"></a>

```
{
  "[Containers](#cfn-sagemaker-modelpackage-inferencespecification-containers)" : [ ModelPackageContainerDefinition, ... ],
  "[SupportedContentTypes](#cfn-sagemaker-modelpackage-inferencespecification-supportedcontenttypes)" : [ String, ... ],
  "[SupportedRealtimeInferenceInstanceTypes](#cfn-sagemaker-modelpackage-inferencespecification-supportedrealtimeinferenceinstancetypes)" : [ String, ... ],
  "[SupportedResponseMIMETypes](#cfn-sagemaker-modelpackage-inferencespecification-supportedresponsemimetypes)" : [ String, ... ],
  "[SupportedTransformInstanceTypes](#cfn-sagemaker-modelpackage-inferencespecification-supportedtransforminstancetypes)" : [ String, ... ]
}
```

### YAML
<a name="aws-properties-sagemaker-modelpackage-inferencespecification-syntax.yaml"></a>

```
  [Containers](#cfn-sagemaker-modelpackage-inferencespecification-containers): 
    - ModelPackageContainerDefinition
  [SupportedContentTypes](#cfn-sagemaker-modelpackage-inferencespecification-supportedcontenttypes): 
    - String
  [SupportedRealtimeInferenceInstanceTypes](#cfn-sagemaker-modelpackage-inferencespecification-supportedrealtimeinferenceinstancetypes): 
    - String
  [SupportedResponseMIMETypes](#cfn-sagemaker-modelpackage-inferencespecification-supportedresponsemimetypes): 
    - String
  [SupportedTransformInstanceTypes](#cfn-sagemaker-modelpackage-inferencespecification-supportedtransforminstancetypes): 
    - String
```

## Properties
<a name="aws-properties-sagemaker-modelpackage-inferencespecification-properties"></a>

`Containers`  <a name="cfn-sagemaker-modelpackage-inferencespecification-containers"></a>
The Amazon ECR registry path of the Docker image that contains the inference code.  
*Required*: Yes  
*Type*: Array of [ModelPackageContainerDefinition](aws-properties-sagemaker-modelpackage-modelpackagecontainerdefinition.md)  
*Minimum*: `1`  
*Maximum*: `15`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`SupportedContentTypes`  <a name="cfn-sagemaker-modelpackage-inferencespecification-supportedcontenttypes"></a>
The supported MIME types for the input data.  
*Required*: Yes  
*Type*: Array of String  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`SupportedRealtimeInferenceInstanceTypes`  <a name="cfn-sagemaker-modelpackage-inferencespecification-supportedrealtimeinferenceinstancetypes"></a>
A list of the instance types that are used to generate inferences in real-time.  
This parameter is required for unversioned models, and optional for versioned models.  
*Required*: No  
*Type*: Array of String  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`SupportedResponseMIMETypes`  <a name="cfn-sagemaker-modelpackage-inferencespecification-supportedresponsemimetypes"></a>
The supported MIME types for the output data.  
*Required*: Yes  
*Type*: Array of String  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`SupportedTransformInstanceTypes`  <a name="cfn-sagemaker-modelpackage-inferencespecification-supportedtransforminstancetypes"></a>
A list of the instance types on which a transformation job can be run or on which an endpoint can be deployed.  
This parameter is required for unversioned models, and optional for versioned models.  
*Required*: No  
*Type*: Array of String  
*Minimum*: `1`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::SageMaker::ModelPackage MetadataProperties
<a name="aws-properties-sagemaker-modelpackage-metadataproperties"></a>

Metadata properties of the tracking entity, trial, or trial component.

## Syntax
<a name="aws-properties-sagemaker-modelpackage-metadataproperties-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-modelpackage-metadataproperties-syntax.json"></a>

```
{
  "[CommitId](#cfn-sagemaker-modelpackage-metadataproperties-commitid)" : String,
  "[GeneratedBy](#cfn-sagemaker-modelpackage-metadataproperties-generatedby)" : String,
  "[ProjectId](#cfn-sagemaker-modelpackage-metadataproperties-projectid)" : String,
  "[Repository](#cfn-sagemaker-modelpackage-metadataproperties-repository)" : String
}
```

### YAML
<a name="aws-properties-sagemaker-modelpackage-metadataproperties-syntax.yaml"></a>

```
  [CommitId](#cfn-sagemaker-modelpackage-metadataproperties-commitid): String
  [GeneratedBy](#cfn-sagemaker-modelpackage-metadataproperties-generatedby): String
  [ProjectId](#cfn-sagemaker-modelpackage-metadataproperties-projectid): String
  [Repository](#cfn-sagemaker-modelpackage-metadataproperties-repository): String
```

## Properties
<a name="aws-properties-sagemaker-modelpackage-metadataproperties-properties"></a>

`CommitId`  <a name="cfn-sagemaker-modelpackage-metadataproperties-commitid"></a>
The commit ID.  
*Required*: No  
*Type*: String  
*Pattern*: `.*`  
*Maximum*: `1024`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`GeneratedBy`  <a name="cfn-sagemaker-modelpackage-metadataproperties-generatedby"></a>
The entity this entity was generated by.  
*Required*: No  
*Type*: String  
*Pattern*: `.*`  
*Maximum*: `1024`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`ProjectId`  <a name="cfn-sagemaker-modelpackage-metadataproperties-projectid"></a>
The project ID.  
*Required*: No  
*Type*: String  
*Pattern*: `.*`  
*Maximum*: `1024`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`Repository`  <a name="cfn-sagemaker-modelpackage-metadataproperties-repository"></a>
The repository.  
*Required*: No  
*Type*: String  
*Pattern*: `.*`  
*Maximum*: `1024`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::SageMaker::ModelPackage MetricsSource
<a name="aws-properties-sagemaker-modelpackage-metricssource"></a>

Details about the metrics source.

## Syntax
<a name="aws-properties-sagemaker-modelpackage-metricssource-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-modelpackage-metricssource-syntax.json"></a>

```
{
  "[ContentDigest](#cfn-sagemaker-modelpackage-metricssource-contentdigest)" : String,
  "[ContentType](#cfn-sagemaker-modelpackage-metricssource-contenttype)" : String,
  "[S3Uri](#cfn-sagemaker-modelpackage-metricssource-s3uri)" : String
}
```

### YAML
<a name="aws-properties-sagemaker-modelpackage-metricssource-syntax.yaml"></a>

```
  [ContentDigest](#cfn-sagemaker-modelpackage-metricssource-contentdigest): String
  [ContentType](#cfn-sagemaker-modelpackage-metricssource-contenttype): String
  [S3Uri](#cfn-sagemaker-modelpackage-metricssource-s3uri): String
```

## Properties
<a name="aws-properties-sagemaker-modelpackage-metricssource-properties"></a>

`ContentDigest`  <a name="cfn-sagemaker-modelpackage-metricssource-contentdigest"></a>
The hash key used for the metrics source.  
*Required*: No  
*Type*: String  
*Pattern*: `^[Ss][Hh][Aa]256:[0-9a-fA-F]{64}$`  
*Maximum*: `72`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`ContentType`  <a name="cfn-sagemaker-modelpackage-metricssource-contenttype"></a>
The metric source content type.  
*Required*: Yes  
*Type*: String  
*Pattern*: `.*`  
*Maximum*: `256`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`S3Uri`  <a name="cfn-sagemaker-modelpackage-metricssource-s3uri"></a>
The S3 URI for the metrics source.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^(https|s3)://([^/]+)/?(.*)$`  
*Maximum*: `1024`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::SageMaker::ModelPackage ModelAccessConfig
<a name="aws-properties-sagemaker-modelpackage-modelaccessconfig"></a>

The access configuration file to control access to the ML model. You can explicitly accept the model end-user license agreement (EULA) within the `ModelAccessConfig`.
+ If you are a Jumpstart user, see the [End-user license agreements](https://docs.aws.amazon.com/sagemaker/latest/dg/jumpstart-foundation-models-choose.html#jumpstart-foundation-models-choose-eula) section for more details on accepting the EULA.
+ If you are an AutoML user, see the *Optional Parameters* section of *Create an AutoML job to fine-tune text generation models using the API* for details on [How to set the EULA acceptance when fine-tuning a model using the AutoML API](https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-create-experiment-finetune-llms.html#autopilot-llms-finetuning-api-optional-params).

## Syntax
<a name="aws-properties-sagemaker-modelpackage-modelaccessconfig-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-modelpackage-modelaccessconfig-syntax.json"></a>

```
{
  "[AcceptEula](#cfn-sagemaker-modelpackage-modelaccessconfig-accepteula)" : Boolean
}
```

### YAML
<a name="aws-properties-sagemaker-modelpackage-modelaccessconfig-syntax.yaml"></a>

```
  [AcceptEula](#cfn-sagemaker-modelpackage-modelaccessconfig-accepteula): Boolean
```

## Properties
<a name="aws-properties-sagemaker-modelpackage-modelaccessconfig-properties"></a>

`AcceptEula`  <a name="cfn-sagemaker-modelpackage-modelaccessconfig-accepteula"></a>
Specifies agreement to the model end-user license agreement (EULA). The `AcceptEula` value must be explicitly defined as `True` in order to accept the EULA that this model requires. You are responsible for reviewing and complying with any applicable license terms and making sure they are acceptable for your use case before downloading or using a model.  
*Required*: Yes  
*Type*: Boolean  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::SageMaker::ModelPackage ModelCard
<a name="aws-properties-sagemaker-modelpackage-modelcard"></a>

An Amazon SageMaker Model Card.

## Syntax
<a name="aws-properties-sagemaker-modelpackage-modelcard-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-modelpackage-modelcard-syntax.json"></a>

```
{
  "[ModelCardContent](#cfn-sagemaker-modelpackage-modelcard-modelcardcontent)" : String,
  "[ModelCardStatus](#cfn-sagemaker-modelpackage-modelcard-modelcardstatus)" : String
}
```

### YAML
<a name="aws-properties-sagemaker-modelpackage-modelcard-syntax.yaml"></a>

```
  [ModelCardContent](#cfn-sagemaker-modelpackage-modelcard-modelcardcontent): String
  [ModelCardStatus](#cfn-sagemaker-modelpackage-modelcard-modelcardstatus): String
```

## Properties
<a name="aws-properties-sagemaker-modelpackage-modelcard-properties"></a>

`ModelCardContent`  <a name="cfn-sagemaker-modelpackage-modelcard-modelcardcontent"></a>
The content of the model card associated with the model package.  
*Required*: Yes  
*Type*: String  
*Pattern*: `.*`  
*Minimum*: `0`  
*Maximum*: `100000`  
*Update requires*: [Some interruptions](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-some-interrupt)

`ModelCardStatus`  <a name="cfn-sagemaker-modelpackage-modelcard-modelcardstatus"></a>
The approval status of the model card within your organization. Different organizations might have different criteria for model card review and approval.  
+ `Draft`: The model card is a work in progress.
+ `PendingReview`: The model card is pending review.
+ `Approved`: The model card is approved.
+ `Archived`: The model card is archived. No more updates should be made to the model card, but it can still be exported.
*Required*: Yes  
*Type*: String  
*Allowed values*: `Draft | PendingReview | Approved | Archived`  
*Update requires*: [Some interruptions](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-some-interrupt)

# AWS::SageMaker::ModelPackage ModelDataQuality
<a name="aws-properties-sagemaker-modelpackage-modeldataquality"></a>

Data quality constraints and statistics for a model.

## Syntax
<a name="aws-properties-sagemaker-modelpackage-modeldataquality-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-modelpackage-modeldataquality-syntax.json"></a>

```
{
  "[Constraints](#cfn-sagemaker-modelpackage-modeldataquality-constraints)" : MetricsSource,
  "[Statistics](#cfn-sagemaker-modelpackage-modeldataquality-statistics)" : MetricsSource
}
```

### YAML
<a name="aws-properties-sagemaker-modelpackage-modeldataquality-syntax.yaml"></a>

```
  [Constraints](#cfn-sagemaker-modelpackage-modeldataquality-constraints): 
    MetricsSource
  [Statistics](#cfn-sagemaker-modelpackage-modeldataquality-statistics): 
    MetricsSource
```

## Properties
<a name="aws-properties-sagemaker-modelpackage-modeldataquality-properties"></a>

`Constraints`  <a name="cfn-sagemaker-modelpackage-modeldataquality-constraints"></a>
Data quality constraints for a model.  
*Required*: No  
*Type*: [MetricsSource](aws-properties-sagemaker-modelpackage-metricssource.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`Statistics`  <a name="cfn-sagemaker-modelpackage-modeldataquality-statistics"></a>
Data quality statistics for a model.  
*Required*: No  
*Type*: [MetricsSource](aws-properties-sagemaker-modelpackage-metricssource.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::SageMaker::ModelPackage ModelDataSource
<a name="aws-properties-sagemaker-modelpackage-modeldatasource"></a>

Specifies the location of ML model data to deploy. If specified, you must specify one and only one of the available data sources.

## Syntax
<a name="aws-properties-sagemaker-modelpackage-modeldatasource-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-modelpackage-modeldatasource-syntax.json"></a>

```
{
  "[S3DataSource](#cfn-sagemaker-modelpackage-modeldatasource-s3datasource)" : S3ModelDataSource
}
```

### YAML
<a name="aws-properties-sagemaker-modelpackage-modeldatasource-syntax.yaml"></a>

```
  [S3DataSource](#cfn-sagemaker-modelpackage-modeldatasource-s3datasource): 
    S3ModelDataSource
```

## Properties
<a name="aws-properties-sagemaker-modelpackage-modeldatasource-properties"></a>

`S3DataSource`  <a name="cfn-sagemaker-modelpackage-modeldatasource-s3datasource"></a>
Specifies the S3 location of ML model data to deploy.  
*Required*: No  
*Type*: [S3ModelDataSource](aws-properties-sagemaker-modelpackage-s3modeldatasource.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::SageMaker::ModelPackage ModelInput
<a name="aws-properties-sagemaker-modelpackage-modelinput"></a>

Input object for the model.

## Syntax
<a name="aws-properties-sagemaker-modelpackage-modelinput-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-modelpackage-modelinput-syntax.json"></a>

```
{
  "[DataInputConfig](#cfn-sagemaker-modelpackage-modelinput-datainputconfig)" : String
}
```

### YAML
<a name="aws-properties-sagemaker-modelpackage-modelinput-syntax.yaml"></a>

```
  [DataInputConfig](#cfn-sagemaker-modelpackage-modelinput-datainputconfig): String
```

## Properties
<a name="aws-properties-sagemaker-modelpackage-modelinput-properties"></a>

`DataInputConfig`  <a name="cfn-sagemaker-modelpackage-modelinput-datainputconfig"></a>
The input configuration object for the model.  
*Required*: Yes  
*Type*: String  
*Pattern*: `[\S\s]+`  
*Minimum*: `1`  
*Maximum*: `1024`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::SageMaker::ModelPackage ModelMetrics
<a name="aws-properties-sagemaker-modelpackage-modelmetrics"></a>

Contains metrics captured from a model.

## Syntax
<a name="aws-properties-sagemaker-modelpackage-modelmetrics-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-modelpackage-modelmetrics-syntax.json"></a>

```
{
  "[Bias](#cfn-sagemaker-modelpackage-modelmetrics-bias)" : Bias,
  "[Explainability](#cfn-sagemaker-modelpackage-modelmetrics-explainability)" : Explainability,
  "[ModelDataQuality](#cfn-sagemaker-modelpackage-modelmetrics-modeldataquality)" : ModelDataQuality,
  "[ModelQuality](#cfn-sagemaker-modelpackage-modelmetrics-modelquality)" : ModelQuality
}
```

### YAML
<a name="aws-properties-sagemaker-modelpackage-modelmetrics-syntax.yaml"></a>

```
  [Bias](#cfn-sagemaker-modelpackage-modelmetrics-bias): 
    Bias
  [Explainability](#cfn-sagemaker-modelpackage-modelmetrics-explainability): 
    Explainability
  [ModelDataQuality](#cfn-sagemaker-modelpackage-modelmetrics-modeldataquality): 
    ModelDataQuality
  [ModelQuality](#cfn-sagemaker-modelpackage-modelmetrics-modelquality): 
    ModelQuality
```

## Properties
<a name="aws-properties-sagemaker-modelpackage-modelmetrics-properties"></a>

`Bias`  <a name="cfn-sagemaker-modelpackage-modelmetrics-bias"></a>
Metrics that measure bias in a model.  
*Required*: No  
*Type*: [Bias](aws-properties-sagemaker-modelpackage-bias.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`Explainability`  <a name="cfn-sagemaker-modelpackage-modelmetrics-explainability"></a>
Metrics that help explain a model.  
*Required*: No  
*Type*: [Explainability](aws-properties-sagemaker-modelpackage-explainability.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`ModelDataQuality`  <a name="cfn-sagemaker-modelpackage-modelmetrics-modeldataquality"></a>
Metrics that measure the quality of the input data for a model.  
*Required*: No  
*Type*: [ModelDataQuality](aws-properties-sagemaker-modelpackage-modeldataquality.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`ModelQuality`  <a name="cfn-sagemaker-modelpackage-modelmetrics-modelquality"></a>
Metrics that measure the quality of a model.  
*Required*: No  
*Type*: [ModelQuality](aws-properties-sagemaker-modelpackage-modelquality.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::SageMaker::ModelPackage ModelPackageContainerDefinition
<a name="aws-properties-sagemaker-modelpackage-modelpackagecontainerdefinition"></a>

Describes the Docker container for the model package.

## Syntax
<a name="aws-properties-sagemaker-modelpackage-modelpackagecontainerdefinition-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-modelpackage-modelpackagecontainerdefinition-syntax.json"></a>

```
{
  "[ContainerHostname](#cfn-sagemaker-modelpackage-modelpackagecontainerdefinition-containerhostname)" : String,
  "[Environment](#cfn-sagemaker-modelpackage-modelpackagecontainerdefinition-environment)" : {Key: Value, ...},
  "[Framework](#cfn-sagemaker-modelpackage-modelpackagecontainerdefinition-framework)" : String,
  "[FrameworkVersion](#cfn-sagemaker-modelpackage-modelpackagecontainerdefinition-frameworkversion)" : String,
  "[Image](#cfn-sagemaker-modelpackage-modelpackagecontainerdefinition-image)" : String,
  "[ImageDigest](#cfn-sagemaker-modelpackage-modelpackagecontainerdefinition-imagedigest)" : String,
  "[ModelDataSource](#cfn-sagemaker-modelpackage-modelpackagecontainerdefinition-modeldatasource)" : ModelDataSource,
  "[ModelDataUrl](#cfn-sagemaker-modelpackage-modelpackagecontainerdefinition-modeldataurl)" : String,
  "[ModelInput](#cfn-sagemaker-modelpackage-modelpackagecontainerdefinition-modelinput)" : ModelInput,
  "[NearestModelName](#cfn-sagemaker-modelpackage-modelpackagecontainerdefinition-nearestmodelname)" : String
}
```

### YAML
<a name="aws-properties-sagemaker-modelpackage-modelpackagecontainerdefinition-syntax.yaml"></a>

```
  [ContainerHostname](#cfn-sagemaker-modelpackage-modelpackagecontainerdefinition-containerhostname): String
  [Environment](#cfn-sagemaker-modelpackage-modelpackagecontainerdefinition-environment): 
    Key: Value
  [Framework](#cfn-sagemaker-modelpackage-modelpackagecontainerdefinition-framework): String
  [FrameworkVersion](#cfn-sagemaker-modelpackage-modelpackagecontainerdefinition-frameworkversion): String
  [Image](#cfn-sagemaker-modelpackage-modelpackagecontainerdefinition-image): String
  [ImageDigest](#cfn-sagemaker-modelpackage-modelpackagecontainerdefinition-imagedigest): String
  [ModelDataSource](#cfn-sagemaker-modelpackage-modelpackagecontainerdefinition-modeldatasource): 
    ModelDataSource
  [ModelDataUrl](#cfn-sagemaker-modelpackage-modelpackagecontainerdefinition-modeldataurl): String
  [ModelInput](#cfn-sagemaker-modelpackage-modelpackagecontainerdefinition-modelinput): 
    ModelInput
  [NearestModelName](#cfn-sagemaker-modelpackage-modelpackagecontainerdefinition-nearestmodelname): String
```

## Properties
<a name="aws-properties-sagemaker-modelpackage-modelpackagecontainerdefinition-properties"></a>

`ContainerHostname`  <a name="cfn-sagemaker-modelpackage-modelpackagecontainerdefinition-containerhostname"></a>
The DNS host name for the Docker container.  
*Required*: No  
*Type*: String  
*Pattern*: `^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}`  
*Maximum*: `63`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Environment`  <a name="cfn-sagemaker-modelpackage-modelpackagecontainerdefinition-environment"></a>
The environment variables to set in the Docker container. Each key and value in the `Environment` string to string map can have length of up to 1024. We support up to 16 entries in the map.  
*Required*: No  
*Type*: Object of String  
*Pattern*: `[a-zA-Z_][a-zA-Z0-9_]*`  
*Maximum*: `1024`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Framework`  <a name="cfn-sagemaker-modelpackage-modelpackagecontainerdefinition-framework"></a>
The machine learning framework of the model package container image.  
*Required*: No  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`FrameworkVersion`  <a name="cfn-sagemaker-modelpackage-modelpackagecontainerdefinition-frameworkversion"></a>
The framework version of the Model Package Container Image.  
*Required*: No  
*Type*: String  
*Pattern*: `[0-9]\.[A-Za-z0-9.]+`  
*Minimum*: `3`  
*Maximum*: `10`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Image`  <a name="cfn-sagemaker-modelpackage-modelpackagecontainerdefinition-image"></a>
The Amazon Elastic Container Registry (Amazon ECR) path where inference code is stored.  
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 `registry/repository[:tag]` and `registry/repository[@digest]` image path formats. For more information, see [Using Your Own Algorithms with Amazon SageMaker](https://docs.aws.amazon.com/sagemaker/latest/dg/your-algorithms.html).  
*Required*: Yes  
*Type*: String  
*Pattern*: `[\S]{1,255}`  
*Minimum*: `1`  
*Maximum*: `255`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ImageDigest`  <a name="cfn-sagemaker-modelpackage-modelpackagecontainerdefinition-imagedigest"></a>
An MD5 hash of the training algorithm that identifies the Docker image used for training.  
*Required*: No  
*Type*: String  
*Pattern*: `^[Ss][Hh][Aa]256:[0-9a-fA-F]{64}$`  
*Maximum*: `72`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ModelDataSource`  <a name="cfn-sagemaker-modelpackage-modelpackagecontainerdefinition-modeldatasource"></a>
Specifies the location of ML model data to deploy during endpoint creation.  
*Required*: No  
*Type*: [ModelDataSource](aws-properties-sagemaker-modelpackage-modeldatasource.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ModelDataUrl`  <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 `gzip` compressed tar archive (`.tar.gz` suffix).  
The model artifacts must be in an S3 bucket that is in the same region as the model package.
*Required*: No  
*Type*: String  
*Pattern*: `^(https|s3)://([^/]+)/?(.*)$`  
*Maximum*: `1024`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ModelInput`  <a name="cfn-sagemaker-modelpackage-modelpackagecontainerdefinition-modelinput"></a>
A structure with Model Input details.  
*Required*: No  
*Type*: [ModelInput](aws-properties-sagemaker-modelpackage-modelinput.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`NearestModelName`  <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 `ListModelMetadata`.  
*Required*: No  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::SageMaker::ModelPackage ModelPackageStatusDetails
<a name="aws-properties-sagemaker-modelpackage-modelpackagestatusdetails"></a>

Specifies the validation and image scan statuses of the model package.

## Syntax
<a name="aws-properties-sagemaker-modelpackage-modelpackagestatusdetails-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-modelpackage-modelpackagestatusdetails-syntax.json"></a>

```
{
  "[ValidationStatuses](#cfn-sagemaker-modelpackage-modelpackagestatusdetails-validationstatuses)" : [ ModelPackageStatusItem, ... ]
}
```

### YAML
<a name="aws-properties-sagemaker-modelpackage-modelpackagestatusdetails-syntax.yaml"></a>

```
  [ValidationStatuses](#cfn-sagemaker-modelpackage-modelpackagestatusdetails-validationstatuses): 
    - ModelPackageStatusItem
```

## Properties
<a name="aws-properties-sagemaker-modelpackage-modelpackagestatusdetails-properties"></a>

`ValidationStatuses`  <a name="cfn-sagemaker-modelpackage-modelpackagestatusdetails-validationstatuses"></a>
The validation status of the model package.  
*Required*: No  
*Type*: Array of [ModelPackageStatusItem](aws-properties-sagemaker-modelpackage-modelpackagestatusitem.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::SageMaker::ModelPackage ModelPackageStatusItem
<a name="aws-properties-sagemaker-modelpackage-modelpackagestatusitem"></a>

Represents the overall status of a model package.

## Syntax
<a name="aws-properties-sagemaker-modelpackage-modelpackagestatusitem-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-modelpackage-modelpackagestatusitem-syntax.json"></a>

```
{
  "[FailureReason](#cfn-sagemaker-modelpackage-modelpackagestatusitem-failurereason)" : String,
  "[Name](#cfn-sagemaker-modelpackage-modelpackagestatusitem-name)" : String,
  "[Status](#cfn-sagemaker-modelpackage-modelpackagestatusitem-status)" : String
}
```

### YAML
<a name="aws-properties-sagemaker-modelpackage-modelpackagestatusitem-syntax.yaml"></a>

```
  [FailureReason](#cfn-sagemaker-modelpackage-modelpackagestatusitem-failurereason): String
  [Name](#cfn-sagemaker-modelpackage-modelpackagestatusitem-name): String
  [Status](#cfn-sagemaker-modelpackage-modelpackagestatusitem-status): String
```

## Properties
<a name="aws-properties-sagemaker-modelpackage-modelpackagestatusitem-properties"></a>

`FailureReason`  <a name="cfn-sagemaker-modelpackage-modelpackagestatusitem-failurereason"></a>
if the overall status is `Failed`, the reason for the failure.  
*Required*: No  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Name`  <a name="cfn-sagemaker-modelpackage-modelpackagestatusitem-name"></a>
The name of the model package for which the overall status is being reported.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}$`  
*Minimum*: `1`  
*Maximum*: `63`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Status`  <a name="cfn-sagemaker-modelpackage-modelpackagestatusitem-status"></a>
The current status.  
*Required*: Yes  
*Type*: String  
*Allowed values*: `NotStarted | Failed | InProgress | Completed`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::SageMaker::ModelPackage ModelQuality
<a name="aws-properties-sagemaker-modelpackage-modelquality"></a>

Model quality statistics and constraints.

## Syntax
<a name="aws-properties-sagemaker-modelpackage-modelquality-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-modelpackage-modelquality-syntax.json"></a>

```
{
  "[Constraints](#cfn-sagemaker-modelpackage-modelquality-constraints)" : MetricsSource,
  "[Statistics](#cfn-sagemaker-modelpackage-modelquality-statistics)" : MetricsSource
}
```

### YAML
<a name="aws-properties-sagemaker-modelpackage-modelquality-syntax.yaml"></a>

```
  [Constraints](#cfn-sagemaker-modelpackage-modelquality-constraints): 
    MetricsSource
  [Statistics](#cfn-sagemaker-modelpackage-modelquality-statistics): 
    MetricsSource
```

## Properties
<a name="aws-properties-sagemaker-modelpackage-modelquality-properties"></a>

`Constraints`  <a name="cfn-sagemaker-modelpackage-modelquality-constraints"></a>
Model quality constraints.  
*Required*: No  
*Type*: [MetricsSource](aws-properties-sagemaker-modelpackage-metricssource.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`Statistics`  <a name="cfn-sagemaker-modelpackage-modelquality-statistics"></a>
Model quality statistics.  
*Required*: No  
*Type*: [MetricsSource](aws-properties-sagemaker-modelpackage-metricssource.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::SageMaker::ModelPackage S3DataSource
<a name="aws-properties-sagemaker-modelpackage-s3datasource"></a>

Describes the S3 data source.

Your input bucket must be in the same AWS region as your training job.

## Syntax
<a name="aws-properties-sagemaker-modelpackage-s3datasource-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-modelpackage-s3datasource-syntax.json"></a>

```
{
  "[S3DataType](#cfn-sagemaker-modelpackage-s3datasource-s3datatype)" : String,
  "[S3Uri](#cfn-sagemaker-modelpackage-s3datasource-s3uri)" : String
}
```

### YAML
<a name="aws-properties-sagemaker-modelpackage-s3datasource-syntax.yaml"></a>

```
  [S3DataType](#cfn-sagemaker-modelpackage-s3datasource-s3datatype): String
  [S3Uri](#cfn-sagemaker-modelpackage-s3datasource-s3uri): String
```

## Properties
<a name="aws-properties-sagemaker-modelpackage-s3datasource-properties"></a>

`S3DataType`  <a name="cfn-sagemaker-modelpackage-s3datasource-s3datatype"></a>
If you choose `S3Prefix`, `S3Uri` identifies a key name prefix. SageMaker uses all objects that match the specified key name prefix for model training.   
If you choose `ManifestFile`, `S3Uri` identifies an object that is a manifest file containing a list of object keys that you want SageMaker to use for model training.   
If you choose `AugmentedManifestFile`, `S3Uri` identifies an object that is an augmented manifest file in JSON lines format. This file contains the data you want to use for model training. `AugmentedManifestFile` can only be used if the Channel's input mode is `Pipe`.  
If you choose `Converse`, `S3Uri` identifies an Amazon S3 location that contains data formatted according to Converse format. This format structures conversational messages with specific roles and content types used for training and fine-tuning foundational models.  
*Required*: Yes  
*Type*: String  
*Allowed values*: `ManifestFile | S3Prefix | AugmentedManifestFile`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`S3Uri`  <a name="cfn-sagemaker-modelpackage-s3datasource-s3uri"></a>
Depending on the value specified for the `S3DataType`, identifies either a key name prefix or a manifest. For example:   
+  A key name prefix might look like this: `s3://bucketname/exampleprefix/`
+  A manifest might look like this: `s3://bucketname/example.manifest`

   A manifest is an S3 object which is a JSON file consisting of an array of elements. The first element is a prefix which is followed by one or more suffixes. SageMaker appends the suffix elements to the prefix to get a full set of `S3Uri`. Note that the prefix must be a valid non-empty `S3Uri` that precludes users from specifying a manifest whose individual `S3Uri` is sourced from different S3 buckets.

   The following code example shows a valid manifest format: 

   `[ {"prefix": "s3://customer_bucket/some/prefix/"},` 

   ` "relative/path/to/custdata-1",` 

   ` "relative/path/custdata-2",` 

   ` ...` 

   ` "relative/path/custdata-N"` 

   `]` 

   This JSON is equivalent to the following `S3Uri` list:

   `s3://customer_bucket/some/prefix/relative/path/to/custdata-1` 

   `s3://customer_bucket/some/prefix/relative/path/custdata-2` 

   `...` 

   `s3://customer_bucket/some/prefix/relative/path/custdata-N` 

  The complete set of `S3Uri` in this manifest is the input data for the channel for this data source. The object that each `S3Uri` points to must be readable by the IAM role that SageMaker uses to perform tasks on your behalf. 
Your input bucket must be located in same AWS region as your training job.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^(https|s3)://([^/]+)/?(.*)$`  
*Maximum*: `1024`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::SageMaker::ModelPackage S3ModelDataSource
<a name="aws-properties-sagemaker-modelpackage-s3modeldatasource"></a>

Specifies the S3 location of ML model data to deploy.

## Syntax
<a name="aws-properties-sagemaker-modelpackage-s3modeldatasource-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-modelpackage-s3modeldatasource-syntax.json"></a>

```
{
  "[CompressionType](#cfn-sagemaker-modelpackage-s3modeldatasource-compressiontype)" : String,
  "[ModelAccessConfig](#cfn-sagemaker-modelpackage-s3modeldatasource-modelaccessconfig)" : ModelAccessConfig,
  "[S3DataType](#cfn-sagemaker-modelpackage-s3modeldatasource-s3datatype)" : String,
  "[S3Uri](#cfn-sagemaker-modelpackage-s3modeldatasource-s3uri)" : String
}
```

### YAML
<a name="aws-properties-sagemaker-modelpackage-s3modeldatasource-syntax.yaml"></a>

```
  [CompressionType](#cfn-sagemaker-modelpackage-s3modeldatasource-compressiontype): String
  [ModelAccessConfig](#cfn-sagemaker-modelpackage-s3modeldatasource-modelaccessconfig): 
    ModelAccessConfig
  [S3DataType](#cfn-sagemaker-modelpackage-s3modeldatasource-s3datatype): String
  [S3Uri](#cfn-sagemaker-modelpackage-s3modeldatasource-s3uri): String
```

## Properties
<a name="aws-properties-sagemaker-modelpackage-s3modeldatasource-properties"></a>

`CompressionType`  <a name="cfn-sagemaker-modelpackage-s3modeldatasource-compressiontype"></a>
Specifies how the ML model data is prepared.  
If you choose `Gzip` and choose `S3Object` as the value of `S3DataType`, `S3Uri` identifies an object that is a gzip-compressed TAR archive. SageMaker will attempt to decompress and untar the object during model deployment.  
If you choose `None` and chooose `S3Object` as the value of `S3DataType`, `S3Uri` identifies an object that represents an uncompressed ML model to deploy.  
If you choose None and choose `S3Prefix` as the value of `S3DataType`, `S3Uri` identifies a key name prefix, under which all objects represents the uncompressed ML model to deploy.  
If you choose None, then SageMaker will follow rules below when creating model data files under /opt/ml/model directory for use by your inference code:  
+ If you choose `S3Object` as the value of `S3DataType`, then SageMaker will split the key of the S3 object referenced by `S3Uri` by slash (/), and use the last part as the filename of the file holding the content of the S3 object.
+ If you choose `S3Prefix` as the value of `S3DataType`, then for each S3 object under the key name pefix referenced by `S3Uri`, SageMaker will trim its key by the prefix, and use the remainder as the path (relative to `/opt/ml/model`) of the file holding the content of the S3 object. SageMaker will split the remainder by slash (/), using intermediate parts as directory names and the last part as filename of the file holding the content of the S3 object.
+ Do not use any of the following as file names or directory names:
  + An empty or blank string
  + A string which contains null bytes
  + A string longer than 255 bytes
  + A single dot (`.`)
  + A double dot (`..`)
+ Ambiguous file names will result in model deployment failure. For example, if your uncompressed ML model consists of two S3 objects `s3://mybucket/model/weights` and `s3://mybucket/model/weights/part1` and you specify `s3://mybucket/model/` as the value of `S3Uri` and `S3Prefix` as the value of `S3DataType`, then it will result in name clash between `/opt/ml/model/weights` (a regular file) and `/opt/ml/model/weights/` (a directory).
+ Do not organize the model artifacts in [S3 console using folders](https://docs.aws.amazon.com//AmazonS3/latest/userguide/using-folders.html). When you create a folder in S3 console, S3 creates a 0-byte object with a key set to the folder name you provide. They key of the 0-byte object ends with a slash (/) which violates SageMaker restrictions on model artifact file names, leading to model deployment failure. 
*Required*: Yes  
*Type*: String  
*Allowed values*: `None | Gzip`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ModelAccessConfig`  <a name="cfn-sagemaker-modelpackage-s3modeldatasource-modelaccessconfig"></a>
Specifies the access configuration file for the ML model. You can explicitly accept the model end-user license agreement (EULA) within the `ModelAccessConfig`. You are responsible for reviewing and complying with any applicable license terms and making sure they are acceptable for your use case before downloading or using a model.  
*Required*: No  
*Type*: [ModelAccessConfig](aws-properties-sagemaker-modelpackage-modelaccessconfig.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`S3DataType`  <a name="cfn-sagemaker-modelpackage-s3modeldatasource-s3datatype"></a>
Specifies the type of ML model data to deploy.  
If you choose `S3Prefix`, `S3Uri` identifies a key name prefix. SageMaker uses all objects that match the specified key name prefix as part of the ML model data to deploy. A valid key name prefix identified by `S3Uri` always ends with a forward slash (/).  
If you choose `S3Object`, `S3Uri` identifies an object that is the ML model data to deploy.  
*Required*: Yes  
*Type*: String  
*Allowed values*: `S3Prefix | S3Object`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`S3Uri`  <a name="cfn-sagemaker-modelpackage-s3modeldatasource-s3uri"></a>
Specifies the S3 path of ML model data to deploy.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^(https|s3)://([^/]+)/?(.*)$`  
*Maximum*: `1024`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::SageMaker::ModelPackage SecurityConfig
<a name="aws-properties-sagemaker-modelpackage-securityconfig"></a>

Security configuration for the model package.

## Syntax
<a name="aws-properties-sagemaker-modelpackage-securityconfig-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-modelpackage-securityconfig-syntax.json"></a>

```
{
  "[KmsKeyId](#cfn-sagemaker-modelpackage-securityconfig-kmskeyid)" : String
}
```

### YAML
<a name="aws-properties-sagemaker-modelpackage-securityconfig-syntax.yaml"></a>

```
  [KmsKeyId](#cfn-sagemaker-modelpackage-securityconfig-kmskeyid): String
```

## Properties
<a name="aws-properties-sagemaker-modelpackage-securityconfig-properties"></a>

`KmsKeyId`  <a name="cfn-sagemaker-modelpackage-securityconfig-kmskeyid"></a>
The AWS KMS key ID used to encrypt the model package.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^[a-zA-Z0-9:/_-]*$`  
*Maximum*: `2048`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::SageMaker::ModelPackage SourceAlgorithm
<a name="aws-properties-sagemaker-modelpackage-sourcealgorithm"></a>

Specifies an algorithm that was used to create the model package. The algorithm must be either an algorithm resource in your SageMaker account or an algorithm in AWS Marketplace that you are subscribed to.

## Syntax
<a name="aws-properties-sagemaker-modelpackage-sourcealgorithm-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-modelpackage-sourcealgorithm-syntax.json"></a>

```
{
  "[AlgorithmName](#cfn-sagemaker-modelpackage-sourcealgorithm-algorithmname)" : String,
  "[ModelDataUrl](#cfn-sagemaker-modelpackage-sourcealgorithm-modeldataurl)" : String
}
```

### YAML
<a name="aws-properties-sagemaker-modelpackage-sourcealgorithm-syntax.yaml"></a>

```
  [AlgorithmName](#cfn-sagemaker-modelpackage-sourcealgorithm-algorithmname): String
  [ModelDataUrl](#cfn-sagemaker-modelpackage-sourcealgorithm-modeldataurl): String
```

## Properties
<a name="aws-properties-sagemaker-modelpackage-sourcealgorithm-properties"></a>

`AlgorithmName`  <a name="cfn-sagemaker-modelpackage-sourcealgorithm-algorithmname"></a>
The name of an algorithm that was used to create the model package. The algorithm must be either an algorithm resource in your SageMaker account or an algorithm in AWS Marketplace that you are subscribed to.  
*Required*: Yes  
*Type*: String  
*Pattern*: `(arn:aws[a-z\-]*:sagemaker:[a-z0-9\-]*:[0-9]{12}:[a-z\-]*\/)?([a-zA-Z0-9]([a-zA-Z0-9-]){0,62})(?<!-)$`  
*Minimum*: `1`  
*Maximum*: `170`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`ModelDataUrl`  <a name="cfn-sagemaker-modelpackage-sourcealgorithm-modeldataurl"></a>
The Amazon S3 path where the model artifacts, which result from model training, are stored. This path must point to a single `gzip` compressed tar archive (`.tar.gz` suffix).  
The model artifacts must be in an S3 bucket that is in the same AWS region as the algorithm.
*Required*: No  
*Type*: String  
*Pattern*: `^(https|s3)://([^/]+)/?(.*)$`  
*Maximum*: `1024`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::SageMaker::ModelPackage SourceAlgorithmSpecification
<a name="aws-properties-sagemaker-modelpackage-sourcealgorithmspecification"></a>

A list of algorithms that were used to create a model package.

## Syntax
<a name="aws-properties-sagemaker-modelpackage-sourcealgorithmspecification-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-modelpackage-sourcealgorithmspecification-syntax.json"></a>

```
{
  "[SourceAlgorithms](#cfn-sagemaker-modelpackage-sourcealgorithmspecification-sourcealgorithms)" : [ SourceAlgorithm, ... ]
}
```

### YAML
<a name="aws-properties-sagemaker-modelpackage-sourcealgorithmspecification-syntax.yaml"></a>

```
  [SourceAlgorithms](#cfn-sagemaker-modelpackage-sourcealgorithmspecification-sourcealgorithms): 
    - SourceAlgorithm
```

## Properties
<a name="aws-properties-sagemaker-modelpackage-sourcealgorithmspecification-properties"></a>

`SourceAlgorithms`  <a name="cfn-sagemaker-modelpackage-sourcealgorithmspecification-sourcealgorithms"></a>
A list of the algorithms that were used to create a model package.  
*Required*: Yes  
*Type*: Array of [SourceAlgorithm](aws-properties-sagemaker-modelpackage-sourcealgorithm.md)  
*Minimum*: `1`  
*Maximum*: `1`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::SageMaker::ModelPackage Tag
<a name="aws-properties-sagemaker-modelpackage-tag"></a>

A tag object that consists of a key and an optional value, used to manage metadata for SageMaker AWS resources.

You can add tags to notebook instances, training jobs, hyperparameter tuning jobs, batch transform jobs, models, labeling jobs, work teams, endpoint configurations, and endpoints. For more information on adding tags to SageMaker resources, see [AddTags](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AddTags.html).

For more information on adding metadata to your AWS resources with tagging, see [Tagging AWS resources](https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html). For advice on best practices for managing AWS resources with tagging, see [Tagging Best Practices: Implement an Effective AWS Resource Tagging Strategy](https://d1.awsstatic.com/whitepapers/aws-tagging-best-practices.pdf).

## Syntax
<a name="aws-properties-sagemaker-modelpackage-tag-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-modelpackage-tag-syntax.json"></a>

```
{
  "[Key](#cfn-sagemaker-modelpackage-tag-key)" : String,
  "[Value](#cfn-sagemaker-modelpackage-tag-value)" : String
}
```

### YAML
<a name="aws-properties-sagemaker-modelpackage-tag-syntax.yaml"></a>

```
  [Key](#cfn-sagemaker-modelpackage-tag-key): String
  [Value](#cfn-sagemaker-modelpackage-tag-value): String
```

## Properties
<a name="aws-properties-sagemaker-modelpackage-tag-properties"></a>

`Key`  <a name="cfn-sagemaker-modelpackage-tag-key"></a>
The tag key. Tag keys must be unique per resource.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^([\p{L}\p{Z}\p{N}_.:/=+\-@]*)$`  
*Minimum*: `1`  
*Maximum*: `128`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Value`  <a name="cfn-sagemaker-modelpackage-tag-value"></a>
The tag value.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^([\p{L}\p{Z}\p{N}_.:/=+\-@]*)$`  
*Maximum*: `256`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::SageMaker::ModelPackage TransformInput
<a name="aws-properties-sagemaker-modelpackage-transforminput"></a>

Describes the input source of a transform job and the way the transform job consumes it.

## Syntax
<a name="aws-properties-sagemaker-modelpackage-transforminput-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-modelpackage-transforminput-syntax.json"></a>

```
{
  "[CompressionType](#cfn-sagemaker-modelpackage-transforminput-compressiontype)" : String,
  "[ContentType](#cfn-sagemaker-modelpackage-transforminput-contenttype)" : String,
  "[DataSource](#cfn-sagemaker-modelpackage-transforminput-datasource)" : DataSource,
  "[SplitType](#cfn-sagemaker-modelpackage-transforminput-splittype)" : String
}
```

### YAML
<a name="aws-properties-sagemaker-modelpackage-transforminput-syntax.yaml"></a>

```
  [CompressionType](#cfn-sagemaker-modelpackage-transforminput-compressiontype): String
  [ContentType](#cfn-sagemaker-modelpackage-transforminput-contenttype): String
  [DataSource](#cfn-sagemaker-modelpackage-transforminput-datasource): 
    DataSource
  [SplitType](#cfn-sagemaker-modelpackage-transforminput-splittype): String
```

## Properties
<a name="aws-properties-sagemaker-modelpackage-transforminput-properties"></a>

`CompressionType`  <a name="cfn-sagemaker-modelpackage-transforminput-compressiontype"></a>
If your transform data is compressed, specify the compression type. Amazon SageMaker automatically decompresses the data for the transform job accordingly. The default value is `None`.  
*Required*: No  
*Type*: String  
*Allowed values*: `None | Gzip`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`ContentType`  <a name="cfn-sagemaker-modelpackage-transforminput-contenttype"></a>
The multipurpose internet mail extension (MIME) type of the data. Amazon SageMaker uses the MIME type with each http call to transfer data to the transform job.  
*Required*: No  
*Type*: String  
*Pattern*: `.*`  
*Maximum*: `256`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`DataSource`  <a name="cfn-sagemaker-modelpackage-transforminput-datasource"></a>
Describes the location of the channel data, which is, the S3 location of the input data that the model can consume.  
*Required*: Yes  
*Type*: [DataSource](aws-properties-sagemaker-modelpackage-datasource.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`SplitType`  <a name="cfn-sagemaker-modelpackage-transforminput-splittype"></a>
The method to use to split the transform job's data files into smaller batches. Splitting is necessary when the total size of each object is too large to fit in a single request. You can also use data splitting to improve performance by processing multiple concurrent mini-batches. The default value for `SplitType` is `None`, which indicates that input data files are not split, and request payloads contain the entire contents of an input object. Set the value of this parameter to `Line` to split records on a newline character boundary. `SplitType` also supports a number of record-oriented binary data formats. Currently, the supported record formats are:  
+ RecordIO
+ TFRecord
When splitting is enabled, the size of a mini-batch depends on the values of the `BatchStrategy` and `MaxPayloadInMB` parameters. When the value of `BatchStrategy` is `MultiRecord`, Amazon SageMaker sends the maximum number of records in each request, up to the `MaxPayloadInMB` limit. If the value of `BatchStrategy` is `SingleRecord`, Amazon SageMaker sends individual records in each request.  
Some data formats represent a record as a binary payload wrapped with extra padding bytes. When splitting is applied to a binary data format, padding is removed if the value of `BatchStrategy` is set to `SingleRecord`. Padding is not removed if the value of `BatchStrategy` is set to `MultiRecord`.  
For more information about `RecordIO`, see [Create a Dataset Using RecordIO](https://mxnet.apache.org/api/faq/recordio) in the MXNet documentation. For more information about `TFRecord`, see [Consuming TFRecord data](https://www.tensorflow.org/guide/data#consuming_tfrecord_data) in the TensorFlow documentation.
*Required*: No  
*Type*: String  
*Allowed values*: `None | TFRecord | Line | RecordIO`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::SageMaker::ModelPackage TransformJobDefinition
<a name="aws-properties-sagemaker-modelpackage-transformjobdefinition"></a>

Defines the input needed to run a transform job using the inference specification specified in the algorithm.

## Syntax
<a name="aws-properties-sagemaker-modelpackage-transformjobdefinition-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-modelpackage-transformjobdefinition-syntax.json"></a>

```
{
  "[BatchStrategy](#cfn-sagemaker-modelpackage-transformjobdefinition-batchstrategy)" : String,
  "[Environment](#cfn-sagemaker-modelpackage-transformjobdefinition-environment)" : {Key: Value, ...},
  "[MaxConcurrentTransforms](#cfn-sagemaker-modelpackage-transformjobdefinition-maxconcurrenttransforms)" : Integer,
  "[MaxPayloadInMB](#cfn-sagemaker-modelpackage-transformjobdefinition-maxpayloadinmb)" : Integer,
  "[TransformInput](#cfn-sagemaker-modelpackage-transformjobdefinition-transforminput)" : TransformInput,
  "[TransformOutput](#cfn-sagemaker-modelpackage-transformjobdefinition-transformoutput)" : TransformOutput,
  "[TransformResources](#cfn-sagemaker-modelpackage-transformjobdefinition-transformresources)" : TransformResources
}
```

### YAML
<a name="aws-properties-sagemaker-modelpackage-transformjobdefinition-syntax.yaml"></a>

```
  [BatchStrategy](#cfn-sagemaker-modelpackage-transformjobdefinition-batchstrategy): String
  [Environment](#cfn-sagemaker-modelpackage-transformjobdefinition-environment): 
    Key: Value
  [MaxConcurrentTransforms](#cfn-sagemaker-modelpackage-transformjobdefinition-maxconcurrenttransforms): Integer
  [MaxPayloadInMB](#cfn-sagemaker-modelpackage-transformjobdefinition-maxpayloadinmb): Integer
  [TransformInput](#cfn-sagemaker-modelpackage-transformjobdefinition-transforminput): 
    TransformInput
  [TransformOutput](#cfn-sagemaker-modelpackage-transformjobdefinition-transformoutput): 
    TransformOutput
  [TransformResources](#cfn-sagemaker-modelpackage-transformjobdefinition-transformresources): 
    TransformResources
```

## Properties
<a name="aws-properties-sagemaker-modelpackage-transformjobdefinition-properties"></a>

`BatchStrategy`  <a name="cfn-sagemaker-modelpackage-transformjobdefinition-batchstrategy"></a>
A string that determines the number of records included in a single mini-batch.  
`SingleRecord` means only one record is used per mini-batch. `MultiRecord` means a mini-batch is set to contain as many records that can fit within the `MaxPayloadInMB` limit.  
*Required*: No  
*Type*: String  
*Allowed values*: `MultiRecord | SingleRecord`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`Environment`  <a name="cfn-sagemaker-modelpackage-transformjobdefinition-environment"></a>
The environment variables to set in the Docker container. We support up to 16 key and values entries in the map.  
*Required*: No  
*Type*: Object of String  
*Pattern*: `[a-zA-Z_][a-zA-Z0-9_]*`  
*Maximum*: `1024`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`MaxConcurrentTransforms`  <a name="cfn-sagemaker-modelpackage-transformjobdefinition-maxconcurrenttransforms"></a>
The maximum number of parallel requests that can be sent to each instance in a transform job. The default value is 1.  
*Required*: No  
*Type*: Integer  
*Minimum*: `0`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`MaxPayloadInMB`  <a name="cfn-sagemaker-modelpackage-transformjobdefinition-maxpayloadinmb"></a>
The maximum payload size allowed, in MB. A payload is the data portion of a record (without metadata).  
*Required*: No  
*Type*: Integer  
*Minimum*: `0`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`TransformInput`  <a name="cfn-sagemaker-modelpackage-transformjobdefinition-transforminput"></a>
A description of the input source and the way the transform job consumes it.  
*Required*: Yes  
*Type*: [TransformInput](aws-properties-sagemaker-modelpackage-transforminput.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`TransformOutput`  <a name="cfn-sagemaker-modelpackage-transformjobdefinition-transformoutput"></a>
Identifies the Amazon S3 location where you want Amazon SageMaker to save the results from the transform job.  
*Required*: Yes  
*Type*: [TransformOutput](aws-properties-sagemaker-modelpackage-transformoutput.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`TransformResources`  <a name="cfn-sagemaker-modelpackage-transformjobdefinition-transformresources"></a>
Identifies the ML compute instances for the transform job.  
*Required*: Yes  
*Type*: [TransformResources](aws-properties-sagemaker-modelpackage-transformresources.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::SageMaker::ModelPackage TransformOutput
<a name="aws-properties-sagemaker-modelpackage-transformoutput"></a>

Describes the results of a transform job.

## Syntax
<a name="aws-properties-sagemaker-modelpackage-transformoutput-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-modelpackage-transformoutput-syntax.json"></a>

```
{
  "[Accept](#cfn-sagemaker-modelpackage-transformoutput-accept)" : String,
  "[AssembleWith](#cfn-sagemaker-modelpackage-transformoutput-assemblewith)" : String,
  "[KmsKeyId](#cfn-sagemaker-modelpackage-transformoutput-kmskeyid)" : String,
  "[S3OutputPath](#cfn-sagemaker-modelpackage-transformoutput-s3outputpath)" : String
}
```

### YAML
<a name="aws-properties-sagemaker-modelpackage-transformoutput-syntax.yaml"></a>

```
  [Accept](#cfn-sagemaker-modelpackage-transformoutput-accept): String
  [AssembleWith](#cfn-sagemaker-modelpackage-transformoutput-assemblewith): String
  [KmsKeyId](#cfn-sagemaker-modelpackage-transformoutput-kmskeyid): String
  [S3OutputPath](#cfn-sagemaker-modelpackage-transformoutput-s3outputpath): String
```

## Properties
<a name="aws-properties-sagemaker-modelpackage-transformoutput-properties"></a>

`Accept`  <a name="cfn-sagemaker-modelpackage-transformoutput-accept"></a>
The MIME type used to specify the output data. Amazon SageMaker uses the MIME type with each http call to transfer data from the transform job.  
*Required*: No  
*Type*: String  
*Pattern*: `.*`  
*Maximum*: `256`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`AssembleWith`  <a name="cfn-sagemaker-modelpackage-transformoutput-assemblewith"></a>
Defines how to assemble the results of the transform job as a single S3 object. Choose a format that is most convenient to you. To concatenate the results in binary format, specify `None`. To add a newline character at the end of every transformed record, specify `Line`.  
*Required*: No  
*Type*: String  
*Allowed values*: `None | Line`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`KmsKeyId`  <a name="cfn-sagemaker-modelpackage-transformoutput-kmskeyid"></a>
The AWS Key Management Service (AWS KMS) key that Amazon SageMaker uses to encrypt the model artifacts at rest using Amazon S3 server-side encryption. The `KmsKeyId` can be any of the following formats:   
+ Key ID: `1234abcd-12ab-34cd-56ef-1234567890ab`
+ Key ARN: `arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab`
+ Alias name: `alias/ExampleAlias`
+ Alias name ARN: `arn:aws:kms:us-west-2:111122223333:alias/ExampleAlias`
If you don't provide a KMS key ID, Amazon SageMaker uses the default KMS key for Amazon S3 for your role's account. For more information, see [KMS-Managed Encryption Keys](https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingKMSEncryption.html) in the *Amazon Simple Storage Service Developer Guide.*  
The KMS key policy must grant permission to the IAM role that you specify in your [CreateModel](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateModel.html) request. For more information, see [Using Key Policies in AWS KMS](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html) in the *AWS Key Management Service Developer Guide*.  
*Required*: No  
*Type*: String  
*Pattern*: `.*`  
*Maximum*: `2048`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`S3OutputPath`  <a name="cfn-sagemaker-modelpackage-transformoutput-s3outputpath"></a>
The Amazon S3 path where you want Amazon SageMaker to store the results of the transform job. For example, `s3://bucket-name/key-name-prefix`.  
For every S3 object used as input for the transform job, batch transform stores the transformed data with an .`out` suffix in a corresponding subfolder in the location in the output prefix. For example, for the input data stored at `s3://bucket-name/input-name-prefix/dataset01/data.csv`, batch transform stores the transformed data at `s3://bucket-name/output-name-prefix/input-name-prefix/data.csv.out`. Batch transform doesn't upload partially processed objects. For an input S3 object that contains multiple records, it creates an .`out` file only if the transform job succeeds on the entire file. When the input contains multiple S3 objects, the batch transform job processes the listed S3 objects and uploads only the output for successfully processed objects. If any object fails in the transform job batch transform marks the job as failed to prompt investigation.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^(https|s3)://([^/]+)/?(.*)$`  
*Maximum*: `1024`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::SageMaker::ModelPackage TransformResources
<a name="aws-properties-sagemaker-modelpackage-transformresources"></a>

Describes the resources, including ML instance types and ML instance count, to use for transform job.

## Syntax
<a name="aws-properties-sagemaker-modelpackage-transformresources-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-modelpackage-transformresources-syntax.json"></a>

```
{
  "[InstanceCount](#cfn-sagemaker-modelpackage-transformresources-instancecount)" : Integer,
  "[InstanceType](#cfn-sagemaker-modelpackage-transformresources-instancetype)" : String,
  "[VolumeKmsKeyId](#cfn-sagemaker-modelpackage-transformresources-volumekmskeyid)" : String
}
```

### YAML
<a name="aws-properties-sagemaker-modelpackage-transformresources-syntax.yaml"></a>

```
  [InstanceCount](#cfn-sagemaker-modelpackage-transformresources-instancecount): Integer
  [InstanceType](#cfn-sagemaker-modelpackage-transformresources-instancetype): String
  [VolumeKmsKeyId](#cfn-sagemaker-modelpackage-transformresources-volumekmskeyid): String
```

## Properties
<a name="aws-properties-sagemaker-modelpackage-transformresources-properties"></a>

`InstanceCount`  <a name="cfn-sagemaker-modelpackage-transformresources-instancecount"></a>
The number of ML compute instances to use in the transform job. The default value is `1`, and the maximum is `100`. For distributed transform jobs, specify a value greater than `1`.  
*Required*: Yes  
*Type*: Integer  
*Minimum*: `1`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`InstanceType`  <a name="cfn-sagemaker-modelpackage-transformresources-instancetype"></a>
The ML compute instance type for the transform job. If you are using built-in algorithms to transform moderately sized datasets, we recommend using ml.m4.xlarge or `ml.m5.large`instance types.  
*Required*: Yes  
*Type*: String  
*Allowed values*: `ml.m4.xlarge | ml.m4.2xlarge | ml.m4.4xlarge | ml.m4.10xlarge | ml.m4.16xlarge | ml.c4.xlarge | ml.c4.2xlarge | ml.c4.4xlarge | ml.c4.8xlarge | ml.p2.xlarge | ml.p2.8xlarge | ml.p2.16xlarge | ml.p3.2xlarge | ml.p3.8xlarge | ml.p3.16xlarge | ml.c5.xlarge | ml.c5.2xlarge | ml.c5.4xlarge | ml.c5.9xlarge | ml.c5.18xlarge | ml.m5.large | ml.m5.xlarge | ml.m5.2xlarge | ml.m5.4xlarge | ml.m5.12xlarge | ml.m5.24xlarge | ml.m6i.large | ml.m6i.xlarge | ml.m6i.2xlarge | ml.m6i.4xlarge | ml.m6i.8xlarge | ml.m6i.12xlarge | ml.m6i.16xlarge | ml.m6i.24xlarge | ml.m6i.32xlarge | ml.c6i.large | ml.c6i.xlarge | ml.c6i.2xlarge | ml.c6i.4xlarge | ml.c6i.8xlarge | ml.c6i.12xlarge | ml.c6i.16xlarge | ml.c6i.24xlarge | ml.c6i.32xlarge | ml.r6i.large | ml.r6i.xlarge | ml.r6i.2xlarge | ml.r6i.4xlarge | ml.r6i.8xlarge | ml.r6i.12xlarge | ml.r6i.16xlarge | ml.r6i.24xlarge | ml.r6i.32xlarge | ml.m7i.large | ml.m7i.xlarge | ml.m7i.2xlarge | ml.m7i.4xlarge | ml.m7i.8xlarge | ml.m7i.12xlarge | ml.m7i.16xlarge | ml.m7i.24xlarge | ml.m7i.48xlarge | ml.c7i.large | ml.c7i.xlarge | ml.c7i.2xlarge | ml.c7i.4xlarge | ml.c7i.8xlarge | ml.c7i.12xlarge | ml.c7i.16xlarge | ml.c7i.24xlarge | ml.c7i.48xlarge | ml.r7i.large | ml.r7i.xlarge | ml.r7i.2xlarge | ml.r7i.4xlarge | ml.r7i.8xlarge | ml.r7i.12xlarge | ml.r7i.16xlarge | ml.r7i.24xlarge | ml.r7i.48xlarge | ml.g4dn.xlarge | ml.g4dn.2xlarge | ml.g4dn.4xlarge | ml.g4dn.8xlarge | ml.g4dn.12xlarge | ml.g4dn.16xlarge | ml.g5.xlarge | ml.g5.2xlarge | ml.g5.4xlarge | ml.g5.8xlarge | ml.g5.12xlarge | ml.g5.16xlarge | ml.g5.24xlarge | ml.g5.48xlarge | ml.trn1.2xlarge | ml.trn1.32xlarge | ml.inf2.xlarge | ml.inf2.8xlarge | ml.inf2.24xlarge | ml.inf2.48xlarge | ml.g6.xlarge | ml.g6.2xlarge | ml.g6.4xlarge | ml.g6.8xlarge | ml.g6.12xlarge | ml.g6.16xlarge | ml.g6.24xlarge | ml.g6.48xlarge`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`VolumeKmsKeyId`  <a name="cfn-sagemaker-modelpackage-transformresources-volumekmskeyid"></a>
The AWS Key Management Service (AWS KMS) key that Amazon SageMaker uses to encrypt model data on the storage volume attached to the ML compute instance(s) that run the batch transform job.  
Certain Nitro-based instances include local storage, dependent on the instance type. Local storage volumes are encrypted using a hardware module on the instance. You can't request a `VolumeKmsKeyId` when using an instance type with local storage.  
For a list of instance types that support local instance storage, see [Instance Store Volumes](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html#instance-store-volumes).  
For more information about local instance storage encryption, see [SSD Instance Store Volumes](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ssd-instance-store.html).
 The `VolumeKmsKeyId` can be any of the following formats:  
+ Key ID: `1234abcd-12ab-34cd-56ef-1234567890ab`
+ Key ARN: `arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab`
+ Alias name: `alias/ExampleAlias`
+ Alias name ARN: `arn:aws:kms:us-west-2:111122223333:alias/ExampleAlias`
*Required*: No  
*Type*: String  
*Pattern*: `.*`  
*Maximum*: `2048`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::SageMaker::ModelPackage ValidationProfile
<a name="aws-properties-sagemaker-modelpackage-validationprofile"></a>

Contains data, such as the inputs and targeted instance types that are used in the process of validating the model package.

The data provided in the validation profile is made available to your buyers on AWS Marketplace.

## Syntax
<a name="aws-properties-sagemaker-modelpackage-validationprofile-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-modelpackage-validationprofile-syntax.json"></a>

```
{
  "[ProfileName](#cfn-sagemaker-modelpackage-validationprofile-profilename)" : String,
  "[TransformJobDefinition](#cfn-sagemaker-modelpackage-validationprofile-transformjobdefinition)" : TransformJobDefinition
}
```

### YAML
<a name="aws-properties-sagemaker-modelpackage-validationprofile-syntax.yaml"></a>

```
  [ProfileName](#cfn-sagemaker-modelpackage-validationprofile-profilename): String
  [TransformJobDefinition](#cfn-sagemaker-modelpackage-validationprofile-transformjobdefinition): 
    TransformJobDefinition
```

## Properties
<a name="aws-properties-sagemaker-modelpackage-validationprofile-properties"></a>

`ProfileName`  <a name="cfn-sagemaker-modelpackage-validationprofile-profilename"></a>
The name of the profile for the model package.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}$`  
*Minimum*: `1`  
*Maximum*: `63`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`TransformJobDefinition`  <a name="cfn-sagemaker-modelpackage-validationprofile-transformjobdefinition"></a>
The `TransformJobDefinition` object that describes the transform job used for the validation of the model package.  
*Required*: Yes  
*Type*: [TransformJobDefinition](aws-properties-sagemaker-modelpackage-transformjobdefinition.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::SageMaker::ModelPackage ValidationSpecification
<a name="aws-properties-sagemaker-modelpackage-validationspecification"></a>

Specifies batch transform jobs that SageMaker runs to validate your model package.

## Syntax
<a name="aws-properties-sagemaker-modelpackage-validationspecification-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-modelpackage-validationspecification-syntax.json"></a>

```
{
  "[ValidationProfiles](#cfn-sagemaker-modelpackage-validationspecification-validationprofiles)" : [ ValidationProfile, ... ],
  "[ValidationRole](#cfn-sagemaker-modelpackage-validationspecification-validationrole)" : String
}
```

### YAML
<a name="aws-properties-sagemaker-modelpackage-validationspecification-syntax.yaml"></a>

```
  [ValidationProfiles](#cfn-sagemaker-modelpackage-validationspecification-validationprofiles): 
    - ValidationProfile
  [ValidationRole](#cfn-sagemaker-modelpackage-validationspecification-validationrole): String
```

## Properties
<a name="aws-properties-sagemaker-modelpackage-validationspecification-properties"></a>

`ValidationProfiles`  <a name="cfn-sagemaker-modelpackage-validationspecification-validationprofiles"></a>
An array of `ModelPackageValidationProfile` objects, each of which specifies a batch transform job that SageMaker runs to validate your model package.  
*Required*: Yes  
*Type*: Array of [ValidationProfile](aws-properties-sagemaker-modelpackage-validationprofile.md)  
*Minimum*: `1`  
*Maximum*: `1`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`ValidationRole`  <a name="cfn-sagemaker-modelpackage-validationspecification-validationrole"></a>
The IAM roles to be used for the validation of the model package.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^arn:aws[a-z\-]*:iam::\d{12}:role/?[a-zA-Z_0-9+=,.@\-_/]+$`  
*Minimum*: `20`  
*Maximum*: `2048`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)