

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).

# Amazon SageMaker AI
<a name="AWS_SageMaker"></a>

**Resource types**
+ [AWS::SageMaker::App](aws-resource-sagemaker-app.md)
+ [AWS::SageMaker::AppImageConfig](aws-resource-sagemaker-appimageconfig.md)
+ [AWS::SageMaker::Cluster](aws-resource-sagemaker-cluster.md)
+ [AWS::SageMaker::CodeRepository](aws-resource-sagemaker-coderepository.md)
+ [AWS::SageMaker::DataQualityJobDefinition](aws-resource-sagemaker-dataqualityjobdefinition.md)
+ [AWS::SageMaker::Device](aws-resource-sagemaker-device.md)
+ [AWS::SageMaker::DeviceFleet](aws-resource-sagemaker-devicefleet.md)
+ [AWS::SageMaker::Domain](aws-resource-sagemaker-domain.md)
+ [AWS::SageMaker::Endpoint](aws-resource-sagemaker-endpoint.md)
+ [AWS::SageMaker::EndpointConfig](aws-resource-sagemaker-endpointconfig.md)
+ [AWS::SageMaker::FeatureGroup](aws-resource-sagemaker-featuregroup.md)
+ [AWS::SageMaker::Image](aws-resource-sagemaker-image.md)
+ [AWS::SageMaker::ImageVersion](aws-resource-sagemaker-imageversion.md)
+ [AWS::SageMaker::InferenceComponent](aws-resource-sagemaker-inferencecomponent.md)
+ [AWS::SageMaker::InferenceExperiment](aws-resource-sagemaker-inferenceexperiment.md)
+ [AWS::SageMaker::MlflowTrackingServer](aws-resource-sagemaker-mlflowtrackingserver.md)
+ [AWS::SageMaker::Model](aws-resource-sagemaker-model.md)
+ [AWS::SageMaker::ModelBiasJobDefinition](aws-resource-sagemaker-modelbiasjobdefinition.md)
+ [AWS::SageMaker::ModelCard](aws-resource-sagemaker-modelcard.md)
+ [AWS::SageMaker::ModelExplainabilityJobDefinition](aws-resource-sagemaker-modelexplainabilityjobdefinition.md)
+ [AWS::SageMaker::ModelPackage](aws-resource-sagemaker-modelpackage.md)
+ [AWS::SageMaker::ModelPackageGroup](aws-resource-sagemaker-modelpackagegroup.md)
+ [AWS::SageMaker::ModelQualityJobDefinition](aws-resource-sagemaker-modelqualityjobdefinition.md)
+ [AWS::SageMaker::MonitoringSchedule](aws-resource-sagemaker-monitoringschedule.md)
+ [AWS::SageMaker::NotebookInstance](aws-resource-sagemaker-notebookinstance.md)
+ [AWS::SageMaker::NotebookInstanceLifecycleConfig](aws-resource-sagemaker-notebookinstancelifecycleconfig.md)
+ [AWS::SageMaker::PartnerApp](aws-resource-sagemaker-partnerapp.md)
+ [AWS::SageMaker::Pipeline](aws-resource-sagemaker-pipeline.md)
+ [AWS::SageMaker::ProcessingJob](aws-resource-sagemaker-processingjob.md)
+ [AWS::SageMaker::Project](aws-resource-sagemaker-project.md)
+ [AWS::SageMaker::Space](aws-resource-sagemaker-space.md)
+ [AWS::SageMaker::StudioLifecycleConfig](aws-resource-sagemaker-studiolifecycleconfig.md)
+ [AWS::SageMaker::UserProfile](aws-resource-sagemaker-userprofile.md)
+ [AWS::SageMaker::Workteam](aws-resource-sagemaker-workteam.md)

# AWS::SageMaker::App
<a name="aws-resource-sagemaker-app"></a>

Creates a running app for the specified UserProfile. This operation is automatically invoked by Amazon SageMaker AI upon access to the associated Domain, and when new kernel configurations are selected by the user. A user may have multiple Apps active simultaneously.

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

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

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

```
{
  "Type" : "AWS::SageMaker::App",
  "Properties" : {
      "[AppName](#cfn-sagemaker-app-appname)" : String,
      "[AppType](#cfn-sagemaker-app-apptype)" : String,
      "[DomainId](#cfn-sagemaker-app-domainid)" : String,
      "[RecoveryMode](#cfn-sagemaker-app-recoverymode)" : Boolean,
      "[ResourceSpec](#cfn-sagemaker-app-resourcespec)" : ResourceSpec,
      "[Tags](#cfn-sagemaker-app-tags)" : [ Tag, ... ],
      "[UserProfileName](#cfn-sagemaker-app-userprofilename)" : String
    }
}
```

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

```
Type: AWS::SageMaker::App
Properties:
  [AppName](#cfn-sagemaker-app-appname): String
  [AppType](#cfn-sagemaker-app-apptype): String
  [DomainId](#cfn-sagemaker-app-domainid): String
  [RecoveryMode](#cfn-sagemaker-app-recoverymode): Boolean
  [ResourceSpec](#cfn-sagemaker-app-resourcespec): 
    ResourceSpec
  [Tags](#cfn-sagemaker-app-tags): 
    - Tag
  [UserProfileName](#cfn-sagemaker-app-userprofilename): String
```

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

`AppName`  <a name="cfn-sagemaker-app-appname"></a>
The name of the app.  
*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)

`AppType`  <a name="cfn-sagemaker-app-apptype"></a>
The type of app.  
*Required*: Yes  
*Type*: String  
*Allowed values*: `JupyterServer | KernelGateway | RStudioServerPro | RSessionGateway | Canvas`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`DomainId`  <a name="cfn-sagemaker-app-domainid"></a>
The domain ID.  
*Required*: Yes  
*Type*: String  
*Minimum*: `1`  
*Maximum*: `63`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`RecoveryMode`  <a name="cfn-sagemaker-app-recoverymode"></a>
Enables recovery mode for the SageMaker Studio application. When enabled, recovery mode allows you to access your Studio application when a configuration issue prevents normal startup. For more information, see [Recovery mode](https://docs.aws.amazon.com/sagemaker/latest/dg/studio-updated-troubleshooting.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)

`ResourceSpec`  <a name="cfn-sagemaker-app-resourcespec"></a>
Specifies the ARNs of a SageMaker image and SageMaker image version, and the instance type that the version runs on.  
*Required*: No  
*Type*: [ResourceSpec](aws-properties-sagemaker-app-resourcespec.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`Tags`  <a name="cfn-sagemaker-app-tags"></a>
An array of key-value pairs to apply to this resource.  
For more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html).  
*Required*: No  
*Type*: Array of [Tag](aws-properties-sagemaker-app-tag.md)  
*Minimum*: `0`  
*Maximum*: `50`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`UserProfileName`  <a name="cfn-sagemaker-app-userprofilename"></a>
The user profile name.  
*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)

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

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

When you pass the logical ID of this resource to the intrinsic `Ref` function, `Ref` returns the app type, app name, Domain ID, and user profile name.

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-app-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-app-return-values-fn--getatt-fn--getatt"></a>

`AppArn`  <a name="AppArn-fn::getatt"></a>
The Amazon Resource Name (ARN) of the app, such as `arn:aws:sagemaker:us-west-2:account-id:app/my-app-name`.

`BuiltInLifecycleConfigArn`  <a name="BuiltInLifecycleConfigArn-fn::getatt"></a>
The lifecycle configuration that runs before the default lifecycle configuration. It can override changes made in the default lifecycle configuration.

# AWS::SageMaker::App ResourceSpec
<a name="aws-properties-sagemaker-app-resourcespec"></a>

Specifies the ARN's of a SageMaker AI image and SageMaker AI image version, and the instance type that the version runs on.

**Note**  
When both `SageMakerImageVersionArn` and `SageMakerImageArn` are passed, `SageMakerImageVersionArn` is used. Any updates to `SageMakerImageArn` will not take effect if `SageMakerImageVersionArn` already exists in the `ResourceSpec` because `SageMakerImageVersionArn` always takes precedence. To clear the value set for `SageMakerImageVersionArn`, pass `None` as the value.

## Syntax
<a name="aws-properties-sagemaker-app-resourcespec-syntax"></a>

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

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

```
{
  "[InstanceType](#cfn-sagemaker-app-resourcespec-instancetype)" : String,
  "[LifecycleConfigArn](#cfn-sagemaker-app-resourcespec-lifecycleconfigarn)" : String,
  "[SageMakerImageArn](#cfn-sagemaker-app-resourcespec-sagemakerimagearn)" : String,
  "[SageMakerImageVersionArn](#cfn-sagemaker-app-resourcespec-sagemakerimageversionarn)" : String
}
```

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

```
  [InstanceType](#cfn-sagemaker-app-resourcespec-instancetype): String
  [LifecycleConfigArn](#cfn-sagemaker-app-resourcespec-lifecycleconfigarn): String
  [SageMakerImageArn](#cfn-sagemaker-app-resourcespec-sagemakerimagearn): String
  [SageMakerImageVersionArn](#cfn-sagemaker-app-resourcespec-sagemakerimageversionarn): String
```

## Properties
<a name="aws-properties-sagemaker-app-resourcespec-properties"></a>

`InstanceType`  <a name="cfn-sagemaker-app-resourcespec-instancetype"></a>
The instance type that the image version runs on.  
**JupyterServer apps** only support the `system` value.  
For **KernelGateway apps**, the `system` value is translated to `ml.t3.medium`. KernelGateway apps also support all other values for available instance types.
*Required*: No  
*Type*: String  
*Allowed values*: `system | ml.t3.micro | ml.t3.small | ml.t3.medium | ml.t3.large | ml.t3.xlarge | ml.t3.2xlarge | ml.m5.large | ml.m5.xlarge | ml.m5.2xlarge | ml.m5.4xlarge | ml.m5.8xlarge | ml.m5.12xlarge | ml.m5.16xlarge | ml.m5.24xlarge | ml.m5d.large | ml.m5d.xlarge | ml.m5d.2xlarge | ml.m5d.4xlarge | ml.m5d.8xlarge | ml.m5d.12xlarge | ml.m5d.16xlarge | ml.m5d.24xlarge | ml.c5.large | ml.c5.xlarge | ml.c5.2xlarge | ml.c5.4xlarge | ml.c5.9xlarge | ml.c5.12xlarge | ml.c5.18xlarge | ml.c5.24xlarge | ml.p3.2xlarge | ml.p3.8xlarge | ml.p3.16xlarge | ml.p3dn.24xlarge | ml.g4dn.xlarge | ml.g4dn.2xlarge | ml.g4dn.4xlarge | ml.g4dn.8xlarge | ml.g4dn.12xlarge | ml.g4dn.16xlarge | ml.r5.large | ml.r5.xlarge | ml.r5.2xlarge | ml.r5.4xlarge | ml.r5.8xlarge | ml.r5.12xlarge | ml.r5.16xlarge | ml.r5.24xlarge | 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.g6.xlarge | ml.g6.2xlarge | ml.g6.4xlarge | ml.g6.8xlarge | ml.g6.12xlarge | ml.g6.16xlarge | ml.g6.24xlarge | ml.g6.48xlarge | ml.g6e.xlarge | ml.g6e.2xlarge | ml.g6e.4xlarge | ml.g6e.8xlarge | ml.g6e.12xlarge | ml.g6e.16xlarge | ml.g6e.24xlarge | ml.g6e.48xlarge | ml.geospatial.interactive | ml.p4d.24xlarge | ml.p4de.24xlarge | ml.trn1.2xlarge | ml.trn1.32xlarge | ml.trn1n.32xlarge | ml.p5.48xlarge | ml.p5e.48xlarge | ml.p5en.48xlarge | 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.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.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.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.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.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.m6id.large | ml.m6id.xlarge | ml.m6id.2xlarge | ml.m6id.4xlarge | ml.m6id.8xlarge | ml.m6id.12xlarge | ml.m6id.16xlarge | ml.m6id.24xlarge | ml.m6id.32xlarge | ml.c6id.large | ml.c6id.xlarge | ml.c6id.2xlarge | ml.c6id.4xlarge | ml.c6id.8xlarge | ml.c6id.12xlarge | ml.c6id.16xlarge | ml.c6id.24xlarge | ml.c6id.32xlarge | ml.r6id.large | ml.r6id.xlarge | ml.r6id.2xlarge | ml.r6id.4xlarge | ml.r6id.8xlarge | ml.r6id.12xlarge | ml.r6id.16xlarge | ml.r6id.24xlarge | ml.r6id.32xlarge`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`LifecycleConfigArn`  <a name="cfn-sagemaker-app-resourcespec-lifecycleconfigarn"></a>
 The Amazon Resource Name (ARN) of the Lifecycle Configuration attached to the Resource.  
*Required*: No  
*Type*: String  
*Pattern*: `^(arn:aws[a-z\-]*:sagemaker:[a-z0-9\-]*:[0-9]{12}:studio-lifecycle-config/.*|None)$`  
*Maximum*: `256`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`SageMakerImageArn`  <a name="cfn-sagemaker-app-resourcespec-sagemakerimagearn"></a>
The ARN of the SageMaker AI image that the image version belongs to.  
*Required*: No  
*Type*: String  
*Pattern*: `^arn:aws(-[\w]+)*:sagemaker:.+:[0-9]{12}:image/[a-z0-9]([-.]?[a-z0-9])*$`  
*Minimum*: `1`  
*Maximum*: `256`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`SageMakerImageVersionArn`  <a name="cfn-sagemaker-app-resourcespec-sagemakerimageversionarn"></a>
The ARN of the image version created on the instance. To clear the value set for `SageMakerImageVersionArn`, pass `None` as the value.  
*Required*: No  
*Type*: String  
*Pattern*: `^arn:aws(-[\w]+)*:sagemaker:.+:[0-9]{12}:image-version/[a-z0-9]([-.]?[a-z0-9])*/[0-9]+$`  
*Minimum*: `1`  
*Maximum*: `256`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::SageMaker::App Tag
<a name="aws-properties-sagemaker-app-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-app-tag-syntax"></a>

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

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

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

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

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

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

`Key`  <a name="cfn-sagemaker-app-tag-key"></a>
The tag key. Tag keys must be unique per resource.  
*Required*: Yes  
*Type*: String  
*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-app-tag-value"></a>
The tag value.  
*Required*: Yes  
*Type*: String  
*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)

# AWS::SageMaker::AppImageConfig
<a name="aws-resource-sagemaker-appimageconfig"></a>

Creates a configuration for running a SageMaker AI image as a KernelGateway app. The configuration specifies the Amazon Elastic File System storage volume on the image, and a list of the kernels in the image.

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

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

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

```
{
  "Type" : "AWS::SageMaker::AppImageConfig",
  "Properties" : {
      "[AppImageConfigName](#cfn-sagemaker-appimageconfig-appimageconfigname)" : String,
      "[CodeEditorAppImageConfig](#cfn-sagemaker-appimageconfig-codeeditorappimageconfig)" : CodeEditorAppImageConfig,
      "[JupyterLabAppImageConfig](#cfn-sagemaker-appimageconfig-jupyterlabappimageconfig)" : JupyterLabAppImageConfig,
      "[KernelGatewayImageConfig](#cfn-sagemaker-appimageconfig-kernelgatewayimageconfig)" : KernelGatewayImageConfig,
      "[Tags](#cfn-sagemaker-appimageconfig-tags)" : [ Tag, ... ]
    }
}
```

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

```
Type: AWS::SageMaker::AppImageConfig
Properties:
  [AppImageConfigName](#cfn-sagemaker-appimageconfig-appimageconfigname): String
  [CodeEditorAppImageConfig](#cfn-sagemaker-appimageconfig-codeeditorappimageconfig): 
    CodeEditorAppImageConfig
  [JupyterLabAppImageConfig](#cfn-sagemaker-appimageconfig-jupyterlabappimageconfig): 
    JupyterLabAppImageConfig
  [KernelGatewayImageConfig](#cfn-sagemaker-appimageconfig-kernelgatewayimageconfig): 
    KernelGatewayImageConfig
  [Tags](#cfn-sagemaker-appimageconfig-tags): 
    - Tag
```

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

`AppImageConfigName`  <a name="cfn-sagemaker-appimageconfig-appimageconfigname"></a>
The name of the AppImageConfig. Must be unique to your account.  
*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)

`CodeEditorAppImageConfig`  <a name="cfn-sagemaker-appimageconfig-codeeditorappimageconfig"></a>
The configuration for the file system and the runtime, such as the environment variables and entry point.  
*Required*: No  
*Type*: [CodeEditorAppImageConfig](aws-properties-sagemaker-appimageconfig-codeeditorappimageconfig.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`JupyterLabAppImageConfig`  <a name="cfn-sagemaker-appimageconfig-jupyterlabappimageconfig"></a>
The configuration for the file system and the runtime, such as the environment variables and entry point.  
*Required*: No  
*Type*: [JupyterLabAppImageConfig](aws-properties-sagemaker-appimageconfig-jupyterlabappimageconfig.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`KernelGatewayImageConfig`  <a name="cfn-sagemaker-appimageconfig-kernelgatewayimageconfig"></a>
The configuration for the file system and kernels in the SageMaker AI image.  
*Required*: No  
*Type*: [KernelGatewayImageConfig](aws-properties-sagemaker-appimageconfig-kernelgatewayimageconfig.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Tags`  <a name="cfn-sagemaker-appimageconfig-tags"></a>
An array of key-value pairs to apply to this resource.  
For more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html).  
*Required*: No  
*Type*: Array of [Tag](aws-properties-sagemaker-appimageconfig-tag.md)  
*Minimum*: `0`  
*Maximum*: `50`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

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

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

When you pass the logical ID of this resource to the intrinsic `Ref` function, `Ref` returns the name of the AppImageConfig.

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-appimageconfig-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-appimageconfig-return-values-fn--getatt-fn--getatt"></a>

`AppImageConfigArn`  <a name="AppImageConfigArn-fn::getatt"></a>
The Amazon Resource Name (ARN) of the AppImageConfig, such as `arn:aws:sagemaker:us-west-2:account-id:app-image-config/my-app-image-config-name`.

# AWS::SageMaker::AppImageConfig CodeEditorAppImageConfig
<a name="aws-properties-sagemaker-appimageconfig-codeeditorappimageconfig"></a>

The configuration for the file system and kernels in a SageMaker image running as a Code Editor app. The `FileSystemConfig` object is not supported.

## Syntax
<a name="aws-properties-sagemaker-appimageconfig-codeeditorappimageconfig-syntax"></a>

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

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

```
{
  "[ContainerConfig](#cfn-sagemaker-appimageconfig-codeeditorappimageconfig-containerconfig)" : ContainerConfig
}
```

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

```
  [ContainerConfig](#cfn-sagemaker-appimageconfig-codeeditorappimageconfig-containerconfig): 
    ContainerConfig
```

## Properties
<a name="aws-properties-sagemaker-appimageconfig-codeeditorappimageconfig-properties"></a>

`ContainerConfig`  <a name="cfn-sagemaker-appimageconfig-codeeditorappimageconfig-containerconfig"></a>
The container configuration for the Code Editor application image.  
*Required*: No  
*Type*: [ContainerConfig](aws-properties-sagemaker-appimageconfig-containerconfig.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::AppImageConfig ContainerConfig
<a name="aws-properties-sagemaker-appimageconfig-containerconfig"></a>

The configuration used to run the application image container.

## Syntax
<a name="aws-properties-sagemaker-appimageconfig-containerconfig-syntax"></a>

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

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

```
{
  "[ContainerArguments](#cfn-sagemaker-appimageconfig-containerconfig-containerarguments)" : [ String, ... ],
  "[ContainerEntrypoint](#cfn-sagemaker-appimageconfig-containerconfig-containerentrypoint)" : [ String, ... ],
  "[ContainerEnvironmentVariables](#cfn-sagemaker-appimageconfig-containerconfig-containerenvironmentvariables)" : [ CustomImageContainerEnvironmentVariable, ... ]
}
```

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

```
  [ContainerArguments](#cfn-sagemaker-appimageconfig-containerconfig-containerarguments): 
    - String
  [ContainerEntrypoint](#cfn-sagemaker-appimageconfig-containerconfig-containerentrypoint): 
    - String
  [ContainerEnvironmentVariables](#cfn-sagemaker-appimageconfig-containerconfig-containerenvironmentvariables): 
    - CustomImageContainerEnvironmentVariable
```

## Properties
<a name="aws-properties-sagemaker-appimageconfig-containerconfig-properties"></a>

`ContainerArguments`  <a name="cfn-sagemaker-appimageconfig-containerconfig-containerarguments"></a>
The arguments for the container when you're running the application.  
*Required*: No  
*Type*: Array of String  
*Minimum*: `0`  
*Maximum*: `50`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ContainerEntrypoint`  <a name="cfn-sagemaker-appimageconfig-containerconfig-containerentrypoint"></a>
The entrypoint used to run the application in the container.  
*Required*: No  
*Type*: Array of String  
*Minimum*: `0`  
*Maximum*: `1`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ContainerEnvironmentVariables`  <a name="cfn-sagemaker-appimageconfig-containerconfig-containerenvironmentvariables"></a>
The environment variables to set in the container  
*Required*: No  
*Type*: Array of [CustomImageContainerEnvironmentVariable](aws-properties-sagemaker-appimageconfig-customimagecontainerenvironmentvariable.md)  
*Minimum*: `0`  
*Maximum*: `25`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::SageMaker::AppImageConfig CustomImageContainerEnvironmentVariable
<a name="aws-properties-sagemaker-appimageconfig-customimagecontainerenvironmentvariable"></a>

The environment variables to set in the container

## Syntax
<a name="aws-properties-sagemaker-appimageconfig-customimagecontainerenvironmentvariable-syntax"></a>

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

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

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

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

```
  [Key](#cfn-sagemaker-appimageconfig-customimagecontainerenvironmentvariable-key): String
  [Value](#cfn-sagemaker-appimageconfig-customimagecontainerenvironmentvariable-value): String
```

## Properties
<a name="aws-properties-sagemaker-appimageconfig-customimagecontainerenvironmentvariable-properties"></a>

`Key`  <a name="cfn-sagemaker-appimageconfig-customimagecontainerenvironmentvariable-key"></a>
The key that identifies a container environment variable.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^(?!\s*$).+`  
*Minimum*: `1`  
*Maximum*: `256`  
*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-appimageconfig-customimagecontainerenvironmentvariable-value"></a>
The value of the container environment variable.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^(?!\s*$).+`  
*Minimum*: `1`  
*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::AppImageConfig FileSystemConfig
<a name="aws-properties-sagemaker-appimageconfig-filesystemconfig"></a>

The Amazon Elastic File System storage configuration for a SageMaker AI image.

## Syntax
<a name="aws-properties-sagemaker-appimageconfig-filesystemconfig-syntax"></a>

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

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

```
{
  "[DefaultGid](#cfn-sagemaker-appimageconfig-filesystemconfig-defaultgid)" : Integer,
  "[DefaultUid](#cfn-sagemaker-appimageconfig-filesystemconfig-defaultuid)" : Integer,
  "[MountPath](#cfn-sagemaker-appimageconfig-filesystemconfig-mountpath)" : String
}
```

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

```
  [DefaultGid](#cfn-sagemaker-appimageconfig-filesystemconfig-defaultgid): Integer
  [DefaultUid](#cfn-sagemaker-appimageconfig-filesystemconfig-defaultuid): Integer
  [MountPath](#cfn-sagemaker-appimageconfig-filesystemconfig-mountpath): String
```

## Properties
<a name="aws-properties-sagemaker-appimageconfig-filesystemconfig-properties"></a>

`DefaultGid`  <a name="cfn-sagemaker-appimageconfig-filesystemconfig-defaultgid"></a>
The default POSIX group ID (GID). If not specified, defaults to `100`.  
*Required*: No  
*Type*: Integer  
*Minimum*: `0`  
*Maximum*: `65535`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`DefaultUid`  <a name="cfn-sagemaker-appimageconfig-filesystemconfig-defaultuid"></a>
The default POSIX user ID (UID). If not specified, defaults to `1000`.  
*Required*: No  
*Type*: Integer  
*Minimum*: `0`  
*Maximum*: `65535`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`MountPath`  <a name="cfn-sagemaker-appimageconfig-filesystemconfig-mountpath"></a>
The path within the image to mount the user's EFS home directory. The directory should be empty. If not specified, defaults to */home/sagemaker-user*.  
*Required*: No  
*Type*: String  
*Pattern*: `^/.*`  
*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::AppImageConfig JupyterLabAppImageConfig
<a name="aws-properties-sagemaker-appimageconfig-jupyterlabappimageconfig"></a>

The configuration for the file system and kernels in a SageMaker AI image running as a JupyterLab app. The `FileSystemConfig` object is not supported.

## Syntax
<a name="aws-properties-sagemaker-appimageconfig-jupyterlabappimageconfig-syntax"></a>

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

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

```
{
  "[ContainerConfig](#cfn-sagemaker-appimageconfig-jupyterlabappimageconfig-containerconfig)" : ContainerConfig
}
```

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

```
  [ContainerConfig](#cfn-sagemaker-appimageconfig-jupyterlabappimageconfig-containerconfig): 
    ContainerConfig
```

## Properties
<a name="aws-properties-sagemaker-appimageconfig-jupyterlabappimageconfig-properties"></a>

`ContainerConfig`  <a name="cfn-sagemaker-appimageconfig-jupyterlabappimageconfig-containerconfig"></a>
The configuration used to run the application image container.  
*Required*: No  
*Type*: [ContainerConfig](aws-properties-sagemaker-appimageconfig-containerconfig.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::AppImageConfig KernelGatewayImageConfig
<a name="aws-properties-sagemaker-appimageconfig-kernelgatewayimageconfig"></a>

The configuration for the file system and kernels in a SageMaker AI image running as a KernelGateway app.

## Syntax
<a name="aws-properties-sagemaker-appimageconfig-kernelgatewayimageconfig-syntax"></a>

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

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

```
{
  "[FileSystemConfig](#cfn-sagemaker-appimageconfig-kernelgatewayimageconfig-filesystemconfig)" : FileSystemConfig,
  "[KernelSpecs](#cfn-sagemaker-appimageconfig-kernelgatewayimageconfig-kernelspecs)" : [ KernelSpec, ... ]
}
```

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

```
  [FileSystemConfig](#cfn-sagemaker-appimageconfig-kernelgatewayimageconfig-filesystemconfig): 
    FileSystemConfig
  [KernelSpecs](#cfn-sagemaker-appimageconfig-kernelgatewayimageconfig-kernelspecs): 
    - KernelSpec
```

## Properties
<a name="aws-properties-sagemaker-appimageconfig-kernelgatewayimageconfig-properties"></a>

`FileSystemConfig`  <a name="cfn-sagemaker-appimageconfig-kernelgatewayimageconfig-filesystemconfig"></a>
The Amazon Elastic File System storage configuration for a SageMaker AI image.  
*Required*: No  
*Type*: [FileSystemConfig](aws-properties-sagemaker-appimageconfig-filesystemconfig.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`KernelSpecs`  <a name="cfn-sagemaker-appimageconfig-kernelgatewayimageconfig-kernelspecs"></a>
The specification of the Jupyter kernels in the image.  
*Required*: Yes  
*Type*: Array of [KernelSpec](aws-properties-sagemaker-appimageconfig-kernelspec.md)  
*Minimum*: `1`  
*Maximum*: `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::AppImageConfig KernelSpec
<a name="aws-properties-sagemaker-appimageconfig-kernelspec"></a>

The specification of a Jupyter kernel.

## Syntax
<a name="aws-properties-sagemaker-appimageconfig-kernelspec-syntax"></a>

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

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

```
{
  "[DisplayName](#cfn-sagemaker-appimageconfig-kernelspec-displayname)" : String,
  "[Name](#cfn-sagemaker-appimageconfig-kernelspec-name)" : String
}
```

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

```
  [DisplayName](#cfn-sagemaker-appimageconfig-kernelspec-displayname): String
  [Name](#cfn-sagemaker-appimageconfig-kernelspec-name): String
```

## Properties
<a name="aws-properties-sagemaker-appimageconfig-kernelspec-properties"></a>

`DisplayName`  <a name="cfn-sagemaker-appimageconfig-kernelspec-displayname"></a>
The display name of the kernel.  
*Required*: No  
*Type*: String  
*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)

`Name`  <a name="cfn-sagemaker-appimageconfig-kernelspec-name"></a>
The name of the Jupyter kernel in the image. This value is case sensitive.  
*Required*: Yes  
*Type*: String  
*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::AppImageConfig Tag
<a name="aws-properties-sagemaker-appimageconfig-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-appimageconfig-tag-syntax"></a>

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

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

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

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

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

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

`Key`  <a name="cfn-sagemaker-appimageconfig-tag-key"></a>
The tag key. Tag keys must be unique per resource.  
*Required*: Yes  
*Type*: String  
*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-appimageconfig-tag-value"></a>
The tag value.  
*Required*: Yes  
*Type*: String  
*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)

# AWS::SageMaker::Cluster
<a name="aws-resource-sagemaker-cluster"></a>

Creates an Amazon SageMaker HyperPod cluster. SageMaker HyperPod is a capability of SageMaker for creating and managing persistent clusters for developing large machine learning models, such as large language models (LLMs) and diffusion models. To learn more, see [Amazon SageMaker HyperPod](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-hyperpod.html) in the *Amazon SageMaker Developer Guide*.

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

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

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

```
{
  "Type" : "AWS::SageMaker::Cluster",
  "Properties" : {
      "[AutoScaling](#cfn-sagemaker-cluster-autoscaling)" : ClusterAutoScalingConfig,
      "[ClusterName](#cfn-sagemaker-cluster-clustername)" : String,
      "[ClusterRole](#cfn-sagemaker-cluster-clusterrole)" : String,
      "[InstanceGroups](#cfn-sagemaker-cluster-instancegroups)" : [ ClusterInstanceGroup, ... ],
      "[NodeProvisioningMode](#cfn-sagemaker-cluster-nodeprovisioningmode)" : String,
      "[NodeRecovery](#cfn-sagemaker-cluster-noderecovery)" : String,
      "[Orchestrator](#cfn-sagemaker-cluster-orchestrator)" : Orchestrator,
      "[RestrictedInstanceGroups](#cfn-sagemaker-cluster-restrictedinstancegroups)" : [ ClusterRestrictedInstanceGroup, ... ],
      "[Tags](#cfn-sagemaker-cluster-tags)" : [ Tag, ... ],
      "[TieredStorageConfig](#cfn-sagemaker-cluster-tieredstorageconfig)" : TieredStorageConfig,
      "[VpcConfig](#cfn-sagemaker-cluster-vpcconfig)" : VpcConfig
    }
}
```

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

```
Type: AWS::SageMaker::Cluster
Properties:
  [AutoScaling](#cfn-sagemaker-cluster-autoscaling): 
    ClusterAutoScalingConfig
  [ClusterName](#cfn-sagemaker-cluster-clustername): String
  [ClusterRole](#cfn-sagemaker-cluster-clusterrole): String
  [InstanceGroups](#cfn-sagemaker-cluster-instancegroups): 
    - ClusterInstanceGroup
  [NodeProvisioningMode](#cfn-sagemaker-cluster-nodeprovisioningmode): String
  [NodeRecovery](#cfn-sagemaker-cluster-noderecovery): String
  [Orchestrator](#cfn-sagemaker-cluster-orchestrator): 
    Orchestrator
  [RestrictedInstanceGroups](#cfn-sagemaker-cluster-restrictedinstancegroups): 
    - ClusterRestrictedInstanceGroup
  [Tags](#cfn-sagemaker-cluster-tags): 
    - Tag
  [TieredStorageConfig](#cfn-sagemaker-cluster-tieredstorageconfig): 
    TieredStorageConfig
  [VpcConfig](#cfn-sagemaker-cluster-vpcconfig): 
    VpcConfig
```

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

`AutoScaling`  <a name="cfn-sagemaker-cluster-autoscaling"></a>
The autoscaling configuration for the cluster. Enables automatic scaling of cluster nodes based on workload demand using a Karpenter-based system.  
*Required*: No  
*Type*: [ClusterAutoScalingConfig](aws-properties-sagemaker-cluster-clusterautoscalingconfig.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ClusterName`  <a name="cfn-sagemaker-cluster-clustername"></a>
The name of the SageMaker HyperPod cluster.  
*Required*: No  
*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)

`ClusterRole`  <a name="cfn-sagemaker-cluster-clusterrole"></a>
The Amazon Resource Name (ARN) of the IAM role that HyperPod assumes to perform cluster autoscaling operations. This role must have permissions for `sagemaker:BatchAddClusterNodes` and `sagemaker:BatchDeleteClusterNodes`. This is only required when autoscaling is enabled and when HyperPod is performing autoscaling operations.  
*Required*: No  
*Type*: String  
*Pattern*: `^arn:aws[a-z\-]*:iam::\d{12}:role/?[a-zA-Z_0-9+=,.@\-_/]+$`  
*Minimum*: `20`  
*Maximum*: `2048`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`InstanceGroups`  <a name="cfn-sagemaker-cluster-instancegroups"></a>
The instance groups of the SageMaker HyperPod cluster. To delete an instance group, remove it from the array.  
*Required*: No  
*Type*: Array of [ClusterInstanceGroup](aws-properties-sagemaker-cluster-clusterinstancegroup.md)  
*Minimum*: `1`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`NodeProvisioningMode`  <a name="cfn-sagemaker-cluster-nodeprovisioningmode"></a>
The mode for provisioning nodes in the cluster. You can specify the following modes:  
+ **Continuous**: Scaling behavior that enables 1) concurrent operation execution within instance groups, 2) continuous retry mechanisms for failed operations, 3) enhanced customer visibility into cluster events through detailed event streams, 4) partial provisioning capabilities. Your clusters and instance groups remain `InService` while scaling. This mode is only supported for EKS orchestrated clusters.
*Required*: No  
*Type*: String  
*Allowed values*: `Continuous`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`NodeRecovery`  <a name="cfn-sagemaker-cluster-noderecovery"></a>
Specifies whether to enable or disable the automatic node recovery feature of SageMaker HyperPod. Available values are `Automatic` for enabling and `None` for disabling.  
*Required*: No  
*Type*: String  
*Allowed values*: `Automatic | None`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Orchestrator`  <a name="cfn-sagemaker-cluster-orchestrator"></a>
The orchestrator type for the SageMaker HyperPod cluster. Currently, `'eks'` is the only available option.  
*Required*: No  
*Type*: [Orchestrator](aws-properties-sagemaker-cluster-orchestrator.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`RestrictedInstanceGroups`  <a name="cfn-sagemaker-cluster-restrictedinstancegroups"></a>
The specialized instance groups for training models like Amazon Nova to be created in the SageMaker HyperPod cluster.  
*Required*: No  
*Type*: Array of [ClusterRestrictedInstanceGroup](aws-properties-sagemaker-cluster-clusterrestrictedinstancegroup.md)  
*Minimum*: `1`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Tags`  <a name="cfn-sagemaker-cluster-tags"></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).  
*Required*: No  
*Type*: Array of [Tag](aws-properties-sagemaker-cluster-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)

`TieredStorageConfig`  <a name="cfn-sagemaker-cluster-tieredstorageconfig"></a>
The configuration for managed tier checkpointing on the HyperPod cluster. When enabled, this feature uses a multi-tier storage approach for storing model checkpoints, providing faster checkpoint operations and improved fault tolerance across cluster nodes.  
*Required*: No  
*Type*: [TieredStorageConfig](aws-properties-sagemaker-cluster-tieredstorageconfig.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`VpcConfig`  <a name="cfn-sagemaker-cluster-vpcconfig"></a>
Specifies an Amazon Virtual Private Cloud (VPC) that your SageMaker jobs, hosted models, and compute resources have access to. You can control access to and from your resources by configuring a VPC. For more information, see [Give SageMaker Access to Resources in your Amazon VPC](https://docs.aws.amazon.com/sagemaker/latest/dg/infrastructure-give-access.html).   
*Required*: No  
*Type*: [VpcConfig](aws-properties-sagemaker-cluster-vpcconfig.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-cluster-return-values"></a>

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

### Fn::GetAtt
<a name="aws-resource-sagemaker-cluster-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-cluster-return-values-fn--getatt-fn--getatt"></a>

`ClusterArn`  <a name="ClusterArn-fn::getatt"></a>
The Amazon Resource Name (ARN) of the SageMaker HyperPod cluster.

`ClusterStatus`  <a name="ClusterStatus-fn::getatt"></a>
The status of the SageMaker HyperPod cluster.

`CreationTime`  <a name="CreationTime-fn::getatt"></a>
The time when the SageMaker HyperPod cluster is created.

`FailureMessage`  <a name="FailureMessage-fn::getatt"></a>
The failure message of the SageMaker HyperPod cluster.

# AWS::SageMaker::Cluster AlarmDetails
<a name="aws-properties-sagemaker-cluster-alarmdetails"></a>

The details of the alarm to monitor during the AMI update.

## Syntax
<a name="aws-properties-sagemaker-cluster-alarmdetails-syntax"></a>

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

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

```
{
  "[AlarmName](#cfn-sagemaker-cluster-alarmdetails-alarmname)" : String
}
```

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

```
  [AlarmName](#cfn-sagemaker-cluster-alarmdetails-alarmname): String
```

## Properties
<a name="aws-properties-sagemaker-cluster-alarmdetails-properties"></a>

`AlarmName`  <a name="cfn-sagemaker-cluster-alarmdetails-alarmname"></a>
The name of the alarm.  
*Required*: Yes  
*Type*: String  
*Pattern*: `(?!\s*$).+`  
*Minimum*: `1`  
*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::Cluster CapacitySizeConfig
<a name="aws-properties-sagemaker-cluster-capacitysizeconfig"></a>

The configuration of the size measurements of the AMI update. Using this configuration, you can specify whether SageMaker should update your instance group by an amount or percentage of instances.

## Syntax
<a name="aws-properties-sagemaker-cluster-capacitysizeconfig-syntax"></a>

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

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

```
{
  "[Type](#cfn-sagemaker-cluster-capacitysizeconfig-type)" : String,
  "[Value](#cfn-sagemaker-cluster-capacitysizeconfig-value)" : Integer
}
```

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

```
  [Type](#cfn-sagemaker-cluster-capacitysizeconfig-type): String
  [Value](#cfn-sagemaker-cluster-capacitysizeconfig-value): Integer
```

## Properties
<a name="aws-properties-sagemaker-cluster-capacitysizeconfig-properties"></a>

`Type`  <a name="cfn-sagemaker-cluster-capacitysizeconfig-type"></a>
Specifies whether SageMaker should process the update by amount or percentage of instances.  
*Required*: Yes  
*Type*: String  
*Pattern*: `INSTANCE_COUNT|CAPACITY_PERCENTAGE`  
*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-cluster-capacitysizeconfig-value"></a>
Specifies the amount or percentage of instances SageMaker updates at a time.  
*Required*: Yes  
*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)

# AWS::SageMaker::Cluster ClusterAutoScalingConfig
<a name="aws-properties-sagemaker-cluster-clusterautoscalingconfig"></a>

Specifies the autoscaling configuration for a HyperPod cluster.

## Syntax
<a name="aws-properties-sagemaker-cluster-clusterautoscalingconfig-syntax"></a>

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

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

```
{
  "[AutoScalerType](#cfn-sagemaker-cluster-clusterautoscalingconfig-autoscalertype)" : String,
  "[Mode](#cfn-sagemaker-cluster-clusterautoscalingconfig-mode)" : String
}
```

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

```
  [AutoScalerType](#cfn-sagemaker-cluster-clusterautoscalingconfig-autoscalertype): String
  [Mode](#cfn-sagemaker-cluster-clusterautoscalingconfig-mode): String
```

## Properties
<a name="aws-properties-sagemaker-cluster-clusterautoscalingconfig-properties"></a>

`AutoScalerType`  <a name="cfn-sagemaker-cluster-clusterautoscalingconfig-autoscalertype"></a>
The type of autoscaler to use. Currently supported value is `Karpenter`.  
*Required*: No  
*Type*: String  
*Allowed values*: `Karpenter`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Mode`  <a name="cfn-sagemaker-cluster-clusterautoscalingconfig-mode"></a>
Describes whether autoscaling is enabled or disabled for the cluster. Valid values are `Enable` and `Disable`.  
*Required*: Yes  
*Type*: String  
*Allowed values*: `Enable | Disable`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::SageMaker::Cluster ClusterCapacityRequirements
<a name="aws-properties-sagemaker-cluster-clustercapacityrequirements"></a>

Defines the instance capacity requirements for an instance group, including configurations for both Spot and On-Demand capacity types. 

## Syntax
<a name="aws-properties-sagemaker-cluster-clustercapacityrequirements-syntax"></a>

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

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

```
{
  "[OnDemand](#cfn-sagemaker-cluster-clustercapacityrequirements-ondemand)" : Json,
  "[Spot](#cfn-sagemaker-cluster-clustercapacityrequirements-spot)" : Json
}
```

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

```
  [OnDemand](#cfn-sagemaker-cluster-clustercapacityrequirements-ondemand): Json
  [Spot](#cfn-sagemaker-cluster-clustercapacityrequirements-spot): Json
```

## Properties
<a name="aws-properties-sagemaker-cluster-clustercapacityrequirements-properties"></a>

`OnDemand`  <a name="cfn-sagemaker-cluster-clustercapacityrequirements-ondemand"></a>
Configuration options specific to On-Demand instances.  
*Required*: No  
*Type*: Json  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Spot`  <a name="cfn-sagemaker-cluster-clustercapacityrequirements-spot"></a>
Configuration options specific to Spot instances.  
*Required*: No  
*Type*: Json  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::SageMaker::Cluster ClusterEbsVolumeConfig
<a name="aws-properties-sagemaker-cluster-clusterebsvolumeconfig"></a>

Defines the configuration for attaching an additional Amazon Elastic Block Store (EBS) volume to each instance of the SageMaker HyperPod cluster instance group. To learn more, see [SageMaker HyperPod release notes: June 20, 2024](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-hyperpod-release-notes.html#sagemaker-hyperpod-release-notes-20240620).

## Syntax
<a name="aws-properties-sagemaker-cluster-clusterebsvolumeconfig-syntax"></a>

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

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

```
{
  "[RootVolume](#cfn-sagemaker-cluster-clusterebsvolumeconfig-rootvolume)" : Boolean,
  "[VolumeKmsKeyId](#cfn-sagemaker-cluster-clusterebsvolumeconfig-volumekmskeyid)" : String,
  "[VolumeSizeInGB](#cfn-sagemaker-cluster-clusterebsvolumeconfig-volumesizeingb)" : Integer
}
```

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

```
  [RootVolume](#cfn-sagemaker-cluster-clusterebsvolumeconfig-rootvolume): Boolean
  [VolumeKmsKeyId](#cfn-sagemaker-cluster-clusterebsvolumeconfig-volumekmskeyid): String
  [VolumeSizeInGB](#cfn-sagemaker-cluster-clusterebsvolumeconfig-volumesizeingb): Integer
```

## Properties
<a name="aws-properties-sagemaker-cluster-clusterebsvolumeconfig-properties"></a>

`RootVolume`  <a name="cfn-sagemaker-cluster-clusterebsvolumeconfig-rootvolume"></a>
Specifies whether the configuration is for the cluster's root or secondary Amazon EBS volume. You can specify two `ClusterEbsVolumeConfig` fields to configure both the root and secondary volumes. Set the value to `True` if you'd like to provide your own customer managed AWS KMS key to encrypt the root volume. When `True`:  
+ The configuration is applied to the root volume.
+ You can't specify the `VolumeSizeInGB` field. The size of the root volume is determined for you.
+ You must specify a KMS key ID for `VolumeKmsKeyId` to encrypt the root volume with your own KMS key instead of an AWS owned KMS key.
Otherwise, by default, the value is `False`, and the following applies:  
+ The configuration is applied to the secondary volume, while the root volume is encrypted with an AWS owned key.
+ You must specify the `VolumeSizeInGB` field.
+ You can optionally specify the `VolumeKmsKeyId` to encrypt the secondary volume with your own KMS key instead of an AWS owned KMS key.
*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)

`VolumeKmsKeyId`  <a name="cfn-sagemaker-cluster-clusterebsvolumeconfig-volumekmskeyid"></a>
The ID of a KMS key to encrypt the Amazon EBS volume.  
*Required*: No  
*Type*: String  
*Pattern*: `^[a-zA-Z0-9:/_-]*$`  
*Minimum*: `0`  
*Maximum*: `2048`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`VolumeSizeInGB`  <a name="cfn-sagemaker-cluster-clusterebsvolumeconfig-volumesizeingb"></a>
The size in gigabytes (GB) of the additional EBS volume to be attached to the instances in the SageMaker HyperPod cluster instance group. The additional EBS volume is attached to each instance within the SageMaker HyperPod cluster instance group and mounted to `/opt/sagemaker`.  
*Required*: No  
*Type*: Integer  
*Minimum*: `1`  
*Maximum*: `16384`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::SageMaker::Cluster ClusterFsxLustreConfig
<a name="aws-properties-sagemaker-cluster-clusterfsxlustreconfig"></a>

Defines the configuration for attaching an Amazon FSx for Lustre file system to instances in a SageMaker HyperPod cluster instance group.

## Syntax
<a name="aws-properties-sagemaker-cluster-clusterfsxlustreconfig-syntax"></a>

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

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

```
{
  "[DnsName](#cfn-sagemaker-cluster-clusterfsxlustreconfig-dnsname)" : String,
  "[MountName](#cfn-sagemaker-cluster-clusterfsxlustreconfig-mountname)" : String,
  "[MountPath](#cfn-sagemaker-cluster-clusterfsxlustreconfig-mountpath)" : String
}
```

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

```
  [DnsName](#cfn-sagemaker-cluster-clusterfsxlustreconfig-dnsname): String
  [MountName](#cfn-sagemaker-cluster-clusterfsxlustreconfig-mountname): String
  [MountPath](#cfn-sagemaker-cluster-clusterfsxlustreconfig-mountpath): String
```

## Properties
<a name="aws-properties-sagemaker-cluster-clusterfsxlustreconfig-properties"></a>

`DnsName`  <a name="cfn-sagemaker-cluster-clusterfsxlustreconfig-dnsname"></a>
The DNS name of the Amazon FSx for Lustre file system.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^((fs|fc)i?-[0-9a-f]{8,}\..{4,253})$`  
*Minimum*: `16`  
*Maximum*: `275`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`MountName`  <a name="cfn-sagemaker-cluster-clusterfsxlustreconfig-mountname"></a>
The mount name of the Amazon FSx for Lustre file system.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^([A-Za-z0-9_-]{1,8})$`  
*Minimum*: `1`  
*Maximum*: `8`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`MountPath`  <a name="cfn-sagemaker-cluster-clusterfsxlustreconfig-mountpath"></a>
The local path where the Amazon FSx for Lustre file system is mounted on instances.  
*Required*: No  
*Type*: String  
*Pattern*: `^/(?!/)(?!.*/$)[a-zA-Z0-9._-]+(/[a-zA-Z0-9._-]+)*$`  
*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::Cluster ClusterFsxOpenZfsConfig
<a name="aws-properties-sagemaker-cluster-clusterfsxopenzfsconfig"></a>

Defines the configuration for attaching an Amazon FSx for OpenZFS file system to instances in a SageMaker HyperPod cluster instance group.

## Syntax
<a name="aws-properties-sagemaker-cluster-clusterfsxopenzfsconfig-syntax"></a>

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

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

```
{
  "[DnsName](#cfn-sagemaker-cluster-clusterfsxopenzfsconfig-dnsname)" : String,
  "[MountPath](#cfn-sagemaker-cluster-clusterfsxopenzfsconfig-mountpath)" : String
}
```

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

```
  [DnsName](#cfn-sagemaker-cluster-clusterfsxopenzfsconfig-dnsname): String
  [MountPath](#cfn-sagemaker-cluster-clusterfsxopenzfsconfig-mountpath): String
```

## Properties
<a name="aws-properties-sagemaker-cluster-clusterfsxopenzfsconfig-properties"></a>

`DnsName`  <a name="cfn-sagemaker-cluster-clusterfsxopenzfsconfig-dnsname"></a>
The DNS name of the Amazon FSx for OpenZFS file system.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^((fs|fc)i?-[0-9a-f]{8,}\..{4,253})$`  
*Minimum*: `16`  
*Maximum*: `275`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`MountPath`  <a name="cfn-sagemaker-cluster-clusterfsxopenzfsconfig-mountpath"></a>
The local path where the Amazon FSx for OpenZFS file system is mounted on instances.  
*Required*: No  
*Type*: String  
*Pattern*: `^/(?!/)(?!.*/$)[a-zA-Z0-9._-]+(/[a-zA-Z0-9._-]+)*$`  
*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::Cluster ClusterInstanceGroup
<a name="aws-properties-sagemaker-cluster-clusterinstancegroup"></a>

The configuration information of the instance group within the HyperPod cluster.

## Syntax
<a name="aws-properties-sagemaker-cluster-clusterinstancegroup-syntax"></a>

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

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

```
{
  "[CapacityRequirements](#cfn-sagemaker-cluster-clusterinstancegroup-capacityrequirements)" : ClusterCapacityRequirements,
  "[CurrentCount](#cfn-sagemaker-cluster-clusterinstancegroup-currentcount)" : Integer,
  "[ExecutionRole](#cfn-sagemaker-cluster-clusterinstancegroup-executionrole)" : String,
  "[ImageId](#cfn-sagemaker-cluster-clusterinstancegroup-imageid)" : String,
  "[InstanceCount](#cfn-sagemaker-cluster-clusterinstancegroup-instancecount)" : Integer,
  "[InstanceGroupName](#cfn-sagemaker-cluster-clusterinstancegroup-instancegroupname)" : String,
  "[InstanceStorageConfigs](#cfn-sagemaker-cluster-clusterinstancegroup-instancestorageconfigs)" : [ ClusterInstanceStorageConfig, ... ],
  "[InstanceType](#cfn-sagemaker-cluster-clusterinstancegroup-instancetype)" : String,
  "[KubernetesConfig](#cfn-sagemaker-cluster-clusterinstancegroup-kubernetesconfig)" : ClusterKubernetesConfig,
  "[LifeCycleConfig](#cfn-sagemaker-cluster-clusterinstancegroup-lifecycleconfig)" : ClusterLifeCycleConfig,
  "[MinInstanceCount](#cfn-sagemaker-cluster-clusterinstancegroup-mininstancecount)" : Integer,
  "[OnStartDeepHealthChecks](#cfn-sagemaker-cluster-clusterinstancegroup-onstartdeephealthchecks)" : [ String, ... ],
  "[OverrideVpcConfig](#cfn-sagemaker-cluster-clusterinstancegroup-overridevpcconfig)" : VpcConfig,
  "[ScheduledUpdateConfig](#cfn-sagemaker-cluster-clusterinstancegroup-scheduledupdateconfig)" : ScheduledUpdateConfig,
  "[SlurmConfig](#cfn-sagemaker-cluster-clusterinstancegroup-slurmconfig)" : ClusterSlurmConfig,
  "[ThreadsPerCore](#cfn-sagemaker-cluster-clusterinstancegroup-threadspercore)" : Integer,
  "[TrainingPlanArn](#cfn-sagemaker-cluster-clusterinstancegroup-trainingplanarn)" : String
}
```

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

```
  [CapacityRequirements](#cfn-sagemaker-cluster-clusterinstancegroup-capacityrequirements): 
    ClusterCapacityRequirements
  [CurrentCount](#cfn-sagemaker-cluster-clusterinstancegroup-currentcount): Integer
  [ExecutionRole](#cfn-sagemaker-cluster-clusterinstancegroup-executionrole): String
  [ImageId](#cfn-sagemaker-cluster-clusterinstancegroup-imageid): String
  [InstanceCount](#cfn-sagemaker-cluster-clusterinstancegroup-instancecount): Integer
  [InstanceGroupName](#cfn-sagemaker-cluster-clusterinstancegroup-instancegroupname): String
  [InstanceStorageConfigs](#cfn-sagemaker-cluster-clusterinstancegroup-instancestorageconfigs): 
    - ClusterInstanceStorageConfig
  [InstanceType](#cfn-sagemaker-cluster-clusterinstancegroup-instancetype): String
  [KubernetesConfig](#cfn-sagemaker-cluster-clusterinstancegroup-kubernetesconfig): 
    ClusterKubernetesConfig
  [LifeCycleConfig](#cfn-sagemaker-cluster-clusterinstancegroup-lifecycleconfig): 
    ClusterLifeCycleConfig
  [MinInstanceCount](#cfn-sagemaker-cluster-clusterinstancegroup-mininstancecount): Integer
  [OnStartDeepHealthChecks](#cfn-sagemaker-cluster-clusterinstancegroup-onstartdeephealthchecks): 
    - String
  [OverrideVpcConfig](#cfn-sagemaker-cluster-clusterinstancegroup-overridevpcconfig): 
    VpcConfig
  [ScheduledUpdateConfig](#cfn-sagemaker-cluster-clusterinstancegroup-scheduledupdateconfig): 
    ScheduledUpdateConfig
  [SlurmConfig](#cfn-sagemaker-cluster-clusterinstancegroup-slurmconfig): 
    ClusterSlurmConfig
  [ThreadsPerCore](#cfn-sagemaker-cluster-clusterinstancegroup-threadspercore): Integer
  [TrainingPlanArn](#cfn-sagemaker-cluster-clusterinstancegroup-trainingplanarn): String
```

## Properties
<a name="aws-properties-sagemaker-cluster-clusterinstancegroup-properties"></a>

`CapacityRequirements`  <a name="cfn-sagemaker-cluster-clusterinstancegroup-capacityrequirements"></a>
The capacity requirements for the instance group, specifying on-demand and spot instance configurations.  
*Required*: No  
*Type*: [ClusterCapacityRequirements](aws-properties-sagemaker-cluster-clustercapacityrequirements.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`CurrentCount`  <a name="cfn-sagemaker-cluster-clusterinstancegroup-currentcount"></a>
The number of instances that are currently in the instance group of a SageMaker HyperPod cluster.  
*Required*: No  
*Type*: Integer  
*Minimum*: `0`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ExecutionRole`  <a name="cfn-sagemaker-cluster-clusterinstancegroup-executionrole"></a>
The execution role for the instance group to assume.  
*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)

`ImageId`  <a name="cfn-sagemaker-cluster-clusterinstancegroup-imageid"></a>
The ID of the Amazon Machine Image (AMI) to use for the instances in the group.  
*Required*: No  
*Type*: String  
*Pattern*: `^ami-[0-9a-fA-F]{8,17}|default$`  
*Minimum*: `7`  
*Maximum*: `21`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`InstanceCount`  <a name="cfn-sagemaker-cluster-clusterinstancegroup-instancecount"></a>
The number of instances in an instance group of the SageMaker HyperPod cluster.  
*Required*: Yes  
*Type*: Integer  
*Minimum*: `0`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`InstanceGroupName`  <a name="cfn-sagemaker-cluster-clusterinstancegroup-instancegroupname"></a>
The name of the instance group of a SageMaker HyperPod cluster.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^[a-zA-Z0-9](-*[a-zA-Z0-9])*$`  
*Minimum*: `1`  
*Maximum*: `63`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`InstanceStorageConfigs`  <a name="cfn-sagemaker-cluster-clusterinstancegroup-instancestorageconfigs"></a>
The configurations of additional storage specified to the instance group where the instance (node) is launched.  
*Required*: No  
*Type*: Array of [ClusterInstanceStorageConfig](aws-properties-sagemaker-cluster-clusterinstancestorageconfig.md)  
*Maximum*: `4`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`InstanceType`  <a name="cfn-sagemaker-cluster-clusterinstancegroup-instancetype"></a>
The instance type of the instance group of a SageMaker HyperPod cluster.  
*Required*: Yes  
*Type*: String  
*Allowed values*: `ml.p4d.24xlarge | ml.p4de.24xlarge | ml.p5.48xlarge | ml.p5.4xlarge | ml.p6e-gb200.36xlarge | ml.trn1.32xlarge | ml.trn1n.32xlarge | 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.c5.large | ml.c5.xlarge | ml.c5.2xlarge | ml.c5.4xlarge | ml.c5.9xlarge | ml.c5.12xlarge | ml.c5.18xlarge | ml.c5.24xlarge | ml.c5n.large | ml.c5n.2xlarge | ml.c5n.4xlarge | ml.c5n.9xlarge | ml.c5n.18xlarge | ml.m5.large | ml.m5.xlarge | ml.m5.2xlarge | ml.m5.4xlarge | ml.m5.8xlarge | ml.m5.12xlarge | ml.m5.16xlarge | ml.m5.24xlarge | ml.t3.medium | ml.t3.large | ml.t3.xlarge | ml.t3.2xlarge | ml.g6.xlarge | ml.g6.2xlarge | ml.g6.4xlarge | ml.g6.8xlarge | ml.g6.16xlarge | ml.g6.12xlarge | ml.g6.24xlarge | ml.g6.48xlarge | ml.gr6.4xlarge | ml.gr6.8xlarge | ml.g6e.xlarge | ml.g6e.2xlarge | ml.g6e.4xlarge | ml.g6e.8xlarge | ml.g6e.16xlarge | ml.g6e.12xlarge | ml.g6e.24xlarge | ml.g6e.48xlarge | ml.p5e.48xlarge | ml.p5en.48xlarge | ml.p6-b200.48xlarge | ml.trn2.3xlarge | ml.trn2.48xlarge | 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.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.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.i3en.large | ml.i3en.xlarge | ml.i3en.2xlarge | ml.i3en.3xlarge | ml.i3en.6xlarge | ml.i3en.12xlarge | ml.i3en.24xlarge | 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.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.r5d.16xlarge | ml.g7e.2xlarge | ml.g7e.4xlarge | ml.g7e.8xlarge | ml.g7e.12xlarge | ml.g7e.24xlarge | ml.g7e.48xlarge | ml.p6-b300.48xlarge`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`KubernetesConfig`  <a name="cfn-sagemaker-cluster-clusterinstancegroup-kubernetesconfig"></a>
The Kubernetes configuration for the instance group, including labels and taints.  
*Required*: No  
*Type*: [ClusterKubernetesConfig](aws-properties-sagemaker-cluster-clusterkubernetesconfig.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`LifeCycleConfig`  <a name="cfn-sagemaker-cluster-clusterinstancegroup-lifecycleconfig"></a>
The lifecycle configuration for a SageMaker HyperPod cluster.  
*Required*: No  
*Type*: [ClusterLifeCycleConfig](aws-properties-sagemaker-cluster-clusterlifecycleconfig.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`MinInstanceCount`  <a name="cfn-sagemaker-cluster-clusterinstancegroup-mininstancecount"></a>
The minimum number of instances to maintain in the instance group.  
*Required*: No  
*Type*: Integer  
*Minimum*: `0`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`OnStartDeepHealthChecks`  <a name="cfn-sagemaker-cluster-clusterinstancegroup-onstartdeephealthchecks"></a>
A flag indicating whether deep health checks should be performed when the HyperPod cluster instance group is created or updated. Deep health checks are comprehensive, invasive tests that validate the health of the underlying hardware and infrastructure components.  
*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)

`OverrideVpcConfig`  <a name="cfn-sagemaker-cluster-clusterinstancegroup-overridevpcconfig"></a>
The customized Amazon VPC configuration at the instance group level that overrides the default Amazon VPC configuration of the SageMaker HyperPod cluster.  
*Required*: No  
*Type*: [VpcConfig](aws-properties-sagemaker-cluster-vpcconfig.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`ScheduledUpdateConfig`  <a name="cfn-sagemaker-cluster-clusterinstancegroup-scheduledupdateconfig"></a>
Configuration for scheduled updates to the instance group.  
*Required*: No  
*Type*: [ScheduledUpdateConfig](aws-properties-sagemaker-cluster-scheduledupdateconfig.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`SlurmConfig`  <a name="cfn-sagemaker-cluster-clusterinstancegroup-slurmconfig"></a>
The Slurm workload manager configuration for the instance group.  
*Required*: No  
*Type*: [ClusterSlurmConfig](aws-properties-sagemaker-cluster-clusterslurmconfig.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ThreadsPerCore`  <a name="cfn-sagemaker-cluster-clusterinstancegroup-threadspercore"></a>
The number of threads per CPU core you specified under `CreateCluster`.  
*Required*: No  
*Type*: Integer  
*Minimum*: `1`  
*Maximum*: `2`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`TrainingPlanArn`  <a name="cfn-sagemaker-cluster-clusterinstancegroup-trainingplanarn"></a>
The Amazon Resource Name (ARN) of the training plan associated with the instance group.  
*Required*: No  
*Type*: String  
*Pattern*: `^arn:aws[a-z\-]*:sagemaker:[a-z0-9\-]*:[0-9]{12}:training-plan/.*$`  
*Minimum*: `50`  
*Maximum*: `2048`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::SageMaker::Cluster ClusterInstanceStorageConfig
<a name="aws-properties-sagemaker-cluster-clusterinstancestorageconfig"></a>

Defines the configuration for attaching additional storage to the instances in the SageMaker HyperPod cluster instance group. To learn more, see [SageMaker HyperPod release notes: June 20, 2024](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-hyperpod-release-notes.html#sagemaker-hyperpod-release-notes-20240620).

## Syntax
<a name="aws-properties-sagemaker-cluster-clusterinstancestorageconfig-syntax"></a>

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

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

```
{
  "[EbsVolumeConfig](#cfn-sagemaker-cluster-clusterinstancestorageconfig-ebsvolumeconfig)" : ClusterEbsVolumeConfig,
  "[FsxLustreConfig](#cfn-sagemaker-cluster-clusterinstancestorageconfig-fsxlustreconfig)" : ClusterFsxLustreConfig,
  "[FsxOpenZfsConfig](#cfn-sagemaker-cluster-clusterinstancestorageconfig-fsxopenzfsconfig)" : ClusterFsxOpenZfsConfig
}
```

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

```
  [EbsVolumeConfig](#cfn-sagemaker-cluster-clusterinstancestorageconfig-ebsvolumeconfig): 
    ClusterEbsVolumeConfig
  [FsxLustreConfig](#cfn-sagemaker-cluster-clusterinstancestorageconfig-fsxlustreconfig): 
    ClusterFsxLustreConfig
  [FsxOpenZfsConfig](#cfn-sagemaker-cluster-clusterinstancestorageconfig-fsxopenzfsconfig): 
    ClusterFsxOpenZfsConfig
```

## Properties
<a name="aws-properties-sagemaker-cluster-clusterinstancestorageconfig-properties"></a>

`EbsVolumeConfig`  <a name="cfn-sagemaker-cluster-clusterinstancestorageconfig-ebsvolumeconfig"></a>
Defines the configuration for attaching additional Amazon Elastic Block Store (EBS) volumes to the instances in the SageMaker HyperPod cluster instance group. The additional EBS volume is attached to each instance within the SageMaker HyperPod cluster instance group and mounted to `/opt/sagemaker`.  
*Required*: No  
*Type*: [ClusterEbsVolumeConfig](aws-properties-sagemaker-cluster-clusterebsvolumeconfig.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`FsxLustreConfig`  <a name="cfn-sagemaker-cluster-clusterinstancestorageconfig-fsxlustreconfig"></a>
Defines the configuration for attaching an Amazon FSx for Lustre file system to the instances in the SageMaker HyperPod cluster instance group.  
*Required*: No  
*Type*: [ClusterFsxLustreConfig](aws-properties-sagemaker-cluster-clusterfsxlustreconfig.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`FsxOpenZfsConfig`  <a name="cfn-sagemaker-cluster-clusterinstancestorageconfig-fsxopenzfsconfig"></a>
Defines the configuration for attaching an Amazon FSx for OpenZFS file system to the instances in the SageMaker HyperPod cluster instance group.  
*Required*: No  
*Type*: [ClusterFsxOpenZfsConfig](aws-properties-sagemaker-cluster-clusterfsxopenzfsconfig.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::Cluster ClusterKubernetesConfig
<a name="aws-properties-sagemaker-cluster-clusterkubernetesconfig"></a>

Kubernetes configuration that specifies labels and taints to be applied to cluster nodes in an instance group. 

## Syntax
<a name="aws-properties-sagemaker-cluster-clusterkubernetesconfig-syntax"></a>

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

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

```
{
  "[Labels](#cfn-sagemaker-cluster-clusterkubernetesconfig-labels)" : {Key: Value, ...},
  "[Taints](#cfn-sagemaker-cluster-clusterkubernetesconfig-taints)" : [ ClusterKubernetesTaint, ... ]
}
```

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

```
  [Labels](#cfn-sagemaker-cluster-clusterkubernetesconfig-labels): 
    Key: Value
  [Taints](#cfn-sagemaker-cluster-clusterkubernetesconfig-taints): 
    - ClusterKubernetesTaint
```

## Properties
<a name="aws-properties-sagemaker-cluster-clusterkubernetesconfig-properties"></a>

`Labels`  <a name="cfn-sagemaker-cluster-clusterkubernetesconfig-labels"></a>
Key-value pairs of labels to be applied to cluster nodes.  
*Required*: No  
*Type*: Object of String  
*Pattern*: `^.+$`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Taints`  <a name="cfn-sagemaker-cluster-clusterkubernetesconfig-taints"></a>
List of taints to be applied to cluster nodes.  
*Required*: No  
*Type*: Array of [ClusterKubernetesTaint](aws-properties-sagemaker-cluster-clusterkubernetestaint.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)

# AWS::SageMaker::Cluster ClusterKubernetesTaint
<a name="aws-properties-sagemaker-cluster-clusterkubernetestaint"></a>

A Kubernetes taint that can be applied to cluster nodes.

## Syntax
<a name="aws-properties-sagemaker-cluster-clusterkubernetestaint-syntax"></a>

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

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

```
{
  "[Effect](#cfn-sagemaker-cluster-clusterkubernetestaint-effect)" : String,
  "[Key](#cfn-sagemaker-cluster-clusterkubernetestaint-key)" : String,
  "[Value](#cfn-sagemaker-cluster-clusterkubernetestaint-value)" : String
}
```

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

```
  [Effect](#cfn-sagemaker-cluster-clusterkubernetestaint-effect): String
  [Key](#cfn-sagemaker-cluster-clusterkubernetestaint-key): String
  [Value](#cfn-sagemaker-cluster-clusterkubernetestaint-value): String
```

## Properties
<a name="aws-properties-sagemaker-cluster-clusterkubernetestaint-properties"></a>

`Effect`  <a name="cfn-sagemaker-cluster-clusterkubernetestaint-effect"></a>
The effect of the taint. Valid values are `NoSchedule`, `PreferNoSchedule`, and `NoExecute`.   
*Required*: Yes  
*Type*: String  
*Allowed values*: `NoSchedule | PreferNoSchedule | NoExecute`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Key`  <a name="cfn-sagemaker-cluster-clusterkubernetestaint-key"></a>
The key of the taint.  
*Required*: Yes  
*Type*: String  
*Pattern*: `([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?[A-Za-z0-9]([-A-Za-z0-9_.]*[A-Za-z0-9])?`  
*Minimum*: `1`  
*Maximum*: `317`  
*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-cluster-clusterkubernetestaint-value"></a>
The value of the taint.  
*Required*: No  
*Type*: String  
*Pattern*: `(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])?`  
*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)

# AWS::SageMaker::Cluster ClusterLifeCycleConfig
<a name="aws-properties-sagemaker-cluster-clusterlifecycleconfig"></a>

The lifecycle configuration for a SageMaker HyperPod cluster.

## Syntax
<a name="aws-properties-sagemaker-cluster-clusterlifecycleconfig-syntax"></a>

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

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

```
{
  "[OnCreate](#cfn-sagemaker-cluster-clusterlifecycleconfig-oncreate)" : String,
  "[OnInitComplete](#cfn-sagemaker-cluster-clusterlifecycleconfig-oninitcomplete)" : String,
  "[SourceS3Uri](#cfn-sagemaker-cluster-clusterlifecycleconfig-sources3uri)" : String
}
```

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

```
  [OnCreate](#cfn-sagemaker-cluster-clusterlifecycleconfig-oncreate): String
  [OnInitComplete](#cfn-sagemaker-cluster-clusterlifecycleconfig-oninitcomplete): String
  [SourceS3Uri](#cfn-sagemaker-cluster-clusterlifecycleconfig-sources3uri): String
```

## Properties
<a name="aws-properties-sagemaker-cluster-clusterlifecycleconfig-properties"></a>

`OnCreate`  <a name="cfn-sagemaker-cluster-clusterlifecycleconfig-oncreate"></a>
The file name of the entrypoint script of lifecycle scripts under `SourceS3Uri`. This entrypoint script runs during cluster creation.  
*Required*: No  
*Type*: String  
*Pattern*: `^[\S\s]+$`  
*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)

`OnInitComplete`  <a name="cfn-sagemaker-cluster-clusterlifecycleconfig-oninitcomplete"></a>
The file name of the entrypoint script of lifecycle scripts under `SourceS3Uri`. This script runs on the node after the AMI-based initialization is complete.  
*Required*: No  
*Type*: String  
*Pattern*: `^[\S\s]+$`  
*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)

`SourceS3Uri`  <a name="cfn-sagemaker-cluster-clusterlifecycleconfig-sources3uri"></a>
An Amazon S3 bucket path where your lifecycle scripts are stored.  
Make sure that the S3 bucket path starts with `s3://sagemaker-`. The [IAM role for SageMaker HyperPod](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-hyperpod-prerequisites.html#sagemaker-hyperpod-prerequisites-iam-role-for-hyperpod) has the managed [https://docs.aws.amazon.com/sagemaker/latest/dg/security-iam-awsmanpol-cluster.html](https://docs.aws.amazon.com/sagemaker/latest/dg/security-iam-awsmanpol-cluster.html) attached, which allows access to S3 buckets with the specific prefix `sagemaker-`.
*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)

# AWS::SageMaker::Cluster ClusterOrchestratorEksConfig
<a name="aws-properties-sagemaker-cluster-clusterorchestratoreksconfig"></a>

The configuration for the Amazon EKS cluster that is used as the orchestrator for the SageMaker HyperPod cluster. This includes the Amazon Resource Name (ARN) of the EKS cluster

## Syntax
<a name="aws-properties-sagemaker-cluster-clusterorchestratoreksconfig-syntax"></a>

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

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

```
{
  "[ClusterArn](#cfn-sagemaker-cluster-clusterorchestratoreksconfig-clusterarn)" : String
}
```

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

```
  [ClusterArn](#cfn-sagemaker-cluster-clusterorchestratoreksconfig-clusterarn): String
```

## Properties
<a name="aws-properties-sagemaker-cluster-clusterorchestratoreksconfig-properties"></a>

`ClusterArn`  <a name="cfn-sagemaker-cluster-clusterorchestratoreksconfig-clusterarn"></a>
The Amazon Resource Name (ARN) of the SageMaker HyperPod cluster.  
*Required*: Yes  
*Type*: String  
*Pattern*: `arn:aws[a-z\-]*:sagemaker:[a-z0-9\-]*:[0-9]{12}:cluster/[a-z0-9]{12}`  
*Minimum*: `0`  
*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::Cluster ClusterOrchestratorSlurmConfig
<a name="aws-properties-sagemaker-cluster-clusterorchestratorslurmconfig"></a>

The configuration settings for the Slurm orchestrator used with the SageMaker HyperPod cluster.

## Syntax
<a name="aws-properties-sagemaker-cluster-clusterorchestratorslurmconfig-syntax"></a>

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

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

```
{
  "[SlurmConfigStrategy](#cfn-sagemaker-cluster-clusterorchestratorslurmconfig-slurmconfigstrategy)" : String
}
```

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

```
  [SlurmConfigStrategy](#cfn-sagemaker-cluster-clusterorchestratorslurmconfig-slurmconfigstrategy): String
```

## Properties
<a name="aws-properties-sagemaker-cluster-clusterorchestratorslurmconfig-properties"></a>

`SlurmConfigStrategy`  <a name="cfn-sagemaker-cluster-clusterorchestratorslurmconfig-slurmconfigstrategy"></a>
The strategy for managing partitions for the Slurm configuration. Valid values are `Managed`, `Overwrite`, and `Merge`.  
*Required*: No  
*Type*: String  
*Allowed values*: `Overwrite | Managed | Merge`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::SageMaker::Cluster ClusterRestrictedInstanceGroup
<a name="aws-properties-sagemaker-cluster-clusterrestrictedinstancegroup"></a>

Specialized instance groups for training models like Amazon Nova in the SageMaker HyperPod cluster.

## Syntax
<a name="aws-properties-sagemaker-cluster-clusterrestrictedinstancegroup-syntax"></a>

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

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

```
{
  "[CurrentCount](#cfn-sagemaker-cluster-clusterrestrictedinstancegroup-currentcount)" : Integer,
  "[EnvironmentConfig](#cfn-sagemaker-cluster-clusterrestrictedinstancegroup-environmentconfig)" : EnvironmentConfig,
  "[ExecutionRole](#cfn-sagemaker-cluster-clusterrestrictedinstancegroup-executionrole)" : String,
  "[InstanceCount](#cfn-sagemaker-cluster-clusterrestrictedinstancegroup-instancecount)" : Integer,
  "[InstanceGroupName](#cfn-sagemaker-cluster-clusterrestrictedinstancegroup-instancegroupname)" : String,
  "[InstanceStorageConfigs](#cfn-sagemaker-cluster-clusterrestrictedinstancegroup-instancestorageconfigs)" : [ ClusterInstanceStorageConfig, ... ],
  "[InstanceType](#cfn-sagemaker-cluster-clusterrestrictedinstancegroup-instancetype)" : String,
  "[OnStartDeepHealthChecks](#cfn-sagemaker-cluster-clusterrestrictedinstancegroup-onstartdeephealthchecks)" : [ String, ... ],
  "[OverrideVpcConfig](#cfn-sagemaker-cluster-clusterrestrictedinstancegroup-overridevpcconfig)" : VpcConfig,
  "[ThreadsPerCore](#cfn-sagemaker-cluster-clusterrestrictedinstancegroup-threadspercore)" : Integer,
  "[TrainingPlanArn](#cfn-sagemaker-cluster-clusterrestrictedinstancegroup-trainingplanarn)" : String
}
```

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

```
  [CurrentCount](#cfn-sagemaker-cluster-clusterrestrictedinstancegroup-currentcount): Integer
  [EnvironmentConfig](#cfn-sagemaker-cluster-clusterrestrictedinstancegroup-environmentconfig): 
    EnvironmentConfig
  [ExecutionRole](#cfn-sagemaker-cluster-clusterrestrictedinstancegroup-executionrole): String
  [InstanceCount](#cfn-sagemaker-cluster-clusterrestrictedinstancegroup-instancecount): Integer
  [InstanceGroupName](#cfn-sagemaker-cluster-clusterrestrictedinstancegroup-instancegroupname): String
  [InstanceStorageConfigs](#cfn-sagemaker-cluster-clusterrestrictedinstancegroup-instancestorageconfigs): 
    - ClusterInstanceStorageConfig
  [InstanceType](#cfn-sagemaker-cluster-clusterrestrictedinstancegroup-instancetype): String
  [OnStartDeepHealthChecks](#cfn-sagemaker-cluster-clusterrestrictedinstancegroup-onstartdeephealthchecks): 
    - String
  [OverrideVpcConfig](#cfn-sagemaker-cluster-clusterrestrictedinstancegroup-overridevpcconfig): 
    VpcConfig
  [ThreadsPerCore](#cfn-sagemaker-cluster-clusterrestrictedinstancegroup-threadspercore): Integer
  [TrainingPlanArn](#cfn-sagemaker-cluster-clusterrestrictedinstancegroup-trainingplanarn): String
```

## Properties
<a name="aws-properties-sagemaker-cluster-clusterrestrictedinstancegroup-properties"></a>

`CurrentCount`  <a name="cfn-sagemaker-cluster-clusterrestrictedinstancegroup-currentcount"></a>
The current number of instances in the restricted instance group.  
*Required*: No  
*Type*: Integer  
*Minimum*: `0`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`EnvironmentConfig`  <a name="cfn-sagemaker-cluster-clusterrestrictedinstancegroup-environmentconfig"></a>
Environment configuration for the restricted instance group, including FSx Lustre settings.  
*Required*: Yes  
*Type*: [EnvironmentConfig](aws-properties-sagemaker-cluster-environmentconfig.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ExecutionRole`  <a name="cfn-sagemaker-cluster-clusterrestrictedinstancegroup-executionrole"></a>
The Amazon Resource Name (ARN) of the IAM execution role for the restricted instance group.  
*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)

`InstanceCount`  <a name="cfn-sagemaker-cluster-clusterrestrictedinstancegroup-instancecount"></a>
The number of instances in the restricted instance group.  
*Required*: Yes  
*Type*: Integer  
*Minimum*: `0`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`InstanceGroupName`  <a name="cfn-sagemaker-cluster-clusterrestrictedinstancegroup-instancegroupname"></a>
The name of the restricted instance group.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^[a-zA-Z0-9](-*[a-zA-Z0-9])*$`  
*Minimum*: `1`  
*Maximum*: `63`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`InstanceStorageConfigs`  <a name="cfn-sagemaker-cluster-clusterrestrictedinstancegroup-instancestorageconfigs"></a>
Storage configurations for instances in the restricted instance group.  
*Required*: No  
*Type*: Array of [ClusterInstanceStorageConfig](aws-properties-sagemaker-cluster-clusterinstancestorageconfig.md)  
*Maximum*: `4`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`InstanceType`  <a name="cfn-sagemaker-cluster-clusterrestrictedinstancegroup-instancetype"></a>
The EC2 instance type for the restricted instance group.  
*Required*: Yes  
*Type*: String  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`OnStartDeepHealthChecks`  <a name="cfn-sagemaker-cluster-clusterrestrictedinstancegroup-onstartdeephealthchecks"></a>
Deep health checks to run when instances start in the restricted instance group.  
*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)

`OverrideVpcConfig`  <a name="cfn-sagemaker-cluster-clusterrestrictedinstancegroup-overridevpcconfig"></a>
VPC configuration override for the restricted instance group.  
*Required*: No  
*Type*: [VpcConfig](aws-properties-sagemaker-cluster-vpcconfig.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`ThreadsPerCore`  <a name="cfn-sagemaker-cluster-clusterrestrictedinstancegroup-threadspercore"></a>
The number of threads per CPU core for instances in the restricted instance group.  
*Required*: No  
*Type*: Integer  
*Minimum*: `1`  
*Maximum*: `2`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`TrainingPlanArn`  <a name="cfn-sagemaker-cluster-clusterrestrictedinstancegroup-trainingplanarn"></a>
The Amazon Resource Name (ARN) of the training plan for the restricted instance group.  
*Required*: No  
*Type*: String  
*Pattern*: `^arn:aws[a-z\-]*:sagemaker:[a-z0-9\-]*:[0-9]{12}:training-plan/.*$`  
*Minimum*: `50`  
*Maximum*: `2048`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::SageMaker::Cluster ClusterSlurmConfig
<a name="aws-properties-sagemaker-cluster-clusterslurmconfig"></a>

The Slurm configuration for an instance group in a SageMaker HyperPod cluster.

## Syntax
<a name="aws-properties-sagemaker-cluster-clusterslurmconfig-syntax"></a>

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

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

```
{
  "[NodeType](#cfn-sagemaker-cluster-clusterslurmconfig-nodetype)" : String,
  "[PartitionNames](#cfn-sagemaker-cluster-clusterslurmconfig-partitionnames)" : [ String, ... ]
}
```

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

```
  [NodeType](#cfn-sagemaker-cluster-clusterslurmconfig-nodetype): String
  [PartitionNames](#cfn-sagemaker-cluster-clusterslurmconfig-partitionnames): 
    - String
```

## Properties
<a name="aws-properties-sagemaker-cluster-clusterslurmconfig-properties"></a>

`NodeType`  <a name="cfn-sagemaker-cluster-clusterslurmconfig-nodetype"></a>
The type of Slurm node for the instance group. Valid values are `Controller`, `Worker`, and `Login`.  
*Required*: Yes  
*Type*: String  
*Allowed values*: `Controller | Login | Compute`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`PartitionNames`  <a name="cfn-sagemaker-cluster-clusterslurmconfig-partitionnames"></a>
The list of Slurm partition names that the instance group belongs to.  
*Required*: No  
*Type*: Array of String  
*Minimum*: `0 | 0`  
*Maximum*: `1024 | 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::Cluster DeploymentConfig
<a name="aws-properties-sagemaker-cluster-deploymentconfig"></a>

The deployment configuration for an endpoint, which contains the desired deployment strategy and rollback configurations.

## Syntax
<a name="aws-properties-sagemaker-cluster-deploymentconfig-syntax"></a>

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

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

```
{
  "[AutoRollbackConfiguration](#cfn-sagemaker-cluster-deploymentconfig-autorollbackconfiguration)" : [ AlarmDetails, ... ],
  "[RollingUpdatePolicy](#cfn-sagemaker-cluster-deploymentconfig-rollingupdatepolicy)" : RollingUpdatePolicy,
  "[WaitIntervalInSeconds](#cfn-sagemaker-cluster-deploymentconfig-waitintervalinseconds)" : Integer
}
```

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

```
  [AutoRollbackConfiguration](#cfn-sagemaker-cluster-deploymentconfig-autorollbackconfiguration): 
    - AlarmDetails
  [RollingUpdatePolicy](#cfn-sagemaker-cluster-deploymentconfig-rollingupdatepolicy): 
    RollingUpdatePolicy
  [WaitIntervalInSeconds](#cfn-sagemaker-cluster-deploymentconfig-waitintervalinseconds): Integer
```

## Properties
<a name="aws-properties-sagemaker-cluster-deploymentconfig-properties"></a>

`AutoRollbackConfiguration`  <a name="cfn-sagemaker-cluster-deploymentconfig-autorollbackconfiguration"></a>
Automatic rollback configuration for handling endpoint deployment failures and recovery.  
*Required*: No  
*Type*: Array of [AlarmDetails](aws-properties-sagemaker-cluster-alarmdetails.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`RollingUpdatePolicy`  <a name="cfn-sagemaker-cluster-deploymentconfig-rollingupdatepolicy"></a>
Specifies a rolling deployment strategy for updating a SageMaker endpoint.  
*Required*: No  
*Type*: [RollingUpdatePolicy](aws-properties-sagemaker-cluster-rollingupdatepolicy.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`WaitIntervalInSeconds`  <a name="cfn-sagemaker-cluster-deploymentconfig-waitintervalinseconds"></a>
The wait interval in seconds between deployment batches.  
*Required*: No  
*Type*: Integer  
*Minimum*: `0`  
*Maximum*: `3600`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::SageMaker::Cluster EnvironmentConfig
<a name="aws-properties-sagemaker-cluster-environmentconfig"></a>

The configuration for the restricted instance groups (RIG) environment.

## Syntax
<a name="aws-properties-sagemaker-cluster-environmentconfig-syntax"></a>

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

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

```
{
  "[FSxLustreConfig](#cfn-sagemaker-cluster-environmentconfig-fsxlustreconfig)" : FSxLustreConfig
}
```

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

```
  [FSxLustreConfig](#cfn-sagemaker-cluster-environmentconfig-fsxlustreconfig): 
    FSxLustreConfig
```

## Properties
<a name="aws-properties-sagemaker-cluster-environmentconfig-properties"></a>

`FSxLustreConfig`  <a name="cfn-sagemaker-cluster-environmentconfig-fsxlustreconfig"></a>
Configuration settings for an Amazon FSx for Lustre file system to be used with the cluster.  
*Required*: No  
*Type*: [FSxLustreConfig](aws-properties-sagemaker-cluster-fsxlustreconfig.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::Cluster FSxLustreConfig
<a name="aws-properties-sagemaker-cluster-fsxlustreconfig"></a>

Configuration settings for an Amazon FSx for Lustre file system to be used with the cluster.

## Syntax
<a name="aws-properties-sagemaker-cluster-fsxlustreconfig-syntax"></a>

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

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

```
{
  "[PerUnitStorageThroughput](#cfn-sagemaker-cluster-fsxlustreconfig-perunitstoragethroughput)" : Integer,
  "[SizeInGiB](#cfn-sagemaker-cluster-fsxlustreconfig-sizeingib)" : Integer
}
```

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

```
  [PerUnitStorageThroughput](#cfn-sagemaker-cluster-fsxlustreconfig-perunitstoragethroughput): Integer
  [SizeInGiB](#cfn-sagemaker-cluster-fsxlustreconfig-sizeingib): Integer
```

## Properties
<a name="aws-properties-sagemaker-cluster-fsxlustreconfig-properties"></a>

`PerUnitStorageThroughput`  <a name="cfn-sagemaker-cluster-fsxlustreconfig-perunitstoragethroughput"></a>
The throughput capacity of the Amazon FSx for Lustre file system, measured in MB/s per TiB of storage.  
*Required*: Yes  
*Type*: Integer  
*Minimum*: `125`  
*Maximum*: `1000`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`SizeInGiB`  <a name="cfn-sagemaker-cluster-fsxlustreconfig-sizeingib"></a>
The storage capacity of the Amazon FSx for Lustre file system, specified in gibibytes (GiB).  
*Required*: Yes  
*Type*: Integer  
*Minimum*: `1200`  
*Maximum*: `100800`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::SageMaker::Cluster Orchestrator
<a name="aws-properties-sagemaker-cluster-orchestrator"></a>

The orchestrator for a SageMaker HyperPod cluster.

## Syntax
<a name="aws-properties-sagemaker-cluster-orchestrator-syntax"></a>

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

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

```
{
  "[Eks](#cfn-sagemaker-cluster-orchestrator-eks)" : ClusterOrchestratorEksConfig,
  "[Slurm](#cfn-sagemaker-cluster-orchestrator-slurm)" : ClusterOrchestratorSlurmConfig
}
```

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

```
  [Eks](#cfn-sagemaker-cluster-orchestrator-eks): 
    ClusterOrchestratorEksConfig
  [Slurm](#cfn-sagemaker-cluster-orchestrator-slurm): 
    ClusterOrchestratorSlurmConfig
```

## Properties
<a name="aws-properties-sagemaker-cluster-orchestrator-properties"></a>

`Eks`  <a name="cfn-sagemaker-cluster-orchestrator-eks"></a>
The configuration of the Amazon EKS orchestrator cluster for the SageMaker HyperPod cluster.  
*Required*: No  
*Type*: [ClusterOrchestratorEksConfig](aws-properties-sagemaker-cluster-clusterorchestratoreksconfig.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Slurm`  <a name="cfn-sagemaker-cluster-orchestrator-slurm"></a>
Configuration for using Slurm as the cluster orchestrator.  
*Required*: No  
*Type*: [ClusterOrchestratorSlurmConfig](aws-properties-sagemaker-cluster-clusterorchestratorslurmconfig.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::Cluster RollingUpdatePolicy
<a name="aws-properties-sagemaker-cluster-rollingupdatepolicy"></a>

Specifies a rolling deployment strategy for updating a SageMaker endpoint.

## Syntax
<a name="aws-properties-sagemaker-cluster-rollingupdatepolicy-syntax"></a>

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

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

```
{
  "[MaximumBatchSize](#cfn-sagemaker-cluster-rollingupdatepolicy-maximumbatchsize)" : CapacitySizeConfig,
  "[RollbackMaximumBatchSize](#cfn-sagemaker-cluster-rollingupdatepolicy-rollbackmaximumbatchsize)" : CapacitySizeConfig
}
```

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

```
  [MaximumBatchSize](#cfn-sagemaker-cluster-rollingupdatepolicy-maximumbatchsize): 
    CapacitySizeConfig
  [RollbackMaximumBatchSize](#cfn-sagemaker-cluster-rollingupdatepolicy-rollbackmaximumbatchsize): 
    CapacitySizeConfig
```

## Properties
<a name="aws-properties-sagemaker-cluster-rollingupdatepolicy-properties"></a>

`MaximumBatchSize`  <a name="cfn-sagemaker-cluster-rollingupdatepolicy-maximumbatchsize"></a>
Batch size for each rolling step to provision capacity and turn on traffic on the new endpoint fleet, and terminate capacity on the old endpoint fleet. Value must be between 5% to 50% of the variant's total instance count.  
*Required*: Yes  
*Type*: [CapacitySizeConfig](aws-properties-sagemaker-cluster-capacitysizeconfig.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`RollbackMaximumBatchSize`  <a name="cfn-sagemaker-cluster-rollingupdatepolicy-rollbackmaximumbatchsize"></a>
Batch size for rollback to the old endpoint fleet. Each rolling step to provision capacity and turn on traffic on the old endpoint fleet, and terminate capacity on the new endpoint fleet. If this field is absent, the default value will be set to 100% of total capacity which means to bring up the whole capacity of the old fleet at once during rollback.  
*Required*: No  
*Type*: [CapacitySizeConfig](aws-properties-sagemaker-cluster-capacitysizeconfig.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::Cluster ScheduledUpdateConfig
<a name="aws-properties-sagemaker-cluster-scheduledupdateconfig"></a>

The configuration object of the schedule that SageMaker follows when updating the AMI.

## Syntax
<a name="aws-properties-sagemaker-cluster-scheduledupdateconfig-syntax"></a>

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

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

```
{
  "[DeploymentConfig](#cfn-sagemaker-cluster-scheduledupdateconfig-deploymentconfig)" : DeploymentConfig,
  "[ScheduleExpression](#cfn-sagemaker-cluster-scheduledupdateconfig-scheduleexpression)" : String
}
```

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

```
  [DeploymentConfig](#cfn-sagemaker-cluster-scheduledupdateconfig-deploymentconfig): 
    DeploymentConfig
  [ScheduleExpression](#cfn-sagemaker-cluster-scheduledupdateconfig-scheduleexpression): String
```

## Properties
<a name="aws-properties-sagemaker-cluster-scheduledupdateconfig-properties"></a>

`DeploymentConfig`  <a name="cfn-sagemaker-cluster-scheduledupdateconfig-deploymentconfig"></a>
The configuration to use when updating the AMI versions.  
*Required*: No  
*Type*: [DeploymentConfig](aws-properties-sagemaker-cluster-deploymentconfig.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ScheduleExpression`  <a name="cfn-sagemaker-cluster-scheduledupdateconfig-scheduleexpression"></a>
A cron expression that specifies the schedule that SageMaker follows when updating the AMI.  
*Required*: Yes  
*Type*: String  
*Pattern*: `cron\((?:[0-5][0-9]|[0-9]|) (?:[01][0-9]|2[0-3]|[0-9]) (?:[1-9]|0[1-9]|[12][0-9]|3[01]|\?) (?:[1-9]|0[1-9]|1[0-2]|\*|\*/(?:[1-9]|1[0-2])|) (?:MON|TUE|WED|THU|FRI|SAT|SUN|[1-7]|\?|L|(?:[1-7]#[1-5])|(?:[1-7]L)) (?:20[2-9][0-9]|\*|)\)`  
*Minimum*: `1`  
*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::Cluster Tag
<a name="aws-properties-sagemaker-cluster-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-cluster-tag-syntax"></a>

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

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

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

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

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

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

`Key`  <a name="cfn-sagemaker-cluster-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-cluster-tag-value"></a>
The tag value.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^([\p{L}\p{Z}\p{N}_.:/=+\-@]*)$`  
*Minimum*: `0`  
*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::Cluster TieredStorageConfig
<a name="aws-properties-sagemaker-cluster-tieredstorageconfig"></a>

Defines the configuration for managed tier checkpointing in a HyperPod cluster. Managed tier checkpointing uses multiple storage tiers, including cluster CPU memory, to provide faster checkpoint operations and improved fault tolerance for large-scale model training. The system automatically saves checkpoints at high frequency to memory and periodically persists them to durable storage, like Amazon S3.

## Syntax
<a name="aws-properties-sagemaker-cluster-tieredstorageconfig-syntax"></a>

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

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

```
{
  "[InstanceMemoryAllocationPercentage](#cfn-sagemaker-cluster-tieredstorageconfig-instancememoryallocationpercentage)" : Integer,
  "[Mode](#cfn-sagemaker-cluster-tieredstorageconfig-mode)" : String
}
```

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

```
  [InstanceMemoryAllocationPercentage](#cfn-sagemaker-cluster-tieredstorageconfig-instancememoryallocationpercentage): Integer
  [Mode](#cfn-sagemaker-cluster-tieredstorageconfig-mode): String
```

## Properties
<a name="aws-properties-sagemaker-cluster-tieredstorageconfig-properties"></a>

`InstanceMemoryAllocationPercentage`  <a name="cfn-sagemaker-cluster-tieredstorageconfig-instancememoryallocationpercentage"></a>
The percentage (int) of cluster memory to allocate for checkpointing.  
*Required*: No  
*Type*: Integer  
*Minimum*: `0`  
*Maximum*: `100`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Mode`  <a name="cfn-sagemaker-cluster-tieredstorageconfig-mode"></a>
Specifies whether managed tier checkpointing is enabled or disabled for the HyperPod cluster. When set to `Enable`, the system installs a memory management daemon that provides disaggregated memory as a service for checkpoint storage. When set to `Disable`, the feature is turned off and the memory management daemon is removed from the cluster.  
*Required*: Yes  
*Type*: String  
*Allowed values*: `Enable | Disable`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::SageMaker::Cluster VpcConfig
<a name="aws-properties-sagemaker-cluster-vpcconfig"></a>

Specifies an Amazon Virtual Private Cloud (VPC) that your SageMaker jobs, hosted models, and compute resources have access to. You can control access to and from your resources by configuring a VPC. For more information, see [Give SageMaker Access to Resources in your Amazon VPC](https://docs.aws.amazon.com/sagemaker/latest/dg/infrastructure-give-access.html). 

## Syntax
<a name="aws-properties-sagemaker-cluster-vpcconfig-syntax"></a>

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

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

```
{
  "[SecurityGroupIds](#cfn-sagemaker-cluster-vpcconfig-securitygroupids)" : [ String, ... ],
  "[Subnets](#cfn-sagemaker-cluster-vpcconfig-subnets)" : [ String, ... ]
}
```

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

```
  [SecurityGroupIds](#cfn-sagemaker-cluster-vpcconfig-securitygroupids): 
    - String
  [Subnets](#cfn-sagemaker-cluster-vpcconfig-subnets): 
    - String
```

## Properties
<a name="aws-properties-sagemaker-cluster-vpcconfig-properties"></a>

`SecurityGroupIds`  <a name="cfn-sagemaker-cluster-vpcconfig-securitygroupids"></a>
The VPC security group IDs, in the form `sg-xxxxxxxx`. Specify the security groups for the VPC that is specified in the `Subnets` field.  
*Required*: Yes  
*Type*: Array of String  
*Minimum*: `1`  
*Maximum*: `32 | 5`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`Subnets`  <a name="cfn-sagemaker-cluster-vpcconfig-subnets"></a>
The ID of the subnets in the VPC to which you want to connect your training job or model. For information about the availability of specific instance types, see [Supported Instance Types and Availability Zones](https://docs.aws.amazon.com/sagemaker/latest/dg/instance-types-az.html).  
*Required*: Yes  
*Type*: Array of String  
*Minimum*: `1`  
*Maximum*: `32 | 16`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::SageMaker::CodeRepository
<a name="aws-resource-sagemaker-coderepository"></a>

Creates a Git repository as a resource in your SageMaker AI account. You can associate the repository with notebook instances so that you can use Git source control for the notebooks you create. The Git repository is a resource in your SageMaker AI account, so it can be associated with more than one notebook instance, and it persists independently from the lifecycle of any notebook instances it is associated with.

The repository can be hosted either in [AWS CodeCommit](https://docs.aws.amazon.com/codecommit/latest/userguide/welcome.html) or in any other Git repository.

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

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

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

```
{
  "Type" : "AWS::SageMaker::CodeRepository",
  "Properties" : {
      "[CodeRepositoryName](#cfn-sagemaker-coderepository-coderepositoryname)" : String,
      "[GitConfig](#cfn-sagemaker-coderepository-gitconfig)" : GitConfig,
      "[Tags](#cfn-sagemaker-coderepository-tags)" : [ Tag, ... ]
    }
}
```

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

```
Type: AWS::SageMaker::CodeRepository
Properties:
  [CodeRepositoryName](#cfn-sagemaker-coderepository-coderepositoryname): String
  [GitConfig](#cfn-sagemaker-coderepository-gitconfig): 
    GitConfig
  [Tags](#cfn-sagemaker-coderepository-tags): 
    - Tag
```

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

`CodeRepositoryName`  <a name="cfn-sagemaker-coderepository-coderepositoryname"></a>
The name of the Git repository.  
*Required*: No  
*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)

`GitConfig`  <a name="cfn-sagemaker-coderepository-gitconfig"></a>
Configuration details for the Git repository, including the URL where it is located and the ARN of the AWS Secrets Manager secret that contains the credentials used to access the repository.  
*Required*: Yes  
*Type*: [GitConfig](aws-properties-sagemaker-coderepository-gitconfig.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Tags`  <a name="cfn-sagemaker-coderepository-tags"></a>
List of tags for Code Repository.  
*Required*: No  
*Type*: Array of [Tag](aws-properties-sagemaker-coderepository-tag.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

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

### Ref
<a name="aws-resource-sagemaker-coderepository-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 code repository.

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-coderepository-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-coderepository-return-values-fn--getatt-fn--getatt"></a>

`CodeRepositoryName`  <a name="CodeRepositoryName-fn::getatt"></a>
The name of the code repository, such as `myCodeRepo`.

`Id`  <a name="Id-fn::getatt"></a>
The name of the code repository.

# AWS::SageMaker::CodeRepository GitConfig
<a name="aws-properties-sagemaker-coderepository-gitconfig"></a>

Specifies configuration details for a Git repository in your AWS account.

## Syntax
<a name="aws-properties-sagemaker-coderepository-gitconfig-syntax"></a>

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

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

```
{
  "[Branch](#cfn-sagemaker-coderepository-gitconfig-branch)" : String,
  "[RepositoryUrl](#cfn-sagemaker-coderepository-gitconfig-repositoryurl)" : String,
  "[SecretArn](#cfn-sagemaker-coderepository-gitconfig-secretarn)" : String
}
```

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

```
  [Branch](#cfn-sagemaker-coderepository-gitconfig-branch): String
  [RepositoryUrl](#cfn-sagemaker-coderepository-gitconfig-repositoryurl): String
  [SecretArn](#cfn-sagemaker-coderepository-gitconfig-secretarn): String
```

## Properties
<a name="aws-properties-sagemaker-coderepository-gitconfig-properties"></a>

`Branch`  <a name="cfn-sagemaker-coderepository-gitconfig-branch"></a>
The default branch for the Git repository.  
*Required*: No  
*Type*: String  
*Pattern*: `[^ ~^:?*\[]+`  
*Minimum*: `1`  
*Maximum*: `1024`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`RepositoryUrl`  <a name="cfn-sagemaker-coderepository-gitconfig-repositoryurl"></a>
The URL where the Git repository is located.  
*Required*: Yes  
*Type*: String  
*Pattern*: `https://([^/]+)/?.{3,1016}`  
*Minimum*: `11`  
*Maximum*: `1024`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`SecretArn`  <a name="cfn-sagemaker-coderepository-gitconfig-secretarn"></a>
The Amazon Resource Name (ARN) of the AWS Secrets Manager secret that contains the credentials used to access the git repository. The secret must have a staging label of `AWSCURRENT` and must be in the following format:  
 `{"username": UserName, "password": Password}`   
*Required*: No  
*Type*: String  
*Pattern*: `arn:aws[a-z\-]*:secretsmanager:[a-z0-9\-]*:[0-9]{12}:secret:.*`  
*Minimum*: `1`  
*Maximum*: `2048`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::SageMaker::CodeRepository Tag
<a name="aws-properties-sagemaker-coderepository-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-coderepository-tag-syntax"></a>

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

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

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

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

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

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

`Key`  <a name="cfn-sagemaker-coderepository-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-coderepository-tag-value"></a>
The tag value.  
*Required*: Yes  
*Type*: String  
*Pattern*: `([\p{L}\p{Z}\p{N}_.:/=+\-@]*)`  
*Minimum*: `0`  
*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::DataQualityJobDefinition
<a name="aws-resource-sagemaker-dataqualityjobdefinition"></a>

Creates a definition for a job that monitors data quality and drift. For information about model monitor, see [Amazon SageMaker AI Model Monitor](https://docs.aws.amazon.com/sagemaker/latest/dg/model-monitor.html).

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

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

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

```
{
  "Type" : "AWS::SageMaker::DataQualityJobDefinition",
  "Properties" : {
      "[DataQualityAppSpecification](#cfn-sagemaker-dataqualityjobdefinition-dataqualityappspecification)" : DataQualityAppSpecification,
      "[DataQualityBaselineConfig](#cfn-sagemaker-dataqualityjobdefinition-dataqualitybaselineconfig)" : DataQualityBaselineConfig,
      "[DataQualityJobInput](#cfn-sagemaker-dataqualityjobdefinition-dataqualityjobinput)" : DataQualityJobInput,
      "[DataQualityJobOutputConfig](#cfn-sagemaker-dataqualityjobdefinition-dataqualityjoboutputconfig)" : MonitoringOutputConfig,
      "[EndpointName](#cfn-sagemaker-dataqualityjobdefinition-endpointname)" : String,
      "[JobDefinitionName](#cfn-sagemaker-dataqualityjobdefinition-jobdefinitionname)" : String,
      "[JobResources](#cfn-sagemaker-dataqualityjobdefinition-jobresources)" : MonitoringResources,
      "[NetworkConfig](#cfn-sagemaker-dataqualityjobdefinition-networkconfig)" : NetworkConfig,
      "[RoleArn](#cfn-sagemaker-dataqualityjobdefinition-rolearn)" : String,
      "[StoppingCondition](#cfn-sagemaker-dataqualityjobdefinition-stoppingcondition)" : StoppingCondition,
      "[Tags](#cfn-sagemaker-dataqualityjobdefinition-tags)" : [ Tag, ... ]
    }
}
```

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

```
Type: AWS::SageMaker::DataQualityJobDefinition
Properties:
  [DataQualityAppSpecification](#cfn-sagemaker-dataqualityjobdefinition-dataqualityappspecification): 
    DataQualityAppSpecification
  [DataQualityBaselineConfig](#cfn-sagemaker-dataqualityjobdefinition-dataqualitybaselineconfig): 
    DataQualityBaselineConfig
  [DataQualityJobInput](#cfn-sagemaker-dataqualityjobdefinition-dataqualityjobinput): 
    DataQualityJobInput
  [DataQualityJobOutputConfig](#cfn-sagemaker-dataqualityjobdefinition-dataqualityjoboutputconfig): 
    MonitoringOutputConfig
  [EndpointName](#cfn-sagemaker-dataqualityjobdefinition-endpointname): String
  [JobDefinitionName](#cfn-sagemaker-dataqualityjobdefinition-jobdefinitionname): String
  [JobResources](#cfn-sagemaker-dataqualityjobdefinition-jobresources): 
    MonitoringResources
  [NetworkConfig](#cfn-sagemaker-dataqualityjobdefinition-networkconfig): 
    NetworkConfig
  [RoleArn](#cfn-sagemaker-dataqualityjobdefinition-rolearn): String
  [StoppingCondition](#cfn-sagemaker-dataqualityjobdefinition-stoppingcondition): 
    StoppingCondition
  [Tags](#cfn-sagemaker-dataqualityjobdefinition-tags): 
    - Tag
```

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

`DataQualityAppSpecification`  <a name="cfn-sagemaker-dataqualityjobdefinition-dataqualityappspecification"></a>
Specifies the container that runs the monitoring job.  
*Required*: Yes  
*Type*: [DataQualityAppSpecification](aws-properties-sagemaker-dataqualityjobdefinition-dataqualityappspecification.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`DataQualityBaselineConfig`  <a name="cfn-sagemaker-dataqualityjobdefinition-dataqualitybaselineconfig"></a>
Configures the constraints and baselines for the monitoring job.  
*Required*: No  
*Type*: [DataQualityBaselineConfig](aws-properties-sagemaker-dataqualityjobdefinition-dataqualitybaselineconfig.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`DataQualityJobInput`  <a name="cfn-sagemaker-dataqualityjobdefinition-dataqualityjobinput"></a>
A list of inputs for the monitoring job. Currently endpoints are supported as monitoring inputs.  
*Required*: Yes  
*Type*: [DataQualityJobInput](aws-properties-sagemaker-dataqualityjobdefinition-dataqualityjobinput.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`DataQualityJobOutputConfig`  <a name="cfn-sagemaker-dataqualityjobdefinition-dataqualityjoboutputconfig"></a>
The output configuration for monitoring jobs.  
*Required*: Yes  
*Type*: [MonitoringOutputConfig](aws-properties-sagemaker-dataqualityjobdefinition-monitoringoutputconfig.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`EndpointName`  <a name="cfn-sagemaker-dataqualityjobdefinition-endpointname"></a>
The name of the endpoint used to run the monitoring job.  
*Required*: No  
*Type*: String  
*Pattern*: `^[a-zA-Z0-9](-*[a-zA-Z0-9])*`  
*Maximum*: `63`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`JobDefinitionName`  <a name="cfn-sagemaker-dataqualityjobdefinition-jobdefinitionname"></a>
The name for the monitoring job definition.  
*Required*: No  
*Type*: String  
*Pattern*: `^[a-zA-Z0-9](-*[a-zA-Z0-9])*$`  
*Maximum*: `63`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`JobResources`  <a name="cfn-sagemaker-dataqualityjobdefinition-jobresources"></a>
Identifies the resources to deploy for a monitoring job.  
*Required*: Yes  
*Type*: [MonitoringResources](aws-properties-sagemaker-dataqualityjobdefinition-monitoringresources.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`NetworkConfig`  <a name="cfn-sagemaker-dataqualityjobdefinition-networkconfig"></a>
Specifies networking configuration for the monitoring job.  
*Required*: No  
*Type*: [NetworkConfig](aws-properties-sagemaker-dataqualityjobdefinition-networkconfig.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`RoleArn`  <a name="cfn-sagemaker-dataqualityjobdefinition-rolearn"></a>
The Amazon Resource Name (ARN) of an IAM role that Amazon SageMaker can assume to perform tasks on your behalf.  
*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)

`StoppingCondition`  <a name="cfn-sagemaker-dataqualityjobdefinition-stoppingcondition"></a>
A time limit for how long the monitoring job is allowed to run before stopping.  
*Required*: No  
*Type*: [StoppingCondition](aws-properties-sagemaker-dataqualityjobdefinition-stoppingcondition.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`Tags`  <a name="cfn-sagemaker-dataqualityjobdefinition-tags"></a>
An array of key-value pairs to apply to this resource.  
For more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html).  
*Required*: No  
*Type*: Array of [Tag](aws-properties-sagemaker-dataqualityjobdefinition-tag.md)  
*Maximum*: `50`  
*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-dataqualityjobdefinition-return-values"></a>

### Ref
<a name="aws-resource-sagemaker-dataqualityjobdefinition-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 job definition.

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-dataqualityjobdefinition-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-dataqualityjobdefinition-return-values-fn--getatt-fn--getatt"></a>

`CreationTime`  <a name="CreationTime-fn::getatt"></a>
The time when the job definition was created.

`JobDefinitionArn`  <a name="JobDefinitionArn-fn::getatt"></a>
The Amazon Resource Name (ARN) of the job definition.

## Examples
<a name="aws-resource-sagemaker-dataqualityjobdefinition--examples"></a>

### SageMaker DataQualityJobDefinition Example
<a name="aws-resource-sagemaker-dataqualityjobdefinition--examples--SageMaker_DataQualityJobDefinition_Example"></a>

The following example creates a Data Quality monitoring job defintion.

#### JSON
<a name="aws-resource-sagemaker-dataqualityjobdefinition--examples--SageMaker_DataQualityJobDefinition_Example--json"></a>

```
{
   "AWSTemplateFormatVersion": "2010-09-09",
   "Description": "Basic SageMaker Hosting entities to create a data quality job definition",
   "Mappings": {
      "RegionMap": {
         "us-west-2": {
            "MyModelImage": "123456789012.dkr.ecr.us-west-2.amazonaws.com/mymodel:latest"
         },
         "us-east-2": {
            "MyModelImage": "123456789012.dkr.ecr.us-east-2.amazonaws.com/mymodel:latest"
         },
         "us-east-1": {
            "MyModelImage": "123456789012.dkr.ecr.us-east-1.amazonaws.com/mymodel:latest"
         },
         "eu-west-1": {
            "MyModelImage": "123456789012.dkr.ecr.eu-west-1.amazonaws.com/mymodel:latest"
         },
         "ap-northeast-1": {
            "MyModelImage": "123456789012.dkr.ecr.ap-northeast-1.amazonaws.com/mymodel:latest"
         },
         "ap-northeast-2": {
            "MyModelImage": "123456789012.dkr.ecr.ap-northeast-2.amazonaws.com/mymodel:latest"
         },
         "ap-southeast-2": {
            "MyModelImage": "123456789012.dkr.ecr.ap-southeast-2.amazonaws.com/mymodel:latest"
         },
         "eu-central-1": {
            "MyModelImage": "123456789012.dkr.ecr.eu-central-1.amazonaws.com/mymodel:latest"
         }
      }
   },
   "Resources": {
      "Endpoint": {
         "Type": "AWS::SageMaker::Endpoint",
         "Properties": {
            "EndpointConfigName": {
            "Fn::GetAtt": [
              "EndpointConfigWithDataCapture",
              "EndpointConfigName"
             ]
                
            }
         }
      },
      "EndpointConfigWithDataCapture": {
         "Type": "AWS::SageMaker::EndpointConfig",
         "Properties": {
            "ProductionVariants": [
               {
                  "InitialInstanceCount": 1,
                  "InitialVariantWeight": 1,
                  "InstanceType": "ml.t2.large",
                  "ModelName": {
                     "Fn::GetAtt": [
                       "Model",
                       "ModelName"
                      ]
                
                },
                  "VariantName": {
                     "Fn::GetAtt": [
                       "Model",
                       "ModelName"
                      ]
                
                }
               }
            ],
            "DataCaptureConfig": {
               "EnableCapture": true,
               "InitialSamplingPercentage": 100,
               "DestinationS3Uri": "s3://bucket/prefix",
               "KmsKeyId": "kmskeyid",
               "CaptureOptions": [
                  {
                     "CaptureMode": "Input"
                  },
                  {
                     "CaptureMode": "Output"
                  }
               ],
               "CaptureContentTypeHeader": {
                  "CsvContentTypes": [
                     "text/csv"
                  ],
                  "JsonContentTypes": [
                     "appplication/json"
                  ]
               }
            }
         }
      },
      "Model": {
         "Type": "AWS::SageMaker::Model",
         "Properties": {
            "PrimaryContainer": {
               "Image": { "Fn::FindInMap": [
                  "RegionMap",
                  {"Ref": "AWS::Region"},
                  "MyModelImage"
                 ]
               }
            },
            "ExecutionRoleArn": {
                     "Fn::GetAtt": [
                       "ExecutionRole",
                       "Arn"
                      ]
                
                }
         }
      },
      "ExecutionRole": {
         "Type": "AWS::IAM::Role",
         "Properties": {
            "AssumeRolePolicyDocument": {
               "Version": "2012-10-17"		 	 	 ,
               "Statement": [
                  {
                     "Effect": "Allow",
                     "Principal": {
                        "Service": [
                           "sagemaker.amazonaws.com"
                        ]
                     },
                     "Action": [
                        "sts:AssumeRole"
                     ]
                  }
               ]
            },
            "Path": "/",
            "Policies": [
               {
                  "PolicyName": "root",
                  "PolicyDocument": {
                     "Version": "2012-10-17"		 	 	 ,
                     "Statement": [
                        {
                           "Effect": "Allow",
                           "Action": "*",
                           "Resource": "*"
                        }
                     ]
                  }
               }
            ]
         }
      },
      "JobDefinitionExecutionRole": {
         "Type": "AWS::IAM::Role",
         "Properties": {
            "AssumeRolePolicyDocument": {
               "Version": "2012-10-17"		 	 	 ,
               "Statement": [
                  {
                     "Effect": "Allow",
                     "Principal": {
                        "Service": [
                           "sagemaker.amazonaws.com"
                        ]
                     },
                     "Action": [
                        "sts:AssumeRole"
                     ]
                  }
               ]
            },
            "ManagedPolicyArns": [
               {
                  "Fn::Sub": "arn:${AWS::Partition}:iam::aws:policy/AmazonSageMakerFullAccess"
               },
               {
                  "Fn::Sub": "arn:${AWS::Partition}:iam::aws:policy/AmazonS3FullAccess"
               },
               {
                  "Fn::Sub": "arn:${AWS::Partition}:iam::aws:policy/AmazonEC2ContainerRegistryReadOnly"
               }
            ]
         }
      },
      "DataQualityJobDefinition": {
         "Type": "AWS::SageMaker::DataQualityJobDefinition",
         "Properties": {
            "DataQualityAppSpecification": {
               "ImageUri": {
                  "Fn::Sub": "123456789012.dkr.ecr.${AWS::Partition}.amazonaws.com/sagemaker-model-monitor-analyzer:latest"
               }
            },
            "DataQualityJobInput": {
               "EndpointInput": {
                  "EndpointName": {
                     "Fn::GetAtt": [
                       "Endpoint",
                       "EndpointName"
                      ]
                
                },
                  "LocalPath": "/opt/ml/processing/endpointdata"
               }
            },
            "DataQualityJobOutputConfig": {
               "MonitoringOutputs": [
                  {
                     "S3Output": {
                        "LocalPath": "/opt/ml/processing/localpath",
                        "S3Uri": {
                           "Fn::Sub": "s3://data-quality-job-definition-${AWS::AccountId}/output"
                        }
                     }
                  }
               ]
            },
            "JobResources": {
               "ClusterConfig": {
                  "InstanceCount": 1,
                  "InstanceType": "ml.m5.large",
                  "VolumeSizeInGB": 50
               }
            },
            "RoleArn": null,
            "StoppingCondition": {
               "MaxRuntimeInSeconds": 2000
            }
         }
      }
   }
}
```

#### YAML
<a name="aws-resource-sagemaker-dataqualityjobdefinition--examples--SageMaker_DataQualityJobDefinition_Example--yaml"></a>

```
---
 
AWSTemplateFormatVersion: '2010-09-09'
Description: Basic SageMaker Hosting entities to create a data quality job definition
 
Mappings: 
  RegionMap: 
    "us-west-2":
      "MyModelImage": "123456789012.dkr.ecr.us-west-2.amazonaws.com/mymodel:latest"
    "us-east-2":
      "MyModelImage": "123456789012.dkr.ecr.us-east-2.amazonaws.com/mymodel:latest"
    "us-east-1":
      "MyModelImage": "123456789012.dkr.ecr.us-east-1.amazonaws.com/mymodel:latest"
    "eu-west-1":
      "MyModelImage": "123456789012.dkr.ecr.eu-west-1.amazonaws.com/mymodel:latest"
    "ap-northeast-1":
      "MyModelImage": "123456789012.dkr.ecr.ap-northeast-1.amazonaws.com/mymodel:latest"
    "ap-northeast-2":
      "MyModelImage": "123456789012.dkr.ecr.ap-northeast-2.amazonaws.com/mymodel:latest"
    "ap-southeast-2":
      "MyModelImage": "123456789012.dkr.ecr.ap-southeast-2.amazonaws.com/mymodel:latest"
    "eu-central-1":
      "MyModelImage": "123456789012.dkr.ecr.eu-central-1.amazonaws.com/mymodel:latest"
 
Resources:
  Endpoint:
    Type: "AWS::SageMaker::Endpoint"
    Properties:
      EndpointConfigName:
        !GetAtt EndpointConfigWithDataCapture.EndpointConfigName
 
  EndpointConfigWithDataCapture:
    Type: "AWS::SageMaker::EndpointConfig"
    Properties:
      ProductionVariants:
        - InitialInstanceCount: 1
          InitialVariantWeight: 1.0
          InstanceType: ml.t2.large
          ModelName: !GetAtt Model.ModelName
          VariantName: !GetAtt Model.ModelName
      DataCaptureConfig:
        EnableCapture: true
        InitialSamplingPercentage: 100
        DestinationS3Uri: s3://bucket/prefix
        KmsKeyId: kmskeyid
        CaptureOptions:
          - CaptureMode: Input
          - CaptureMode: Output
        CaptureContentTypeHeader:
          CsvContentTypes:
            - "text/csv"
          JsonContentTypes:
            - "appplication/json"
            
  Model:
    Type: "AWS::SageMaker::Model"
    Properties:
      PrimaryContainer:
        Image: !FindInMap [RegionMap, !Ref "AWS::Region", "MyModelImage"]
      ExecutionRoleArn: !GetAtt ExecutionRole.Arn
 
  ExecutionRole: 
    Type: "AWS::IAM::Role"
    Properties: 
      AssumeRolePolicyDocument: 
        Version: "2012-10-17"
        Statement: 
          - 
            Effect: "Allow"
            Principal: 
              Service: 
                - "sagemaker.amazonaws.com"
            Action: 
              - "sts:AssumeRole"
      Path: "/"
      Policies: 
        - 
          PolicyName: "root"
          PolicyDocument: 
            Version: "2012-10-17"
            Statement: 
              - 
                Effect: "Allow"
                Action: "*"
                Resource: "*"
 
  JobDefinitionExecutionRole:
    Type: "AWS::IAM::Role"
    Properties:
      AssumeRolePolicyDocument:
        Version: "2012-10-17"
        Statement:
          - Effect: "Allow"
            Principal:
              Service:
                - "sagemaker.amazonaws.com"
            Action:
              - "sts:AssumeRole"
      ManagedPolicyArns:
        - Fn::Sub: "arn:${AWS::Partition}:iam::aws:policy/AmazonSageMakerFullAccess"
        - Fn::Sub: "arn:${AWS::Partition}:iam::aws:policy/AmazonS3FullAccess"
        - Fn::Sub: "arn:${AWS::Partition}:iam::aws:policy/AmazonEC2ContainerRegistryReadOnly"
 
  DataQualityJobDefinition:
    Type: AWS::SageMaker::DataQualityJobDefinition
    Properties:
      DataQualityAppSpecification:
        ImageUri:
          Fn::Sub: "123456789012.dkr.ecr.${AWS::Partition}.amazonaws.com/sagemaker-model-monitor-analyzer:latest"
      DataQualityJobInput:
        EndpointInput:
          EndpointName: !GetAtt Endpoint.EndpointName
          LocalPath: "/opt/ml/processing/endpointdata"
      DataQualityJobOutputConfig:
        MonitoringOutputs:
          - S3Output:
              LocalPath: "/opt/ml/processing/localpath"
              S3Uri:
                Fn::Sub: "s3://data-quality-job-definition-${AWS::AccountId}/output"
      JobResources:
        ClusterConfig:
          InstanceCount: 1
          InstanceType: ml.m5.large
          VolumeSizeInGB: 50
      RoleArn: !GetAtt JobDefinitionExecutionRole.Arn
      StoppingCondition:
        MaxRuntimeInSeconds: 2000
```

# AWS::SageMaker::DataQualityJobDefinition BatchTransformInput
<a name="aws-properties-sagemaker-dataqualityjobdefinition-batchtransforminput"></a>

Input object for the batch transform job.

## Syntax
<a name="aws-properties-sagemaker-dataqualityjobdefinition-batchtransforminput-syntax"></a>

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

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

```
{
  "[DataCapturedDestinationS3Uri](#cfn-sagemaker-dataqualityjobdefinition-batchtransforminput-datacaptureddestinations3uri)" : String,
  "[DatasetFormat](#cfn-sagemaker-dataqualityjobdefinition-batchtransforminput-datasetformat)" : DatasetFormat,
  "[ExcludeFeaturesAttribute](#cfn-sagemaker-dataqualityjobdefinition-batchtransforminput-excludefeaturesattribute)" : String,
  "[LocalPath](#cfn-sagemaker-dataqualityjobdefinition-batchtransforminput-localpath)" : String,
  "[S3DataDistributionType](#cfn-sagemaker-dataqualityjobdefinition-batchtransforminput-s3datadistributiontype)" : String,
  "[S3InputMode](#cfn-sagemaker-dataqualityjobdefinition-batchtransforminput-s3inputmode)" : String
}
```

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

```
  [DataCapturedDestinationS3Uri](#cfn-sagemaker-dataqualityjobdefinition-batchtransforminput-datacaptureddestinations3uri): String
  [DatasetFormat](#cfn-sagemaker-dataqualityjobdefinition-batchtransforminput-datasetformat): 
    DatasetFormat
  [ExcludeFeaturesAttribute](#cfn-sagemaker-dataqualityjobdefinition-batchtransforminput-excludefeaturesattribute): String
  [LocalPath](#cfn-sagemaker-dataqualityjobdefinition-batchtransforminput-localpath): String
  [S3DataDistributionType](#cfn-sagemaker-dataqualityjobdefinition-batchtransforminput-s3datadistributiontype): String
  [S3InputMode](#cfn-sagemaker-dataqualityjobdefinition-batchtransforminput-s3inputmode): String
```

## Properties
<a name="aws-properties-sagemaker-dataqualityjobdefinition-batchtransforminput-properties"></a>

`DataCapturedDestinationS3Uri`  <a name="cfn-sagemaker-dataqualityjobdefinition-batchtransforminput-datacaptureddestinations3uri"></a>
The Amazon S3 location being used to capture the data.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^(https|s3)://([^/]+)/?(.*)$`  
*Maximum*: `512`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`DatasetFormat`  <a name="cfn-sagemaker-dataqualityjobdefinition-batchtransforminput-datasetformat"></a>
The dataset format for your batch transform job.  
*Required*: Yes  
*Type*: [DatasetFormat](aws-properties-sagemaker-dataqualityjobdefinition-datasetformat.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`ExcludeFeaturesAttribute`  <a name="cfn-sagemaker-dataqualityjobdefinition-batchtransforminput-excludefeaturesattribute"></a>
The attributes of the input data to exclude from the analysis.  
*Required*: No  
*Type*: String  
*Maximum*: `100`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`LocalPath`  <a name="cfn-sagemaker-dataqualityjobdefinition-batchtransforminput-localpath"></a>
Path to the filesystem where the batch transform data is available to the container.  
*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)

`S3DataDistributionType`  <a name="cfn-sagemaker-dataqualityjobdefinition-batchtransforminput-s3datadistributiontype"></a>
Whether input data distributed in Amazon S3 is fully replicated or sharded by an S3 key. Defaults to `FullyReplicated`  
*Required*: No  
*Type*: String  
*Allowed values*: `FullyReplicated | ShardedByS3Key`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`S3InputMode`  <a name="cfn-sagemaker-dataqualityjobdefinition-batchtransforminput-s3inputmode"></a>
Whether the `Pipe` or `File` is used as the input mode for transferring data for the monitoring job. `Pipe` mode is recommended for large datasets. `File` mode is useful for small files that fit in memory. Defaults to `File`.  
*Required*: No  
*Type*: String  
*Allowed values*: `Pipe | File`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::SageMaker::DataQualityJobDefinition ClusterConfig
<a name="aws-properties-sagemaker-dataqualityjobdefinition-clusterconfig"></a>

The configuration for the cluster of resources used to run the processing job.

## Syntax
<a name="aws-properties-sagemaker-dataqualityjobdefinition-clusterconfig-syntax"></a>

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

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

```
{
  "[InstanceCount](#cfn-sagemaker-dataqualityjobdefinition-clusterconfig-instancecount)" : Integer,
  "[InstanceType](#cfn-sagemaker-dataqualityjobdefinition-clusterconfig-instancetype)" : String,
  "[VolumeKmsKeyId](#cfn-sagemaker-dataqualityjobdefinition-clusterconfig-volumekmskeyid)" : String,
  "[VolumeSizeInGB](#cfn-sagemaker-dataqualityjobdefinition-clusterconfig-volumesizeingb)" : Integer
}
```

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

```
  [InstanceCount](#cfn-sagemaker-dataqualityjobdefinition-clusterconfig-instancecount): Integer
  [InstanceType](#cfn-sagemaker-dataqualityjobdefinition-clusterconfig-instancetype): String
  [VolumeKmsKeyId](#cfn-sagemaker-dataqualityjobdefinition-clusterconfig-volumekmskeyid): String
  [VolumeSizeInGB](#cfn-sagemaker-dataqualityjobdefinition-clusterconfig-volumesizeingb): Integer
```

## Properties
<a name="aws-properties-sagemaker-dataqualityjobdefinition-clusterconfig-properties"></a>

`InstanceCount`  <a name="cfn-sagemaker-dataqualityjobdefinition-clusterconfig-instancecount"></a>
The number of ML compute instances to use in the model monitoring job. For distributed processing jobs, specify a value greater than 1. The default value is 1.  
*Required*: Yes  
*Type*: Integer  
*Minimum*: `1`  
*Maximum*: `100`  
*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-dataqualityjobdefinition-clusterconfig-instancetype"></a>
The ML compute instance type for the processing job.  
*Required*: Yes  
*Type*: String  
*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-dataqualityjobdefinition-clusterconfig-volumekmskeyid"></a>
The AWS Key Management Service (AWS KMS) key that Amazon SageMaker uses to encrypt data on the storage volume attached to the ML compute instance(s) that run the model monitoring job.  
*Required*: No  
*Type*: String  
*Minimum*: `1`  
*Maximum*: `2048`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`VolumeSizeInGB`  <a name="cfn-sagemaker-dataqualityjobdefinition-clusterconfig-volumesizeingb"></a>
The size of the ML storage volume, in gigabytes, that you want to provision. You must specify sufficient ML storage for your scenario.  
*Required*: Yes  
*Type*: Integer  
*Minimum*: `1`  
*Maximum*: `16384`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::SageMaker::DataQualityJobDefinition ConstraintsResource
<a name="aws-properties-sagemaker-dataqualityjobdefinition-constraintsresource"></a>

The constraints resource for a monitoring job.

## Syntax
<a name="aws-properties-sagemaker-dataqualityjobdefinition-constraintsresource-syntax"></a>

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

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

```
{
  "[S3Uri](#cfn-sagemaker-dataqualityjobdefinition-constraintsresource-s3uri)" : String
}
```

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

```
  [S3Uri](#cfn-sagemaker-dataqualityjobdefinition-constraintsresource-s3uri): String
```

## Properties
<a name="aws-properties-sagemaker-dataqualityjobdefinition-constraintsresource-properties"></a>

`S3Uri`  <a name="cfn-sagemaker-dataqualityjobdefinition-constraintsresource-s3uri"></a>
The Amazon S3 URI for the constraints resource.  
*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::DataQualityJobDefinition Csv
<a name="aws-properties-sagemaker-dataqualityjobdefinition-csv"></a>

The CSV dataset format configuration.

## Syntax
<a name="aws-properties-sagemaker-dataqualityjobdefinition-csv-syntax"></a>

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

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

```
{
  "[Header](#cfn-sagemaker-dataqualityjobdefinition-csv-header)" : Boolean
}
```

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

```
  [Header](#cfn-sagemaker-dataqualityjobdefinition-csv-header): Boolean
```

## Properties
<a name="aws-properties-sagemaker-dataqualityjobdefinition-csv-properties"></a>

`Header`  <a name="cfn-sagemaker-dataqualityjobdefinition-csv-header"></a>
Indicates whether the CSV data has a header row.  
*Required*: No  
*Type*: Boolean  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::SageMaker::DataQualityJobDefinition DataQualityAppSpecification
<a name="aws-properties-sagemaker-dataqualityjobdefinition-dataqualityappspecification"></a>

Information about the container that a data quality monitoring job runs.

## Syntax
<a name="aws-properties-sagemaker-dataqualityjobdefinition-dataqualityappspecification-syntax"></a>

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

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

```
{
  "[ContainerArguments](#cfn-sagemaker-dataqualityjobdefinition-dataqualityappspecification-containerarguments)" : [ String, ... ],
  "[ContainerEntrypoint](#cfn-sagemaker-dataqualityjobdefinition-dataqualityappspecification-containerentrypoint)" : [ String, ... ],
  "[Environment](#cfn-sagemaker-dataqualityjobdefinition-dataqualityappspecification-environment)" : {Key: Value, ...},
  "[ImageUri](#cfn-sagemaker-dataqualityjobdefinition-dataqualityappspecification-imageuri)" : String,
  "[PostAnalyticsProcessorSourceUri](#cfn-sagemaker-dataqualityjobdefinition-dataqualityappspecification-postanalyticsprocessorsourceuri)" : String,
  "[RecordPreprocessorSourceUri](#cfn-sagemaker-dataqualityjobdefinition-dataqualityappspecification-recordpreprocessorsourceuri)" : String
}
```

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

```
  [ContainerArguments](#cfn-sagemaker-dataqualityjobdefinition-dataqualityappspecification-containerarguments): 
    - String
  [ContainerEntrypoint](#cfn-sagemaker-dataqualityjobdefinition-dataqualityappspecification-containerentrypoint): 
    - String
  [Environment](#cfn-sagemaker-dataqualityjobdefinition-dataqualityappspecification-environment): 
    Key: Value
  [ImageUri](#cfn-sagemaker-dataqualityjobdefinition-dataqualityappspecification-imageuri): String
  [PostAnalyticsProcessorSourceUri](#cfn-sagemaker-dataqualityjobdefinition-dataqualityappspecification-postanalyticsprocessorsourceuri): String
  [RecordPreprocessorSourceUri](#cfn-sagemaker-dataqualityjobdefinition-dataqualityappspecification-recordpreprocessorsourceuri): String
```

## Properties
<a name="aws-properties-sagemaker-dataqualityjobdefinition-dataqualityappspecification-properties"></a>

`ContainerArguments`  <a name="cfn-sagemaker-dataqualityjobdefinition-dataqualityappspecification-containerarguments"></a>
The arguments to send to the container that the monitoring job runs.  
*Required*: No  
*Type*: Array of String  
*Minimum*: `1`  
*Maximum*: `256 | 50`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`ContainerEntrypoint`  <a name="cfn-sagemaker-dataqualityjobdefinition-dataqualityappspecification-containerentrypoint"></a>
The entrypoint for a container used to run a monitoring job.  
*Required*: No  
*Type*: Array of String  
*Minimum*: `1`  
*Maximum*: `256 | 100`  
*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-dataqualityjobdefinition-dataqualityappspecification-environment"></a>
Sets the environment variables in the container that the monitoring job runs.  
*Required*: No  
*Type*: Object of String  
*Pattern*: `[a-zA-Z_][a-zA-Z0-9_]*`  
*Minimum*: `1`  
*Maximum*: `256`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`ImageUri`  <a name="cfn-sagemaker-dataqualityjobdefinition-dataqualityappspecification-imageuri"></a>
The container image that the data quality monitoring job runs.  
*Required*: Yes  
*Type*: String  
*Pattern*: `.*`  
*Maximum*: `255`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`PostAnalyticsProcessorSourceUri`  <a name="cfn-sagemaker-dataqualityjobdefinition-dataqualityappspecification-postanalyticsprocessorsourceuri"></a>
An Amazon S3 URI to a script that is called after analysis has been performed. Applicable only for the built-in (first party) containers.  
*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)

`RecordPreprocessorSourceUri`  <a name="cfn-sagemaker-dataqualityjobdefinition-dataqualityappspecification-recordpreprocessorsourceuri"></a>
An Amazon S3 URI to a script that is called per row prior to running analysis. It can base64 decode the payload and convert it into a flattened JSON so that the built-in container can use the converted data. Applicable only for the built-in (first party) containers.  
*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::DataQualityJobDefinition DataQualityBaselineConfig
<a name="aws-properties-sagemaker-dataqualityjobdefinition-dataqualitybaselineconfig"></a>

Configuration for monitoring constraints and monitoring statistics. These baseline resources are compared against the results of the current job from the series of jobs scheduled to collect data periodically.

## Syntax
<a name="aws-properties-sagemaker-dataqualityjobdefinition-dataqualitybaselineconfig-syntax"></a>

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

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

```
{
  "[BaseliningJobName](#cfn-sagemaker-dataqualityjobdefinition-dataqualitybaselineconfig-baseliningjobname)" : String,
  "[ConstraintsResource](#cfn-sagemaker-dataqualityjobdefinition-dataqualitybaselineconfig-constraintsresource)" : ConstraintsResource,
  "[StatisticsResource](#cfn-sagemaker-dataqualityjobdefinition-dataqualitybaselineconfig-statisticsresource)" : StatisticsResource
}
```

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

```
  [BaseliningJobName](#cfn-sagemaker-dataqualityjobdefinition-dataqualitybaselineconfig-baseliningjobname): String
  [ConstraintsResource](#cfn-sagemaker-dataqualityjobdefinition-dataqualitybaselineconfig-constraintsresource): 
    ConstraintsResource
  [StatisticsResource](#cfn-sagemaker-dataqualityjobdefinition-dataqualitybaselineconfig-statisticsresource): 
    StatisticsResource
```

## Properties
<a name="aws-properties-sagemaker-dataqualityjobdefinition-dataqualitybaselineconfig-properties"></a>

`BaseliningJobName`  <a name="cfn-sagemaker-dataqualityjobdefinition-dataqualitybaselineconfig-baseliningjobname"></a>
The name of the job that performs baselining for the data quality monitoring job.  
*Required*: No  
*Type*: String  
*Pattern*: `^[a-zA-Z0-9](-*[a-zA-Z0-9])*$`  
*Minimum*: `1`  
*Maximum*: `63`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`ConstraintsResource`  <a name="cfn-sagemaker-dataqualityjobdefinition-dataqualitybaselineconfig-constraintsresource"></a>
The constraints resource for a monitoring job.  
*Required*: No  
*Type*: [ConstraintsResource](aws-properties-sagemaker-dataqualityjobdefinition-constraintsresource.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`StatisticsResource`  <a name="cfn-sagemaker-dataqualityjobdefinition-dataqualitybaselineconfig-statisticsresource"></a>
Configuration for monitoring constraints and monitoring statistics. These baseline resources are compared against the results of the current job from the series of jobs scheduled to collect data periodically.  
*Required*: No  
*Type*: [StatisticsResource](aws-properties-sagemaker-dataqualityjobdefinition-statisticsresource.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::SageMaker::DataQualityJobDefinition DataQualityJobInput
<a name="aws-properties-sagemaker-dataqualityjobdefinition-dataqualityjobinput"></a>

The input for the data quality monitoring job. Currently endpoints are supported for input.

## Syntax
<a name="aws-properties-sagemaker-dataqualityjobdefinition-dataqualityjobinput-syntax"></a>

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

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

```
{
  "[BatchTransformInput](#cfn-sagemaker-dataqualityjobdefinition-dataqualityjobinput-batchtransforminput)" : BatchTransformInput,
  "[EndpointInput](#cfn-sagemaker-dataqualityjobdefinition-dataqualityjobinput-endpointinput)" : EndpointInput
}
```

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

```
  [BatchTransformInput](#cfn-sagemaker-dataqualityjobdefinition-dataqualityjobinput-batchtransforminput): 
    BatchTransformInput
  [EndpointInput](#cfn-sagemaker-dataqualityjobdefinition-dataqualityjobinput-endpointinput): 
    EndpointInput
```

## Properties
<a name="aws-properties-sagemaker-dataqualityjobdefinition-dataqualityjobinput-properties"></a>

`BatchTransformInput`  <a name="cfn-sagemaker-dataqualityjobdefinition-dataqualityjobinput-batchtransforminput"></a>
Input object for the batch transform job.  
*Required*: No  
*Type*: [BatchTransformInput](aws-properties-sagemaker-dataqualityjobdefinition-batchtransforminput.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`EndpointInput`  <a name="cfn-sagemaker-dataqualityjobdefinition-dataqualityjobinput-endpointinput"></a>
Input object for the endpoint  
*Required*: No  
*Type*: [EndpointInput](aws-properties-sagemaker-dataqualityjobdefinition-endpointinput.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::SageMaker::DataQualityJobDefinition DatasetFormat
<a name="aws-properties-sagemaker-dataqualityjobdefinition-datasetformat"></a>

The format of the dataset used for the data quality monitoring job.

## Syntax
<a name="aws-properties-sagemaker-dataqualityjobdefinition-datasetformat-syntax"></a>

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

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

```
{
  "[Csv](#cfn-sagemaker-dataqualityjobdefinition-datasetformat-csv)" : Csv,
  "[Json](#cfn-sagemaker-dataqualityjobdefinition-datasetformat-json)" : Json,
  "[Parquet](#cfn-sagemaker-dataqualityjobdefinition-datasetformat-parquet)" : Boolean
}
```

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

```
  [Csv](#cfn-sagemaker-dataqualityjobdefinition-datasetformat-csv): 
    Csv
  [Json](#cfn-sagemaker-dataqualityjobdefinition-datasetformat-json): 
    Json
  [Parquet](#cfn-sagemaker-dataqualityjobdefinition-datasetformat-parquet): Boolean
```

## Properties
<a name="aws-properties-sagemaker-dataqualityjobdefinition-datasetformat-properties"></a>

`Csv`  <a name="cfn-sagemaker-dataqualityjobdefinition-datasetformat-csv"></a>
The CSV format configuration for the dataset.  
*Required*: No  
*Type*: [Csv](aws-properties-sagemaker-dataqualityjobdefinition-csv.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`Json`  <a name="cfn-sagemaker-dataqualityjobdefinition-datasetformat-json"></a>
The JSON format configuration for the dataset.  
*Required*: No  
*Type*: [Json](aws-properties-sagemaker-dataqualityjobdefinition-json.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`Parquet`  <a name="cfn-sagemaker-dataqualityjobdefinition-datasetformat-parquet"></a>
Indicates that the dataset is in Parquet format.  
*Required*: No  
*Type*: Boolean  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::SageMaker::DataQualityJobDefinition EndpointInput
<a name="aws-properties-sagemaker-dataqualityjobdefinition-endpointinput"></a>

Input object for the endpoint

## Syntax
<a name="aws-properties-sagemaker-dataqualityjobdefinition-endpointinput-syntax"></a>

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

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

```
{
  "[EndpointName](#cfn-sagemaker-dataqualityjobdefinition-endpointinput-endpointname)" : String,
  "[ExcludeFeaturesAttribute](#cfn-sagemaker-dataqualityjobdefinition-endpointinput-excludefeaturesattribute)" : String,
  "[LocalPath](#cfn-sagemaker-dataqualityjobdefinition-endpointinput-localpath)" : String,
  "[S3DataDistributionType](#cfn-sagemaker-dataqualityjobdefinition-endpointinput-s3datadistributiontype)" : String,
  "[S3InputMode](#cfn-sagemaker-dataqualityjobdefinition-endpointinput-s3inputmode)" : String
}
```

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

```
  [EndpointName](#cfn-sagemaker-dataqualityjobdefinition-endpointinput-endpointname): String
  [ExcludeFeaturesAttribute](#cfn-sagemaker-dataqualityjobdefinition-endpointinput-excludefeaturesattribute): String
  [LocalPath](#cfn-sagemaker-dataqualityjobdefinition-endpointinput-localpath): String
  [S3DataDistributionType](#cfn-sagemaker-dataqualityjobdefinition-endpointinput-s3datadistributiontype): String
  [S3InputMode](#cfn-sagemaker-dataqualityjobdefinition-endpointinput-s3inputmode): String
```

## Properties
<a name="aws-properties-sagemaker-dataqualityjobdefinition-endpointinput-properties"></a>

`EndpointName`  <a name="cfn-sagemaker-dataqualityjobdefinition-endpointinput-endpointname"></a>
An endpoint in customer's account which has enabled `DataCaptureConfig` enabled.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^[a-zA-Z0-9](-*[a-zA-Z0-9])*`  
*Maximum*: `63`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`ExcludeFeaturesAttribute`  <a name="cfn-sagemaker-dataqualityjobdefinition-endpointinput-excludefeaturesattribute"></a>
The attributes of the input data to exclude from the analysis.  
*Required*: No  
*Type*: String  
*Maximum*: `100`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`LocalPath`  <a name="cfn-sagemaker-dataqualityjobdefinition-endpointinput-localpath"></a>
Path to the filesystem where the endpoint data is available to the container.  
*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)

`S3DataDistributionType`  <a name="cfn-sagemaker-dataqualityjobdefinition-endpointinput-s3datadistributiontype"></a>
Whether input data distributed in Amazon S3 is fully replicated or sharded by an Amazon S3 key. Defaults to `FullyReplicated`  
*Required*: No  
*Type*: String  
*Allowed values*: `FullyReplicated | ShardedByS3Key`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`S3InputMode`  <a name="cfn-sagemaker-dataqualityjobdefinition-endpointinput-s3inputmode"></a>
Whether the `Pipe` or `File` is used as the input mode for transferring data for the monitoring job. `Pipe` mode is recommended for large datasets. `File` mode is useful for small files that fit in memory. Defaults to `File`.  
*Required*: No  
*Type*: String  
*Allowed values*: `Pipe | File`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::SageMaker::DataQualityJobDefinition Json
<a name="aws-properties-sagemaker-dataqualityjobdefinition-json"></a>

The JSON dataset format configuration.

## Syntax
<a name="aws-properties-sagemaker-dataqualityjobdefinition-json-syntax"></a>

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

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

```
{
  "[Line](#cfn-sagemaker-dataqualityjobdefinition-json-line)" : Boolean
}
```

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

```
  [Line](#cfn-sagemaker-dataqualityjobdefinition-json-line): Boolean
```

## Properties
<a name="aws-properties-sagemaker-dataqualityjobdefinition-json-properties"></a>

`Line`  <a name="cfn-sagemaker-dataqualityjobdefinition-json-line"></a>
Indicates whether the JSON data is in line-delimited format.  
*Required*: No  
*Type*: Boolean  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::SageMaker::DataQualityJobDefinition MonitoringOutput
<a name="aws-properties-sagemaker-dataqualityjobdefinition-monitoringoutput"></a>

The output object for a monitoring job.

## Syntax
<a name="aws-properties-sagemaker-dataqualityjobdefinition-monitoringoutput-syntax"></a>

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

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

```
{
  "[S3Output](#cfn-sagemaker-dataqualityjobdefinition-monitoringoutput-s3output)" : S3Output
}
```

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

```
  [S3Output](#cfn-sagemaker-dataqualityjobdefinition-monitoringoutput-s3output): 
    S3Output
```

## Properties
<a name="aws-properties-sagemaker-dataqualityjobdefinition-monitoringoutput-properties"></a>

`S3Output`  <a name="cfn-sagemaker-dataqualityjobdefinition-monitoringoutput-s3output"></a>
The Amazon S3 storage location where the results of a monitoring job are saved.  
*Required*: Yes  
*Type*: [S3Output](aws-properties-sagemaker-dataqualityjobdefinition-s3output.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::SageMaker::DataQualityJobDefinition MonitoringOutputConfig
<a name="aws-properties-sagemaker-dataqualityjobdefinition-monitoringoutputconfig"></a>

The output configuration for monitoring jobs.

## Syntax
<a name="aws-properties-sagemaker-dataqualityjobdefinition-monitoringoutputconfig-syntax"></a>

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

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

```
{
  "[KmsKeyId](#cfn-sagemaker-dataqualityjobdefinition-monitoringoutputconfig-kmskeyid)" : String,
  "[MonitoringOutputs](#cfn-sagemaker-dataqualityjobdefinition-monitoringoutputconfig-monitoringoutputs)" : [ MonitoringOutput, ... ]
}
```

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

```
  [KmsKeyId](#cfn-sagemaker-dataqualityjobdefinition-monitoringoutputconfig-kmskeyid): String
  [MonitoringOutputs](#cfn-sagemaker-dataqualityjobdefinition-monitoringoutputconfig-monitoringoutputs): 
    - MonitoringOutput
```

## Properties
<a name="aws-properties-sagemaker-dataqualityjobdefinition-monitoringoutputconfig-properties"></a>

`KmsKeyId`  <a name="cfn-sagemaker-dataqualityjobdefinition-monitoringoutputconfig-kmskeyid"></a>
The AWS Key Management Service (AWS KMS) key that Amazon SageMaker AI uses to encrypt the model artifacts at rest using Amazon S3 server-side encryption.  
*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)

`MonitoringOutputs`  <a name="cfn-sagemaker-dataqualityjobdefinition-monitoringoutputconfig-monitoringoutputs"></a>
Monitoring outputs for monitoring jobs. This is where the output of the periodic monitoring jobs is uploaded.  
*Required*: Yes  
*Type*: Array of [MonitoringOutput](aws-properties-sagemaker-dataqualityjobdefinition-monitoringoutput.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::DataQualityJobDefinition MonitoringResources
<a name="aws-properties-sagemaker-dataqualityjobdefinition-monitoringresources"></a>

Identifies the resources to deploy for a monitoring job.

## Syntax
<a name="aws-properties-sagemaker-dataqualityjobdefinition-monitoringresources-syntax"></a>

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

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

```
{
  "[ClusterConfig](#cfn-sagemaker-dataqualityjobdefinition-monitoringresources-clusterconfig)" : ClusterConfig
}
```

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

```
  [ClusterConfig](#cfn-sagemaker-dataqualityjobdefinition-monitoringresources-clusterconfig): 
    ClusterConfig
```

## Properties
<a name="aws-properties-sagemaker-dataqualityjobdefinition-monitoringresources-properties"></a>

`ClusterConfig`  <a name="cfn-sagemaker-dataqualityjobdefinition-monitoringresources-clusterconfig"></a>
The configuration for the cluster resources used to run the processing job.  
*Required*: Yes  
*Type*: [ClusterConfig](aws-properties-sagemaker-dataqualityjobdefinition-clusterconfig.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::SageMaker::DataQualityJobDefinition NetworkConfig
<a name="aws-properties-sagemaker-dataqualityjobdefinition-networkconfig"></a>

Networking options for a job, such as network traffic encryption between containers, whether to allow inbound and outbound network calls to and from containers, and the VPC subnets and security groups to use for VPC-enabled jobs.

## Syntax
<a name="aws-properties-sagemaker-dataqualityjobdefinition-networkconfig-syntax"></a>

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

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

```
{
  "[EnableInterContainerTrafficEncryption](#cfn-sagemaker-dataqualityjobdefinition-networkconfig-enableintercontainertrafficencryption)" : Boolean,
  "[EnableNetworkIsolation](#cfn-sagemaker-dataqualityjobdefinition-networkconfig-enablenetworkisolation)" : Boolean,
  "[VpcConfig](#cfn-sagemaker-dataqualityjobdefinition-networkconfig-vpcconfig)" : VpcConfig
}
```

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

```
  [EnableInterContainerTrafficEncryption](#cfn-sagemaker-dataqualityjobdefinition-networkconfig-enableintercontainertrafficencryption): Boolean
  [EnableNetworkIsolation](#cfn-sagemaker-dataqualityjobdefinition-networkconfig-enablenetworkisolation): Boolean
  [VpcConfig](#cfn-sagemaker-dataqualityjobdefinition-networkconfig-vpcconfig): 
    VpcConfig
```

## Properties
<a name="aws-properties-sagemaker-dataqualityjobdefinition-networkconfig-properties"></a>

`EnableInterContainerTrafficEncryption`  <a name="cfn-sagemaker-dataqualityjobdefinition-networkconfig-enableintercontainertrafficencryption"></a>
Whether to encrypt all communications between distributed processing jobs. Choose `True` to encrypt communications. Encryption provides greater security for distributed processing jobs, but the processing might take longer.  
*Required*: No  
*Type*: Boolean  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`EnableNetworkIsolation`  <a name="cfn-sagemaker-dataqualityjobdefinition-networkconfig-enablenetworkisolation"></a>
Whether to allow inbound and outbound network calls to and from the containers used for the processing job.  
*Required*: No  
*Type*: Boolean  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`VpcConfig`  <a name="cfn-sagemaker-dataqualityjobdefinition-networkconfig-vpcconfig"></a>
Specifies a VPC that your training jobs and hosted models have access to. Control access to and from your training and model containers by configuring the VPC.  
*Required*: No  
*Type*: [VpcConfig](aws-properties-sagemaker-dataqualityjobdefinition-vpcconfig.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::SageMaker::DataQualityJobDefinition S3Output
<a name="aws-properties-sagemaker-dataqualityjobdefinition-s3output"></a>

The Amazon S3 storage location where the results of a monitoring job are saved.

## Syntax
<a name="aws-properties-sagemaker-dataqualityjobdefinition-s3output-syntax"></a>

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

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

```
{
  "[LocalPath](#cfn-sagemaker-dataqualityjobdefinition-s3output-localpath)" : String,
  "[S3UploadMode](#cfn-sagemaker-dataqualityjobdefinition-s3output-s3uploadmode)" : String,
  "[S3Uri](#cfn-sagemaker-dataqualityjobdefinition-s3output-s3uri)" : String
}
```

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

```
  [LocalPath](#cfn-sagemaker-dataqualityjobdefinition-s3output-localpath): String
  [S3UploadMode](#cfn-sagemaker-dataqualityjobdefinition-s3output-s3uploadmode): String
  [S3Uri](#cfn-sagemaker-dataqualityjobdefinition-s3output-s3uri): String
```

## Properties
<a name="aws-properties-sagemaker-dataqualityjobdefinition-s3output-properties"></a>

`LocalPath`  <a name="cfn-sagemaker-dataqualityjobdefinition-s3output-localpath"></a>
The local path to the Amazon S3 storage location where Amazon SageMaker saves the results of a monitoring job. LocalPath is an absolute path for the output data.  
*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)

`S3UploadMode`  <a name="cfn-sagemaker-dataqualityjobdefinition-s3output-s3uploadmode"></a>
Whether to upload the results of the monitoring job continuously or after the job completes.  
*Required*: No  
*Type*: String  
*Allowed values*: `Continuous | EndOfJob`  
*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-dataqualityjobdefinition-s3output-s3uri"></a>
A URI that identifies the Amazon S3 storage location where Amazon SageMaker saves the results of a monitoring job.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^(https|s3)://([^/]+)/?(.*)$`  
*Maximum*: `512`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::SageMaker::DataQualityJobDefinition StatisticsResource
<a name="aws-properties-sagemaker-dataqualityjobdefinition-statisticsresource"></a>

The statistics resource for a monitoring job.

## Syntax
<a name="aws-properties-sagemaker-dataqualityjobdefinition-statisticsresource-syntax"></a>

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

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

```
{
  "[S3Uri](#cfn-sagemaker-dataqualityjobdefinition-statisticsresource-s3uri)" : String
}
```

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

```
  [S3Uri](#cfn-sagemaker-dataqualityjobdefinition-statisticsresource-s3uri): String
```

## Properties
<a name="aws-properties-sagemaker-dataqualityjobdefinition-statisticsresource-properties"></a>

`S3Uri`  <a name="cfn-sagemaker-dataqualityjobdefinition-statisticsresource-s3uri"></a>
The Amazon S3 URI for the statistics resource.  
*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::DataQualityJobDefinition StoppingCondition
<a name="aws-properties-sagemaker-dataqualityjobdefinition-stoppingcondition"></a>

Specifies a limit to how long a job can run. When the job reaches the time limit, SageMaker ends the job. Use this API to cap costs.

To stop a training job, SageMaker sends the algorithm the `SIGTERM` signal, which delays job termination for 120 seconds. Algorithms can use this 120-second window to save the model artifacts, so the results of training are not lost. 

The training algorithms provided by SageMaker automatically save the intermediate results of a model training job when possible. This attempt to save artifacts is only a best effort case as model might not be in a state from which it can be saved. For example, if training has just started, the model might not be ready to save. When saved, this intermediate data is a valid model artifact. You can use it to create a model with `CreateModel`.

**Note**  
The Neural Topic Model (NTM) currently does not support saving intermediate model artifacts. When training NTMs, make sure that the maximum runtime is sufficient for the training job to complete.

## Syntax
<a name="aws-properties-sagemaker-dataqualityjobdefinition-stoppingcondition-syntax"></a>

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

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

```
{
  "[MaxRuntimeInSeconds](#cfn-sagemaker-dataqualityjobdefinition-stoppingcondition-maxruntimeinseconds)" : Integer
}
```

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

```
  [MaxRuntimeInSeconds](#cfn-sagemaker-dataqualityjobdefinition-stoppingcondition-maxruntimeinseconds): Integer
```

## Properties
<a name="aws-properties-sagemaker-dataqualityjobdefinition-stoppingcondition-properties"></a>

`MaxRuntimeInSeconds`  <a name="cfn-sagemaker-dataqualityjobdefinition-stoppingcondition-maxruntimeinseconds"></a>
The maximum length of time, in seconds, that a training or compilation job can run before it is stopped.  
For compilation jobs, if the job does not complete during this time, a `TimeOut` error is generated. We recommend starting with 900 seconds and increasing as necessary based on your model.  
For all other jobs, if the job does not complete during this time, SageMaker ends the job. When `RetryStrategy` is specified in the job request, `MaxRuntimeInSeconds` specifies the maximum time for all of the attempts in total, not each individual attempt. The default value is 1 day. The maximum value is 28 days.  
The maximum time that a `TrainingJob` can run in total, including any time spent publishing metrics or archiving and uploading models after it has been stopped, is 30 days.  
*Required*: Yes  
*Type*: Integer  
*Minimum*: `1`  
*Maximum*: `86400`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::SageMaker::DataQualityJobDefinition Tag
<a name="aws-properties-sagemaker-dataqualityjobdefinition-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-dataqualityjobdefinition-tag-syntax"></a>

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

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

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

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

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

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

`Key`  <a name="cfn-sagemaker-dataqualityjobdefinition-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*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

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

# AWS::SageMaker::DataQualityJobDefinition VpcConfig
<a name="aws-properties-sagemaker-dataqualityjobdefinition-vpcconfig"></a>

Specifies an Amazon Virtual Private Cloud (VPC) that your SageMaker jobs, hosted models, and compute resources have access to. You can control access to and from your resources by configuring a VPC. For more information, see [Give SageMaker Access to Resources in your Amazon VPC](https://docs.aws.amazon.com/sagemaker/latest/dg/infrastructure-give-access.html). 

## Syntax
<a name="aws-properties-sagemaker-dataqualityjobdefinition-vpcconfig-syntax"></a>

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

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

```
{
  "[SecurityGroupIds](#cfn-sagemaker-dataqualityjobdefinition-vpcconfig-securitygroupids)" : [ String, ... ],
  "[Subnets](#cfn-sagemaker-dataqualityjobdefinition-vpcconfig-subnets)" : [ String, ... ]
}
```

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

```
  [SecurityGroupIds](#cfn-sagemaker-dataqualityjobdefinition-vpcconfig-securitygroupids): 
    - String
  [Subnets](#cfn-sagemaker-dataqualityjobdefinition-vpcconfig-subnets): 
    - String
```

## Properties
<a name="aws-properties-sagemaker-dataqualityjobdefinition-vpcconfig-properties"></a>

`SecurityGroupIds`  <a name="cfn-sagemaker-dataqualityjobdefinition-vpcconfig-securitygroupids"></a>
The VPC security group IDs, in the form `sg-xxxxxxxx`. Specify the security groups for the VPC that is specified in the `Subnets` field.  
*Required*: Yes  
*Type*: Array of String  
*Minimum*: `1`  
*Maximum*: `32 | 5`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`Subnets`  <a name="cfn-sagemaker-dataqualityjobdefinition-vpcconfig-subnets"></a>
The ID of the subnets in the VPC to which you want to connect your training job or model. For information about the availability of specific instance types, see [Supported Instance Types and Availability Zones](https://docs.aws.amazon.com/sagemaker/latest/dg/instance-types-az.html).  
*Required*: Yes  
*Type*: Array of String  
*Minimum*: `1`  
*Maximum*: `32 | 16`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::SageMaker::Device
<a name="aws-resource-sagemaker-device"></a>

The `AWS::SageMaker::Device` resource is an Amazon SageMaker resource type that allows you to register your Devices against an existing SageMaker Edge Manager DeviceFleet. Each device must be listed individually in the CFN specification.

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

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

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

```
{
  "Type" : "AWS::SageMaker::Device",
  "Properties" : {
      "[Device](#cfn-sagemaker-device-device)" : Device,
      "[DeviceFleetName](#cfn-sagemaker-device-devicefleetname)" : String,
      "[Tags](#cfn-sagemaker-device-tags)" : [ Tag, ... ]
    }
}
```

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

```
Type: AWS::SageMaker::Device
Properties:
  [Device](#cfn-sagemaker-device-device): 
    Device
  [DeviceFleetName](#cfn-sagemaker-device-devicefleetname): String
  [Tags](#cfn-sagemaker-device-tags): 
    - Tag
```

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

`Device`  <a name="cfn-sagemaker-device-device"></a>
Edge device you want to create.  
*Required*: No  
*Type*: [Device](aws-properties-sagemaker-device-device.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`DeviceFleetName`  <a name="cfn-sagemaker-device-devicefleetname"></a>
The name of the fleet the device belongs to.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^[a-zA-Z0-9](-*_*[a-zA-Z0-9])*$`  
*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)

`Tags`  <a name="cfn-sagemaker-device-tags"></a>
An array of key-value pairs that contain metadata to help you categorize and organize your devices. Each tag consists of a key and a value, both of which you define.  
*Required*: No  
*Type*: Array of [Tag](aws-properties-sagemaker-device-tag.md)  
*Minimum*: `0`  
*Maximum*: `50`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

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

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

When you pass the logical ID of this resource to the intrinsic `Ref` function, `Ref` returns the DeviceFleetName.

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).

# AWS::SageMaker::Device Device
<a name="aws-properties-sagemaker-device-device"></a>

Information of a particular device.

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

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

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

```
{
  "[Description](#cfn-sagemaker-device-device-description)" : String,
  "[DeviceName](#cfn-sagemaker-device-device-devicename)" : String,
  "[IotThingName](#cfn-sagemaker-device-device-iotthingname)" : String
}
```

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

```
  [Description](#cfn-sagemaker-device-device-description): String
  [DeviceName](#cfn-sagemaker-device-device-devicename): String
  [IotThingName](#cfn-sagemaker-device-device-iotthingname): String
```

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

`Description`  <a name="cfn-sagemaker-device-device-description"></a>
Description of the device.  
*Required*: No  
*Type*: String  
*Pattern*: `[\S\s]+`  
*Minimum*: `1`  
*Maximum*: `40`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`DeviceName`  <a name="cfn-sagemaker-device-device-devicename"></a>
The name of the device.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^[a-zA-Z0-9](-*[a-zA-Z0-9])*$`  
*Minimum*: `1`  
*Maximum*: `63`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`IotThingName`  <a name="cfn-sagemaker-device-device-iotthingname"></a>
AWS Internet of Things (IoT) object name.  
*Required*: No  
*Type*: String  
*Pattern*: `[a-zA-Z0-9:_-]+`  
*Maximum*: `128`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::SageMaker::Device Tag
<a name="aws-properties-sagemaker-device-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-device-tag-syntax"></a>

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

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

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

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

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

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

`Key`  <a name="cfn-sagemaker-device-tag-key"></a>
The tag key. Tag keys must be unique per resource.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^((?!aws:)[\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-device-tag-value"></a>
The tag value.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^([\p{L}\p{Z}\p{N}_.:/=+\-@]*)$`  
*Minimum*: `0`  
*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::DeviceFleet
<a name="aws-resource-sagemaker-devicefleet"></a>

The `AWS::SageMaker::DeviceFleet` resource is an Amazon SageMaker resource type that allows you to create a DeviceFleet that manages your SageMaker Edge Manager Devices. You must register your devices against the `DeviceFleet` separately.

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

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

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

```
{
  "Type" : "AWS::SageMaker::DeviceFleet",
  "Properties" : {
      "[Description](#cfn-sagemaker-devicefleet-description)" : String,
      "[DeviceFleetName](#cfn-sagemaker-devicefleet-devicefleetname)" : String,
      "[OutputConfig](#cfn-sagemaker-devicefleet-outputconfig)" : EdgeOutputConfig,
      "[RoleArn](#cfn-sagemaker-devicefleet-rolearn)" : String,
      "[Tags](#cfn-sagemaker-devicefleet-tags)" : [ Tag, ... ]
    }
}
```

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

```
Type: AWS::SageMaker::DeviceFleet
Properties:
  [Description](#cfn-sagemaker-devicefleet-description): String
  [DeviceFleetName](#cfn-sagemaker-devicefleet-devicefleetname): String
  [OutputConfig](#cfn-sagemaker-devicefleet-outputconfig): 
    EdgeOutputConfig
  [RoleArn](#cfn-sagemaker-devicefleet-rolearn): String
  [Tags](#cfn-sagemaker-devicefleet-tags): 
    - Tag
```

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

`Description`  <a name="cfn-sagemaker-devicefleet-description"></a>
A description of the fleet.  
*Required*: No  
*Type*: String  
*Pattern*: `[\S\s]+`  
*Minimum*: `0`  
*Maximum*: `800`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`DeviceFleetName`  <a name="cfn-sagemaker-devicefleet-devicefleetname"></a>
Name of the device fleet.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^[a-zA-Z0-9](-*_*[a-zA-Z0-9])*$`  
*Minimum*: `1`  
*Maximum*: `63`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`OutputConfig`  <a name="cfn-sagemaker-devicefleet-outputconfig"></a>
The output configuration for storing sample data collected by the fleet.  
*Required*: Yes  
*Type*: [EdgeOutputConfig](aws-properties-sagemaker-devicefleet-edgeoutputconfig.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`RoleArn`  <a name="cfn-sagemaker-devicefleet-rolearn"></a>
The Amazon Resource Name (ARN) that has access to AWS Internet of Things (IoT).  
*Required*: Yes  
*Type*: String  
*Pattern*: `^arn:aws[a-z\-]*:iam::\d{12}:role/?[a-zA-Z_0-9+=,.@\-_/]+$`  
*Minimum*: `20`  
*Maximum*: `2048`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Tags`  <a name="cfn-sagemaker-devicefleet-tags"></a>
An array of key-value pairs that contain metadata to help you categorize and organize your device fleets. Each tag consists of a key and a value, both of which you define.  
*Required*: No  
*Type*: Array of [Tag](aws-properties-sagemaker-devicefleet-tag.md)  
*Minimum*: `0`  
*Maximum*: `50`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

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

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

When you pass the logical ID of this resource to the intrinsic `Ref` function, `Ref` returns the DeviceFleetName.

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).

# AWS::SageMaker::DeviceFleet EdgeOutputConfig
<a name="aws-properties-sagemaker-devicefleet-edgeoutputconfig"></a>

The output configuration for storing sample data collected by the fleet.

## Syntax
<a name="aws-properties-sagemaker-devicefleet-edgeoutputconfig-syntax"></a>

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

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

```
{
  "[KmsKeyId](#cfn-sagemaker-devicefleet-edgeoutputconfig-kmskeyid)" : String,
  "[S3OutputLocation](#cfn-sagemaker-devicefleet-edgeoutputconfig-s3outputlocation)" : String
}
```

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

```
  [KmsKeyId](#cfn-sagemaker-devicefleet-edgeoutputconfig-kmskeyid): String
  [S3OutputLocation](#cfn-sagemaker-devicefleet-edgeoutputconfig-s3outputlocation): String
```

## Properties
<a name="aws-properties-sagemaker-devicefleet-edgeoutputconfig-properties"></a>

`KmsKeyId`  <a name="cfn-sagemaker-devicefleet-edgeoutputconfig-kmskeyid"></a>
The AWS Key Management Service (AWS KMS) key that Amazon SageMaker uses to encrypt data on the storage volume after compilation job. If you don't provide a KMS key ID, Amazon SageMaker uses the default KMS key for Amazon S3 for your role's account.  
*Required*: No  
*Type*: String  
*Pattern*: `[a-zA-Z0-9:_-]+`  
*Minimum*: `1`  
*Maximum*: `2048`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`S3OutputLocation`  <a name="cfn-sagemaker-devicefleet-edgeoutputconfig-s3outputlocation"></a>
The Amazon Simple Storage (S3) bucket URI.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^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::DeviceFleet Tag
<a name="aws-properties-sagemaker-devicefleet-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-devicefleet-tag-syntax"></a>

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

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

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

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

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

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

`Key`  <a name="cfn-sagemaker-devicefleet-tag-key"></a>
The tag key. Tag keys must be unique per resource.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^((?!aws:)[\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-devicefleet-tag-value"></a>
The tag value.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^([\p{L}\p{Z}\p{N}_.:/=+\-@]*)$`  
*Minimum*: `0`  
*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::Domain
<a name="aws-resource-sagemaker-domain"></a>

Creates a `Domain`. A domain consists of an associated Amazon Elastic File System volume, a list of authorized users, and a variety of security, application, policy, and Amazon Virtual Private Cloud (VPC) configurations. Users within a domain can share notebook files and other artifacts with each other.

 **EFS storage** 

When a domain is created, an EFS volume is created for use by all of the users within the domain. Each user receives a private home directory within the EFS volume for notebooks, Git repositories, and data files.

SageMaker AI uses the AWS Key Management Service (AWS KMS) to encrypt the EFS volume attached to the domain with an AWS managed key by default. For more control, you can specify a customer managed key. For more information, see [Protect Data at Rest Using Encryption](https://docs.aws.amazon.com/sagemaker/latest/dg/encryption-at-rest.html).

 **VPC configuration** 

All traffic between the domain and the Amazon EFS volume is through the specified VPC and subnets. For other traffic, you can specify the `AppNetworkAccessType` parameter. `AppNetworkAccessType` corresponds to the network access type that you choose when you onboard to the domain. The following options are available:
+ `PublicInternetOnly` - Non-EFS traffic goes through a VPC managed by Amazon SageMaker AI, which allows internet access. This is the default value.
+ `VpcOnly` - All traffic is through the specified VPC and subnets. Internet access is disabled by default. To allow internet access, you must specify a NAT gateway.

  When internet access is disabled, you won't be able to run a Amazon SageMaker AI Studio notebook or to train or host models unless your VPC has an interface endpoint to the SageMaker AI API and runtime or a NAT gateway and your security groups allow outbound connections.

**Important**  
NFS traffic over TCP on port 2049 needs to be allowed in both inbound and outbound rules in order to launch a Amazon SageMaker AI Studio app successfully.

For more information, see [Connect Amazon SageMaker AI Studio Notebooks to Resources in a VPC](https://docs.aws.amazon.com/sagemaker/latest/dg/studio-notebooks-and-internet-access.html).

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

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

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

```
{
  "Type" : "AWS::SageMaker::Domain",
  "Properties" : {
      "[AppNetworkAccessType](#cfn-sagemaker-domain-appnetworkaccesstype)" : String,
      "[AppSecurityGroupManagement](#cfn-sagemaker-domain-appsecuritygroupmanagement)" : String,
      "[AuthMode](#cfn-sagemaker-domain-authmode)" : String,
      "[DefaultSpaceSettings](#cfn-sagemaker-domain-defaultspacesettings)" : DefaultSpaceSettings,
      "[DefaultUserSettings](#cfn-sagemaker-domain-defaultusersettings)" : UserSettings,
      "[DomainName](#cfn-sagemaker-domain-domainname)" : String,
      "[DomainSettings](#cfn-sagemaker-domain-domainsettings)" : DomainSettings,
      "[KmsKeyId](#cfn-sagemaker-domain-kmskeyid)" : String,
      "[SubnetIds](#cfn-sagemaker-domain-subnetids)" : [ String, ... ],
      "[TagPropagation](#cfn-sagemaker-domain-tagpropagation)" : String,
      "[Tags](#cfn-sagemaker-domain-tags)" : [ Tag, ... ],
      "[VpcId](#cfn-sagemaker-domain-vpcid)" : String
    }
}
```

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

```
Type: AWS::SageMaker::Domain
Properties:
  [AppNetworkAccessType](#cfn-sagemaker-domain-appnetworkaccesstype): String
  [AppSecurityGroupManagement](#cfn-sagemaker-domain-appsecuritygroupmanagement): String
  [AuthMode](#cfn-sagemaker-domain-authmode): String
  [DefaultSpaceSettings](#cfn-sagemaker-domain-defaultspacesettings): 
    DefaultSpaceSettings
  [DefaultUserSettings](#cfn-sagemaker-domain-defaultusersettings): 
    UserSettings
  [DomainName](#cfn-sagemaker-domain-domainname): String
  [DomainSettings](#cfn-sagemaker-domain-domainsettings): 
    DomainSettings
  [KmsKeyId](#cfn-sagemaker-domain-kmskeyid): String
  [SubnetIds](#cfn-sagemaker-domain-subnetids): 
    - String
  [TagPropagation](#cfn-sagemaker-domain-tagpropagation): String
  [Tags](#cfn-sagemaker-domain-tags): 
    - Tag
  [VpcId](#cfn-sagemaker-domain-vpcid): String
```

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

`AppNetworkAccessType`  <a name="cfn-sagemaker-domain-appnetworkaccesstype"></a>
Specifies the VPC used for non-EFS traffic. The default value is `PublicInternetOnly`.  
+ `PublicInternetOnly` - Non-EFS traffic is through a VPC managed by Amazon SageMaker AI, which allows direct internet access
+ `VpcOnly` - All Studio traffic is through the specified VPC and subnets
*Valid Values*: `PublicInternetOnly | VpcOnly`  
*Required*: No  
*Type*: String  
*Allowed values*: `PublicInternetOnly | VpcOnly`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`AppSecurityGroupManagement`  <a name="cfn-sagemaker-domain-appsecuritygroupmanagement"></a>
The entity that creates and manages the required security groups for inter-app communication in `VpcOnly` mode. Required when `CreateDomain.AppNetworkAccessType` is `VpcOnly` and `DomainSettings.RStudioServerProDomainSettings.DomainExecutionRoleArn` is provided. If setting up the domain for use with RStudio, this value must be set to `Service`.  
*Allowed Values*: `Service` \$1 `Customer`  
*Required*: No  
*Type*: String  
*Allowed values*: `Service | Customer`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`AuthMode`  <a name="cfn-sagemaker-domain-authmode"></a>
The mode of authentication that members use to access the Domain.  
*Valid Values*: `SSO | IAM`  
*Required*: Yes  
*Type*: String  
*Allowed values*: `SSO | IAM`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`DefaultSpaceSettings`  <a name="cfn-sagemaker-domain-defaultspacesettings"></a>
The default settings for shared spaces that users create in the domain.  
SageMaker applies these settings only to shared spaces. It doesn't apply them to private spaces.  
*Required*: No  
*Type*: [DefaultSpaceSettings](aws-properties-sagemaker-domain-defaultspacesettings.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`DefaultUserSettings`  <a name="cfn-sagemaker-domain-defaultusersettings"></a>
The default user settings.  
*Required*: Yes  
*Type*: [UserSettings](aws-properties-sagemaker-domain-usersettings.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`DomainName`  <a name="cfn-sagemaker-domain-domainname"></a>
The domain name.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}`  
*Maximum*: `63`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`DomainSettings`  <a name="cfn-sagemaker-domain-domainsettings"></a>
A collection of settings that apply to the `SageMaker Domain`. These settings are specified through the `CreateDomain` API call.  
*Required*: No  
*Type*: [DomainSettings](aws-properties-sagemaker-domain-domainsettings.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`KmsKeyId`  <a name="cfn-sagemaker-domain-kmskeyid"></a>
SageMaker uses AWS KMS to encrypt the EFS volume attached to the Domain with an AWS managed customer master key (CMK) by default. For more control, specify a customer managed CMK.  
*Length Constraints*: Maximum length of 2048.  
*Pattern*: `.*`  
*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)

`SubnetIds`  <a name="cfn-sagemaker-domain-subnetids"></a>
The VPC subnets that Studio uses for communication.  
*Length Constraints*: Maximum length of 32.  
*Array members*: Minimum number of 1 item. Maximum number of 16 items.  
*Pattern*: `[-0-9a-zA-Z]+`  
*Required*: No  
*Type*: Array of String  
*Minimum*: `1`  
*Maximum*: `32 | 16`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`TagPropagation`  <a name="cfn-sagemaker-domain-tagpropagation"></a>
Property description not available.  
*Required*: No  
*Type*: String  
*Allowed values*: `ENABLED | DISABLED`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Tags`  <a name="cfn-sagemaker-domain-tags"></a>
Tags to associated with the Domain. Each tag consists of a key and an optional value. Tag keys must be unique per resource. Tags are searchable using the Search API.   
Tags that you specify for the Domain are also added to all apps that are launched in the Domain.  
*Array members*: Minimum number of 0 items. Maximum number of 50 items.  
*Required*: No  
*Type*: Array of [Tag](aws-properties-sagemaker-domain-tag.md)  
*Minimum*: `0`  
*Maximum*: `50`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`VpcId`  <a name="cfn-sagemaker-domain-vpcid"></a>
The ID of the Amazon Virtual Private Cloud (Amazon VPC) that Studio uses for communication.  
*Length Constraints*: Maximum length of 32.  
*Pattern*: `[-0-9a-zA-Z]+`  
*Required*: No  
*Type*: String  
*Pattern*: `[-0-9a-zA-Z]+`  
*Maximum*: `32`  
*Update requires*: [Some interruptions](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-some-interrupt)

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

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

When you pass the logical ID of this resource to the intrinsic `Ref` function, `Ref` returns the Domain ID, such as `d-xxxxxxxxxxxx`.

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-domain-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-domain-return-values-fn--getatt-fn--getatt"></a>

`DomainArn`  <a name="DomainArn-fn::getatt"></a>
The Amazon Resource Name (ARN) of the Domain, such as `arn:aws:sagemaker:us-west-2:account-id:domain/my-domain-name`.

`DomainId`  <a name="DomainId-fn::getatt"></a>
The Domain ID.

`HomeEfsFileSystemId`  <a name="HomeEfsFileSystemId-fn::getatt"></a>
The ID of the Amazon Elastic File System (EFS) managed by this Domain.

`SecurityGroupIdForDomainBoundary`  <a name="SecurityGroupIdForDomainBoundary-fn::getatt"></a>
The ID of the security group that authorizes traffic between the `RSessionGateway` apps and the `RStudioServerPro` app.

`SingleSignOnApplicationArn`  <a name="SingleSignOnApplicationArn-fn::getatt"></a>
The ARN of the application managed by SageMaker in IAM Identity Center. This value is only returned for domains created after October 1, 2023.

`SingleSignOnManagedApplicationInstanceId`  <a name="SingleSignOnManagedApplicationInstanceId-fn::getatt"></a>
The IAM Identity Center managed application instance ID.

`Url`  <a name="Url-fn::getatt"></a>
The URL for the Domain.

# AWS::SageMaker::Domain AppLifecycleManagement
<a name="aws-properties-sagemaker-domain-applifecyclemanagement"></a>

Settings that are used to configure and manage the lifecycle of Amazon SageMaker Studio applications.

## Syntax
<a name="aws-properties-sagemaker-domain-applifecyclemanagement-syntax"></a>

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

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

```
{
  "[IdleSettings](#cfn-sagemaker-domain-applifecyclemanagement-idlesettings)" : IdleSettings
}
```

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

```
  [IdleSettings](#cfn-sagemaker-domain-applifecyclemanagement-idlesettings): 
    IdleSettings
```

## Properties
<a name="aws-properties-sagemaker-domain-applifecyclemanagement-properties"></a>

`IdleSettings`  <a name="cfn-sagemaker-domain-applifecyclemanagement-idlesettings"></a>
Settings related to idle shutdown of Studio applications.  
*Required*: No  
*Type*: [IdleSettings](aws-properties-sagemaker-domain-idlesettings.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::Domain CodeEditorAppSettings
<a name="aws-properties-sagemaker-domain-codeeditorappsettings"></a>

The Code Editor application settings.

For more information about Code Editor, see [Get started with Code Editor in Amazon SageMaker](https://docs.aws.amazon.com/sagemaker/latest/dg/code-editor.html).

## Syntax
<a name="aws-properties-sagemaker-domain-codeeditorappsettings-syntax"></a>

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

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

```
{
  "[AppLifecycleManagement](#cfn-sagemaker-domain-codeeditorappsettings-applifecyclemanagement)" : AppLifecycleManagement,
  "[BuiltInLifecycleConfigArn](#cfn-sagemaker-domain-codeeditorappsettings-builtinlifecycleconfigarn)" : String,
  "[CustomImages](#cfn-sagemaker-domain-codeeditorappsettings-customimages)" : [ CustomImage, ... ],
  "[DefaultResourceSpec](#cfn-sagemaker-domain-codeeditorappsettings-defaultresourcespec)" : ResourceSpec,
  "[LifecycleConfigArns](#cfn-sagemaker-domain-codeeditorappsettings-lifecycleconfigarns)" : [ String, ... ]
}
```

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

```
  [AppLifecycleManagement](#cfn-sagemaker-domain-codeeditorappsettings-applifecyclemanagement): 
    AppLifecycleManagement
  [BuiltInLifecycleConfigArn](#cfn-sagemaker-domain-codeeditorappsettings-builtinlifecycleconfigarn): String
  [CustomImages](#cfn-sagemaker-domain-codeeditorappsettings-customimages): 
    - CustomImage
  [DefaultResourceSpec](#cfn-sagemaker-domain-codeeditorappsettings-defaultresourcespec): 
    ResourceSpec
  [LifecycleConfigArns](#cfn-sagemaker-domain-codeeditorappsettings-lifecycleconfigarns): 
    - String
```

## Properties
<a name="aws-properties-sagemaker-domain-codeeditorappsettings-properties"></a>

`AppLifecycleManagement`  <a name="cfn-sagemaker-domain-codeeditorappsettings-applifecyclemanagement"></a>
Settings that are used to configure and manage the lifecycle of CodeEditor applications.  
*Required*: No  
*Type*: [AppLifecycleManagement](aws-properties-sagemaker-domain-applifecyclemanagement.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`BuiltInLifecycleConfigArn`  <a name="cfn-sagemaker-domain-codeeditorappsettings-builtinlifecycleconfigarn"></a>
The lifecycle configuration that runs before the default lifecycle configuration. It can override changes made in the default lifecycle configuration.  
*Required*: No  
*Type*: String  
*Pattern*: `^(arn:aws[a-z\-]*:sagemaker:[a-z0-9\-]*:[0-9]{12}:studio-lifecycle-config/.*|None)$`  
*Maximum*: `256`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`CustomImages`  <a name="cfn-sagemaker-domain-codeeditorappsettings-customimages"></a>
A list of custom SageMaker images that are configured to run as a Code Editor app.  
*Required*: No  
*Type*: Array of [CustomImage](aws-properties-sagemaker-domain-customimage.md)  
*Minimum*: `0`  
*Maximum*: `200`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`DefaultResourceSpec`  <a name="cfn-sagemaker-domain-codeeditorappsettings-defaultresourcespec"></a>
The default instance type and the Amazon Resource Name (ARN) of the default SageMaker image used by the Code Editor app.  
*Required*: No  
*Type*: [ResourceSpec](aws-properties-sagemaker-domain-resourcespec.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`LifecycleConfigArns`  <a name="cfn-sagemaker-domain-codeeditorappsettings-lifecycleconfigarns"></a>
The Amazon Resource Name (ARN) of the Code Editor application lifecycle configuration.  
*Required*: No  
*Type*: Array of String  
*Minimum*: `0`  
*Maximum*: `30`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::SageMaker::Domain CodeRepository
<a name="aws-properties-sagemaker-domain-coderepository"></a>

A Git repository that SageMaker AI automatically displays to users for cloning in the JupyterServer application.

## Syntax
<a name="aws-properties-sagemaker-domain-coderepository-syntax"></a>

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

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

```
{
  "[RepositoryUrl](#cfn-sagemaker-domain-coderepository-repositoryurl)" : String
}
```

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

```
  [RepositoryUrl](#cfn-sagemaker-domain-coderepository-repositoryurl): String
```

## Properties
<a name="aws-properties-sagemaker-domain-coderepository-properties"></a>

`RepositoryUrl`  <a name="cfn-sagemaker-domain-coderepository-repositoryurl"></a>
The URL of the Git repository.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^https://([.\-_a-zA-Z0-9]+/?){3,1016}$`  
*Maximum*: `256`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::SageMaker::Domain CustomFileSystemConfig
<a name="aws-properties-sagemaker-domain-customfilesystemconfig"></a>

The settings for assigning a custom file system to a user profile or space for an Amazon SageMaker AI Domain. Permitted users can access this file system in Amazon SageMaker AI Studio.

## Syntax
<a name="aws-properties-sagemaker-domain-customfilesystemconfig-syntax"></a>

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

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

```
{
  "[EFSFileSystemConfig](#cfn-sagemaker-domain-customfilesystemconfig-efsfilesystemconfig)" : EFSFileSystemConfig,
  "[FSxLustreFileSystemConfig](#cfn-sagemaker-domain-customfilesystemconfig-fsxlustrefilesystemconfig)" : FSxLustreFileSystemConfig,
  "[S3FileSystemConfig](#cfn-sagemaker-domain-customfilesystemconfig-s3filesystemconfig)" : S3FileSystemConfig
}
```

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

```
  [EFSFileSystemConfig](#cfn-sagemaker-domain-customfilesystemconfig-efsfilesystemconfig): 
    EFSFileSystemConfig
  [FSxLustreFileSystemConfig](#cfn-sagemaker-domain-customfilesystemconfig-fsxlustrefilesystemconfig): 
    FSxLustreFileSystemConfig
  [S3FileSystemConfig](#cfn-sagemaker-domain-customfilesystemconfig-s3filesystemconfig): 
    S3FileSystemConfig
```

## Properties
<a name="aws-properties-sagemaker-domain-customfilesystemconfig-properties"></a>

`EFSFileSystemConfig`  <a name="cfn-sagemaker-domain-customfilesystemconfig-efsfilesystemconfig"></a>
The settings for a custom Amazon EFS file system.  
*Required*: No  
*Type*: [EFSFileSystemConfig](aws-properties-sagemaker-domain-efsfilesystemconfig.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`FSxLustreFileSystemConfig`  <a name="cfn-sagemaker-domain-customfilesystemconfig-fsxlustrefilesystemconfig"></a>
The settings for a custom Amazon FSx for Lustre file system.  
*Required*: No  
*Type*: [FSxLustreFileSystemConfig](aws-properties-sagemaker-domain-fsxlustrefilesystemconfig.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`S3FileSystemConfig`  <a name="cfn-sagemaker-domain-customfilesystemconfig-s3filesystemconfig"></a>
Configuration settings for a custom Amazon S3 file system.  
*Required*: No  
*Type*: [S3FileSystemConfig](aws-properties-sagemaker-domain-s3filesystemconfig.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::Domain CustomImage
<a name="aws-properties-sagemaker-domain-customimage"></a>

A custom SageMaker AI image. For more information, see [Bring your own SageMaker AI image](https://docs.aws.amazon.com/sagemaker/latest/dg/studio-byoi.html).

## Syntax
<a name="aws-properties-sagemaker-domain-customimage-syntax"></a>

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

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

```
{
  "[AppImageConfigName](#cfn-sagemaker-domain-customimage-appimageconfigname)" : String,
  "[ImageName](#cfn-sagemaker-domain-customimage-imagename)" : String,
  "[ImageVersionNumber](#cfn-sagemaker-domain-customimage-imageversionnumber)" : Integer
}
```

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

```
  [AppImageConfigName](#cfn-sagemaker-domain-customimage-appimageconfigname): String
  [ImageName](#cfn-sagemaker-domain-customimage-imagename): String
  [ImageVersionNumber](#cfn-sagemaker-domain-customimage-imageversionnumber): Integer
```

## Properties
<a name="aws-properties-sagemaker-domain-customimage-properties"></a>

`AppImageConfigName`  <a name="cfn-sagemaker-domain-customimage-appimageconfigname"></a>
The name of the AppImageConfig.  
*Required*: Yes  
*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)

`ImageName`  <a name="cfn-sagemaker-domain-customimage-imagename"></a>
The name of the CustomImage. Must be unique to your account.  
*Required*: Yes  
*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)

`ImageVersionNumber`  <a name="cfn-sagemaker-domain-customimage-imageversionnumber"></a>
The version number of the CustomImage.  
*Required*: No  
*Type*: Integer  
*Minimum*: `0`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::SageMaker::Domain CustomPosixUserConfig
<a name="aws-properties-sagemaker-domain-customposixuserconfig"></a>

Details about the POSIX identity that is used for file system operations.

## Syntax
<a name="aws-properties-sagemaker-domain-customposixuserconfig-syntax"></a>

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

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

```
{
  "[Gid](#cfn-sagemaker-domain-customposixuserconfig-gid)" : Integer,
  "[Uid](#cfn-sagemaker-domain-customposixuserconfig-uid)" : Integer
}
```

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

```
  [Gid](#cfn-sagemaker-domain-customposixuserconfig-gid): Integer
  [Uid](#cfn-sagemaker-domain-customposixuserconfig-uid): Integer
```

## Properties
<a name="aws-properties-sagemaker-domain-customposixuserconfig-properties"></a>

`Gid`  <a name="cfn-sagemaker-domain-customposixuserconfig-gid"></a>
The POSIX group ID.  
*Required*: Yes  
*Type*: Integer  
*Minimum*: `1001`  
*Maximum*: `4000000`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Uid`  <a name="cfn-sagemaker-domain-customposixuserconfig-uid"></a>
The POSIX user ID.  
*Required*: Yes  
*Type*: Integer  
*Minimum*: `10000`  
*Maximum*: `4000000`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::SageMaker::Domain DefaultEbsStorageSettings
<a name="aws-properties-sagemaker-domain-defaultebsstoragesettings"></a>

A collection of default EBS storage settings that apply to spaces created within a domain or user profile.

## Syntax
<a name="aws-properties-sagemaker-domain-defaultebsstoragesettings-syntax"></a>

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

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

```
{
  "[DefaultEbsVolumeSizeInGb](#cfn-sagemaker-domain-defaultebsstoragesettings-defaultebsvolumesizeingb)" : Integer,
  "[MaximumEbsVolumeSizeInGb](#cfn-sagemaker-domain-defaultebsstoragesettings-maximumebsvolumesizeingb)" : Integer
}
```

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

```
  [DefaultEbsVolumeSizeInGb](#cfn-sagemaker-domain-defaultebsstoragesettings-defaultebsvolumesizeingb): Integer
  [MaximumEbsVolumeSizeInGb](#cfn-sagemaker-domain-defaultebsstoragesettings-maximumebsvolumesizeingb): Integer
```

## Properties
<a name="aws-properties-sagemaker-domain-defaultebsstoragesettings-properties"></a>

`DefaultEbsVolumeSizeInGb`  <a name="cfn-sagemaker-domain-defaultebsstoragesettings-defaultebsvolumesizeingb"></a>
The default size of the EBS storage volume for a space.  
*Required*: Yes  
*Type*: Integer  
*Minimum*: `5`  
*Maximum*: `16384`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`MaximumEbsVolumeSizeInGb`  <a name="cfn-sagemaker-domain-defaultebsstoragesettings-maximumebsvolumesizeingb"></a>
The maximum size of the EBS storage volume for a space.  
*Required*: Yes  
*Type*: Integer  
*Minimum*: `5`  
*Maximum*: `16384`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::SageMaker::Domain DefaultSpaceSettings
<a name="aws-properties-sagemaker-domain-defaultspacesettings"></a>

The default settings for shared spaces that users create in the domain.

SageMaker applies these settings only to shared spaces. It doesn't apply them to private spaces.

## Syntax
<a name="aws-properties-sagemaker-domain-defaultspacesettings-syntax"></a>

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

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

```
{
  "[CustomFileSystemConfigs](#cfn-sagemaker-domain-defaultspacesettings-customfilesystemconfigs)" : [ CustomFileSystemConfig, ... ],
  "[CustomPosixUserConfig](#cfn-sagemaker-domain-defaultspacesettings-customposixuserconfig)" : CustomPosixUserConfig,
  "[ExecutionRole](#cfn-sagemaker-domain-defaultspacesettings-executionrole)" : String,
  "[JupyterLabAppSettings](#cfn-sagemaker-domain-defaultspacesettings-jupyterlabappsettings)" : JupyterLabAppSettings,
  "[JupyterServerAppSettings](#cfn-sagemaker-domain-defaultspacesettings-jupyterserverappsettings)" : JupyterServerAppSettings,
  "[KernelGatewayAppSettings](#cfn-sagemaker-domain-defaultspacesettings-kernelgatewayappsettings)" : KernelGatewayAppSettings,
  "[SecurityGroups](#cfn-sagemaker-domain-defaultspacesettings-securitygroups)" : [ String, ... ],
  "[SpaceStorageSettings](#cfn-sagemaker-domain-defaultspacesettings-spacestoragesettings)" : DefaultSpaceStorageSettings
}
```

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

```
  [CustomFileSystemConfigs](#cfn-sagemaker-domain-defaultspacesettings-customfilesystemconfigs): 
    - CustomFileSystemConfig
  [CustomPosixUserConfig](#cfn-sagemaker-domain-defaultspacesettings-customposixuserconfig): 
    CustomPosixUserConfig
  [ExecutionRole](#cfn-sagemaker-domain-defaultspacesettings-executionrole): String
  [JupyterLabAppSettings](#cfn-sagemaker-domain-defaultspacesettings-jupyterlabappsettings): 
    JupyterLabAppSettings
  [JupyterServerAppSettings](#cfn-sagemaker-domain-defaultspacesettings-jupyterserverappsettings): 
    JupyterServerAppSettings
  [KernelGatewayAppSettings](#cfn-sagemaker-domain-defaultspacesettings-kernelgatewayappsettings): 
    KernelGatewayAppSettings
  [SecurityGroups](#cfn-sagemaker-domain-defaultspacesettings-securitygroups): 
    - String
  [SpaceStorageSettings](#cfn-sagemaker-domain-defaultspacesettings-spacestoragesettings): 
    DefaultSpaceStorageSettings
```

## Properties
<a name="aws-properties-sagemaker-domain-defaultspacesettings-properties"></a>

`CustomFileSystemConfigs`  <a name="cfn-sagemaker-domain-defaultspacesettings-customfilesystemconfigs"></a>
The settings for assigning a custom file system to a domain. Permitted users can access this file system in Amazon SageMaker AI Studio.  
*Required*: No  
*Type*: Array of [CustomFileSystemConfig](aws-properties-sagemaker-domain-customfilesystemconfig.md)  
*Minimum*: `0`  
*Maximum*: `2`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`CustomPosixUserConfig`  <a name="cfn-sagemaker-domain-defaultspacesettings-customposixuserconfig"></a>
Property description not available.  
*Required*: No  
*Type*: [CustomPosixUserConfig](aws-properties-sagemaker-domain-customposixuserconfig.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ExecutionRole`  <a name="cfn-sagemaker-domain-defaultspacesettings-executionrole"></a>
The ARN of the execution role for the space.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^arn:aws[a-z\-]*:iam::\d{12}:role/?[a-zA-Z_0-9+=,.@\-_/]+$`  
*Minimum*: `20`  
*Maximum*: `2048`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`JupyterLabAppSettings`  <a name="cfn-sagemaker-domain-defaultspacesettings-jupyterlabappsettings"></a>
Property description not available.  
*Required*: No  
*Type*: [JupyterLabAppSettings](aws-properties-sagemaker-domain-jupyterlabappsettings.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`JupyterServerAppSettings`  <a name="cfn-sagemaker-domain-defaultspacesettings-jupyterserverappsettings"></a>
The JupyterServer app settings.  
*Required*: No  
*Type*: [JupyterServerAppSettings](aws-properties-sagemaker-domain-jupyterserverappsettings.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`KernelGatewayAppSettings`  <a name="cfn-sagemaker-domain-defaultspacesettings-kernelgatewayappsettings"></a>
The KernelGateway app settings.  
*Required*: No  
*Type*: [KernelGatewayAppSettings](aws-properties-sagemaker-domain-kernelgatewayappsettings.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`SecurityGroups`  <a name="cfn-sagemaker-domain-defaultspacesettings-securitygroups"></a>
The security group IDs for the Amazon VPC that the space uses for communication.  
*Required*: No  
*Type*: Array of String  
*Minimum*: `0`  
*Maximum*: `32 | 5`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`SpaceStorageSettings`  <a name="cfn-sagemaker-domain-defaultspacesettings-spacestoragesettings"></a>
Property description not available.  
*Required*: No  
*Type*: [DefaultSpaceStorageSettings](aws-properties-sagemaker-domain-defaultspacestoragesettings.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::Domain DefaultSpaceStorageSettings
<a name="aws-properties-sagemaker-domain-defaultspacestoragesettings"></a>

The default storage settings for a space.

## Syntax
<a name="aws-properties-sagemaker-domain-defaultspacestoragesettings-syntax"></a>

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

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

```
{
  "[DefaultEbsStorageSettings](#cfn-sagemaker-domain-defaultspacestoragesettings-defaultebsstoragesettings)" : DefaultEbsStorageSettings
}
```

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

```
  [DefaultEbsStorageSettings](#cfn-sagemaker-domain-defaultspacestoragesettings-defaultebsstoragesettings): 
    DefaultEbsStorageSettings
```

## Properties
<a name="aws-properties-sagemaker-domain-defaultspacestoragesettings-properties"></a>

`DefaultEbsStorageSettings`  <a name="cfn-sagemaker-domain-defaultspacestoragesettings-defaultebsstoragesettings"></a>
The default EBS storage settings for a space.  
*Required*: No  
*Type*: [DefaultEbsStorageSettings](aws-properties-sagemaker-domain-defaultebsstoragesettings.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::Domain DockerSettings
<a name="aws-properties-sagemaker-domain-dockersettings"></a>

A collection of settings that configure the domain's Docker interaction.

## Syntax
<a name="aws-properties-sagemaker-domain-dockersettings-syntax"></a>

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

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

```
{
  "[EnableDockerAccess](#cfn-sagemaker-domain-dockersettings-enabledockeraccess)" : String,
  "[VpcOnlyTrustedAccounts](#cfn-sagemaker-domain-dockersettings-vpconlytrustedaccounts)" : [ String, ... ]
}
```

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

```
  [EnableDockerAccess](#cfn-sagemaker-domain-dockersettings-enabledockeraccess): String
  [VpcOnlyTrustedAccounts](#cfn-sagemaker-domain-dockersettings-vpconlytrustedaccounts): 
    - String
```

## Properties
<a name="aws-properties-sagemaker-domain-dockersettings-properties"></a>

`EnableDockerAccess`  <a name="cfn-sagemaker-domain-dockersettings-enabledockeraccess"></a>
Indicates whether the domain can access Docker.  
*Required*: No  
*Type*: String  
*Allowed values*: `ENABLED | DISABLED`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`VpcOnlyTrustedAccounts`  <a name="cfn-sagemaker-domain-dockersettings-vpconlytrustedaccounts"></a>
The list of AWS accounts that are trusted when the domain is created in VPC-only mode.  
*Required*: No  
*Type*: Array of String  
*Minimum*: `12 | 0`  
*Maximum*: `12 | 20`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::SageMaker::Domain DomainSettings
<a name="aws-properties-sagemaker-domain-domainsettings"></a>

A collection of settings that apply to the `SageMaker Domain`. These settings are specified through the `CreateDomain` API call.

## Syntax
<a name="aws-properties-sagemaker-domain-domainsettings-syntax"></a>

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

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

```
{
  "[DockerSettings](#cfn-sagemaker-domain-domainsettings-dockersettings)" : DockerSettings,
  "[ExecutionRoleIdentityConfig](#cfn-sagemaker-domain-domainsettings-executionroleidentityconfig)" : String,
  "[IpAddressType](#cfn-sagemaker-domain-domainsettings-ipaddresstype)" : String,
  "[RStudioServerProDomainSettings](#cfn-sagemaker-domain-domainsettings-rstudioserverprodomainsettings)" : RStudioServerProDomainSettings,
  "[SecurityGroupIds](#cfn-sagemaker-domain-domainsettings-securitygroupids)" : [ String, ... ],
  "[UnifiedStudioSettings](#cfn-sagemaker-domain-domainsettings-unifiedstudiosettings)" : UnifiedStudioSettings
}
```

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

```
  [DockerSettings](#cfn-sagemaker-domain-domainsettings-dockersettings): 
    DockerSettings
  [ExecutionRoleIdentityConfig](#cfn-sagemaker-domain-domainsettings-executionroleidentityconfig): String
  [IpAddressType](#cfn-sagemaker-domain-domainsettings-ipaddresstype): String
  [RStudioServerProDomainSettings](#cfn-sagemaker-domain-domainsettings-rstudioserverprodomainsettings): 
    RStudioServerProDomainSettings
  [SecurityGroupIds](#cfn-sagemaker-domain-domainsettings-securitygroupids): 
    - String
  [UnifiedStudioSettings](#cfn-sagemaker-domain-domainsettings-unifiedstudiosettings): 
    UnifiedStudioSettings
```

## Properties
<a name="aws-properties-sagemaker-domain-domainsettings-properties"></a>

`DockerSettings`  <a name="cfn-sagemaker-domain-domainsettings-dockersettings"></a>
A collection of settings that configure the domain's Docker interaction.  
*Required*: No  
*Type*: [DockerSettings](aws-properties-sagemaker-domain-dockersettings.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ExecutionRoleIdentityConfig`  <a name="cfn-sagemaker-domain-domainsettings-executionroleidentityconfig"></a>
The configuration for attaching a SageMaker AI user profile name to the execution role as a [sts:SourceIdentity key](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_control-access_monitor.html).  
*Required*: No  
*Type*: String  
*Allowed values*: `USER_PROFILE_NAME | DISABLED`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`IpAddressType`  <a name="cfn-sagemaker-domain-domainsettings-ipaddresstype"></a>
The IP address type for the domain. Specify `ipv4` for IPv4-only connectivity or `dualstack` for both IPv4 and IPv6 connectivity. When you specify `dualstack`, the subnet must support IPv6 CIDR blocks. If not specified, defaults to `ipv4`.  
*Required*: No  
*Type*: String  
*Allowed values*: `IPV4 | DUALSTACK`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`RStudioServerProDomainSettings`  <a name="cfn-sagemaker-domain-domainsettings-rstudioserverprodomainsettings"></a>
A collection of settings that configure the `RStudioServerPro` Domain-level app.  
*Required*: No  
*Type*: [RStudioServerProDomainSettings](aws-properties-sagemaker-domain-rstudioserverprodomainsettings.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`SecurityGroupIds`  <a name="cfn-sagemaker-domain-domainsettings-securitygroupids"></a>
The security groups for the Amazon Virtual Private Cloud that the `Domain` uses for communication between Domain-level apps and user apps.  
*Required*: No  
*Type*: Array of String  
*Minimum*: `0`  
*Maximum*: `32 | 3`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`UnifiedStudioSettings`  <a name="cfn-sagemaker-domain-domainsettings-unifiedstudiosettings"></a>
The settings that apply to an SageMaker AI domain when you use it in Amazon SageMaker Unified Studio.  
*Required*: No  
*Type*: [UnifiedStudioSettings](aws-properties-sagemaker-domain-unifiedstudiosettings.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::Domain EFSFileSystemConfig
<a name="aws-properties-sagemaker-domain-efsfilesystemconfig"></a>

The settings for assigning a custom Amazon EFS file system to a user profile or space for an Amazon SageMaker AI Domain.

## Syntax
<a name="aws-properties-sagemaker-domain-efsfilesystemconfig-syntax"></a>

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

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

```
{
  "[FileSystemId](#cfn-sagemaker-domain-efsfilesystemconfig-filesystemid)" : String,
  "[FileSystemPath](#cfn-sagemaker-domain-efsfilesystemconfig-filesystempath)" : String
}
```

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

```
  [FileSystemId](#cfn-sagemaker-domain-efsfilesystemconfig-filesystemid): String
  [FileSystemPath](#cfn-sagemaker-domain-efsfilesystemconfig-filesystempath): String
```

## Properties
<a name="aws-properties-sagemaker-domain-efsfilesystemconfig-properties"></a>

`FileSystemId`  <a name="cfn-sagemaker-domain-efsfilesystemconfig-filesystemid"></a>
The ID of your Amazon EFS file system.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^(fs-[0-9a-f]{8,})$`  
*Minimum*: `11`  
*Maximum*: `21`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`FileSystemPath`  <a name="cfn-sagemaker-domain-efsfilesystemconfig-filesystempath"></a>
The path to the file system directory that is accessible in Amazon SageMaker AI Studio. Permitted users can access only this directory and below.  
*Required*: No  
*Type*: String  
*Pattern*: `^\/\S*$`  
*Minimum*: `1`  
*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::Domain FSxLustreFileSystemConfig
<a name="aws-properties-sagemaker-domain-fsxlustrefilesystemconfig"></a>

The settings for assigning a custom Amazon FSx for Lustre file system to a user profile or space for an Amazon SageMaker Domain.

## Syntax
<a name="aws-properties-sagemaker-domain-fsxlustrefilesystemconfig-syntax"></a>

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

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

```
{
  "[FileSystemId](#cfn-sagemaker-domain-fsxlustrefilesystemconfig-filesystemid)" : String,
  "[FileSystemPath](#cfn-sagemaker-domain-fsxlustrefilesystemconfig-filesystempath)" : String
}
```

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

```
  [FileSystemId](#cfn-sagemaker-domain-fsxlustrefilesystemconfig-filesystemid): String
  [FileSystemPath](#cfn-sagemaker-domain-fsxlustrefilesystemconfig-filesystempath): String
```

## Properties
<a name="aws-properties-sagemaker-domain-fsxlustrefilesystemconfig-properties"></a>

`FileSystemId`  <a name="cfn-sagemaker-domain-fsxlustrefilesystemconfig-filesystemid"></a>
The globally unique, 17-digit, ID of the file system, assigned by Amazon FSx for Lustre.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^(fs-[0-9a-f]{8,})$`  
*Minimum*: `11`  
*Maximum*: `21`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`FileSystemPath`  <a name="cfn-sagemaker-domain-fsxlustrefilesystemconfig-filesystempath"></a>
The path to the file system directory that is accessible in Amazon SageMaker Studio. Permitted users can access only this directory and below.  
*Required*: No  
*Type*: String  
*Pattern*: `^\/\S*$`  
*Minimum*: `1`  
*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::Domain HiddenSageMakerImage
<a name="aws-properties-sagemaker-domain-hiddensagemakerimage"></a>

The SageMaker images that are hidden from the Studio user interface. You must specify the SageMaker image name and version aliases.

## Syntax
<a name="aws-properties-sagemaker-domain-hiddensagemakerimage-syntax"></a>

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

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

```
{
  "[SageMakerImageName](#cfn-sagemaker-domain-hiddensagemakerimage-sagemakerimagename)" : String,
  "[VersionAliases](#cfn-sagemaker-domain-hiddensagemakerimage-versionaliases)" : [ String, ... ]
}
```

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

```
  [SageMakerImageName](#cfn-sagemaker-domain-hiddensagemakerimage-sagemakerimagename): String
  [VersionAliases](#cfn-sagemaker-domain-hiddensagemakerimage-versionaliases): 
    - String
```

## Properties
<a name="aws-properties-sagemaker-domain-hiddensagemakerimage-properties"></a>

`SageMakerImageName`  <a name="cfn-sagemaker-domain-hiddensagemakerimage-sagemakerimagename"></a>
 The SageMaker image name that you are hiding from the Studio user interface.   
*Required*: No  
*Type*: String  
*Allowed values*: `sagemaker_distribution`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`VersionAliases`  <a name="cfn-sagemaker-domain-hiddensagemakerimage-versionaliases"></a>
 The version aliases you are hiding from the Studio user interface.   
*Required*: No  
*Type*: Array of String  
*Minimum*: `1`  
*Maximum*: `128 | 20`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::SageMaker::Domain IdleSettings
<a name="aws-properties-sagemaker-domain-idlesettings"></a>

Settings related to idle shutdown of Studio applications.

## Syntax
<a name="aws-properties-sagemaker-domain-idlesettings-syntax"></a>

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

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

```
{
  "[IdleTimeoutInMinutes](#cfn-sagemaker-domain-idlesettings-idletimeoutinminutes)" : Integer,
  "[LifecycleManagement](#cfn-sagemaker-domain-idlesettings-lifecyclemanagement)" : String,
  "[MaxIdleTimeoutInMinutes](#cfn-sagemaker-domain-idlesettings-maxidletimeoutinminutes)" : Integer,
  "[MinIdleTimeoutInMinutes](#cfn-sagemaker-domain-idlesettings-minidletimeoutinminutes)" : Integer
}
```

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

```
  [IdleTimeoutInMinutes](#cfn-sagemaker-domain-idlesettings-idletimeoutinminutes): Integer
  [LifecycleManagement](#cfn-sagemaker-domain-idlesettings-lifecyclemanagement): String
  [MaxIdleTimeoutInMinutes](#cfn-sagemaker-domain-idlesettings-maxidletimeoutinminutes): Integer
  [MinIdleTimeoutInMinutes](#cfn-sagemaker-domain-idlesettings-minidletimeoutinminutes): Integer
```

## Properties
<a name="aws-properties-sagemaker-domain-idlesettings-properties"></a>

`IdleTimeoutInMinutes`  <a name="cfn-sagemaker-domain-idlesettings-idletimeoutinminutes"></a>
The time that SageMaker waits after the application becomes idle before shutting it down.  
*Required*: No  
*Type*: Integer  
*Minimum*: `60`  
*Maximum*: `525600`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`LifecycleManagement`  <a name="cfn-sagemaker-domain-idlesettings-lifecyclemanagement"></a>
Indicates whether idle shutdown is activated for the application type.  
*Required*: No  
*Type*: String  
*Allowed values*: `ENABLED | DISABLED`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`MaxIdleTimeoutInMinutes`  <a name="cfn-sagemaker-domain-idlesettings-maxidletimeoutinminutes"></a>
The maximum value in minutes that custom idle shutdown can be set to by the user.  
*Required*: No  
*Type*: Integer  
*Minimum*: `60`  
*Maximum*: `525600`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`MinIdleTimeoutInMinutes`  <a name="cfn-sagemaker-domain-idlesettings-minidletimeoutinminutes"></a>
The minimum value in minutes that custom idle shutdown can be set to by the user.  
*Required*: No  
*Type*: Integer  
*Minimum*: `60`  
*Maximum*: `525600`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::SageMaker::Domain JupyterLabAppSettings
<a name="aws-properties-sagemaker-domain-jupyterlabappsettings"></a>

The settings for the JupyterLab application.

## Syntax
<a name="aws-properties-sagemaker-domain-jupyterlabappsettings-syntax"></a>

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

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

```
{
  "[AppLifecycleManagement](#cfn-sagemaker-domain-jupyterlabappsettings-applifecyclemanagement)" : AppLifecycleManagement,
  "[BuiltInLifecycleConfigArn](#cfn-sagemaker-domain-jupyterlabappsettings-builtinlifecycleconfigarn)" : String,
  "[CodeRepositories](#cfn-sagemaker-domain-jupyterlabappsettings-coderepositories)" : [ CodeRepository, ... ],
  "[CustomImages](#cfn-sagemaker-domain-jupyterlabappsettings-customimages)" : [ CustomImage, ... ],
  "[DefaultResourceSpec](#cfn-sagemaker-domain-jupyterlabappsettings-defaultresourcespec)" : ResourceSpec,
  "[LifecycleConfigArns](#cfn-sagemaker-domain-jupyterlabappsettings-lifecycleconfigarns)" : [ String, ... ]
}
```

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

```
  [AppLifecycleManagement](#cfn-sagemaker-domain-jupyterlabappsettings-applifecyclemanagement): 
    AppLifecycleManagement
  [BuiltInLifecycleConfigArn](#cfn-sagemaker-domain-jupyterlabappsettings-builtinlifecycleconfigarn): String
  [CodeRepositories](#cfn-sagemaker-domain-jupyterlabappsettings-coderepositories): 
    - CodeRepository
  [CustomImages](#cfn-sagemaker-domain-jupyterlabappsettings-customimages): 
    - CustomImage
  [DefaultResourceSpec](#cfn-sagemaker-domain-jupyterlabappsettings-defaultresourcespec): 
    ResourceSpec
  [LifecycleConfigArns](#cfn-sagemaker-domain-jupyterlabappsettings-lifecycleconfigarns): 
    - String
```

## Properties
<a name="aws-properties-sagemaker-domain-jupyterlabappsettings-properties"></a>

`AppLifecycleManagement`  <a name="cfn-sagemaker-domain-jupyterlabappsettings-applifecyclemanagement"></a>
Indicates whether idle shutdown is activated for JupyterLab applications.  
*Required*: No  
*Type*: [AppLifecycleManagement](aws-properties-sagemaker-domain-applifecyclemanagement.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`BuiltInLifecycleConfigArn`  <a name="cfn-sagemaker-domain-jupyterlabappsettings-builtinlifecycleconfigarn"></a>
The lifecycle configuration that runs before the default lifecycle configuration. It can override changes made in the default lifecycle configuration.  
*Required*: No  
*Type*: String  
*Pattern*: `^(arn:aws[a-z\-]*:sagemaker:[a-z0-9\-]*:[0-9]{12}:studio-lifecycle-config/.*|None)$`  
*Maximum*: `256`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`CodeRepositories`  <a name="cfn-sagemaker-domain-jupyterlabappsettings-coderepositories"></a>
A list of Git repositories that SageMaker automatically displays to users for cloning in the JupyterLab application.  
*Required*: No  
*Type*: Array of [CodeRepository](aws-properties-sagemaker-domain-coderepository.md)  
*Minimum*: `0`  
*Maximum*: `30`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`CustomImages`  <a name="cfn-sagemaker-domain-jupyterlabappsettings-customimages"></a>
A list of custom SageMaker images that are configured to run as a JupyterLab app.  
*Required*: No  
*Type*: Array of [CustomImage](aws-properties-sagemaker-domain-customimage.md)  
*Minimum*: `0`  
*Maximum*: `200`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`DefaultResourceSpec`  <a name="cfn-sagemaker-domain-jupyterlabappsettings-defaultresourcespec"></a>
The default instance type and the Amazon Resource Name (ARN) of the default SageMaker image used by the JupyterLab app.  
*Required*: No  
*Type*: [ResourceSpec](aws-properties-sagemaker-domain-resourcespec.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`LifecycleConfigArns`  <a name="cfn-sagemaker-domain-jupyterlabappsettings-lifecycleconfigarns"></a>
The Amazon Resource Name (ARN) of the lifecycle configurations attached to the user profile or domain. To remove a lifecycle config, you must set `LifecycleConfigArns` to an empty list.  
*Required*: No  
*Type*: Array of String  
*Minimum*: `0`  
*Maximum*: `30`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::SageMaker::Domain JupyterServerAppSettings
<a name="aws-properties-sagemaker-domain-jupyterserverappsettings"></a>

The JupyterServer app settings.

## Syntax
<a name="aws-properties-sagemaker-domain-jupyterserverappsettings-syntax"></a>

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

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

```
{
  "[DefaultResourceSpec](#cfn-sagemaker-domain-jupyterserverappsettings-defaultresourcespec)" : ResourceSpec,
  "[LifecycleConfigArns](#cfn-sagemaker-domain-jupyterserverappsettings-lifecycleconfigarns)" : [ String, ... ]
}
```

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

```
  [DefaultResourceSpec](#cfn-sagemaker-domain-jupyterserverappsettings-defaultresourcespec): 
    ResourceSpec
  [LifecycleConfigArns](#cfn-sagemaker-domain-jupyterserverappsettings-lifecycleconfigarns): 
    - String
```

## Properties
<a name="aws-properties-sagemaker-domain-jupyterserverappsettings-properties"></a>

`DefaultResourceSpec`  <a name="cfn-sagemaker-domain-jupyterserverappsettings-defaultresourcespec"></a>
The default instance type and the Amazon Resource Name (ARN) of the default SageMaker image used by the JupyterServer app.  
*Required*: No  
*Type*: [ResourceSpec](aws-properties-sagemaker-domain-resourcespec.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`LifecycleConfigArns`  <a name="cfn-sagemaker-domain-jupyterserverappsettings-lifecycleconfigarns"></a>
 The Amazon Resource Name (ARN) of the Lifecycle Configurations attached to the JupyterServerApp. If you use this parameter, the `DefaultResourceSpec` parameter is also required.  
To remove a Lifecycle Config, you must set `LifecycleConfigArns` to an empty list.
*Required*: No  
*Type*: Array of String  
*Minimum*: `0`  
*Maximum*: `30`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::SageMaker::Domain KernelGatewayAppSettings
<a name="aws-properties-sagemaker-domain-kernelgatewayappsettings"></a>

The KernelGateway app settings.

## Syntax
<a name="aws-properties-sagemaker-domain-kernelgatewayappsettings-syntax"></a>

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

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

```
{
  "[CustomImages](#cfn-sagemaker-domain-kernelgatewayappsettings-customimages)" : [ CustomImage, ... ],
  "[DefaultResourceSpec](#cfn-sagemaker-domain-kernelgatewayappsettings-defaultresourcespec)" : ResourceSpec,
  "[LifecycleConfigArns](#cfn-sagemaker-domain-kernelgatewayappsettings-lifecycleconfigarns)" : [ String, ... ]
}
```

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

```
  [CustomImages](#cfn-sagemaker-domain-kernelgatewayappsettings-customimages): 
    - CustomImage
  [DefaultResourceSpec](#cfn-sagemaker-domain-kernelgatewayappsettings-defaultresourcespec): 
    ResourceSpec
  [LifecycleConfigArns](#cfn-sagemaker-domain-kernelgatewayappsettings-lifecycleconfigarns): 
    - String
```

## Properties
<a name="aws-properties-sagemaker-domain-kernelgatewayappsettings-properties"></a>

`CustomImages`  <a name="cfn-sagemaker-domain-kernelgatewayappsettings-customimages"></a>
A list of custom SageMaker AI images that are configured to run as a KernelGateway app.  
The maximum number of custom images are as follows.  
+ On a domain level: 200
+ On a space level: 5
+ On a user profile level: 5
*Required*: No  
*Type*: Array of [CustomImage](aws-properties-sagemaker-domain-customimage.md)  
*Minimum*: `0`  
*Maximum*: `200`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`DefaultResourceSpec`  <a name="cfn-sagemaker-domain-kernelgatewayappsettings-defaultresourcespec"></a>
The default instance type and the Amazon Resource Name (ARN) of the default SageMaker AI image used by the KernelGateway app.  
The Amazon SageMaker AI Studio UI does not use the default instance type value set here. The default instance type set here is used when Apps are created using the AWS CLI or CloudFormation and the instance type parameter value is not passed.
*Required*: No  
*Type*: [ResourceSpec](aws-properties-sagemaker-domain-resourcespec.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`LifecycleConfigArns`  <a name="cfn-sagemaker-domain-kernelgatewayappsettings-lifecycleconfigarns"></a>
 The Amazon Resource Name (ARN) of the Lifecycle Configurations attached to the the user profile or domain.  
To remove a Lifecycle Config, you must set `LifecycleConfigArns` to an empty list.
*Required*: No  
*Type*: Array of String  
*Minimum*: `0`  
*Maximum*: `30`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::SageMaker::Domain ResourceSpec
<a name="aws-properties-sagemaker-domain-resourcespec"></a>

Specifies the ARN's of a SageMaker AI image and SageMaker AI image version, and the instance type that the version runs on.

**Note**  
When both `SageMakerImageVersionArn` and `SageMakerImageArn` are passed, `SageMakerImageVersionArn` is used. Any updates to `SageMakerImageArn` will not take effect if `SageMakerImageVersionArn` already exists in the `ResourceSpec` because `SageMakerImageVersionArn` always takes precedence. To clear the value set for `SageMakerImageVersionArn`, pass `None` as the value.

## Syntax
<a name="aws-properties-sagemaker-domain-resourcespec-syntax"></a>

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

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

```
{
  "[InstanceType](#cfn-sagemaker-domain-resourcespec-instancetype)" : String,
  "[LifecycleConfigArn](#cfn-sagemaker-domain-resourcespec-lifecycleconfigarn)" : String,
  "[SageMakerImageArn](#cfn-sagemaker-domain-resourcespec-sagemakerimagearn)" : String,
  "[SageMakerImageVersionArn](#cfn-sagemaker-domain-resourcespec-sagemakerimageversionarn)" : String
}
```

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

```
  [InstanceType](#cfn-sagemaker-domain-resourcespec-instancetype): String
  [LifecycleConfigArn](#cfn-sagemaker-domain-resourcespec-lifecycleconfigarn): String
  [SageMakerImageArn](#cfn-sagemaker-domain-resourcespec-sagemakerimagearn): String
  [SageMakerImageVersionArn](#cfn-sagemaker-domain-resourcespec-sagemakerimageversionarn): String
```

## Properties
<a name="aws-properties-sagemaker-domain-resourcespec-properties"></a>

`InstanceType`  <a name="cfn-sagemaker-domain-resourcespec-instancetype"></a>
The instance type that the image version runs on.  
**JupyterServer apps** only support the `system` value.  
For **KernelGateway apps**, the `system` value is translated to `ml.t3.medium`. KernelGateway apps also support all other values for available instance types.
*Required*: No  
*Type*: String  
*Allowed values*: `system | ml.t3.micro | ml.t3.small | ml.t3.medium | ml.t3.large | ml.t3.xlarge | ml.t3.2xlarge | ml.m5.large | ml.m5.xlarge | ml.m5.2xlarge | ml.m5.4xlarge | ml.m5.8xlarge | ml.m5.12xlarge | ml.m5.16xlarge | ml.m5.24xlarge | ml.m5d.large | ml.m5d.xlarge | ml.m5d.2xlarge | ml.m5d.4xlarge | ml.m5d.8xlarge | ml.m5d.12xlarge | ml.m5d.16xlarge | ml.m5d.24xlarge | ml.c5.large | ml.c5.xlarge | ml.c5.2xlarge | ml.c5.4xlarge | ml.c5.9xlarge | ml.c5.12xlarge | ml.c5.18xlarge | ml.c5.24xlarge | ml.p3.2xlarge | ml.p3.8xlarge | ml.p3.16xlarge | ml.p3dn.24xlarge | ml.g4dn.xlarge | ml.g4dn.2xlarge | ml.g4dn.4xlarge | ml.g4dn.8xlarge | ml.g4dn.12xlarge | ml.g4dn.16xlarge | ml.r5.large | ml.r5.xlarge | ml.r5.2xlarge | ml.r5.4xlarge | ml.r5.8xlarge | ml.r5.12xlarge | ml.r5.16xlarge | ml.r5.24xlarge | 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.g6.xlarge | ml.g6.2xlarge | ml.g6.4xlarge | ml.g6.8xlarge | ml.g6.12xlarge | ml.g6.16xlarge | ml.g6.24xlarge | ml.g6.48xlarge | ml.g6e.xlarge | ml.g6e.2xlarge | ml.g6e.4xlarge | ml.g6e.8xlarge | ml.g6e.12xlarge | ml.g6e.16xlarge | ml.g6e.24xlarge | ml.g6e.48xlarge | ml.geospatial.interactive | ml.p4d.24xlarge | ml.p4de.24xlarge | ml.trn1.2xlarge | ml.trn1.32xlarge | ml.trn1n.32xlarge | ml.p5.48xlarge | ml.p5e.48xlarge | ml.p5en.48xlarge | 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.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.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.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.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.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.m6id.large | ml.m6id.xlarge | ml.m6id.2xlarge | ml.m6id.4xlarge | ml.m6id.8xlarge | ml.m6id.12xlarge | ml.m6id.16xlarge | ml.m6id.24xlarge | ml.m6id.32xlarge | ml.c6id.large | ml.c6id.xlarge | ml.c6id.2xlarge | ml.c6id.4xlarge | ml.c6id.8xlarge | ml.c6id.12xlarge | ml.c6id.16xlarge | ml.c6id.24xlarge | ml.c6id.32xlarge | ml.r6id.large | ml.r6id.xlarge | ml.r6id.2xlarge | ml.r6id.4xlarge | ml.r6id.8xlarge | ml.r6id.12xlarge | ml.r6id.16xlarge | ml.r6id.24xlarge | ml.r6id.32xlarge`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`LifecycleConfigArn`  <a name="cfn-sagemaker-domain-resourcespec-lifecycleconfigarn"></a>
 The Amazon Resource Name (ARN) of the Lifecycle Configuration attached to the Resource.  
*Required*: No  
*Type*: String  
*Pattern*: `^(arn:aws[a-z\-]*:sagemaker:[a-z0-9\-]*:[0-9]{12}:studio-lifecycle-config/.*|None)$`  
*Maximum*: `256`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`SageMakerImageArn`  <a name="cfn-sagemaker-domain-resourcespec-sagemakerimagearn"></a>
The ARN of the SageMaker AI image that the image version belongs to.  
*Required*: No  
*Type*: String  
*Pattern*: `^arn:aws(-[\w]+)*:sagemaker:.+:[0-9]{12}:image/[a-z0-9]([-.]?[a-z0-9])*$`  
*Maximum*: `256`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`SageMakerImageVersionArn`  <a name="cfn-sagemaker-domain-resourcespec-sagemakerimageversionarn"></a>
The ARN of the image version created on the instance. To clear the value set for `SageMakerImageVersionArn`, pass `None` as the value.  
*Required*: No  
*Type*: String  
*Pattern*: `^arn:aws(-[\w]+)*:sagemaker:.+:[0-9]{12}:image-version/[a-z0-9]([-.]?[a-z0-9])*/[0-9]+$`  
*Maximum*: `256`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::SageMaker::Domain RSessionAppSettings
<a name="aws-properties-sagemaker-domain-rsessionappsettings"></a>

A collection of settings that apply to an `RSessionGateway` app.

## Syntax
<a name="aws-properties-sagemaker-domain-rsessionappsettings-syntax"></a>

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

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

```
{
  "[CustomImages](#cfn-sagemaker-domain-rsessionappsettings-customimages)" : [ CustomImage, ... ],
  "[DefaultResourceSpec](#cfn-sagemaker-domain-rsessionappsettings-defaultresourcespec)" : ResourceSpec
}
```

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

```
  [CustomImages](#cfn-sagemaker-domain-rsessionappsettings-customimages): 
    - CustomImage
  [DefaultResourceSpec](#cfn-sagemaker-domain-rsessionappsettings-defaultresourcespec): 
    ResourceSpec
```

## Properties
<a name="aws-properties-sagemaker-domain-rsessionappsettings-properties"></a>

`CustomImages`  <a name="cfn-sagemaker-domain-rsessionappsettings-customimages"></a>
A list of custom SageMaker AI images that are configured to run as a RSession app.  
*Required*: No  
*Type*: Array of [CustomImage](aws-properties-sagemaker-domain-customimage.md)  
*Minimum*: `0`  
*Maximum*: `200`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`DefaultResourceSpec`  <a name="cfn-sagemaker-domain-rsessionappsettings-defaultresourcespec"></a>
Specifies the ARNs of a SageMaker image and SageMaker image version, and the instance type that the version runs on.  
*Required*: No  
*Type*: [ResourceSpec](aws-properties-sagemaker-domain-resourcespec.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::Domain RStudioServerProAppSettings
<a name="aws-properties-sagemaker-domain-rstudioserverproappsettings"></a>

A collection of settings that configure user interaction with the `RStudioServerPro` app.

## Syntax
<a name="aws-properties-sagemaker-domain-rstudioserverproappsettings-syntax"></a>

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

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

```
{
  "[AccessStatus](#cfn-sagemaker-domain-rstudioserverproappsettings-accessstatus)" : String,
  "[UserGroup](#cfn-sagemaker-domain-rstudioserverproappsettings-usergroup)" : String
}
```

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

```
  [AccessStatus](#cfn-sagemaker-domain-rstudioserverproappsettings-accessstatus): String
  [UserGroup](#cfn-sagemaker-domain-rstudioserverproappsettings-usergroup): String
```

## Properties
<a name="aws-properties-sagemaker-domain-rstudioserverproappsettings-properties"></a>

`AccessStatus`  <a name="cfn-sagemaker-domain-rstudioserverproappsettings-accessstatus"></a>
Indicates whether the current user has access to the `RStudioServerPro` app.  
*Required*: No  
*Type*: String  
*Allowed values*: `ENABLED | DISABLED`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`UserGroup`  <a name="cfn-sagemaker-domain-rstudioserverproappsettings-usergroup"></a>
The level of permissions that the user has within the `RStudioServerPro` app. This value defaults to `User`. The `Admin` value allows the user access to the RStudio Administrative Dashboard.  
*Required*: No  
*Type*: String  
*Allowed values*: `R_STUDIO_ADMIN | R_STUDIO_USER`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::SageMaker::Domain RStudioServerProDomainSettings
<a name="aws-properties-sagemaker-domain-rstudioserverprodomainsettings"></a>

A collection of settings that configure the `RStudioServerPro` Domain-level app.

## Syntax
<a name="aws-properties-sagemaker-domain-rstudioserverprodomainsettings-syntax"></a>

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

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

```
{
  "[DefaultResourceSpec](#cfn-sagemaker-domain-rstudioserverprodomainsettings-defaultresourcespec)" : ResourceSpec,
  "[DomainExecutionRoleArn](#cfn-sagemaker-domain-rstudioserverprodomainsettings-domainexecutionrolearn)" : String,
  "[RStudioConnectUrl](#cfn-sagemaker-domain-rstudioserverprodomainsettings-rstudioconnecturl)" : String,
  "[RStudioPackageManagerUrl](#cfn-sagemaker-domain-rstudioserverprodomainsettings-rstudiopackagemanagerurl)" : String
}
```

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

```
  [DefaultResourceSpec](#cfn-sagemaker-domain-rstudioserverprodomainsettings-defaultresourcespec): 
    ResourceSpec
  [DomainExecutionRoleArn](#cfn-sagemaker-domain-rstudioserverprodomainsettings-domainexecutionrolearn): String
  [RStudioConnectUrl](#cfn-sagemaker-domain-rstudioserverprodomainsettings-rstudioconnecturl): String
  [RStudioPackageManagerUrl](#cfn-sagemaker-domain-rstudioserverprodomainsettings-rstudiopackagemanagerurl): String
```

## Properties
<a name="aws-properties-sagemaker-domain-rstudioserverprodomainsettings-properties"></a>

`DefaultResourceSpec`  <a name="cfn-sagemaker-domain-rstudioserverprodomainsettings-defaultresourcespec"></a>
A collection that defines the default `InstanceType`, `SageMakerImageArn`, and `SageMakerImageVersionArn` for the Domain.  
*Required*: No  
*Type*: [ResourceSpec](aws-properties-sagemaker-domain-resourcespec.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`DomainExecutionRoleArn`  <a name="cfn-sagemaker-domain-rstudioserverprodomainsettings-domainexecutionrolearn"></a>
The ARN of the execution role for the `RStudioServerPro` Domain-level app.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^arn:aws[a-z\-]*:iam::\d{12}:role/?[a-zA-Z_0-9+=,.@\-_/]+$`  
*Minimum*: `20`  
*Maximum*: `2048`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`RStudioConnectUrl`  <a name="cfn-sagemaker-domain-rstudioserverprodomainsettings-rstudioconnecturl"></a>
A URL pointing to an RStudio Connect server.  
*Required*: No  
*Type*: String  
*Pattern*: `^(https:|http:|www\.)\S*`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`RStudioPackageManagerUrl`  <a name="cfn-sagemaker-domain-rstudioserverprodomainsettings-rstudiopackagemanagerurl"></a>
A URL pointing to an RStudio Package Manager server.  
*Required*: No  
*Type*: String  
*Pattern*: `^(https:|http:|www\.)\S*`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::SageMaker::Domain S3FileSystemConfig
<a name="aws-properties-sagemaker-domain-s3filesystemconfig"></a>

Configuration for the custom Amazon S3 file system.

## Syntax
<a name="aws-properties-sagemaker-domain-s3filesystemconfig-syntax"></a>

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

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

```
{
  "[MountPath](#cfn-sagemaker-domain-s3filesystemconfig-mountpath)" : String,
  "[S3Uri](#cfn-sagemaker-domain-s3filesystemconfig-s3uri)" : String
}
```

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

```
  [MountPath](#cfn-sagemaker-domain-s3filesystemconfig-mountpath): String
  [S3Uri](#cfn-sagemaker-domain-s3filesystemconfig-s3uri): String
```

## Properties
<a name="aws-properties-sagemaker-domain-s3filesystemconfig-properties"></a>

`MountPath`  <a name="cfn-sagemaker-domain-s3filesystemconfig-mountpath"></a>
The file system path where the Amazon S3 storage location will be mounted within the Amazon SageMaker Studio environment.  
*Required*: No  
*Type*: String  
*Minimum*: `0`  
*Maximum*: `1024`  
*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-domain-s3filesystemconfig-s3uri"></a>
The Amazon S3 URI of the S3 file system configuration.  
*Required*: No  
*Type*: String  
*Pattern*: `(s3)://([^/]+)/?(.*)`  
*Minimum*: `0`  
*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::Domain SharingSettings
<a name="aws-properties-sagemaker-domain-sharingsettings"></a>

Specifies options when sharing an Amazon SageMaker Studio notebook. These settings are specified as part of `DefaultUserSettings` when the [CreateDomain](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateDomain.html) API is called, and as part of `UserSettings` when the [CreateUserProfile](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateUserProfile.html) API is called.

## Syntax
<a name="aws-properties-sagemaker-domain-sharingsettings-syntax"></a>

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

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

```
{
  "[NotebookOutputOption](#cfn-sagemaker-domain-sharingsettings-notebookoutputoption)" : String,
  "[S3KmsKeyId](#cfn-sagemaker-domain-sharingsettings-s3kmskeyid)" : String,
  "[S3OutputPath](#cfn-sagemaker-domain-sharingsettings-s3outputpath)" : String
}
```

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

```
  [NotebookOutputOption](#cfn-sagemaker-domain-sharingsettings-notebookoutputoption): String
  [S3KmsKeyId](#cfn-sagemaker-domain-sharingsettings-s3kmskeyid): String
  [S3OutputPath](#cfn-sagemaker-domain-sharingsettings-s3outputpath): String
```

## Properties
<a name="aws-properties-sagemaker-domain-sharingsettings-properties"></a>

`NotebookOutputOption`  <a name="cfn-sagemaker-domain-sharingsettings-notebookoutputoption"></a>
Whether to include the notebook cell output when sharing the notebook. The default is `Disabled`.  
*Required*: No  
*Type*: String  
*Allowed values*: `Allowed | Disabled`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`S3KmsKeyId`  <a name="cfn-sagemaker-domain-sharingsettings-s3kmskeyid"></a>
When `NotebookOutputOption` is `Allowed`, the AWS Key Management Service (KMS) encryption key ID used to encrypt the notebook cell output in the Amazon S3 bucket.  
*Required*: No  
*Type*: String  
*Pattern*: `.*`  
*Maximum*: `2048`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`S3OutputPath`  <a name="cfn-sagemaker-domain-sharingsettings-s3outputpath"></a>
When `NotebookOutputOption` is `Allowed`, the Amazon S3 bucket used to store the shared notebook snapshots.  
*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)

# AWS::SageMaker::Domain StudioWebPortalSettings
<a name="aws-properties-sagemaker-domain-studiowebportalsettings"></a>

Studio settings. If these settings are applied on a user level, they take priority over the settings applied on a domain level.

## Syntax
<a name="aws-properties-sagemaker-domain-studiowebportalsettings-syntax"></a>

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

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

```
{
  "[HiddenAppTypes](#cfn-sagemaker-domain-studiowebportalsettings-hiddenapptypes)" : [ String, ... ],
  "[HiddenInstanceTypes](#cfn-sagemaker-domain-studiowebportalsettings-hiddeninstancetypes)" : [ String, ... ],
  "[HiddenMlTools](#cfn-sagemaker-domain-studiowebportalsettings-hiddenmltools)" : [ String, ... ],
  "[HiddenSageMakerImageVersionAliases](#cfn-sagemaker-domain-studiowebportalsettings-hiddensagemakerimageversionaliases)" : [ HiddenSageMakerImage, ... ]
}
```

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

```
  [HiddenAppTypes](#cfn-sagemaker-domain-studiowebportalsettings-hiddenapptypes): 
    - String
  [HiddenInstanceTypes](#cfn-sagemaker-domain-studiowebportalsettings-hiddeninstancetypes): 
    - String
  [HiddenMlTools](#cfn-sagemaker-domain-studiowebportalsettings-hiddenmltools): 
    - String
  [HiddenSageMakerImageVersionAliases](#cfn-sagemaker-domain-studiowebportalsettings-hiddensagemakerimageversionaliases): 
    - HiddenSageMakerImage
```

## Properties
<a name="aws-properties-sagemaker-domain-studiowebportalsettings-properties"></a>

`HiddenAppTypes`  <a name="cfn-sagemaker-domain-studiowebportalsettings-hiddenapptypes"></a>
The [Applications supported in Studio](https://docs.aws.amazon.com/sagemaker/latest/dg/studio-updated-apps.html) that are hidden from the Studio left navigation pane.  
*Required*: No  
*Type*: Array of String  
*Minimum*: `0`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`HiddenInstanceTypes`  <a name="cfn-sagemaker-domain-studiowebportalsettings-hiddeninstancetypes"></a>
 The instance types you are hiding from the Studio user interface.   
*Required*: No  
*Type*: Array of String  
*Minimum*: `0`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`HiddenMlTools`  <a name="cfn-sagemaker-domain-studiowebportalsettings-hiddenmltools"></a>
The machine learning tools that are hidden from the Studio left navigation pane.  
*Required*: No  
*Type*: Array of String  
*Minimum*: `0`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`HiddenSageMakerImageVersionAliases`  <a name="cfn-sagemaker-domain-studiowebportalsettings-hiddensagemakerimageversionaliases"></a>
 The version aliases you are hiding from the Studio user interface.   
*Required*: No  
*Type*: Array of [HiddenSageMakerImage](aws-properties-sagemaker-domain-hiddensagemakerimage.md)  
*Minimum*: `0`  
*Maximum*: `5`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::SageMaker::Domain Tag
<a name="aws-properties-sagemaker-domain-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-domain-tag-syntax"></a>

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

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

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

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

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

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

`Key`  <a name="cfn-sagemaker-domain-tag-key"></a>
The tag key. Tag keys must be unique per resource.  
*Required*: Yes  
*Type*: String  
*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-domain-tag-value"></a>
The tag value.  
*Required*: Yes  
*Type*: String  
*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)

# AWS::SageMaker::Domain UnifiedStudioSettings
<a name="aws-properties-sagemaker-domain-unifiedstudiosettings"></a>

The settings that apply to an Amazon SageMaker AI domain when you use it in Amazon SageMaker Unified Studio.

## Syntax
<a name="aws-properties-sagemaker-domain-unifiedstudiosettings-syntax"></a>

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

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

```
{
  "[DomainAccountId](#cfn-sagemaker-domain-unifiedstudiosettings-domainaccountid)" : String,
  "[DomainId](#cfn-sagemaker-domain-unifiedstudiosettings-domainid)" : String,
  "[DomainRegion](#cfn-sagemaker-domain-unifiedstudiosettings-domainregion)" : String,
  "[EnvironmentId](#cfn-sagemaker-domain-unifiedstudiosettings-environmentid)" : String,
  "[ProjectId](#cfn-sagemaker-domain-unifiedstudiosettings-projectid)" : String,
  "[ProjectS3Path](#cfn-sagemaker-domain-unifiedstudiosettings-projects3path)" : String,
  "[StudioWebPortalAccess](#cfn-sagemaker-domain-unifiedstudiosettings-studiowebportalaccess)" : String
}
```

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

```
  [DomainAccountId](#cfn-sagemaker-domain-unifiedstudiosettings-domainaccountid): String
  [DomainId](#cfn-sagemaker-domain-unifiedstudiosettings-domainid): String
  [DomainRegion](#cfn-sagemaker-domain-unifiedstudiosettings-domainregion): String
  [EnvironmentId](#cfn-sagemaker-domain-unifiedstudiosettings-environmentid): String
  [ProjectId](#cfn-sagemaker-domain-unifiedstudiosettings-projectid): String
  [ProjectS3Path](#cfn-sagemaker-domain-unifiedstudiosettings-projects3path): String
  [StudioWebPortalAccess](#cfn-sagemaker-domain-unifiedstudiosettings-studiowebportalaccess): String
```

## Properties
<a name="aws-properties-sagemaker-domain-unifiedstudiosettings-properties"></a>

`DomainAccountId`  <a name="cfn-sagemaker-domain-unifiedstudiosettings-domainaccountid"></a>
The ID of the AWS account that has the Amazon SageMaker Unified Studio domain. The default value, if you don't specify an ID, is the ID of the account that has the Amazon SageMaker AI domain.  
*Required*: No  
*Type*: String  
*Pattern*: `^\d+$`  
*Minimum*: `12`  
*Maximum*: `12`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`DomainId`  <a name="cfn-sagemaker-domain-unifiedstudiosettings-domainid"></a>
The ID of the Amazon SageMaker Unified Studio domain associated with this domain.  
*Required*: No  
*Type*: String  
*Pattern*: `^dzd[-_][a-zA-Z0-9_-]{1,36}$`  
*Minimum*: `1`  
*Maximum*: `36`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`DomainRegion`  <a name="cfn-sagemaker-domain-unifiedstudiosettings-domainregion"></a>
The AWS Region where the domain is located in Amazon SageMaker Unified Studio. The default value, if you don't specify a Region, is the Region where the Amazon SageMaker AI domain is located.  
*Required*: No  
*Type*: String  
*Pattern*: `[a-zA-Z]{2}-[a-zA-Z\-]+-\d+`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`EnvironmentId`  <a name="cfn-sagemaker-domain-unifiedstudiosettings-environmentid"></a>
The ID of the environment that Amazon SageMaker Unified Studio associates with the domain.  
*Required*: No  
*Type*: String  
*Pattern*: `^[a-zA-Z0-9_-]{1,36}$`  
*Minimum*: `1`  
*Maximum*: `36`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ProjectId`  <a name="cfn-sagemaker-domain-unifiedstudiosettings-projectid"></a>
The ID of the Amazon SageMaker Unified Studio project that corresponds to the domain.  
*Required*: No  
*Type*: String  
*Pattern*: `^[a-zA-Z0-9_-]{1,36}$`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ProjectS3Path`  <a name="cfn-sagemaker-domain-unifiedstudiosettings-projects3path"></a>
The location where Amazon S3 stores temporary execution data and other artifacts for the project that corresponds to the domain.  
*Required*: No  
*Type*: String  
*Pattern*: `[\w\.-]+$`  
*Minimum*: `1`  
*Maximum*: `100`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`StudioWebPortalAccess`  <a name="cfn-sagemaker-domain-unifiedstudiosettings-studiowebportalaccess"></a>
Sets whether you can access the domain in Amazon SageMaker Studio:    
ENABLED  
You can access the domain in Amazon SageMaker Studio. If you migrate the domain to Amazon SageMaker Unified Studio, you can access it in both studio interfaces.  
DISABLED  
You can't access the domain in Amazon SageMaker Studio. If you migrate the domain to Amazon SageMaker Unified Studio, you can access it only in that studio interface.
To migrate a domain to Amazon SageMaker Unified Studio, you specify the UnifiedStudioSettings data type when you use the UpdateDomain action.  
*Required*: No  
*Type*: String  
*Allowed values*: `ENABLED | DISABLED`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::SageMaker::Domain UserSettings
<a name="aws-properties-sagemaker-domain-usersettings"></a>

A collection of settings that apply to users of Amazon SageMaker Studio. These settings are specified when the [CreateUserProfile](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateUserProfile.html) API is called, and as `DefaultUserSettings` when the [CreateDomain](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateDomain.html) API is called.

`SecurityGroups` is aggregated when specified in both calls. For all other settings in `UserSettings`, the values specified in `CreateUserProfile` take precedence over those specified in `CreateDomain`.

## Syntax
<a name="aws-properties-sagemaker-domain-usersettings-syntax"></a>

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

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

```
{
  "[AutoMountHomeEFS](#cfn-sagemaker-domain-usersettings-automounthomeefs)" : String,
  "[CodeEditorAppSettings](#cfn-sagemaker-domain-usersettings-codeeditorappsettings)" : CodeEditorAppSettings,
  "[CustomFileSystemConfigs](#cfn-sagemaker-domain-usersettings-customfilesystemconfigs)" : [ CustomFileSystemConfig, ... ],
  "[CustomPosixUserConfig](#cfn-sagemaker-domain-usersettings-customposixuserconfig)" : CustomPosixUserConfig,
  "[DefaultLandingUri](#cfn-sagemaker-domain-usersettings-defaultlandinguri)" : String,
  "[ExecutionRole](#cfn-sagemaker-domain-usersettings-executionrole)" : String,
  "[JupyterLabAppSettings](#cfn-sagemaker-domain-usersettings-jupyterlabappsettings)" : JupyterLabAppSettings,
  "[JupyterServerAppSettings](#cfn-sagemaker-domain-usersettings-jupyterserverappsettings)" : JupyterServerAppSettings,
  "[KernelGatewayAppSettings](#cfn-sagemaker-domain-usersettings-kernelgatewayappsettings)" : KernelGatewayAppSettings,
  "[RSessionAppSettings](#cfn-sagemaker-domain-usersettings-rsessionappsettings)" : RSessionAppSettings,
  "[RStudioServerProAppSettings](#cfn-sagemaker-domain-usersettings-rstudioserverproappsettings)" : RStudioServerProAppSettings,
  "[SecurityGroups](#cfn-sagemaker-domain-usersettings-securitygroups)" : [ String, ... ],
  "[SharingSettings](#cfn-sagemaker-domain-usersettings-sharingsettings)" : SharingSettings,
  "[SpaceStorageSettings](#cfn-sagemaker-domain-usersettings-spacestoragesettings)" : DefaultSpaceStorageSettings,
  "[StudioWebPortal](#cfn-sagemaker-domain-usersettings-studiowebportal)" : String,
  "[StudioWebPortalSettings](#cfn-sagemaker-domain-usersettings-studiowebportalsettings)" : StudioWebPortalSettings
}
```

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

```
  [AutoMountHomeEFS](#cfn-sagemaker-domain-usersettings-automounthomeefs): String
  [CodeEditorAppSettings](#cfn-sagemaker-domain-usersettings-codeeditorappsettings): 
    CodeEditorAppSettings
  [CustomFileSystemConfigs](#cfn-sagemaker-domain-usersettings-customfilesystemconfigs): 
    - CustomFileSystemConfig
  [CustomPosixUserConfig](#cfn-sagemaker-domain-usersettings-customposixuserconfig): 
    CustomPosixUserConfig
  [DefaultLandingUri](#cfn-sagemaker-domain-usersettings-defaultlandinguri): String
  [ExecutionRole](#cfn-sagemaker-domain-usersettings-executionrole): String
  [JupyterLabAppSettings](#cfn-sagemaker-domain-usersettings-jupyterlabappsettings): 
    JupyterLabAppSettings
  [JupyterServerAppSettings](#cfn-sagemaker-domain-usersettings-jupyterserverappsettings): 
    JupyterServerAppSettings
  [KernelGatewayAppSettings](#cfn-sagemaker-domain-usersettings-kernelgatewayappsettings): 
    KernelGatewayAppSettings
  [RSessionAppSettings](#cfn-sagemaker-domain-usersettings-rsessionappsettings): 
    RSessionAppSettings
  [RStudioServerProAppSettings](#cfn-sagemaker-domain-usersettings-rstudioserverproappsettings): 
    RStudioServerProAppSettings
  [SecurityGroups](#cfn-sagemaker-domain-usersettings-securitygroups): 
    - String
  [SharingSettings](#cfn-sagemaker-domain-usersettings-sharingsettings): 
    SharingSettings
  [SpaceStorageSettings](#cfn-sagemaker-domain-usersettings-spacestoragesettings): 
    DefaultSpaceStorageSettings
  [StudioWebPortal](#cfn-sagemaker-domain-usersettings-studiowebportal): String
  [StudioWebPortalSettings](#cfn-sagemaker-domain-usersettings-studiowebportalsettings): 
    StudioWebPortalSettings
```

## Properties
<a name="aws-properties-sagemaker-domain-usersettings-properties"></a>

`AutoMountHomeEFS`  <a name="cfn-sagemaker-domain-usersettings-automounthomeefs"></a>
Indicates whether auto-mounting of an EFS volume is supported for the user profile. The `DefaultAsDomain` value is only supported for user profiles. Do not use the `DefaultAsDomain` value when setting this parameter for a domain.  
SageMaker applies this setting only to private spaces that the user creates in the domain. SageMaker doesn't apply this setting to shared spaces.  
*Required*: No  
*Type*: String  
*Allowed values*: `Enabled | Disabled | DefaultAsDomain`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`CodeEditorAppSettings`  <a name="cfn-sagemaker-domain-usersettings-codeeditorappsettings"></a>
The Code Editor application settings.  
SageMaker applies these settings only to private spaces that the user creates in the domain. SageMaker doesn't apply these settings to shared spaces.  
*Required*: No  
*Type*: [CodeEditorAppSettings](aws-properties-sagemaker-domain-codeeditorappsettings.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`CustomFileSystemConfigs`  <a name="cfn-sagemaker-domain-usersettings-customfilesystemconfigs"></a>
The settings for assigning a custom file system to a user profile. Permitted users can access this file system in Amazon SageMaker AI Studio.  
SageMaker applies these settings only to private spaces that the user creates in the domain. SageMaker doesn't apply these settings to shared spaces.  
*Required*: No  
*Type*: Array of [CustomFileSystemConfig](aws-properties-sagemaker-domain-customfilesystemconfig.md)  
*Minimum*: `0`  
*Maximum*: `2`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`CustomPosixUserConfig`  <a name="cfn-sagemaker-domain-usersettings-customposixuserconfig"></a>
Details about the POSIX identity that is used for file system operations.  
SageMaker applies these settings only to private spaces that the user creates in the domain. SageMaker doesn't apply these settings to shared spaces.  
*Required*: No  
*Type*: [CustomPosixUserConfig](aws-properties-sagemaker-domain-customposixuserconfig.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`DefaultLandingUri`  <a name="cfn-sagemaker-domain-usersettings-defaultlandinguri"></a>
The default experience that the user is directed to when accessing the domain. The supported values are:  
+ `studio::`: Indicates that Studio is the default experience. This value can only be passed if `StudioWebPortal` is set to `ENABLED`.
+ `app:JupyterServer:`: Indicates that Studio Classic is the default experience.
*Required*: No  
*Type*: String  
*Maximum*: `1023`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ExecutionRole`  <a name="cfn-sagemaker-domain-usersettings-executionrole"></a>
The execution role for the user.  
SageMaker applies this setting only to private spaces that the user creates in the domain. SageMaker doesn't apply this setting to shared spaces.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^arn:aws[a-z\-]*:iam::\d{12}:role/?[a-zA-Z_0-9+=,.@\-_/]+$`  
*Minimum*: `20`  
*Maximum*: `2048`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`JupyterLabAppSettings`  <a name="cfn-sagemaker-domain-usersettings-jupyterlabappsettings"></a>
The settings for the JupyterLab application.  
SageMaker applies these settings only to private spaces that the user creates in the domain. SageMaker doesn't apply these settings to shared spaces.  
*Required*: No  
*Type*: [JupyterLabAppSettings](aws-properties-sagemaker-domain-jupyterlabappsettings.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`JupyterServerAppSettings`  <a name="cfn-sagemaker-domain-usersettings-jupyterserverappsettings"></a>
The Jupyter server's app settings.  
*Required*: No  
*Type*: [JupyterServerAppSettings](aws-properties-sagemaker-domain-jupyterserverappsettings.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`KernelGatewayAppSettings`  <a name="cfn-sagemaker-domain-usersettings-kernelgatewayappsettings"></a>
The kernel gateway app settings.  
*Required*: No  
*Type*: [KernelGatewayAppSettings](aws-properties-sagemaker-domain-kernelgatewayappsettings.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`RSessionAppSettings`  <a name="cfn-sagemaker-domain-usersettings-rsessionappsettings"></a>
A collection of settings that configure the `RSessionGateway` app.  
*Required*: No  
*Type*: [RSessionAppSettings](aws-properties-sagemaker-domain-rsessionappsettings.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`RStudioServerProAppSettings`  <a name="cfn-sagemaker-domain-usersettings-rstudioserverproappsettings"></a>
A collection of settings that configure user interaction with the `RStudioServerPro` app.  
*Required*: No  
*Type*: [RStudioServerProAppSettings](aws-properties-sagemaker-domain-rstudioserverproappsettings.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`SecurityGroups`  <a name="cfn-sagemaker-domain-usersettings-securitygroups"></a>
The security groups for the Amazon Virtual Private Cloud (VPC) that the domain uses for communication.  
Optional when the `CreateDomain.AppNetworkAccessType` parameter is set to `PublicInternetOnly`.  
Required when the `CreateDomain.AppNetworkAccessType` parameter is set to `VpcOnly`, unless specified as part of the `DefaultUserSettings` for the domain.  
Amazon SageMaker AI adds a security group to allow NFS traffic from Amazon SageMaker AI Studio. Therefore, the number of security groups that you can specify is one less than the maximum number shown.  
SageMaker applies these settings only to private spaces that the user creates in the domain. SageMaker doesn't apply these settings to shared spaces.  
*Required*: No  
*Type*: Array of String  
*Minimum*: `0`  
*Maximum*: `32 | 5`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`SharingSettings`  <a name="cfn-sagemaker-domain-usersettings-sharingsettings"></a>
Specifies options for sharing Amazon SageMaker AI Studio notebooks.  
*Required*: No  
*Type*: [SharingSettings](aws-properties-sagemaker-domain-sharingsettings.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`SpaceStorageSettings`  <a name="cfn-sagemaker-domain-usersettings-spacestoragesettings"></a>
The storage settings for a space.  
SageMaker applies these settings only to private spaces that the user creates in the domain. SageMaker doesn't apply these settings to shared spaces.  
*Required*: No  
*Type*: [DefaultSpaceStorageSettings](aws-properties-sagemaker-domain-defaultspacestoragesettings.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`StudioWebPortal`  <a name="cfn-sagemaker-domain-usersettings-studiowebportal"></a>
Whether the user can access Studio. If this value is set to `DISABLED`, the user cannot access Studio, even if that is the default experience for the domain.  
*Required*: No  
*Type*: String  
*Allowed values*: `ENABLED | DISABLED`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`StudioWebPortalSettings`  <a name="cfn-sagemaker-domain-usersettings-studiowebportalsettings"></a>
Studio settings. If these settings are applied on a user level, they take priority over the settings applied on a domain level.  
*Required*: No  
*Type*: [StudioWebPortalSettings](aws-properties-sagemaker-domain-studiowebportalsettings.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::Endpoint
<a name="aws-resource-sagemaker-endpoint"></a>

Use the `AWS::SageMaker::Endpoint` resource to create an endpoint using the specified configuration in the request. Amazon SageMaker uses the endpoint to provision resources and deploy models. You create the endpoint configuration with the [AWS::SageMaker::EndpointConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-endpointconfig.html) resource. For more information, see [Deploy a Model on Amazon SageMaker Hosting Services](https://docs.aws.amazon.com/sagemaker/latest/dg/how-it-works-hosting.html) in the *Amazon SageMaker Developer Guide*.

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

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

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

```
{
  "Type" : "AWS::SageMaker::Endpoint",
  "Properties" : {
      "[DeploymentConfig](#cfn-sagemaker-endpoint-deploymentconfig)" : DeploymentConfig,
      "[EndpointConfigName](#cfn-sagemaker-endpoint-endpointconfigname)" : String,
      "[EndpointName](#cfn-sagemaker-endpoint-endpointname)" : String,
      "[ExcludeRetainedVariantProperties](#cfn-sagemaker-endpoint-excluderetainedvariantproperties)" : [ VariantProperty, ... ],
      "[RetainAllVariantProperties](#cfn-sagemaker-endpoint-retainallvariantproperties)" : Boolean,
      "[RetainDeploymentConfig](#cfn-sagemaker-endpoint-retaindeploymentconfig)" : Boolean,
      "[Tags](#cfn-sagemaker-endpoint-tags)" : [ Tag, ... ]
    }
}
```

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

```
Type: AWS::SageMaker::Endpoint
Properties:
  [DeploymentConfig](#cfn-sagemaker-endpoint-deploymentconfig): 
    DeploymentConfig
  [EndpointConfigName](#cfn-sagemaker-endpoint-endpointconfigname): String
  [EndpointName](#cfn-sagemaker-endpoint-endpointname): String
  [ExcludeRetainedVariantProperties](#cfn-sagemaker-endpoint-excluderetainedvariantproperties): 
    - VariantProperty
  [RetainAllVariantProperties](#cfn-sagemaker-endpoint-retainallvariantproperties): Boolean
  [RetainDeploymentConfig](#cfn-sagemaker-endpoint-retaindeploymentconfig): Boolean
  [Tags](#cfn-sagemaker-endpoint-tags): 
    - Tag
```

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

`DeploymentConfig`  <a name="cfn-sagemaker-endpoint-deploymentconfig"></a>
The deployment configuration for an endpoint, which contains the desired deployment strategy and rollback configurations.  
*Required*: No  
*Type*: [DeploymentConfig](aws-properties-sagemaker-endpoint-deploymentconfig.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`EndpointConfigName`  <a name="cfn-sagemaker-endpoint-endpointconfigname"></a>
The name of the [AWS::SageMaker::EndpointConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-endpointconfig.html) resource that specifies the configuration for the endpoint. For more information, see [CreateEndpointConfig](https://docs.aws.amazon.com/sagemaker/latest/dg/API_CreateEndpointConfig.html).   
*Required*: Yes  
*Type*: String  
*Pattern*: `[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}`  
*Minimum*: `0`  
*Maximum*: `63`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`EndpointName`  <a name="cfn-sagemaker-endpoint-endpointname"></a>
The name of the endpoint. The name must be unique within an AWS Region in your AWS account. The name is case-insensitive in `CreateEndpoint`, but the case is preserved and must be matched in [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_runtime_InvokeEndpoint.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_runtime_InvokeEndpoint.html).  
*Required*: No  
*Type*: String  
*Pattern*: `[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}`  
*Minimum*: `0`  
*Maximum*: `63`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`ExcludeRetainedVariantProperties`  <a name="cfn-sagemaker-endpoint-excluderetainedvariantproperties"></a>
When you are updating endpoint resources with [RetainAllVariantProperties](https://docs.aws.amazon.com/sagemaker/latest/dg/API_UpdateEndpoint.html#SageMaker-UpdateEndpoint-request-RetainAllVariantProperties) whose value is set to `true`, `ExcludeRetainedVariantProperties` specifies the list of type [VariantProperty](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-endpoint-variantproperty.html) to override with the values provided by `EndpointConfig`. If you don't specify a value for `ExcludeAllVariantProperties`, no variant properties are overridden. Don't use this property when creating new endpoint resources or when `RetainAllVariantProperties` is set to `false`.   
*Required*: No  
*Type*: Array of [VariantProperty](aws-properties-sagemaker-endpoint-variantproperty.md)  
*Minimum*: `0`  
*Maximum*: `3`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`RetainAllVariantProperties`  <a name="cfn-sagemaker-endpoint-retainallvariantproperties"></a>
When updating endpoint resources, enables or disables the retention of variant properties, such as the instance count or the variant weight. To retain the variant properties of an endpoint when updating it, set `RetainAllVariantProperties` to `true`. To use the variant properties specified in a new `EndpointConfig` call when updating an endpoint, set `RetainAllVariantProperties` to `false`. Use this property only when updating endpoint resources, not when creating new endpoint resources.  
*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)

`RetainDeploymentConfig`  <a name="cfn-sagemaker-endpoint-retaindeploymentconfig"></a>
Specifies whether to reuse the last deployment configuration. The default value is false (the configuration is not reused).  
*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)

`Tags`  <a name="cfn-sagemaker-endpoint-tags"></a>
A list of key-value pairs to apply to this resource.  
For more information, see [Resource Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) and [Using Cost Allocation Tags](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html#allocation-what) in the *AWS Billing and Cost Management User Guide*.  
*Required*: No  
*Type*: Array of [Tag](aws-properties-sagemaker-endpoint-tag.md)  
*Minimum*: `0`  
*Maximum*: `50`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

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

### Ref
<a name="aws-resource-sagemaker-endpoint-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 endpoint, such as `arn:aws:sagemaker:us-west-2:012345678901:endpoint/myendpoint`.

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-endpoint-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-endpoint-return-values-fn--getatt-fn--getatt"></a>

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

`EndpointName`  <a name="EndpointName-fn::getatt"></a>
The name of the endpoint, such as `MyEndpoint`. 

## Examples
<a name="aws-resource-sagemaker-endpoint--examples"></a>

### SageMaker Endpoint Example
<a name="aws-resource-sagemaker-endpoint--examples--SageMaker_Endpoint_Example"></a>

The following example creates an endpoint configuration from a trained model, and then creates an endpoint.

#### JSON
<a name="aws-resource-sagemaker-endpoint--examples--SageMaker_Endpoint_Example--json"></a>

```
{
  "Description": "Basic Hosting entities test.  We need models to create endpoint configs.",
  "Mappings": {
    "RegionMap": {
      "us-west-2": {
        "NullTransformer": "12345678901.dkr.ecr.us-west-2.amazonaws.com/mymodel:latest"
      },
      "us-east-2": {
        "NullTransformer": "12345678901.dkr.ecr.us-east-2.amazonaws.com/mymodel:latest"
      },
      "us-east-1": {
        "NullTransformer": "12345678901.dkr.ecr.us-east-1.amazonaws.com/mymodel:latest"
      },
      "eu-west-1": {
        "NullTransformer": "12345678901.dkr.ecr.eu-west-1.amazonaws.com/mymodel:latest"
      },
      "ap-northeast-1": {
        "NullTransformer": "12345678901.dkr.ecr.ap-northeast-1.amazonaws.com/mymodel:latest"
      },
      "ap-northeast-2": {
        "NullTransformer": "12345678901.dkr.ecr.ap-northeast-2.amazonaws.com/mymodel:latest"
      },
      "ap-southeast-2": {
        "NullTransformer": "12345678901.dkr.ecr.ap-southeast-2.amazonaws.com/mymodel:latest"
      },
      "eu-central-1": {
        "NullTransformer": "12345678901.dkr.ecr.eu-central-1.amazonaws.com/mymodel:latest"
      }
    }
  },
  "Resources": {
    "Endpoint": {
      "Type": "AWS::SageMaker::Endpoint",
      "Properties": {
        "EndpointConfigName": { "Fn::GetAtt" : ["EndpointConfig", "EndpointConfigName" ] }
      }
    },
    "EndpointConfig": {
      "Type": "AWS::SageMaker::EndpointConfig",
      "Properties": {
        "ProductionVariants": [
          {
            "InitialInstanceCount": 1,
            "InitialVariantWeight": 1,
            "InstanceType": "ml.t2.large",
            "ModelName": { "Fn::GetAtt" : ["Model", "ModelName" ] },
            "VariantName": { "Fn::GetAtt" : ["Model", "ModelName" ] }
          }
        ]
      }
    },
    "Model": {
      "Type": "AWS::SageMaker::Model",
      "Properties": {
        "PrimaryContainer": {
          "Image": { "Fn::FindInMap" : [ "AWS::Region", "NullTransformer"] }
        },
        "ExecutionRoleArn": { "Fn::GetAtt" : [ "ExecutionRole", "Arn" ] }
      }
    },
    "ExecutionRole": {
      "Type": "AWS::IAM::Role",
      "Properties": {
        "AssumeRolePolicyDocument": {
          "Version": "2012-10-17"		 	 	 ,
          "Statement": [
            {
              "Effect": "Allow",
              "Principal": {
                "Service": [
                  "sagemaker.amazonaws.com"
                ]
              },
              "Action": [
                "sts:AssumeRole"
              ]
            }
          ]
        },
        "Path": "/",
        "Policies": [
          {
            "PolicyName": "root",
            "PolicyDocument": {
              "Version": "2012-10-17"		 	 	 ,
              "Statement": [
                {
                  "Effect": "Allow",
                  "Action": "*",
                  "Resource": "*"
                }
              ]
            }
          }
        ]
      }
    }
  },
  "Outputs": {
    "EndpointId": {
      "Value": { "Ref" : "Endpoint" }
    },
    "EndpointName": {
      "Value": { "Fn::GetAtt" : [ "Endpoint", "EndpointName" ] }
    }
    
  }
  
}
```

#### YAML
<a name="aws-resource-sagemaker-endpoint--examples--SageMaker_Endpoint_Example--yaml"></a>

```
Description: "Basic Hosting entities test.  We need models to create endpoint configs."
Mappings: 
  RegionMap: 
    "us-west-2":
      "NullTransformer": "123456789012.dkr.ecr.us-west-2.amazonaws.com/mymodel:latest"
    "us-east-2":
      "NullTransformer": "123456789012.dkr.ecr.us-east-2.amazonaws.com/mymodel:latest"
    "us-east-1":
      "NullTransformer": "123456789012.dkr.ecr.us-east-1.amazonaws.com/mymodel:latest"
    "eu-west-1":
      "NullTransformer": "123456789012.dkr.ecr.eu-west-1.amazonaws.com/mymodel:latest"
    "ap-northeast-1":
      "NullTransformer": "123456789012.dkr.ecr.ap-northeast-1.amazonaws.com/mymodel:latest"
    "ap-northeast-2":
      "NullTransformer": "123456789012.dkr.ecr.ap-northeast-2.amazonaws.com/mymodel:latest"
    "ap-southeast-2":
      "NullTransformer": "123456789012.dkr.ecr.ap-southeast-2.amazonaws.com/mymodel:latest"
    "eu-central-1":
      "NullTransformer": "123456789012.dkr.ecr.eu-central-1.amazonaws.com/mymodel:latest"
Resources:
  Endpoint:
    Type: "AWS::SageMaker::Endpoint"
    Properties:
      EndpointConfigName:
        !GetAtt EndpointConfig.EndpointConfigName
  EndpointConfig:
    Type: "AWS::SageMaker::EndpointConfig"
    Properties:
      ProductionVariants:
        - InitialInstanceCount: 1
          InitialVariantWeight: 1.0
          InstanceType: ml.t2.large
          ModelName: !GetAtt Model.ModelName
          VariantName: !GetAtt Model.ModelName
  Model:
    Type: "AWS::SageMaker::Model"
    Properties:
      PrimaryContainer:
        Image: !FindInMap [RegionMap, !Ref "AWS::Region", "NullTransformer"]
      ExecutionRoleArn: !GetAtt ExecutionRole.Arn

  ExecutionRole: 
    Type: "AWS::IAM::Role"
    Properties: 
      AssumeRolePolicyDocument: 
        Version: "2012-10-17"
        Statement: 
          - 
            Effect: "Allow"
            Principal: 
              Service: 
                - "sagemaker.amazonaws.com"
            Action: 
              - "sts:AssumeRole"
      Path: "/"
      Policies: 
        - 
          PolicyName: "root"
          PolicyDocument: 
            Version: "2012-10-17"
            Statement: 
              - 
                Effect: "Allow"
                Action: "*"
                Resource: "*"
Outputs:
  EndpointId:
    Value: !Ref Endpoint
  EndpointName:
    Value: !GetAtt Endpoint.EndpointName
```

# AWS::SageMaker::Endpoint Alarm
<a name="aws-properties-sagemaker-endpoint-alarm"></a>

An Amazon CloudWatch alarm configured to monitor metrics on an endpoint.

## Syntax
<a name="aws-properties-sagemaker-endpoint-alarm-syntax"></a>

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

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

```
{
  "[AlarmName](#cfn-sagemaker-endpoint-alarm-alarmname)" : String
}
```

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

```
  [AlarmName](#cfn-sagemaker-endpoint-alarm-alarmname): String
```

## Properties
<a name="aws-properties-sagemaker-endpoint-alarm-properties"></a>

`AlarmName`  <a name="cfn-sagemaker-endpoint-alarm-alarmname"></a>
The name of a CloudWatch alarm in your account.  
*Required*: Yes  
*Type*: String  
*Pattern*: `(?!\s*$).+`  
*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)

# AWS::SageMaker::Endpoint AutoRollbackConfig
<a name="aws-properties-sagemaker-endpoint-autorollbackconfig"></a>

Automatic rollback configuration for handling endpoint deployment failures and recovery.

## Syntax
<a name="aws-properties-sagemaker-endpoint-autorollbackconfig-syntax"></a>

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

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

```
{
  "[Alarms](#cfn-sagemaker-endpoint-autorollbackconfig-alarms)" : [ Alarm, ... ]
}
```

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

```
  [Alarms](#cfn-sagemaker-endpoint-autorollbackconfig-alarms): 
    - Alarm
```

## Properties
<a name="aws-properties-sagemaker-endpoint-autorollbackconfig-properties"></a>

`Alarms`  <a name="cfn-sagemaker-endpoint-autorollbackconfig-alarms"></a>
List of CloudWatch alarms in your account that are configured to monitor metrics on an endpoint. If any alarms are tripped during a deployment, SageMaker rolls back the deployment.  
*Required*: Yes  
*Type*: Array of [Alarm](aws-properties-sagemaker-endpoint-alarm.md)  
*Minimum*: `1`  
*Maximum*: `10`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::SageMaker::Endpoint BlueGreenUpdatePolicy
<a name="aws-properties-sagemaker-endpoint-bluegreenupdatepolicy"></a>

Update policy for a blue/green deployment. If this update policy is specified, SageMaker creates a new fleet during the deployment while maintaining the old fleet. SageMaker flips traffic to the new fleet according to the specified traffic routing configuration. Only one update policy should be used in the deployment configuration. If no update policy is specified, SageMaker uses a blue/green deployment strategy with all at once traffic shifting by default.

## Syntax
<a name="aws-properties-sagemaker-endpoint-bluegreenupdatepolicy-syntax"></a>

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

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

```
{
  "[MaximumExecutionTimeoutInSeconds](#cfn-sagemaker-endpoint-bluegreenupdatepolicy-maximumexecutiontimeoutinseconds)" : Integer,
  "[TerminationWaitInSeconds](#cfn-sagemaker-endpoint-bluegreenupdatepolicy-terminationwaitinseconds)" : Integer,
  "[TrafficRoutingConfiguration](#cfn-sagemaker-endpoint-bluegreenupdatepolicy-trafficroutingconfiguration)" : TrafficRoutingConfig
}
```

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

```
  [MaximumExecutionTimeoutInSeconds](#cfn-sagemaker-endpoint-bluegreenupdatepolicy-maximumexecutiontimeoutinseconds): Integer
  [TerminationWaitInSeconds](#cfn-sagemaker-endpoint-bluegreenupdatepolicy-terminationwaitinseconds): Integer
  [TrafficRoutingConfiguration](#cfn-sagemaker-endpoint-bluegreenupdatepolicy-trafficroutingconfiguration): 
    TrafficRoutingConfig
```

## Properties
<a name="aws-properties-sagemaker-endpoint-bluegreenupdatepolicy-properties"></a>

`MaximumExecutionTimeoutInSeconds`  <a name="cfn-sagemaker-endpoint-bluegreenupdatepolicy-maximumexecutiontimeoutinseconds"></a>
Maximum execution timeout for the deployment. Note that the timeout value should be larger than the total waiting time specified in `TerminationWaitInSeconds` and `WaitIntervalInSeconds`.  
*Required*: No  
*Type*: Integer  
*Minimum*: `600`  
*Maximum*: `28800`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`TerminationWaitInSeconds`  <a name="cfn-sagemaker-endpoint-bluegreenupdatepolicy-terminationwaitinseconds"></a>
Additional waiting time in seconds after the completion of an endpoint deployment before terminating the old endpoint fleet. Default is 0.  
*Required*: No  
*Type*: Integer  
*Minimum*: `0`  
*Maximum*: `3600`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`TrafficRoutingConfiguration`  <a name="cfn-sagemaker-endpoint-bluegreenupdatepolicy-trafficroutingconfiguration"></a>
Defines the traffic routing strategy to shift traffic from the old fleet to the new fleet during an endpoint deployment.  
*Required*: Yes  
*Type*: [TrafficRoutingConfig](aws-properties-sagemaker-endpoint-trafficroutingconfig.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::Endpoint CapacitySize
<a name="aws-properties-sagemaker-endpoint-capacitysize"></a>

Specifies the type and size of the endpoint capacity to activate for a blue/green deployment, a rolling deployment, or a rollback strategy. You can specify your batches as either instance count or the overall percentage or your fleet.

For a rollback strategy, if you don't specify the fields in this object, or if you set the `Value` to 100%, then SageMaker uses a blue/green rollback strategy and rolls all traffic back to the blue fleet.

## Syntax
<a name="aws-properties-sagemaker-endpoint-capacitysize-syntax"></a>

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

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

```
{
  "[Type](#cfn-sagemaker-endpoint-capacitysize-type)" : String,
  "[Value](#cfn-sagemaker-endpoint-capacitysize-value)" : Integer
}
```

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

```
  [Type](#cfn-sagemaker-endpoint-capacitysize-type): String
  [Value](#cfn-sagemaker-endpoint-capacitysize-value): Integer
```

## Properties
<a name="aws-properties-sagemaker-endpoint-capacitysize-properties"></a>

`Type`  <a name="cfn-sagemaker-endpoint-capacitysize-type"></a>
Specifies the endpoint capacity type.  
+ `INSTANCE_COUNT`: The endpoint activates based on the number of instances.
+ `CAPACITY_PERCENT`: The endpoint activates based on the specified percentage of capacity.
*Required*: Yes  
*Type*: String  
*Allowed values*: `INSTANCE_COUNT | CAPACITY_PERCENT`  
*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-endpoint-capacitysize-value"></a>
Defines the capacity size, either as a number of instances or a capacity percentage.  
*Required*: Yes  
*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)

# AWS::SageMaker::Endpoint DeploymentConfig
<a name="aws-properties-sagemaker-endpoint-deploymentconfig"></a>

The deployment configuration for an endpoint, which contains the desired deployment strategy and rollback configurations.

## Syntax
<a name="aws-properties-sagemaker-endpoint-deploymentconfig-syntax"></a>

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

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

```
{
  "[AutoRollbackConfiguration](#cfn-sagemaker-endpoint-deploymentconfig-autorollbackconfiguration)" : AutoRollbackConfig,
  "[BlueGreenUpdatePolicy](#cfn-sagemaker-endpoint-deploymentconfig-bluegreenupdatepolicy)" : BlueGreenUpdatePolicy,
  "[RollingUpdatePolicy](#cfn-sagemaker-endpoint-deploymentconfig-rollingupdatepolicy)" : RollingUpdatePolicy
}
```

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

```
  [AutoRollbackConfiguration](#cfn-sagemaker-endpoint-deploymentconfig-autorollbackconfiguration): 
    AutoRollbackConfig
  [BlueGreenUpdatePolicy](#cfn-sagemaker-endpoint-deploymentconfig-bluegreenupdatepolicy): 
    BlueGreenUpdatePolicy
  [RollingUpdatePolicy](#cfn-sagemaker-endpoint-deploymentconfig-rollingupdatepolicy): 
    RollingUpdatePolicy
```

## Properties
<a name="aws-properties-sagemaker-endpoint-deploymentconfig-properties"></a>

`AutoRollbackConfiguration`  <a name="cfn-sagemaker-endpoint-deploymentconfig-autorollbackconfiguration"></a>
Automatic rollback configuration for handling endpoint deployment failures and recovery.  
*Required*: No  
*Type*: [AutoRollbackConfig](aws-properties-sagemaker-endpoint-autorollbackconfig.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`BlueGreenUpdatePolicy`  <a name="cfn-sagemaker-endpoint-deploymentconfig-bluegreenupdatepolicy"></a>
Update policy for a blue/green deployment. If this update policy is specified, SageMaker creates a new fleet during the deployment while maintaining the old fleet. SageMaker flips traffic to the new fleet according to the specified traffic routing configuration. Only one update policy should be used in the deployment configuration. If no update policy is specified, SageMaker uses a blue/green deployment strategy with all at once traffic shifting by default.  
*Required*: No  
*Type*: [BlueGreenUpdatePolicy](aws-properties-sagemaker-endpoint-bluegreenupdatepolicy.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`RollingUpdatePolicy`  <a name="cfn-sagemaker-endpoint-deploymentconfig-rollingupdatepolicy"></a>
Specifies a rolling deployment strategy for updating a SageMaker endpoint.  
*Required*: No  
*Type*: [RollingUpdatePolicy](aws-properties-sagemaker-endpoint-rollingupdatepolicy.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::Endpoint RollingUpdatePolicy
<a name="aws-properties-sagemaker-endpoint-rollingupdatepolicy"></a>

Specifies a rolling deployment strategy for updating a SageMaker endpoint.

## Syntax
<a name="aws-properties-sagemaker-endpoint-rollingupdatepolicy-syntax"></a>

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

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

```
{
  "[MaximumBatchSize](#cfn-sagemaker-endpoint-rollingupdatepolicy-maximumbatchsize)" : CapacitySize,
  "[MaximumExecutionTimeoutInSeconds](#cfn-sagemaker-endpoint-rollingupdatepolicy-maximumexecutiontimeoutinseconds)" : Integer,
  "[RollbackMaximumBatchSize](#cfn-sagemaker-endpoint-rollingupdatepolicy-rollbackmaximumbatchsize)" : CapacitySize,
  "[WaitIntervalInSeconds](#cfn-sagemaker-endpoint-rollingupdatepolicy-waitintervalinseconds)" : Integer
}
```

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

```
  [MaximumBatchSize](#cfn-sagemaker-endpoint-rollingupdatepolicy-maximumbatchsize): 
    CapacitySize
  [MaximumExecutionTimeoutInSeconds](#cfn-sagemaker-endpoint-rollingupdatepolicy-maximumexecutiontimeoutinseconds): Integer
  [RollbackMaximumBatchSize](#cfn-sagemaker-endpoint-rollingupdatepolicy-rollbackmaximumbatchsize): 
    CapacitySize
  [WaitIntervalInSeconds](#cfn-sagemaker-endpoint-rollingupdatepolicy-waitintervalinseconds): Integer
```

## Properties
<a name="aws-properties-sagemaker-endpoint-rollingupdatepolicy-properties"></a>

`MaximumBatchSize`  <a name="cfn-sagemaker-endpoint-rollingupdatepolicy-maximumbatchsize"></a>
Batch size for each rolling step to provision capacity and turn on traffic on the new endpoint fleet, and terminate capacity on the old endpoint fleet. Value must be between 5% to 50% of the variant's total instance count.  
*Required*: Yes  
*Type*: [CapacitySize](aws-properties-sagemaker-endpoint-capacitysize.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`MaximumExecutionTimeoutInSeconds`  <a name="cfn-sagemaker-endpoint-rollingupdatepolicy-maximumexecutiontimeoutinseconds"></a>
The time limit for the total deployment. Exceeding this limit causes a timeout.  
*Required*: No  
*Type*: Integer  
*Minimum*: `600`  
*Maximum*: `28800`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`RollbackMaximumBatchSize`  <a name="cfn-sagemaker-endpoint-rollingupdatepolicy-rollbackmaximumbatchsize"></a>
Batch size for rollback to the old endpoint fleet. Each rolling step to provision capacity and turn on traffic on the old endpoint fleet, and terminate capacity on the new endpoint fleet. If this field is absent, the default value will be set to 100% of total capacity which means to bring up the whole capacity of the old fleet at once during rollback.  
*Required*: No  
*Type*: [CapacitySize](aws-properties-sagemaker-endpoint-capacitysize.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`WaitIntervalInSeconds`  <a name="cfn-sagemaker-endpoint-rollingupdatepolicy-waitintervalinseconds"></a>
The length of the baking period, during which SageMaker monitors alarms for each batch on the new fleet.  
*Required*: Yes  
*Type*: Integer  
*Minimum*: `0`  
*Maximum*: `3600`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::SageMaker::Endpoint Tag
<a name="aws-properties-sagemaker-endpoint-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-endpoint-tag-syntax"></a>

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

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

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

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

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

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

`Key`  <a name="cfn-sagemaker-endpoint-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-endpoint-tag-value"></a>
The tag value.  
*Required*: Yes  
*Type*: String  
*Pattern*: `([\p{L}\p{Z}\p{N}_.:/=+\-@]*)`  
*Minimum*: `0`  
*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::Endpoint TrafficRoutingConfig
<a name="aws-properties-sagemaker-endpoint-trafficroutingconfig"></a>

Defines the traffic routing strategy during an endpoint deployment to shift traffic from the old fleet to the new fleet.

## Syntax
<a name="aws-properties-sagemaker-endpoint-trafficroutingconfig-syntax"></a>

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

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

```
{
  "[CanarySize](#cfn-sagemaker-endpoint-trafficroutingconfig-canarysize)" : CapacitySize,
  "[LinearStepSize](#cfn-sagemaker-endpoint-trafficroutingconfig-linearstepsize)" : CapacitySize,
  "[Type](#cfn-sagemaker-endpoint-trafficroutingconfig-type)" : String,
  "[WaitIntervalInSeconds](#cfn-sagemaker-endpoint-trafficroutingconfig-waitintervalinseconds)" : Integer
}
```

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

```
  [CanarySize](#cfn-sagemaker-endpoint-trafficroutingconfig-canarysize): 
    CapacitySize
  [LinearStepSize](#cfn-sagemaker-endpoint-trafficroutingconfig-linearstepsize): 
    CapacitySize
  [Type](#cfn-sagemaker-endpoint-trafficroutingconfig-type): String
  [WaitIntervalInSeconds](#cfn-sagemaker-endpoint-trafficroutingconfig-waitintervalinseconds): Integer
```

## Properties
<a name="aws-properties-sagemaker-endpoint-trafficroutingconfig-properties"></a>

`CanarySize`  <a name="cfn-sagemaker-endpoint-trafficroutingconfig-canarysize"></a>
Batch size for the first step to turn on traffic on the new endpoint fleet. `Value` must be less than or equal to 50% of the variant's total instance count.  
*Required*: No  
*Type*: [CapacitySize](aws-properties-sagemaker-endpoint-capacitysize.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`LinearStepSize`  <a name="cfn-sagemaker-endpoint-trafficroutingconfig-linearstepsize"></a>
Batch size for each step to turn on traffic on the new endpoint fleet. `Value` must be 10-50% of the variant's total instance count.  
*Required*: No  
*Type*: [CapacitySize](aws-properties-sagemaker-endpoint-capacitysize.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Type`  <a name="cfn-sagemaker-endpoint-trafficroutingconfig-type"></a>
Traffic routing strategy type.  
+ `ALL_AT_ONCE`: Endpoint traffic shifts to the new fleet in a single step. 
+ `CANARY`: Endpoint traffic shifts to the new fleet in two steps. The first step is the canary, which is a small portion of the traffic. The second step is the remainder of the traffic. 
+ `LINEAR`: Endpoint traffic shifts to the new fleet in n steps of a configurable size. 
*Required*: Yes  
*Type*: String  
*Allowed values*: `ALL_AT_ONCE | CANARY | LINEAR`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`WaitIntervalInSeconds`  <a name="cfn-sagemaker-endpoint-trafficroutingconfig-waitintervalinseconds"></a>
The waiting time (in seconds) between incremental steps to turn on traffic on the new endpoint fleet.  
*Required*: No  
*Type*: Integer  
*Minimum*: `0`  
*Maximum*: `3600`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::SageMaker::Endpoint VariantProperty
<a name="aws-properties-sagemaker-endpoint-variantproperty"></a>

Specifies a production variant property type for an Endpoint.

If you are updating an Endpoint with the [RetainAllVariantProperties](https://docs.aws.amazon.com/sagemaker/latest/dg/API_UpdateEndpoint.html#SageMaker-UpdateEndpoint-request-RetainAllVariantProperties) option set to `true`, the `VarientProperty` objects listed in [ExcludeRetainedVariantProperties](https://docs.aws.amazon.com/sagemaker/latest/dg/API_UpdateEndpoint.html#SageMaker-UpdateEndpoint-request-ExcludeRetainedVariantProperties) override the existing variant properties of the Endpoint.

## Syntax
<a name="aws-properties-sagemaker-endpoint-variantproperty-syntax"></a>

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

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

```
{
  "[VariantPropertyType](#cfn-sagemaker-endpoint-variantproperty-variantpropertytype)" : String
}
```

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

```
  [VariantPropertyType](#cfn-sagemaker-endpoint-variantproperty-variantpropertytype): String
```

## Properties
<a name="aws-properties-sagemaker-endpoint-variantproperty-properties"></a>

`VariantPropertyType`  <a name="cfn-sagemaker-endpoint-variantproperty-variantpropertytype"></a>
The type of variant property. The supported values are:  
+ `DesiredInstanceCount`: Overrides the existing variant instance counts using the [InitialInstanceCount](https://docs.aws.amazon.com/sagemaker/latest/dg/API_ProductionVariant.html#SageMaker-Type-ProductionVariant-InitialInstanceCount) values in the [ProductionVariants](https://docs.aws.amazon.com/sagemaker/latest/dg/API_CreateEndpointConfig.html#SageMaker-CreateEndpointConfig-request-ProductionVariants).
+ `DesiredWeight`: Overrides the existing variant weights using the [InitialVariantWeight](https://docs.aws.amazon.com/sagemaker/latest/dg/API_ProductionVariant.html#SageMaker-Type-ProductionVariant-InitialVariantWeight) values in the [ProductionVariants](https://docs.aws.amazon.com/sagemaker/latest/dg/API_CreateEndpointConfig.html#SageMaker-CreateEndpointConfig-request-ProductionVariants).
+ `DataCaptureConfig`: (Not currently supported.)
*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::EndpointConfig
<a name="aws-resource-sagemaker-endpointconfig"></a>

The `AWS::SageMaker::EndpointConfig` resource creates a configuration for an Amazon SageMaker endpoint. For more information, see [CreateEndpointConfig](https://docs.aws.amazon.com/sagemaker/latest/dg/API_CreateEndpointConfig.html) in the *SageMaker Developer Guide*.

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

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

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

```
{
  "Type" : "AWS::SageMaker::EndpointConfig",
  "Properties" : {
      "[AsyncInferenceConfig](#cfn-sagemaker-endpointconfig-asyncinferenceconfig)" : AsyncInferenceConfig,
      "[DataCaptureConfig](#cfn-sagemaker-endpointconfig-datacaptureconfig)" : DataCaptureConfig,
      "[EndpointConfigName](#cfn-sagemaker-endpointconfig-endpointconfigname)" : String,
      "[ExplainerConfig](#cfn-sagemaker-endpointconfig-explainerconfig)" : ExplainerConfig,
      "[KmsKeyId](#cfn-sagemaker-endpointconfig-kmskeyid)" : String,
      "[ProductionVariants](#cfn-sagemaker-endpointconfig-productionvariants)" : [ ProductionVariant, ... ],
      "[ShadowProductionVariants](#cfn-sagemaker-endpointconfig-shadowproductionvariants)" : [ ProductionVariant, ... ],
      "[Tags](#cfn-sagemaker-endpointconfig-tags)" : [ Tag, ... ]
    }
}
```

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

```
Type: AWS::SageMaker::EndpointConfig
Properties:
  [AsyncInferenceConfig](#cfn-sagemaker-endpointconfig-asyncinferenceconfig): 
    AsyncInferenceConfig
  [DataCaptureConfig](#cfn-sagemaker-endpointconfig-datacaptureconfig): 
    DataCaptureConfig
  [EndpointConfigName](#cfn-sagemaker-endpointconfig-endpointconfigname): String
  [ExplainerConfig](#cfn-sagemaker-endpointconfig-explainerconfig): 
    ExplainerConfig
  [KmsKeyId](#cfn-sagemaker-endpointconfig-kmskeyid): String
  [ProductionVariants](#cfn-sagemaker-endpointconfig-productionvariants): 
    - ProductionVariant
  [ShadowProductionVariants](#cfn-sagemaker-endpointconfig-shadowproductionvariants): 
    - ProductionVariant
  [Tags](#cfn-sagemaker-endpointconfig-tags): 
    - Tag
```

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

`AsyncInferenceConfig`  <a name="cfn-sagemaker-endpointconfig-asyncinferenceconfig"></a>
Specifies configuration for how an endpoint performs asynchronous inference.  
*Required*: No  
*Type*: [AsyncInferenceConfig](aws-properties-sagemaker-endpointconfig-asyncinferenceconfig.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`DataCaptureConfig`  <a name="cfn-sagemaker-endpointconfig-datacaptureconfig"></a>
Specifies how to capture endpoint data for model monitor. The data capture configuration applies to all production variants hosted at the endpoint.  
*Required*: No  
*Type*: [DataCaptureConfig](aws-properties-sagemaker-endpointconfig-datacaptureconfig.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`EndpointConfigName`  <a name="cfn-sagemaker-endpointconfig-endpointconfigname"></a>
The name of the endpoint configuration.  
*Required*: No  
*Type*: String  
*Pattern*: `[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}`  
*Minimum*: `0`  
*Maximum*: `63`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`ExplainerConfig`  <a name="cfn-sagemaker-endpointconfig-explainerconfig"></a>
A parameter to activate explainers.  
*Required*: No  
*Type*: [ExplainerConfig](aws-properties-sagemaker-endpointconfig-explainerconfig.md)  
*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-endpointconfig-kmskeyid"></a>
The Amazon Resource Name (ARN) of an AWS Key Management Service key that Amazon SageMaker uses to encrypt data on the storage volume attached to the ML compute instance that hosts the endpoint.  
+ 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`
The KMS key policy must grant permission to the IAM role that you specify in your `CreateEndpoint`, `UpdateEndpoint` requests. For more information, refer to the AWS Key Management Service section [Using Key Policies in AWS KMS ](https://docs.aws.amazon.com//kms/latest/developerguide/key-policies.html)  
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 `KmsKeyId` when using an instance type with local storage. If any of the models that you specify in the `ProductionVariants` parameter use nitro-based instances with local storage, do not specify a value for the `KmsKeyId` parameter. If you specify a value for `KmsKeyId` when using any nitro-based instances with local storage, the call to `CreateEndpointConfig` fails.  
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).
*Required*: No  
*Type*: String  
*Pattern*: `[a-zA-Z0-9:/_-]*`  
*Minimum*: `0`  
*Maximum*: `2048`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`ProductionVariants`  <a name="cfn-sagemaker-endpointconfig-productionvariants"></a>
A list of `ProductionVariant` objects, one for each model that you want to host at this endpoint.  
*Required*: Yes  
*Type*: Array of [ProductionVariant](aws-properties-sagemaker-endpointconfig-productionvariant.md)  
*Minimum*: `1`  
*Maximum*: `10`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`ShadowProductionVariants`  <a name="cfn-sagemaker-endpointconfig-shadowproductionvariants"></a>
Array of `ProductionVariant` objects. There is one for each model that you want to host at this endpoint in shadow mode with production traffic replicated from the model specified on `ProductionVariants`. If you use this field, you can only specify one variant for `ProductionVariants` and one variant for `ShadowProductionVariants`.  
*Required*: No  
*Type*: Array of [ProductionVariant](aws-properties-sagemaker-endpointconfig-productionvariant.md)  
*Minimum*: `1`  
*Maximum*: `10`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`Tags`  <a name="cfn-sagemaker-endpointconfig-tags"></a>
A list of key-value pairs to apply to this resource.  
For more information, see [Resource Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) and [Using Cost Allocation Tags](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html#allocation-what).  
*Required*: No  
*Type*: Array of [Tag](aws-properties-sagemaker-endpointconfig-tag.md)  
*Minimum*: `0`  
*Maximum*: `50`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

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

### Ref
<a name="aws-resource-sagemaker-endpointconfig-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 endpoint configuration, such as `arn:aws:sagemaker:us-west-2:01234567>8901:endpoint-config/myendpointconfig`

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-endpointconfig-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-endpointconfig-return-values-fn--getatt-fn--getatt"></a>

`EndpointConfigName`  <a name="EndpointConfigName-fn::getatt"></a>
The name of the endpoint configuration, such as `MyEndpointConfiguration`.

## Examples
<a name="aws-resource-sagemaker-endpointconfig--examples"></a>

### SageMaker EndpointConfig Example
<a name="aws-resource-sagemaker-endpointconfig--examples--SageMaker_EndpointConfig_Example"></a>

The following example creates an endpoint configuration from a trained model, and then creates an endpoint.

#### JSON
<a name="aws-resource-sagemaker-endpointconfig--examples--SageMaker_EndpointConfig_Example--json"></a>

```
{
  "Description": "Basic Hosting entities test.  We need models to create endpoint configs.",
  "Mappings": {
    "RegionMap": {
      "us-west-2": {
        "NullTransformer": "12345678901.dkr.ecr.us-west-2.amazonaws.com/mymodel:latest"
      },
      "us-east-2": {
        "NullTransformer": "12345678901.dkr.ecr.us-east-2.amazonaws.com/mymodel:latest"
      },
      "us-east-1": {
        "NullTransformer": "12345678901.dkr.ecr.us-east-1.amazonaws.com/mymodel:latest"
      },
      "eu-west-1": {
        "NullTransformer": "12345678901.dkr.ecr.eu-west-1.amazonaws.com/mymodel:latest"
      },
      "ap-northeast-1": {
        "NullTransformer": "12345678901.dkr.ecr.ap-northeast-1.amazonaws.com/mymodel:latest"
      },
      "ap-northeast-2": {
        "NullTransformer": "12345678901.dkr.ecr.ap-northeast-2.amazonaws.com/mymodel:latest"
      },
      "ap-southeast-2": {
        "NullTransformer": "12345678901.dkr.ecr.ap-southeast-2.amazonaws.com/mymodel:latest"
      },
      "eu-central-1": {
        "NullTransformer": "12345678901.dkr.ecr.eu-central-1.amazonaws.com/mymodel:latest"
      }
    }
  },
  "Resources": {
    "Endpoint": {
      "Type": "AWS::SageMaker::Endpoint",
      "Properties": {
        "EndpointConfigName": { "Fn::GetAtt" : ["EndpointConfig", "EndpointConfigName" ] }
      }
    },
    "EndpointConfig": {
      "Type": "AWS::SageMaker::EndpointConfig",
      "Properties": {
        "ProductionVariants": [
          {
            "InitialInstanceCount": 1,
            "InitialVariantWeight": 1,
            "InstanceType": "ml.t2.large",
            "ModelName": { "Fn::GetAtt" : ["Model", "ModelName" ] },
            "VariantName": { "Fn::GetAtt" : ["Model", "ModelName" ] }
          }
        ]
      }
    },
    "Model": {
      "Type": "AWS::SageMaker::Model",
      "Properties": {
        "PrimaryContainer": {
          "Image": { "Fn::FindInMap" : [ "AWS::Region", "NullTransformer"] }
        },
        "ExecutionRoleArn": { "Fn::GetAtt" : [ "ExecutionRole", "Arn" ] }
      }
    },
    "ExecutionRole": {
      "Type": "AWS::IAM::Role",
      "Properties": {
        "AssumeRolePolicyDocument": {
          "Version": "2012-10-17"		 	 	 ,
          "Statement": [
            {
              "Effect": "Allow",
              "Principal": {
                "Service": [
                  "sagemaker.amazonaws.com"
                ]
              },
              "Action": [
                "sts:AssumeRole"
              ]
            }
          ]
        },
        "Path": "/",
        "Policies": [
          {
            "PolicyName": "root",
            "PolicyDocument": {
              "Version": "2012-10-17"		 	 	 ,
              "Statement": [
                {
                  "Effect": "Allow",
                  "Action": "*",
                  "Resource": "*"
                }
              ]
            }
          }
        ]
      }
    }
  },
  "Outputs": {
    "EndpointId": {
      "Value": { "Ref" : "Endpoint" }
    },
    "EndpointName": {
      "Value": { "Fn::GetAtt" : [ "Endpoint", "EndpointName" ] }
    }
    
  }
  
}
```

#### YAML
<a name="aws-resource-sagemaker-endpointconfig--examples--SageMaker_EndpointConfig_Example--yaml"></a>

```
Description: "Basic Hosting entities test.  We need models to create endpoint configs."
Mappings: 
  RegionMap: 
    "us-west-2":
      "NullTransformer": "123456789012.dkr.ecr.us-west-2.amazonaws.com/mymodel:latest"
    "us-east-2":
      "NullTransformer": "123456789012.dkr.ecr.us-east-2.amazonaws.com/mymodel:latest"
    "us-east-1":
      "NullTransformer": "123456789012.dkr.ecr.us-east-1.amazonaws.com/mymodel:latest"
    "eu-west-1":
      "NullTransformer": "123456789012.dkr.ecr.eu-west-1.amazonaws.com/mymodel:latest"
    "ap-northeast-1":
      "NullTransformer": "123456789012.dkr.ecr.ap-northeast-1.amazonaws.com/mymodel:latest"
    "ap-northeast-2":
      "NullTransformer": "123456789012.dkr.ecr.ap-northeast-2.amazonaws.com/mymodel:latest"
    "ap-southeast-2":
      "NullTransformer": "123456789012.dkr.ecr.ap-southeast-2.amazonaws.com/mymodel:latest"
    "eu-central-1":
      "NullTransformer": "123456789012.dkr.ecr.eu-central-1.amazonaws.com/mymodel:latest"
Resources:
  Endpoint:
    Type: "AWS::SageMaker::Endpoint"
    Properties:
      EndpointConfigName:
        !GetAtt EndpointConfig.EndpointConfigName
  EndpointConfig:
    Type: "AWS::SageMaker::EndpointConfig"
    Properties:
      ProductionVariants:
        - InitialInstanceCount: 1
          InitialVariantWeight: 1.0
          InstanceType: ml.t2.large
          ModelName: !GetAtt Model.ModelName
          VariantName: !GetAtt Model.ModelName
  Model:
    Type: "AWS::SageMaker::Model"
    Properties:
      PrimaryContainer:
        Image: !FindInMap [RegionMap, !Ref "AWS::Region", "NullTransformer"]
      ExecutionRoleArn: !GetAtt ExecutionRole.Arn

  ExecutionRole: 
    Type: "AWS::IAM::Role"
    Properties: 
      AssumeRolePolicyDocument: 
        Version: "2012-10-17"
        Statement: 
          - 
            Effect: "Allow"
            Principal: 
              Service: 
                - "sagemaker.amazonaws.com"
            Action: 
              - "sts:AssumeRole"
      Path: "/"
      Policies: 
        - 
          PolicyName: "root"
          PolicyDocument: 
            Version: "2012-10-17"
            Statement: 
              - 
                Effect: "Allow"
                Action: "*"
                Resource: "*"
Outputs:
  EndpointId:
    Value: !Ref Endpoint
  EndpointName:
    Value: !GetAtt Endpoint.EndpointName
```

# AWS::SageMaker::EndpointConfig AsyncInferenceClientConfig
<a name="aws-properties-sagemaker-endpointconfig-asyncinferenceclientconfig"></a>

Configures the behavior of the client used by SageMaker to interact with the model container during asynchronous inference.

## Syntax
<a name="aws-properties-sagemaker-endpointconfig-asyncinferenceclientconfig-syntax"></a>

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

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

```
{
  "[MaxConcurrentInvocationsPerInstance](#cfn-sagemaker-endpointconfig-asyncinferenceclientconfig-maxconcurrentinvocationsperinstance)" : Integer
}
```

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

```
  [MaxConcurrentInvocationsPerInstance](#cfn-sagemaker-endpointconfig-asyncinferenceclientconfig-maxconcurrentinvocationsperinstance): Integer
```

## Properties
<a name="aws-properties-sagemaker-endpointconfig-asyncinferenceclientconfig-properties"></a>

`MaxConcurrentInvocationsPerInstance`  <a name="cfn-sagemaker-endpointconfig-asyncinferenceclientconfig-maxconcurrentinvocationsperinstance"></a>
The maximum number of concurrent requests sent by the SageMaker client to the model container. If no value is provided, SageMaker will choose an optimal value for you.  
*Required*: No  
*Type*: Integer  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::SageMaker::EndpointConfig AsyncInferenceConfig
<a name="aws-properties-sagemaker-endpointconfig-asyncinferenceconfig"></a>

Specifies configuration for how an endpoint performs asynchronous inference.

## Syntax
<a name="aws-properties-sagemaker-endpointconfig-asyncinferenceconfig-syntax"></a>

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

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

```
{
  "[ClientConfig](#cfn-sagemaker-endpointconfig-asyncinferenceconfig-clientconfig)" : AsyncInferenceClientConfig,
  "[OutputConfig](#cfn-sagemaker-endpointconfig-asyncinferenceconfig-outputconfig)" : AsyncInferenceOutputConfig
}
```

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

```
  [ClientConfig](#cfn-sagemaker-endpointconfig-asyncinferenceconfig-clientconfig): 
    AsyncInferenceClientConfig
  [OutputConfig](#cfn-sagemaker-endpointconfig-asyncinferenceconfig-outputconfig): 
    AsyncInferenceOutputConfig
```

## Properties
<a name="aws-properties-sagemaker-endpointconfig-asyncinferenceconfig-properties"></a>

`ClientConfig`  <a name="cfn-sagemaker-endpointconfig-asyncinferenceconfig-clientconfig"></a>
Configures the behavior of the client used by SageMaker to interact with the model container during asynchronous inference.  
*Required*: No  
*Type*: [AsyncInferenceClientConfig](aws-properties-sagemaker-endpointconfig-asyncinferenceclientconfig.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`OutputConfig`  <a name="cfn-sagemaker-endpointconfig-asyncinferenceconfig-outputconfig"></a>
Specifies the configuration for asynchronous inference invocation outputs.  
*Required*: Yes  
*Type*: [AsyncInferenceOutputConfig](aws-properties-sagemaker-endpointconfig-asyncinferenceoutputconfig.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::SageMaker::EndpointConfig AsyncInferenceNotificationConfig
<a name="aws-properties-sagemaker-endpointconfig-asyncinferencenotificationconfig"></a>

Specifies the configuration for notifications of inference results for asynchronous inference.

## Syntax
<a name="aws-properties-sagemaker-endpointconfig-asyncinferencenotificationconfig-syntax"></a>

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

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

```
{
  "[ErrorTopic](#cfn-sagemaker-endpointconfig-asyncinferencenotificationconfig-errortopic)" : String,
  "[IncludeInferenceResponseIn](#cfn-sagemaker-endpointconfig-asyncinferencenotificationconfig-includeinferenceresponsein)" : [ String, ... ],
  "[SuccessTopic](#cfn-sagemaker-endpointconfig-asyncinferencenotificationconfig-successtopic)" : String
}
```

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

```
  [ErrorTopic](#cfn-sagemaker-endpointconfig-asyncinferencenotificationconfig-errortopic): String
  [IncludeInferenceResponseIn](#cfn-sagemaker-endpointconfig-asyncinferencenotificationconfig-includeinferenceresponsein): 
    - String
  [SuccessTopic](#cfn-sagemaker-endpointconfig-asyncinferencenotificationconfig-successtopic): String
```

## Properties
<a name="aws-properties-sagemaker-endpointconfig-asyncinferencenotificationconfig-properties"></a>

`ErrorTopic`  <a name="cfn-sagemaker-endpointconfig-asyncinferencenotificationconfig-errortopic"></a>
Amazon SNS topic to post a notification to when an inference fails. If no topic is provided, no notification is sent on failure.  
*Required*: No  
*Type*: String  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`IncludeInferenceResponseIn`  <a name="cfn-sagemaker-endpointconfig-asyncinferencenotificationconfig-includeinferenceresponsein"></a>
The Amazon SNS topics where you want the inference response to be included.  
The inference response is included only if the response size is less than or equal to 128 KB.
*Required*: No  
*Type*: Array of String  
*Minimum*: `0`  
*Maximum*: `2`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`SuccessTopic`  <a name="cfn-sagemaker-endpointconfig-asyncinferencenotificationconfig-successtopic"></a>
Amazon SNS topic to post a notification to when an inference completes successfully. If no topic is provided, no notification is sent on success.  
*Required*: No  
*Type*: String  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::SageMaker::EndpointConfig AsyncInferenceOutputConfig
<a name="aws-properties-sagemaker-endpointconfig-asyncinferenceoutputconfig"></a>

Specifies the configuration for asynchronous inference invocation outputs.

## Syntax
<a name="aws-properties-sagemaker-endpointconfig-asyncinferenceoutputconfig-syntax"></a>

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

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

```
{
  "[KmsKeyId](#cfn-sagemaker-endpointconfig-asyncinferenceoutputconfig-kmskeyid)" : String,
  "[NotificationConfig](#cfn-sagemaker-endpointconfig-asyncinferenceoutputconfig-notificationconfig)" : AsyncInferenceNotificationConfig,
  "[S3FailurePath](#cfn-sagemaker-endpointconfig-asyncinferenceoutputconfig-s3failurepath)" : String,
  "[S3OutputPath](#cfn-sagemaker-endpointconfig-asyncinferenceoutputconfig-s3outputpath)" : String
}
```

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

```
  [KmsKeyId](#cfn-sagemaker-endpointconfig-asyncinferenceoutputconfig-kmskeyid): String
  [NotificationConfig](#cfn-sagemaker-endpointconfig-asyncinferenceoutputconfig-notificationconfig): 
    AsyncInferenceNotificationConfig
  [S3FailurePath](#cfn-sagemaker-endpointconfig-asyncinferenceoutputconfig-s3failurepath): String
  [S3OutputPath](#cfn-sagemaker-endpointconfig-asyncinferenceoutputconfig-s3outputpath): String
```

## Properties
<a name="aws-properties-sagemaker-endpointconfig-asyncinferenceoutputconfig-properties"></a>

`KmsKeyId`  <a name="cfn-sagemaker-endpointconfig-asyncinferenceoutputconfig-kmskeyid"></a>
The AWS Key Management Service (AWS KMS) key that Amazon SageMaker uses to encrypt the asynchronous inference output in Amazon S3.  
*Required*: No  
*Type*: String  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`NotificationConfig`  <a name="cfn-sagemaker-endpointconfig-asyncinferenceoutputconfig-notificationconfig"></a>
Specifies the configuration for notifications of inference results for asynchronous inference.  
*Required*: No  
*Type*: [AsyncInferenceNotificationConfig](aws-properties-sagemaker-endpointconfig-asyncinferencenotificationconfig.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`S3FailurePath`  <a name="cfn-sagemaker-endpointconfig-asyncinferenceoutputconfig-s3failurepath"></a>
The Amazon S3 location to upload failure inference responses to.  
*Required*: No  
*Type*: String  
*Pattern*: `(https|s3)://([^/])/?(.*)`  
*Minimum*: `0`  
*Maximum*: `512`  
*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-endpointconfig-asyncinferenceoutputconfig-s3outputpath"></a>
The Amazon S3 location to upload inference responses to.  
*Required*: No  
*Type*: String  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::SageMaker::EndpointConfig CaptureContentTypeHeader
<a name="aws-properties-sagemaker-endpointconfig-capturecontenttypeheader"></a>

Specifies the JSON and CSV content types of the data that the endpoint captures.

## Syntax
<a name="aws-properties-sagemaker-endpointconfig-capturecontenttypeheader-syntax"></a>

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

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

```
{
  "[CsvContentTypes](#cfn-sagemaker-endpointconfig-capturecontenttypeheader-csvcontenttypes)" : [ String, ... ],
  "[JsonContentTypes](#cfn-sagemaker-endpointconfig-capturecontenttypeheader-jsoncontenttypes)" : [ String, ... ]
}
```

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

```
  [CsvContentTypes](#cfn-sagemaker-endpointconfig-capturecontenttypeheader-csvcontenttypes): 
    - String
  [JsonContentTypes](#cfn-sagemaker-endpointconfig-capturecontenttypeheader-jsoncontenttypes): 
    - String
```

## Properties
<a name="aws-properties-sagemaker-endpointconfig-capturecontenttypeheader-properties"></a>

`CsvContentTypes`  <a name="cfn-sagemaker-endpointconfig-capturecontenttypeheader-csvcontenttypes"></a>
A list of the CSV content types of the data that the endpoint captures. For the endpoint to capture the data, you must also specify the content type when you invoke the endpoint.  
*Required*: No  
*Type*: Array of String  
*Minimum*: `1`  
*Maximum*: `10`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`JsonContentTypes`  <a name="cfn-sagemaker-endpointconfig-capturecontenttypeheader-jsoncontenttypes"></a>
A list of the JSON content types of the data that the endpoint captures. For the endpoint to capture the data, you must also specify the content type when you invoke the endpoint.  
*Required*: No  
*Type*: Array of String  
*Minimum*: `1`  
*Maximum*: `10`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::SageMaker::EndpointConfig CaptureOption
<a name="aws-properties-sagemaker-endpointconfig-captureoption"></a>

Specifies whether the endpoint captures input data or output data.

## Syntax
<a name="aws-properties-sagemaker-endpointconfig-captureoption-syntax"></a>

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

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

```
{
  "[CaptureMode](#cfn-sagemaker-endpointconfig-captureoption-capturemode)" : String
}
```

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

```
  [CaptureMode](#cfn-sagemaker-endpointconfig-captureoption-capturemode): String
```

## Properties
<a name="aws-properties-sagemaker-endpointconfig-captureoption-properties"></a>

`CaptureMode`  <a name="cfn-sagemaker-endpointconfig-captureoption-capturemode"></a>
Specifies whether the endpoint captures input data or output data.  
*Required*: Yes  
*Type*: String  
*Allowed values*: `Input | Output | InputAndOutput`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::SageMaker::EndpointConfig ClarifyExplainerConfig
<a name="aws-properties-sagemaker-endpointconfig-clarifyexplainerconfig"></a>

The configuration parameters for the SageMaker Clarify explainer.

## Syntax
<a name="aws-properties-sagemaker-endpointconfig-clarifyexplainerconfig-syntax"></a>

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

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

```
{
  "[EnableExplanations](#cfn-sagemaker-endpointconfig-clarifyexplainerconfig-enableexplanations)" : String,
  "[InferenceConfig](#cfn-sagemaker-endpointconfig-clarifyexplainerconfig-inferenceconfig)" : ClarifyInferenceConfig,
  "[ShapConfig](#cfn-sagemaker-endpointconfig-clarifyexplainerconfig-shapconfig)" : ClarifyShapConfig
}
```

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

```
  [EnableExplanations](#cfn-sagemaker-endpointconfig-clarifyexplainerconfig-enableexplanations): String
  [InferenceConfig](#cfn-sagemaker-endpointconfig-clarifyexplainerconfig-inferenceconfig): 
    ClarifyInferenceConfig
  [ShapConfig](#cfn-sagemaker-endpointconfig-clarifyexplainerconfig-shapconfig): 
    ClarifyShapConfig
```

## Properties
<a name="aws-properties-sagemaker-endpointconfig-clarifyexplainerconfig-properties"></a>

`EnableExplanations`  <a name="cfn-sagemaker-endpointconfig-clarifyexplainerconfig-enableexplanations"></a>
A JMESPath boolean expression used to filter which records to explain. Explanations are activated by default. See [https://docs.aws.amazon.com/sagemaker/latest/dg/clarify-online-explainability-create-endpoint.html#clarify-online-explainability-create-endpoint-enable](https://docs.aws.amazon.com/sagemaker/latest/dg/clarify-online-explainability-create-endpoint.html#clarify-online-explainability-create-endpoint-enable)for additional information.  
*Required*: No  
*Type*: String  
*Pattern*: `.*`  
*Minimum*: `1`  
*Maximum*: `64`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`InferenceConfig`  <a name="cfn-sagemaker-endpointconfig-clarifyexplainerconfig-inferenceconfig"></a>
The inference configuration parameter for the model container.  
*Required*: No  
*Type*: [ClarifyInferenceConfig](aws-properties-sagemaker-endpointconfig-clarifyinferenceconfig.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`ShapConfig`  <a name="cfn-sagemaker-endpointconfig-clarifyexplainerconfig-shapconfig"></a>
The configuration for SHAP analysis.  
*Required*: Yes  
*Type*: [ClarifyShapConfig](aws-properties-sagemaker-endpointconfig-clarifyshapconfig.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::SageMaker::EndpointConfig ClarifyInferenceConfig
<a name="aws-properties-sagemaker-endpointconfig-clarifyinferenceconfig"></a>

The inference configuration parameter for the model container.

## Syntax
<a name="aws-properties-sagemaker-endpointconfig-clarifyinferenceconfig-syntax"></a>

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

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

```
{
  "[ContentTemplate](#cfn-sagemaker-endpointconfig-clarifyinferenceconfig-contenttemplate)" : String,
  "[FeatureHeaders](#cfn-sagemaker-endpointconfig-clarifyinferenceconfig-featureheaders)" : [ String, ... ],
  "[FeaturesAttribute](#cfn-sagemaker-endpointconfig-clarifyinferenceconfig-featuresattribute)" : String,
  "[FeatureTypes](#cfn-sagemaker-endpointconfig-clarifyinferenceconfig-featuretypes)" : [ String, ... ],
  "[LabelAttribute](#cfn-sagemaker-endpointconfig-clarifyinferenceconfig-labelattribute)" : String,
  "[LabelHeaders](#cfn-sagemaker-endpointconfig-clarifyinferenceconfig-labelheaders)" : [ String, ... ],
  "[LabelIndex](#cfn-sagemaker-endpointconfig-clarifyinferenceconfig-labelindex)" : Integer,
  "[MaxPayloadInMB](#cfn-sagemaker-endpointconfig-clarifyinferenceconfig-maxpayloadinmb)" : Integer,
  "[MaxRecordCount](#cfn-sagemaker-endpointconfig-clarifyinferenceconfig-maxrecordcount)" : Integer,
  "[ProbabilityAttribute](#cfn-sagemaker-endpointconfig-clarifyinferenceconfig-probabilityattribute)" : String,
  "[ProbabilityIndex](#cfn-sagemaker-endpointconfig-clarifyinferenceconfig-probabilityindex)" : Integer
}
```

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

```
  [ContentTemplate](#cfn-sagemaker-endpointconfig-clarifyinferenceconfig-contenttemplate): String
  [FeatureHeaders](#cfn-sagemaker-endpointconfig-clarifyinferenceconfig-featureheaders): 
    - String
  [FeaturesAttribute](#cfn-sagemaker-endpointconfig-clarifyinferenceconfig-featuresattribute): String
  [FeatureTypes](#cfn-sagemaker-endpointconfig-clarifyinferenceconfig-featuretypes): 
    - String
  [LabelAttribute](#cfn-sagemaker-endpointconfig-clarifyinferenceconfig-labelattribute): String
  [LabelHeaders](#cfn-sagemaker-endpointconfig-clarifyinferenceconfig-labelheaders): 
    - String
  [LabelIndex](#cfn-sagemaker-endpointconfig-clarifyinferenceconfig-labelindex): Integer
  [MaxPayloadInMB](#cfn-sagemaker-endpointconfig-clarifyinferenceconfig-maxpayloadinmb): Integer
  [MaxRecordCount](#cfn-sagemaker-endpointconfig-clarifyinferenceconfig-maxrecordcount): Integer
  [ProbabilityAttribute](#cfn-sagemaker-endpointconfig-clarifyinferenceconfig-probabilityattribute): String
  [ProbabilityIndex](#cfn-sagemaker-endpointconfig-clarifyinferenceconfig-probabilityindex): Integer
```

## Properties
<a name="aws-properties-sagemaker-endpointconfig-clarifyinferenceconfig-properties"></a>

`ContentTemplate`  <a name="cfn-sagemaker-endpointconfig-clarifyinferenceconfig-contenttemplate"></a>
A template string used to format a JSON record into an acceptable model container input. For example, a `ContentTemplate` string `'{"myfeatures":$features}'` will format a list of features `[1,2,3]` into the record string `'{"myfeatures":[1,2,3]}'`. Required only when the model container input is in JSON Lines format.  
*Required*: No  
*Type*: String  
*Pattern*: `.*`  
*Minimum*: `1`  
*Maximum*: `64`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`FeatureHeaders`  <a name="cfn-sagemaker-endpointconfig-clarifyinferenceconfig-featureheaders"></a>
The names of the features. If provided, these are included in the endpoint response payload to help readability of the `InvokeEndpoint` output. See the [Response](https://docs.aws.amazon.com/sagemaker/latest/dg/clarify-online-explainability-invoke-endpoint.html#clarify-online-explainability-response) section under **Invoke the endpoint** in the Developer Guide for more information.  
*Required*: No  
*Type*: Array of String  
*Minimum*: `1`  
*Maximum*: `256`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`FeaturesAttribute`  <a name="cfn-sagemaker-endpointconfig-clarifyinferenceconfig-featuresattribute"></a>
Provides the JMESPath expression to extract the features from a model container input in JSON Lines format. For example, if `FeaturesAttribute` is the JMESPath expression `'myfeatures'`, it extracts a list of features `[1,2,3]` from request data `'{"myfeatures":[1,2,3]}'`.  
*Required*: No  
*Type*: String  
*Pattern*: `.*`  
*Minimum*: `1`  
*Maximum*: `64`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`FeatureTypes`  <a name="cfn-sagemaker-endpointconfig-clarifyinferenceconfig-featuretypes"></a>
A list of data types of the features (optional). Applicable only to NLP explainability. If provided, `FeatureTypes` must have at least one `'text'` string (for example, `['text']`). If `FeatureTypes` is not provided, the explainer infers the feature types based on the baseline data. The feature types are included in the endpoint response payload. For additional information see the [response](https://docs.aws.amazon.com/sagemaker/latest/dg/clarify-online-explainability-invoke-endpoint.html#clarify-online-explainability-response) section under **Invoke the endpoint** in the Developer Guide for more information.  
*Required*: No  
*Type*: Array of String  
*Minimum*: `1`  
*Maximum*: `256`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`LabelAttribute`  <a name="cfn-sagemaker-endpointconfig-clarifyinferenceconfig-labelattribute"></a>
A JMESPath expression used to locate the list of label headers in the model container output.  
**Example**: If the model container output of a batch request is `'{"labels":["cat","dog","fish"],"probability":[0.6,0.3,0.1]}'`, then set `LabelAttribute` to `'labels'` to extract the list of label headers `["cat","dog","fish"]`  
*Required*: No  
*Type*: String  
*Pattern*: `.*`  
*Minimum*: `1`  
*Maximum*: `64`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`LabelHeaders`  <a name="cfn-sagemaker-endpointconfig-clarifyinferenceconfig-labelheaders"></a>
For multiclass classification problems, the label headers are the names of the classes. Otherwise, the label header is the name of the predicted label. These are used to help readability for the output of the `InvokeEndpoint` API. See the [response](https://docs.aws.amazon.com/sagemaker/latest/dg/clarify-online-explainability-invoke-endpoint.html#clarify-online-explainability-response) section under **Invoke the endpoint** in the Developer Guide for more information. If there are no label headers in the model container output, provide them manually using this parameter.  
*Required*: No  
*Type*: Array of String  
*Minimum*: `1`  
*Maximum*: `16`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`LabelIndex`  <a name="cfn-sagemaker-endpointconfig-clarifyinferenceconfig-labelindex"></a>
A zero-based index used to extract a label header or list of label headers from model container output in CSV format.  
**Example for a multiclass model:** If the model container output consists of label headers followed by probabilities: `'"[\'cat\',\'dog\',\'fish\']","[0.1,0.6,0.3]"'`, set `LabelIndex` to `0` to select the label headers `['cat','dog','fish']`.  
*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-endpointconfig-clarifyinferenceconfig-maxpayloadinmb"></a>
The maximum payload size (MB) allowed of a request from the explainer to the model container. Defaults to `6` MB.  
*Required*: No  
*Type*: Integer  
*Minimum*: `1`  
*Maximum*: `25`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`MaxRecordCount`  <a name="cfn-sagemaker-endpointconfig-clarifyinferenceconfig-maxrecordcount"></a>
The maximum number of records in a request that the model container can process when querying the model container for the predictions of a [synthetic dataset](https://docs.aws.amazon.com/sagemaker/latest/dg/clarify-online-explainability-create-endpoint.html#clarify-online-explainability-create-endpoint-synthetic). A record is a unit of input data that inference can be made on, for example, a single line in CSV data. If `MaxRecordCount` is `1`, the model container expects one record per request. A value of 2 or greater means that the model expects batch requests, which can reduce overhead and speed up the inferencing process. If this parameter is not provided, the explainer will tune the record count per request according to the model container's capacity at runtime.  
*Required*: No  
*Type*: Integer  
*Minimum*: `1`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`ProbabilityAttribute`  <a name="cfn-sagemaker-endpointconfig-clarifyinferenceconfig-probabilityattribute"></a>
A JMESPath expression used to extract the probability (or score) from the model container output if the model container is in JSON Lines format.  
**Example**: If the model container output of a single request is `'{"predicted_label":1,"probability":0.6}'`, then set `ProbabilityAttribute` to `'probability'`.  
*Required*: No  
*Type*: String  
*Pattern*: `.*`  
*Minimum*: `1`  
*Maximum*: `64`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`ProbabilityIndex`  <a name="cfn-sagemaker-endpointconfig-clarifyinferenceconfig-probabilityindex"></a>
A zero-based index used to extract a probability value (score) or list from model container output in CSV format. If this value is not provided, the entire model container output will be treated as a probability value (score) or list.  
**Example for a single class model:** If the model container output consists of a string-formatted prediction label followed by its probability: `'1,0.6'`, set `ProbabilityIndex` to `1` to select the probability value `0.6`.  
**Example for a multiclass model:** If the model container output consists of a string-formatted prediction label followed by its probability: `'"[\'cat\',\'dog\',\'fish\']","[0.1,0.6,0.3]"'`, set `ProbabilityIndex` to `1` to select the probability values `[0.1,0.6,0.3]`.  
*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)

# AWS::SageMaker::EndpointConfig ClarifyShapBaselineConfig
<a name="aws-properties-sagemaker-endpointconfig-clarifyshapbaselineconfig"></a>

The configuration for the [SHAP baseline](https://docs.aws.amazon.com/sagemaker/latest/dg/clarify-feature-attribute-shap-baselines.html) (also called the background or reference dataset) of the Kernal SHAP algorithm.

**Note**  
The number of records in the baseline data determines the size of the synthetic dataset, which has an impact on latency of explainability requests. For more information, see the **Synthetic data** of [Configure and create an endpoint](https://docs.aws.amazon.com/sagemaker/latest/dg/clarify-online-explainability-create-endpoint.html).
`ShapBaseline` and `ShapBaselineUri` are mutually exclusive parameters. One or the either is required to configure a SHAP baseline. 

## Syntax
<a name="aws-properties-sagemaker-endpointconfig-clarifyshapbaselineconfig-syntax"></a>

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

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

```
{
  "[MimeType](#cfn-sagemaker-endpointconfig-clarifyshapbaselineconfig-mimetype)" : String,
  "[ShapBaseline](#cfn-sagemaker-endpointconfig-clarifyshapbaselineconfig-shapbaseline)" : String,
  "[ShapBaselineUri](#cfn-sagemaker-endpointconfig-clarifyshapbaselineconfig-shapbaselineuri)" : String
}
```

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

```
  [MimeType](#cfn-sagemaker-endpointconfig-clarifyshapbaselineconfig-mimetype): String
  [ShapBaseline](#cfn-sagemaker-endpointconfig-clarifyshapbaselineconfig-shapbaseline): String
  [ShapBaselineUri](#cfn-sagemaker-endpointconfig-clarifyshapbaselineconfig-shapbaselineuri): String
```

## Properties
<a name="aws-properties-sagemaker-endpointconfig-clarifyshapbaselineconfig-properties"></a>

`MimeType`  <a name="cfn-sagemaker-endpointconfig-clarifyshapbaselineconfig-mimetype"></a>
The MIME type of the baseline data. Choose from `'text/csv'` or `'application/jsonlines'`. Defaults to `'text/csv'`.  
*Required*: No  
*Type*: String  
*Pattern*: `[a-zA-Z0-9](-*[a-zA-Z0-9])*\/[a-zA-Z0-9](-*[a-zA-Z0-9+.])*`  
*Minimum*: `0`  
*Maximum*: `255`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`ShapBaseline`  <a name="cfn-sagemaker-endpointconfig-clarifyshapbaselineconfig-shapbaseline"></a>
The inline SHAP baseline data in string format. `ShapBaseline` can have one or multiple records to be used as the baseline dataset. The format of the SHAP baseline file should be the same format as the training dataset. For example, if the training dataset is in CSV format and each record contains four features, and all features are numerical, then the format of the baseline data should also share these characteristics. For natural language processing (NLP) of text columns, the baseline value should be the value used to replace the unit of text specified by the `Granularity` of the `TextConfig` parameter. The size limit for `ShapBasline` is 4 KB. Use the `ShapBaselineUri` parameter if you want to provide more than 4 KB of baseline data.  
*Required*: No  
*Type*: String  
*Pattern*: `[\s\S]+`  
*Minimum*: `1`  
*Maximum*: `4096`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`ShapBaselineUri`  <a name="cfn-sagemaker-endpointconfig-clarifyshapbaselineconfig-shapbaselineuri"></a>
The uniform resource identifier (URI) of the S3 bucket where the SHAP baseline file is stored. The format of the SHAP baseline file should be the same format as the format of the training dataset. For example, if the training dataset is in CSV format, and each record in the training dataset has four features, and all features are numerical, then the baseline file should also have this same format. Each record should contain only the features. If you are using a virtual private cloud (VPC), the `ShapBaselineUri` should be accessible to the VPC. For more information about setting up endpoints with Amazon Virtual Private Cloud, see [Give SageMaker access to Resources in your Amazon Virtual Private Cloud](https://docs.aws.amazon.com/sagemaker/latest/dg/infrastructure-give-access.html).  
*Required*: No  
*Type*: String  
*Pattern*: `(https|s3)://([^/]+)/?(.*)`  
*Minimum*: `0`  
*Maximum*: `1024`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::SageMaker::EndpointConfig ClarifyShapConfig
<a name="aws-properties-sagemaker-endpointconfig-clarifyshapconfig"></a>

The configuration for SHAP analysis using SageMaker Clarify Explainer.

## Syntax
<a name="aws-properties-sagemaker-endpointconfig-clarifyshapconfig-syntax"></a>

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

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

```
{
  "[NumberOfSamples](#cfn-sagemaker-endpointconfig-clarifyshapconfig-numberofsamples)" : Integer,
  "[Seed](#cfn-sagemaker-endpointconfig-clarifyshapconfig-seed)" : Integer,
  "[ShapBaselineConfig](#cfn-sagemaker-endpointconfig-clarifyshapconfig-shapbaselineconfig)" : ClarifyShapBaselineConfig,
  "[TextConfig](#cfn-sagemaker-endpointconfig-clarifyshapconfig-textconfig)" : ClarifyTextConfig,
  "[UseLogit](#cfn-sagemaker-endpointconfig-clarifyshapconfig-uselogit)" : Boolean
}
```

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

```
  [NumberOfSamples](#cfn-sagemaker-endpointconfig-clarifyshapconfig-numberofsamples): Integer
  [Seed](#cfn-sagemaker-endpointconfig-clarifyshapconfig-seed): Integer
  [ShapBaselineConfig](#cfn-sagemaker-endpointconfig-clarifyshapconfig-shapbaselineconfig): 
    ClarifyShapBaselineConfig
  [TextConfig](#cfn-sagemaker-endpointconfig-clarifyshapconfig-textconfig): 
    ClarifyTextConfig
  [UseLogit](#cfn-sagemaker-endpointconfig-clarifyshapconfig-uselogit): Boolean
```

## Properties
<a name="aws-properties-sagemaker-endpointconfig-clarifyshapconfig-properties"></a>

`NumberOfSamples`  <a name="cfn-sagemaker-endpointconfig-clarifyshapconfig-numberofsamples"></a>
The number of samples to be used for analysis by the Kernal SHAP algorithm.   
The number of samples determines the size of the synthetic dataset, which has an impact on latency of explainability requests. For more information, see the **Synthetic data** of [Configure and create an endpoint](https://docs.aws.amazon.com/sagemaker/latest/dg/clarify-online-explainability-create-endpoint.html).
*Required*: No  
*Type*: Integer  
*Minimum*: `1`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`Seed`  <a name="cfn-sagemaker-endpointconfig-clarifyshapconfig-seed"></a>
The starting value used to initialize the random number generator in the explainer. Provide a value for this parameter to obtain a deterministic SHAP result.  
*Required*: No  
*Type*: Integer  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`ShapBaselineConfig`  <a name="cfn-sagemaker-endpointconfig-clarifyshapconfig-shapbaselineconfig"></a>
The configuration for the SHAP baseline of the Kernal SHAP algorithm.  
*Required*: Yes  
*Type*: [ClarifyShapBaselineConfig](aws-properties-sagemaker-endpointconfig-clarifyshapbaselineconfig.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`TextConfig`  <a name="cfn-sagemaker-endpointconfig-clarifyshapconfig-textconfig"></a>
A parameter that indicates if text features are treated as text and explanations are provided for individual units of text. Required for natural language processing (NLP) explainability only.  
*Required*: No  
*Type*: [ClarifyTextConfig](aws-properties-sagemaker-endpointconfig-clarifytextconfig.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`UseLogit`  <a name="cfn-sagemaker-endpointconfig-clarifyshapconfig-uselogit"></a>
A Boolean toggle to indicate if you want to use the logit function (true) or log-odds units (false) for model predictions. Defaults to false.  
*Required*: No  
*Type*: Boolean  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::SageMaker::EndpointConfig ClarifyTextConfig
<a name="aws-properties-sagemaker-endpointconfig-clarifytextconfig"></a>

A parameter used to configure the SageMaker Clarify explainer to treat text features as text so that explanations are provided for individual units of text. Required only for natural language processing (NLP) explainability. 

## Syntax
<a name="aws-properties-sagemaker-endpointconfig-clarifytextconfig-syntax"></a>

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

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

```
{
  "[Granularity](#cfn-sagemaker-endpointconfig-clarifytextconfig-granularity)" : String,
  "[Language](#cfn-sagemaker-endpointconfig-clarifytextconfig-language)" : String
}
```

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

```
  [Granularity](#cfn-sagemaker-endpointconfig-clarifytextconfig-granularity): String
  [Language](#cfn-sagemaker-endpointconfig-clarifytextconfig-language): String
```

## Properties
<a name="aws-properties-sagemaker-endpointconfig-clarifytextconfig-properties"></a>

`Granularity`  <a name="cfn-sagemaker-endpointconfig-clarifytextconfig-granularity"></a>
The unit of granularity for the analysis of text features. For example, if the unit is `'token'`, then each token (like a word in English) of the text is treated as a feature. SHAP values are computed for each unit/feature.  
*Required*: Yes  
*Type*: String  
*Allowed values*: `token | sentence | paragraph`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`Language`  <a name="cfn-sagemaker-endpointconfig-clarifytextconfig-language"></a>
Specifies the language of the text features in [ISO 639-1]( https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) or [ISO 639-3](https://en.wikipedia.org/wiki/ISO_639-3) code of a supported language.   
For a mix of multiple languages, use code `'xx'`.
*Required*: Yes  
*Type*: String  
*Allowed values*: `af | sq | ar | hy | eu | bn | bg | ca | zh | hr | cs | da | nl | en | et | fi | fr | de | el | gu | he | hi | hu | is | id | ga | it | kn | ky | lv | lt | lb | mk | ml | mr | ne | nb | fa | pl | pt | ro | ru | sa | sr | tn | si | sk | sl | es | sv | tl | ta | tt | te | tr | uk | ur | yo | lij | xx`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::SageMaker::EndpointConfig DataCaptureConfig
<a name="aws-properties-sagemaker-endpointconfig-datacaptureconfig"></a>

Specifies the configuration of your endpoint for model monitor data capture. 

## Syntax
<a name="aws-properties-sagemaker-endpointconfig-datacaptureconfig-syntax"></a>

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

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

```
{
  "[CaptureContentTypeHeader](#cfn-sagemaker-endpointconfig-datacaptureconfig-capturecontenttypeheader)" : CaptureContentTypeHeader,
  "[CaptureOptions](#cfn-sagemaker-endpointconfig-datacaptureconfig-captureoptions)" : [ CaptureOption, ... ],
  "[DestinationS3Uri](#cfn-sagemaker-endpointconfig-datacaptureconfig-destinations3uri)" : String,
  "[EnableCapture](#cfn-sagemaker-endpointconfig-datacaptureconfig-enablecapture)" : Boolean,
  "[InitialSamplingPercentage](#cfn-sagemaker-endpointconfig-datacaptureconfig-initialsamplingpercentage)" : Integer,
  "[KmsKeyId](#cfn-sagemaker-endpointconfig-datacaptureconfig-kmskeyid)" : String
}
```

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

```
  [CaptureContentTypeHeader](#cfn-sagemaker-endpointconfig-datacaptureconfig-capturecontenttypeheader): 
    CaptureContentTypeHeader
  [CaptureOptions](#cfn-sagemaker-endpointconfig-datacaptureconfig-captureoptions): 
    - CaptureOption
  [DestinationS3Uri](#cfn-sagemaker-endpointconfig-datacaptureconfig-destinations3uri): String
  [EnableCapture](#cfn-sagemaker-endpointconfig-datacaptureconfig-enablecapture): Boolean
  [InitialSamplingPercentage](#cfn-sagemaker-endpointconfig-datacaptureconfig-initialsamplingpercentage): Integer
  [KmsKeyId](#cfn-sagemaker-endpointconfig-datacaptureconfig-kmskeyid): String
```

## Properties
<a name="aws-properties-sagemaker-endpointconfig-datacaptureconfig-properties"></a>

`CaptureContentTypeHeader`  <a name="cfn-sagemaker-endpointconfig-datacaptureconfig-capturecontenttypeheader"></a>
A list of the JSON and CSV content type that the endpoint captures.  
*Required*: No  
*Type*: [CaptureContentTypeHeader](aws-properties-sagemaker-endpointconfig-capturecontenttypeheader.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`CaptureOptions`  <a name="cfn-sagemaker-endpointconfig-datacaptureconfig-captureoptions"></a>
Specifies whether the endpoint captures input data to your model, output data from your model, or both.  
*Required*: Yes  
*Type*: Array of [CaptureOption](aws-properties-sagemaker-endpointconfig-captureoption.md)  
*Minimum*: `1`  
*Maximum*: `32`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`DestinationS3Uri`  <a name="cfn-sagemaker-endpointconfig-datacaptureconfig-destinations3uri"></a>
The S3 bucket where model monitor stores captured data.  
*Required*: Yes  
*Type*: String  
*Pattern*: `(https|s3)://([^/])/?(.*)`  
*Minimum*: `0`  
*Maximum*: `512`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`EnableCapture`  <a name="cfn-sagemaker-endpointconfig-datacaptureconfig-enablecapture"></a>
Set to `True` to enable data capture.  
*Required*: No  
*Type*: Boolean  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`InitialSamplingPercentage`  <a name="cfn-sagemaker-endpointconfig-datacaptureconfig-initialsamplingpercentage"></a>
The percentage of data to capture.  
*Required*: Yes  
*Type*: Integer  
*Minimum*: `0`  
*Maximum*: `100`  
*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-endpointconfig-datacaptureconfig-kmskeyid"></a>
The AWS Key Management Service (AWS KMS) key that Amazon SageMaker uses to encrypt the captured data 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\$1CreateModel.html) request. For more information, see Using Key Policies in AWS KMS (http://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html) in the AWS Key Management Service Developer Guide.  
*Required*: No  
*Type*: String  
*Pattern*: `[a-zA-Z0-9:/_-]*`  
*Minimum*: `0`  
*Maximum*: `2048`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::SageMaker::EndpointConfig ExplainerConfig
<a name="aws-properties-sagemaker-endpointconfig-explainerconfig"></a>

A parameter to activate explainers.

## Syntax
<a name="aws-properties-sagemaker-endpointconfig-explainerconfig-syntax"></a>

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

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

```
{
  "[ClarifyExplainerConfig](#cfn-sagemaker-endpointconfig-explainerconfig-clarifyexplainerconfig)" : ClarifyExplainerConfig
}
```

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

```
  [ClarifyExplainerConfig](#cfn-sagemaker-endpointconfig-explainerconfig-clarifyexplainerconfig): 
    ClarifyExplainerConfig
```

## Properties
<a name="aws-properties-sagemaker-endpointconfig-explainerconfig-properties"></a>

`ClarifyExplainerConfig`  <a name="cfn-sagemaker-endpointconfig-explainerconfig-clarifyexplainerconfig"></a>
A member of `ExplainerConfig` that contains configuration parameters for the SageMaker Clarify explainer.  
*Required*: No  
*Type*: [ClarifyExplainerConfig](aws-properties-sagemaker-endpointconfig-clarifyexplainerconfig.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::SageMaker::EndpointConfig ProductionVariant
<a name="aws-properties-sagemaker-endpointconfig-productionvariant"></a>

Specifies a model that you want to host and the resources to deploy for hosting it. If you are deploying multiple models, tell Amazon SageMaker how to distribute traffic among the models by specifying the `InitialVariantWeight` objects. 

## Syntax
<a name="aws-properties-sagemaker-endpointconfig-productionvariant-syntax"></a>

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

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

```
{
  "[AcceleratorType](#cfn-sagemaker-endpointconfig-productionvariant-acceleratortype)" : String,
  "[ContainerStartupHealthCheckTimeoutInSeconds](#cfn-sagemaker-endpointconfig-productionvariant-containerstartuphealthchecktimeoutinseconds)" : Integer,
  "[EnableSSMAccess](#cfn-sagemaker-endpointconfig-productionvariant-enablessmaccess)" : Boolean,
  "[InitialInstanceCount](#cfn-sagemaker-endpointconfig-productionvariant-initialinstancecount)" : Integer,
  "[InitialVariantWeight](#cfn-sagemaker-endpointconfig-productionvariant-initialvariantweight)" : Number,
  "[InstanceType](#cfn-sagemaker-endpointconfig-productionvariant-instancetype)" : String,
  "[ModelDataDownloadTimeoutInSeconds](#cfn-sagemaker-endpointconfig-productionvariant-modeldatadownloadtimeoutinseconds)" : Integer,
  "[ModelName](#cfn-sagemaker-endpointconfig-productionvariant-modelname)" : String,
  "[ServerlessConfig](#cfn-sagemaker-endpointconfig-productionvariant-serverlessconfig)" : ServerlessConfig,
  "[VariantName](#cfn-sagemaker-endpointconfig-productionvariant-variantname)" : String,
  "[VolumeSizeInGB](#cfn-sagemaker-endpointconfig-productionvariant-volumesizeingb)" : Integer
}
```

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

```
  [AcceleratorType](#cfn-sagemaker-endpointconfig-productionvariant-acceleratortype): String
  [ContainerStartupHealthCheckTimeoutInSeconds](#cfn-sagemaker-endpointconfig-productionvariant-containerstartuphealthchecktimeoutinseconds): Integer
  [EnableSSMAccess](#cfn-sagemaker-endpointconfig-productionvariant-enablessmaccess): Boolean
  [InitialInstanceCount](#cfn-sagemaker-endpointconfig-productionvariant-initialinstancecount): Integer
  [InitialVariantWeight](#cfn-sagemaker-endpointconfig-productionvariant-initialvariantweight): Number
  [InstanceType](#cfn-sagemaker-endpointconfig-productionvariant-instancetype): String
  [ModelDataDownloadTimeoutInSeconds](#cfn-sagemaker-endpointconfig-productionvariant-modeldatadownloadtimeoutinseconds): Integer
  [ModelName](#cfn-sagemaker-endpointconfig-productionvariant-modelname): String
  [ServerlessConfig](#cfn-sagemaker-endpointconfig-productionvariant-serverlessconfig): 
    ServerlessConfig
  [VariantName](#cfn-sagemaker-endpointconfig-productionvariant-variantname): String
  [VolumeSizeInGB](#cfn-sagemaker-endpointconfig-productionvariant-volumesizeingb): Integer
```

## Properties
<a name="aws-properties-sagemaker-endpointconfig-productionvariant-properties"></a>

`AcceleratorType`  <a name="cfn-sagemaker-endpointconfig-productionvariant-acceleratortype"></a>
The size of the Elastic Inference (EI) instance to use for the production variant. EI instances provide on-demand GPU computing for inference. For more information, see [Using Elastic Inference in Amazon SageMaker](https://docs.aws.amazon.com/sagemaker/latest/dg/ei.html). For more information, see [Using Elastic Inference in Amazon SageMaker](https://docs.aws.amazon.com/sagemaker/latest/dg/ei.html).  
*Required*: No  
*Type*: String  
*Allowed values*: `ml.eia1.medium | ml.eia1.large | ml.eia1.xlarge | ml.eia2.medium | ml.eia2.large | ml.eia2.xlarge`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`ContainerStartupHealthCheckTimeoutInSeconds`  <a name="cfn-sagemaker-endpointconfig-productionvariant-containerstartuphealthchecktimeoutinseconds"></a>
The timeout value, in seconds, for your inference container to pass health check by SageMaker Hosting. For more information about health check, see [How Your Container Should Respond to Health Check (Ping) Requests](https://docs.aws.amazon.com/sagemaker/latest/dg/your-algorithms-inference-code.html#your-algorithms-inference-algo-ping-requests).  
*Required*: No  
*Type*: Integer  
*Minimum*: `60`  
*Maximum*: `3600`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`EnableSSMAccess`  <a name="cfn-sagemaker-endpointconfig-productionvariant-enablessmaccess"></a>
 You can use this parameter to turn on native AWS Systems Manager (SSM) access for a production variant behind an endpoint. By default, SSM access is disabled for all production variants behind an endpoint. You can turn on or turn off SSM access for a production variant behind an existing endpoint by creating a new endpoint configuration and calling `UpdateEndpoint`.   
*Required*: No  
*Type*: Boolean  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`InitialInstanceCount`  <a name="cfn-sagemaker-endpointconfig-productionvariant-initialinstancecount"></a>
Number of instances to launch initially.  
*Required*: No  
*Type*: Integer  
*Minimum*: `1`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`InitialVariantWeight`  <a name="cfn-sagemaker-endpointconfig-productionvariant-initialvariantweight"></a>
Determines initial traffic distribution among all of the models that you specify in the endpoint configuration. The traffic to a production variant is determined by the ratio of the `VariantWeight` to the sum of all `VariantWeight` values across all ProductionVariants. If unspecified, it defaults to 1.0.   
*Required*: Yes  
*Type*: Number  
*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-endpointconfig-productionvariant-instancetype"></a>
The ML compute instance type.  
*Required*: No  
*Type*: String  
*Allowed values*: `ml.t2.medium | ml.t2.large | ml.t2.xlarge | ml.t2.2xlarge | ml.m4.xlarge | ml.m4.2xlarge | ml.m4.4xlarge | ml.m4.10xlarge | ml.m4.16xlarge | ml.m5.large | ml.m5.xlarge | ml.m5.2xlarge | ml.m5.4xlarge | ml.m5.12xlarge | ml.m5.24xlarge | ml.m5d.large | ml.m5d.xlarge | ml.m5d.2xlarge | ml.m5d.4xlarge | ml.m5d.12xlarge | ml.m5d.24xlarge | ml.c4.large | 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.large | ml.c5.xlarge | ml.c5.2xlarge | ml.c5.4xlarge | ml.c5.9xlarge | ml.c5.18xlarge | ml.c5d.large | ml.c5d.xlarge | ml.c5d.2xlarge | ml.c5d.4xlarge | ml.c5d.9xlarge | ml.c5d.18xlarge | ml.g4dn.xlarge | ml.g4dn.2xlarge | ml.g4dn.4xlarge | ml.g4dn.8xlarge | ml.g4dn.12xlarge | ml.g4dn.16xlarge | ml.r5.large | ml.r5.xlarge | ml.r5.2xlarge | ml.r5.4xlarge | ml.r5.12xlarge | ml.r5.24xlarge | ml.r5d.large | ml.r5d.xlarge | ml.r5d.2xlarge | ml.r5d.4xlarge | ml.r5d.12xlarge | ml.r5d.24xlarge | ml.inf1.xlarge | ml.inf1.2xlarge | ml.inf1.6xlarge | ml.inf1.24xlarge | ml.dl1.24xlarge | 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.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.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.g5.xlarge | ml.g5.2xlarge | ml.g5.4xlarge | ml.g5.8xlarge | ml.g5.12xlarge | ml.g5.16xlarge | ml.g5.24xlarge | ml.g5.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 | ml.r8g.medium | ml.r8g.large | ml.r8g.xlarge | ml.r8g.2xlarge | ml.r8g.4xlarge | ml.r8g.8xlarge | ml.r8g.12xlarge | ml.r8g.16xlarge | ml.r8g.24xlarge | ml.r8g.48xlarge | ml.g6e.xlarge | ml.g6e.2xlarge | ml.g6e.4xlarge | ml.g6e.8xlarge | ml.g6e.12xlarge | ml.g6e.16xlarge | ml.g6e.24xlarge | ml.g6e.48xlarge | ml.g7e.2xlarge | ml.g7e.4xlarge | ml.g7e.8xlarge | ml.g7e.12xlarge | ml.g7e.24xlarge | ml.g7e.48xlarge | ml.p4d.24xlarge | ml.c7g.large | ml.c7g.xlarge | ml.c7g.2xlarge | ml.c7g.4xlarge | ml.c7g.8xlarge | ml.c7g.12xlarge | ml.c7g.16xlarge | ml.m6g.large | ml.m6g.xlarge | ml.m6g.2xlarge | ml.m6g.4xlarge | ml.m6g.8xlarge | ml.m6g.12xlarge | ml.m6g.16xlarge | ml.m6gd.large | ml.m6gd.xlarge | ml.m6gd.2xlarge | ml.m6gd.4xlarge | ml.m6gd.8xlarge | ml.m6gd.12xlarge | ml.m6gd.16xlarge | ml.c6g.large | ml.c6g.xlarge | ml.c6g.2xlarge | ml.c6g.4xlarge | ml.c6g.8xlarge | ml.c6g.12xlarge | ml.c6g.16xlarge | ml.c6gd.large | ml.c6gd.xlarge | ml.c6gd.2xlarge | ml.c6gd.4xlarge | ml.c6gd.8xlarge | ml.c6gd.12xlarge | ml.c6gd.16xlarge | ml.c6gn.large | ml.c6gn.xlarge | ml.c6gn.2xlarge | ml.c6gn.4xlarge | ml.c6gn.8xlarge | ml.c6gn.12xlarge | ml.c6gn.16xlarge | ml.r6g.large | ml.r6g.xlarge | ml.r6g.2xlarge | ml.r6g.4xlarge | ml.r6g.8xlarge | ml.r6g.12xlarge | ml.r6g.16xlarge | ml.r6gd.large | ml.r6gd.xlarge | ml.r6gd.2xlarge | ml.r6gd.4xlarge | ml.r6gd.8xlarge | ml.r6gd.12xlarge | ml.r6gd.16xlarge | ml.p4de.24xlarge | ml.trn1.2xlarge | ml.trn1.32xlarge | ml.trn1n.32xlarge | ml.trn2.48xlarge | ml.inf2.xlarge | ml.inf2.8xlarge | ml.inf2.24xlarge | ml.inf2.48xlarge | ml.p5.48xlarge | ml.p5e.48xlarge | ml.p5en.48xlarge | 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.c8g.medium | ml.c8g.large | ml.c8g.xlarge | ml.c8g.2xlarge | ml.c8g.4xlarge | ml.c8g.8xlarge | ml.c8g.12xlarge | ml.c8g.16xlarge | ml.c8g.24xlarge | ml.c8g.48xlarge | ml.r7gd.medium | ml.r7gd.large | ml.r7gd.xlarge | ml.r7gd.2xlarge | ml.r7gd.4xlarge | ml.r7gd.8xlarge | ml.r7gd.12xlarge | ml.r7gd.16xlarge | ml.m8g.medium | ml.m8g.large | ml.m8g.xlarge | ml.m8g.2xlarge | ml.m8g.4xlarge | ml.m8g.8xlarge | ml.m8g.12xlarge | ml.m8g.16xlarge | ml.m8g.24xlarge | ml.m8g.48xlarge | ml.c6in.large | ml.c6in.xlarge | ml.c6in.2xlarge | ml.c6in.4xlarge | ml.c6in.8xlarge | ml.c6in.12xlarge | ml.c6in.16xlarge | ml.c6in.24xlarge | ml.c6in.32xlarge | ml.p6-b200.48xlarge | ml.p6-b300.48xlarge | ml.p6e-gb200.36xlarge | ml.p5.4xlarge`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`ModelDataDownloadTimeoutInSeconds`  <a name="cfn-sagemaker-endpointconfig-productionvariant-modeldatadownloadtimeoutinseconds"></a>
The timeout value, in seconds, to download and extract the model that you want to host from Amazon S3 to the individual inference instance associated with this production variant.  
*Required*: No  
*Type*: Integer  
*Minimum*: `60`  
*Maximum*: `3600`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`ModelName`  <a name="cfn-sagemaker-endpointconfig-productionvariant-modelname"></a>
The name of the model that you want to host. This is the name that you specified when creating the model.  
*Required*: Yes  
*Type*: String  
*Pattern*: `[a-zA-Z0-9]([\-a-zA-Z0-9]*[a-zA-Z0-9])?`  
*Minimum*: `0`  
*Maximum*: `63`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`ServerlessConfig`  <a name="cfn-sagemaker-endpointconfig-productionvariant-serverlessconfig"></a>
The serverless configuration for an endpoint. Specifies a serverless endpoint configuration instead of an instance-based endpoint configuration.  
*Required*: No  
*Type*: [ServerlessConfig](aws-properties-sagemaker-endpointconfig-serverlessconfig.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`VariantName`  <a name="cfn-sagemaker-endpointconfig-productionvariant-variantname"></a>
The name of the production variant.  
*Required*: Yes  
*Type*: String  
*Pattern*: `[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}`  
*Minimum*: `0`  
*Maximum*: `63`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`VolumeSizeInGB`  <a name="cfn-sagemaker-endpointconfig-productionvariant-volumesizeingb"></a>
The size, in GB, of the ML storage volume attached to individual inference instance associated with the production variant. Currently only Amazon EBS gp2 storage volumes are supported.  
*Required*: No  
*Type*: Integer  
*Minimum*: `1`  
*Maximum*: `512`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::SageMaker::EndpointConfig ServerlessConfig
<a name="aws-properties-sagemaker-endpointconfig-serverlessconfig"></a>

Specifies the serverless configuration for an endpoint variant.

## Syntax
<a name="aws-properties-sagemaker-endpointconfig-serverlessconfig-syntax"></a>

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

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

```
{
  "[MaxConcurrency](#cfn-sagemaker-endpointconfig-serverlessconfig-maxconcurrency)" : Integer,
  "[MemorySizeInMB](#cfn-sagemaker-endpointconfig-serverlessconfig-memorysizeinmb)" : Integer,
  "[ProvisionedConcurrency](#cfn-sagemaker-endpointconfig-serverlessconfig-provisionedconcurrency)" : Integer
}
```

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

```
  [MaxConcurrency](#cfn-sagemaker-endpointconfig-serverlessconfig-maxconcurrency): Integer
  [MemorySizeInMB](#cfn-sagemaker-endpointconfig-serverlessconfig-memorysizeinmb): Integer
  [ProvisionedConcurrency](#cfn-sagemaker-endpointconfig-serverlessconfig-provisionedconcurrency): Integer
```

## Properties
<a name="aws-properties-sagemaker-endpointconfig-serverlessconfig-properties"></a>

`MaxConcurrency`  <a name="cfn-sagemaker-endpointconfig-serverlessconfig-maxconcurrency"></a>
The maximum number of concurrent invocations your serverless endpoint can process.  
*Required*: Yes  
*Type*: Integer  
*Minimum*: `1`  
*Maximum*: `200`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`MemorySizeInMB`  <a name="cfn-sagemaker-endpointconfig-serverlessconfig-memorysizeinmb"></a>
The memory size of your serverless endpoint. Valid values are in 1 GB increments: 1024 MB, 2048 MB, 3072 MB, 4096 MB, 5120 MB, or 6144 MB.  
*Required*: Yes  
*Type*: Integer  
*Minimum*: `1024`  
*Maximum*: `6144`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`ProvisionedConcurrency`  <a name="cfn-sagemaker-endpointconfig-serverlessconfig-provisionedconcurrency"></a>
The amount of provisioned concurrency to allocate for the serverless endpoint. Should be less than or equal to `MaxConcurrency`.  
This field is not supported for serverless endpoint recommendations for Inference Recommender jobs. For more information about creating an Inference Recommender job, see [CreateInferenceRecommendationsJobs](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateInferenceRecommendationsJob.html).
*Required*: No  
*Type*: Integer  
*Minimum*: `1`  
*Maximum*: `200`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::SageMaker::EndpointConfig Tag
<a name="aws-properties-sagemaker-endpointconfig-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-endpointconfig-tag-syntax"></a>

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

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

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

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

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

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

`Key`  <a name="cfn-sagemaker-endpointconfig-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-endpointconfig-tag-value"></a>
The tag value.  
*Required*: Yes  
*Type*: String  
*Pattern*: `([\p{L}\p{Z}\p{N}_.:/=+\-@]*)`  
*Minimum*: `0`  
*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::FeatureGroup
<a name="aws-resource-sagemaker-featuregroup"></a>

Create a new `FeatureGroup`. A `FeatureGroup` is a group of `Features` defined in the `FeatureStore` to describe a `Record`. 

The `FeatureGroup` defines the schema and features contained in the FeatureGroup. A `FeatureGroup` definition is composed of a list of `Features`, a `RecordIdentifierFeatureName`, an `EventTimeFeatureName` and configurations for its `OnlineStore` and `OfflineStore`. Check [AWS service quotas](https://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html) to see the `FeatureGroup`s quota for your AWS account.

**Important**  
You must include at least one of `OnlineStoreConfig` and `OfflineStoreConfig` to create a `FeatureGroup`.

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

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

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

```
{
  "Type" : "AWS::SageMaker::FeatureGroup",
  "Properties" : {
      "[Description](#cfn-sagemaker-featuregroup-description)" : String,
      "[EventTimeFeatureName](#cfn-sagemaker-featuregroup-eventtimefeaturename)" : String,
      "[FeatureDefinitions](#cfn-sagemaker-featuregroup-featuredefinitions)" : [ FeatureDefinition, ... ],
      "[FeatureGroupName](#cfn-sagemaker-featuregroup-featuregroupname)" : String,
      "[OfflineStoreConfig](#cfn-sagemaker-featuregroup-offlinestoreconfig)" : OfflineStoreConfig,
      "[OnlineStoreConfig](#cfn-sagemaker-featuregroup-onlinestoreconfig)" : OnlineStoreConfig,
      "[RecordIdentifierFeatureName](#cfn-sagemaker-featuregroup-recordidentifierfeaturename)" : String,
      "[RoleArn](#cfn-sagemaker-featuregroup-rolearn)" : String,
      "[Tags](#cfn-sagemaker-featuregroup-tags)" : [ Tag, ... ],
      "[ThroughputConfig](#cfn-sagemaker-featuregroup-throughputconfig)" : ThroughputConfig
    }
}
```

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

```
Type: AWS::SageMaker::FeatureGroup
Properties:
  [Description](#cfn-sagemaker-featuregroup-description): String
  [EventTimeFeatureName](#cfn-sagemaker-featuregroup-eventtimefeaturename): String
  [FeatureDefinitions](#cfn-sagemaker-featuregroup-featuredefinitions): 
    - FeatureDefinition
  [FeatureGroupName](#cfn-sagemaker-featuregroup-featuregroupname): String
  [OfflineStoreConfig](#cfn-sagemaker-featuregroup-offlinestoreconfig): 
    OfflineStoreConfig
  [OnlineStoreConfig](#cfn-sagemaker-featuregroup-onlinestoreconfig): 
    OnlineStoreConfig
  [RecordIdentifierFeatureName](#cfn-sagemaker-featuregroup-recordidentifierfeaturename): String
  [RoleArn](#cfn-sagemaker-featuregroup-rolearn): String
  [Tags](#cfn-sagemaker-featuregroup-tags): 
    - Tag
  [ThroughputConfig](#cfn-sagemaker-featuregroup-throughputconfig): 
    ThroughputConfig
```

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

`Description`  <a name="cfn-sagemaker-featuregroup-description"></a>
A free form description of a `FeatureGroup`.  
*Required*: No  
*Type*: String  
*Maximum*: `128`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`EventTimeFeatureName`  <a name="cfn-sagemaker-featuregroup-eventtimefeaturename"></a>
The name of the feature that stores the `EventTime` of a Record in a `FeatureGroup`.  
A `EventTime` is point in time when a new event occurs that corresponds to the creation or update of a `Record` in `FeatureGroup`. All `Records` in the `FeatureGroup` must have a corresponding `EventTime`.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,63}`  
*Minimum*: `1`  
*Maximum*: `64`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`FeatureDefinitions`  <a name="cfn-sagemaker-featuregroup-featuredefinitions"></a>
A list of `Feature`s. Each `Feature` must include a `FeatureName` and a `FeatureType`.   
Valid `FeatureType`s are `Integral`, `Fractional` and `String`.   
`FeatureName`s cannot be any of the following: `is_deleted`, `write_time`, `api_invocation_time`.  
You can create up to 2,500 `FeatureDefinition`s per `FeatureGroup`.  
*Required*: Yes  
*Type*: Array of [FeatureDefinition](aws-properties-sagemaker-featuregroup-featuredefinition.md)  
*Minimum*: `1`  
*Maximum*: `2500`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`FeatureGroupName`  <a name="cfn-sagemaker-featuregroup-featuregroupname"></a>
The name of the `FeatureGroup`.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,63}`  
*Minimum*: `1`  
*Maximum*: `64`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`OfflineStoreConfig`  <a name="cfn-sagemaker-featuregroup-offlinestoreconfig"></a>
The configuration of an `OfflineStore`.  
*Required*: No  
*Type*: [OfflineStoreConfig](aws-properties-sagemaker-featuregroup-offlinestoreconfig.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`OnlineStoreConfig`  <a name="cfn-sagemaker-featuregroup-onlinestoreconfig"></a>
The configuration of an `OnlineStore`.  
*Required*: No  
*Type*: [OnlineStoreConfig](aws-properties-sagemaker-featuregroup-onlinestoreconfig.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`RecordIdentifierFeatureName`  <a name="cfn-sagemaker-featuregroup-recordidentifierfeaturename"></a>
The name of the `Feature` whose value uniquely identifies a `Record` defined in the `FeatureGroup``FeatureDefinitions`.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,63}`  
*Minimum*: `1`  
*Maximum*: `64`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`RoleArn`  <a name="cfn-sagemaker-featuregroup-rolearn"></a>
The Amazon Resource Name (ARN) of the IAM execution role used to create the feature group.  
*Required*: No  
*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)

`Tags`  <a name="cfn-sagemaker-featuregroup-tags"></a>
Tags used to define a `FeatureGroup`.  
*Required*: No  
*Type*: Array of [Tag](aws-properties-sagemaker-featuregroup-tag.md)  
*Maximum*: `50`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`ThroughputConfig`  <a name="cfn-sagemaker-featuregroup-throughputconfig"></a>
Used to set feature group throughput configuration. There are two modes: `ON_DEMAND` and `PROVISIONED`. With on-demand mode, you are charged for data reads and writes that your application performs on your feature group. You do not need to specify read and write throughput because Feature Store accommodates your workloads as they ramp up and down. You can switch a feature group to on-demand only once in a 24 hour period. With provisioned throughput mode, you specify the read and write capacity per second that you expect your application to require, and you are billed based on those limits. Exceeding provisioned throughput will result in your requests being throttled.   
Note: `PROVISIONED` throughput mode is supported only for feature groups that are offline-only, or use the [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_OnlineStoreConfig.html#sagemaker-Type-OnlineStoreConfig-StorageType](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_OnlineStoreConfig.html#sagemaker-Type-OnlineStoreConfig-StorageType) tier online store.   
*Required*: No  
*Type*: [ThroughputConfig](aws-properties-sagemaker-featuregroup-throughputconfig.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

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

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

When you pass the logical ID of this resource to the intrinsic `Ref` function, `Ref` returns the `FeatureGroupName` of the feature 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-featuregroup-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-featuregroup-return-values-fn--getatt-fn--getatt"></a>

`CreationTime`  <a name="CreationTime-fn::getatt"></a>
The time a `FeatureGroup` was created.

`FeatureGroupStatus`  <a name="FeatureGroupStatus-fn::getatt"></a>
A `FeatureGroup` status.

# AWS::SageMaker::FeatureGroup DataCatalogConfig
<a name="aws-properties-sagemaker-featuregroup-datacatalogconfig"></a>

The meta data of the Glue table which serves as data catalog for the `OfflineStore`. 

## Syntax
<a name="aws-properties-sagemaker-featuregroup-datacatalogconfig-syntax"></a>

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

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

```
{
  "[Catalog](#cfn-sagemaker-featuregroup-datacatalogconfig-catalog)" : String,
  "[Database](#cfn-sagemaker-featuregroup-datacatalogconfig-database)" : String,
  "[TableName](#cfn-sagemaker-featuregroup-datacatalogconfig-tablename)" : String
}
```

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

```
  [Catalog](#cfn-sagemaker-featuregroup-datacatalogconfig-catalog): String
  [Database](#cfn-sagemaker-featuregroup-datacatalogconfig-database): String
  [TableName](#cfn-sagemaker-featuregroup-datacatalogconfig-tablename): String
```

## Properties
<a name="aws-properties-sagemaker-featuregroup-datacatalogconfig-properties"></a>

`Catalog`  <a name="cfn-sagemaker-featuregroup-datacatalogconfig-catalog"></a>
The name of the Glue table catalog.  
*Required*: Yes  
*Type*: String  
*Pattern*: `[\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF ]*`  
*Minimum*: `1`  
*Maximum*: `255`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`Database`  <a name="cfn-sagemaker-featuregroup-datacatalogconfig-database"></a>
The name of the Glue table database.  
*Required*: Yes  
*Type*: String  
*Pattern*: `[\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF ]*`  
*Minimum*: `1`  
*Maximum*: `255`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`TableName`  <a name="cfn-sagemaker-featuregroup-datacatalogconfig-tablename"></a>
The name of the Glue table.  
*Required*: Yes  
*Type*: String  
*Pattern*: `[\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF ]*`  
*Minimum*: `1`  
*Maximum*: `255`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::SageMaker::FeatureGroup FeatureDefinition
<a name="aws-properties-sagemaker-featuregroup-featuredefinition"></a>

A list of features. You must include `FeatureName` and `FeatureType`. Valid feature `FeatureType`s are `Integral`, `Fractional` and `String`. 

## Syntax
<a name="aws-properties-sagemaker-featuregroup-featuredefinition-syntax"></a>

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

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

```
{
  "[FeatureName](#cfn-sagemaker-featuregroup-featuredefinition-featurename)" : String,
  "[FeatureType](#cfn-sagemaker-featuregroup-featuredefinition-featuretype)" : String
}
```

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

```
  [FeatureName](#cfn-sagemaker-featuregroup-featuredefinition-featurename): String
  [FeatureType](#cfn-sagemaker-featuregroup-featuredefinition-featuretype): String
```

## Properties
<a name="aws-properties-sagemaker-featuregroup-featuredefinition-properties"></a>

`FeatureName`  <a name="cfn-sagemaker-featuregroup-featuredefinition-featurename"></a>
The name of a feature. The type must be a string. `FeatureName` cannot be any of the following: `is_deleted`, `write_time`, `api_invocation_time`.  
The name:  
+ Must start with an alphanumeric character.
+ Can only include alphanumeric characters, underscores, and hyphens. Spaces are not allowed.
*Required*: Yes  
*Type*: String  
*Pattern*: `^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,63}`  
*Minimum*: `1`  
*Maximum*: `64`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`FeatureType`  <a name="cfn-sagemaker-featuregroup-featuredefinition-featuretype"></a>
The value type of a feature. Valid values are Integral, Fractional, or String.  
*Required*: Yes  
*Type*: String  
*Allowed values*: `Integral | Fractional | 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::FeatureGroup OfflineStoreConfig
<a name="aws-properties-sagemaker-featuregroup-offlinestoreconfig"></a>

The configuration of an `OfflineStore`.

Provide an `OfflineStoreConfig` in a request to `CreateFeatureGroup` to create an `OfflineStore`.

To encrypt an `OfflineStore` using at rest data encryption, specify AWS Key Management Service (KMS) key ID, or `KMSKeyId`, in `S3StorageConfig`.

## Syntax
<a name="aws-properties-sagemaker-featuregroup-offlinestoreconfig-syntax"></a>

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

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

```
{
  "[DataCatalogConfig](#cfn-sagemaker-featuregroup-offlinestoreconfig-datacatalogconfig)" : DataCatalogConfig,
  "[DisableGlueTableCreation](#cfn-sagemaker-featuregroup-offlinestoreconfig-disablegluetablecreation)" : Boolean,
  "[S3StorageConfig](#cfn-sagemaker-featuregroup-offlinestoreconfig-s3storageconfig)" : S3StorageConfig,
  "[TableFormat](#cfn-sagemaker-featuregroup-offlinestoreconfig-tableformat)" : String
}
```

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

```
  [DataCatalogConfig](#cfn-sagemaker-featuregroup-offlinestoreconfig-datacatalogconfig): 
    DataCatalogConfig
  [DisableGlueTableCreation](#cfn-sagemaker-featuregroup-offlinestoreconfig-disablegluetablecreation): Boolean
  [S3StorageConfig](#cfn-sagemaker-featuregroup-offlinestoreconfig-s3storageconfig): 
    S3StorageConfig
  [TableFormat](#cfn-sagemaker-featuregroup-offlinestoreconfig-tableformat): String
```

## Properties
<a name="aws-properties-sagemaker-featuregroup-offlinestoreconfig-properties"></a>

`DataCatalogConfig`  <a name="cfn-sagemaker-featuregroup-offlinestoreconfig-datacatalogconfig"></a>
The meta data of the Glue table for the `OfflineStore`. If not provided, Feature Store auto-generates the table name, database, and catalog when the `OfflineStore` is created. You can optionally provide this configuration to specify custom values. This applies to both Glue and Apache Iceberg table formats.  
*Required*: No  
*Type*: [DataCatalogConfig](aws-properties-sagemaker-featuregroup-datacatalogconfig.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`DisableGlueTableCreation`  <a name="cfn-sagemaker-featuregroup-offlinestoreconfig-disablegluetablecreation"></a>
Set to `True` to disable the automatic creation of an AWS Glue table when configuring an `OfflineStore`. If set to `True` and `DataCatalogConfig` is provided, Feature Store associates the provided catalog configuration with the feature group without creating a table. In this case, you are responsible for creating and managing the Glue table. If set to `True` without `DataCatalogConfig`, no Glue table is created or associated with the feature group. The `Iceberg` table format is only supported when this is set to `False`.  
If set to `False` and `DataCatalogConfig` is provided, Feature Store creates the table using the specified names. If set to `False` without `DataCatalogConfig`, Feature Store auto-generates the table name following [Athena's naming recommendations](https://docs.aws.amazon.com/athena/latest/ug/tables-databases-columns-names.html). This applies to both Glue and Apache Iceberg table formats.  
The default value is `False`.  
*Required*: No  
*Type*: Boolean  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`S3StorageConfig`  <a name="cfn-sagemaker-featuregroup-offlinestoreconfig-s3storageconfig"></a>
The Amazon Simple Storage (Amazon S3) location of `OfflineStore`.  
*Required*: Yes  
*Type*: [S3StorageConfig](aws-properties-sagemaker-featuregroup-s3storageconfig.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`TableFormat`  <a name="cfn-sagemaker-featuregroup-offlinestoreconfig-tableformat"></a>
Format for the offline store table. Supported formats are Glue (Default) and [Apache Iceberg](https://iceberg.apache.org/).  
*Required*: No  
*Type*: String  
*Allowed values*: `Iceberg | Glue`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::SageMaker::FeatureGroup OnlineStoreConfig
<a name="aws-properties-sagemaker-featuregroup-onlinestoreconfig"></a>

Use this to specify the AWS Key Management Service (KMS) Key ID, or `KMSKeyId`, for at rest data encryption. You can turn `OnlineStore` on or off by specifying the `EnableOnlineStore` flag at General Assembly.

The default value is `False`.

## Syntax
<a name="aws-properties-sagemaker-featuregroup-onlinestoreconfig-syntax"></a>

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

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

```
{
  "[EnableOnlineStore](#cfn-sagemaker-featuregroup-onlinestoreconfig-enableonlinestore)" : Boolean,
  "[SecurityConfig](#cfn-sagemaker-featuregroup-onlinestoreconfig-securityconfig)" : OnlineStoreSecurityConfig,
  "[StorageType](#cfn-sagemaker-featuregroup-onlinestoreconfig-storagetype)" : String,
  "[TtlDuration](#cfn-sagemaker-featuregroup-onlinestoreconfig-ttlduration)" : TtlDuration
}
```

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

```
  [EnableOnlineStore](#cfn-sagemaker-featuregroup-onlinestoreconfig-enableonlinestore): Boolean
  [SecurityConfig](#cfn-sagemaker-featuregroup-onlinestoreconfig-securityconfig): 
    OnlineStoreSecurityConfig
  [StorageType](#cfn-sagemaker-featuregroup-onlinestoreconfig-storagetype): String
  [TtlDuration](#cfn-sagemaker-featuregroup-onlinestoreconfig-ttlduration): 
    TtlDuration
```

## Properties
<a name="aws-properties-sagemaker-featuregroup-onlinestoreconfig-properties"></a>

`EnableOnlineStore`  <a name="cfn-sagemaker-featuregroup-onlinestoreconfig-enableonlinestore"></a>
Turn `OnlineStore` off by specifying `False` for the `EnableOnlineStore` flag. Turn `OnlineStore` on by specifying `True` for the `EnableOnlineStore` flag.   
The default value is `False`.  
*Required*: No  
*Type*: Boolean  
*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-featuregroup-onlinestoreconfig-securityconfig"></a>
Use to specify KMS Key ID (`KMSKeyId`) for at-rest encryption of your `OnlineStore`.  
*Required*: No  
*Type*: [OnlineStoreSecurityConfig](aws-properties-sagemaker-featuregroup-onlinestoresecurityconfig.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`StorageType`  <a name="cfn-sagemaker-featuregroup-onlinestoreconfig-storagetype"></a>
Option for different tiers of low latency storage for real-time data retrieval.  
+ `Standard`: A managed low latency data store for feature groups.
+ `InMemory`: A managed data store for feature groups that supports very low latency retrieval. 
*Required*: No  
*Type*: String  
*Allowed values*: `Standard | InMemory`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`TtlDuration`  <a name="cfn-sagemaker-featuregroup-onlinestoreconfig-ttlduration"></a>
Time to live duration, where the record is hard deleted after the expiration time is reached; `ExpiresAt` = `EventTime` \$1 `TtlDuration`. For information on HardDelete, see the [DeleteRecord](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_feature_store_DeleteRecord.html) API in the Amazon SageMaker API Reference guide.  
*Required*: No  
*Type*: [TtlDuration](aws-properties-sagemaker-featuregroup-ttlduration.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::FeatureGroup OnlineStoreSecurityConfig
<a name="aws-properties-sagemaker-featuregroup-onlinestoresecurityconfig"></a>

The security configuration for `OnlineStore`.

## Syntax
<a name="aws-properties-sagemaker-featuregroup-onlinestoresecurityconfig-syntax"></a>

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

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

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

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

```
  [KmsKeyId](#cfn-sagemaker-featuregroup-onlinestoresecurityconfig-kmskeyid): String
```

## Properties
<a name="aws-properties-sagemaker-featuregroup-onlinestoresecurityconfig-properties"></a>

`KmsKeyId`  <a name="cfn-sagemaker-featuregroup-onlinestoresecurityconfig-kmskeyid"></a>
The AWS Key Management Service (KMS) key ARN that SageMaker Feature Store uses to encrypt the Amazon S3 objects at rest using Amazon S3 server-side encryption.  
The caller (either user or IAM role) of `CreateFeatureGroup` must have below permissions to the `OnlineStore``KmsKeyId`:  
+  `"kms:Encrypt"` 
+  `"kms:Decrypt"` 
+  `"kms:DescribeKey"` 
+  `"kms:CreateGrant"` 
+  `"kms:RetireGrant"` 
+  `"kms:ReEncryptFrom"` 
+  `"kms:ReEncryptTo"` 
+  `"kms:GenerateDataKey"` 
+  `"kms:ListAliases"` 
+  `"kms:ListGrants"` 
+  `"kms:RevokeGrant"` 
The caller (either user or IAM role) to all DataPlane operations (`PutRecord`, `GetRecord`, `DeleteRecord`) must have the following permissions to the `KmsKeyId`:  
+  `"kms:Decrypt"` 
*Required*: No  
*Type*: String  
*Maximum*: `2048`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::SageMaker::FeatureGroup S3StorageConfig
<a name="aws-properties-sagemaker-featuregroup-s3storageconfig"></a>

The Amazon Simple Storage (Amazon S3) location and security configuration for `OfflineStore`.

## Syntax
<a name="aws-properties-sagemaker-featuregroup-s3storageconfig-syntax"></a>

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

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

```
{
  "[KmsKeyId](#cfn-sagemaker-featuregroup-s3storageconfig-kmskeyid)" : String,
  "[S3Uri](#cfn-sagemaker-featuregroup-s3storageconfig-s3uri)" : String
}
```

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

```
  [KmsKeyId](#cfn-sagemaker-featuregroup-s3storageconfig-kmskeyid): String
  [S3Uri](#cfn-sagemaker-featuregroup-s3storageconfig-s3uri): String
```

## Properties
<a name="aws-properties-sagemaker-featuregroup-s3storageconfig-properties"></a>

`KmsKeyId`  <a name="cfn-sagemaker-featuregroup-s3storageconfig-kmskeyid"></a>
The AWS Key Management Service (KMS) key ARN of the key used to encrypt any objects written into the `OfflineStore` S3 location.  
The IAM `roleARN` that is passed as a parameter to `CreateFeatureGroup` must have below permissions to the `KmsKeyId`:  
+  `"kms:GenerateDataKey"` 
*Required*: No  
*Type*: String  
*Maximum*: `2048`  
*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-featuregroup-s3storageconfig-s3uri"></a>
The S3 URI, or location in Amazon S3, of `OfflineStore`.  
S3 URIs have a format similar to the following: `s3://example-bucket/prefix/`.  
*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::FeatureGroup Tag
<a name="aws-properties-sagemaker-featuregroup-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-featuregroup-tag-syntax"></a>

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

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

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

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

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

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

`Key`  <a name="cfn-sagemaker-featuregroup-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*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

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

# AWS::SageMaker::FeatureGroup ThroughputConfig
<a name="aws-properties-sagemaker-featuregroup-throughputconfig"></a>

Used to set feature group throughput configuration. There are two modes: `ON_DEMAND` and `PROVISIONED`. With on-demand mode, you are charged for data reads and writes that your application performs on your feature group. You do not need to specify read and write throughput because Feature Store accommodates your workloads as they ramp up and down. You can switch a feature group to on-demand only once in a 24 hour period. With provisioned throughput mode, you specify the read and write capacity per second that you expect your application to require, and you are billed based on those limits. Exceeding provisioned throughput will result in your requests being throttled. 

Note: `PROVISIONED` throughput mode is supported only for feature groups that are offline-only, or use the [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_OnlineStoreConfig.html#sagemaker-Type-OnlineStoreConfig-StorageType](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_OnlineStoreConfig.html#sagemaker-Type-OnlineStoreConfig-StorageType) tier online store. 

## Syntax
<a name="aws-properties-sagemaker-featuregroup-throughputconfig-syntax"></a>

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

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

```
{
  "[ProvisionedReadCapacityUnits](#cfn-sagemaker-featuregroup-throughputconfig-provisionedreadcapacityunits)" : Integer,
  "[ProvisionedWriteCapacityUnits](#cfn-sagemaker-featuregroup-throughputconfig-provisionedwritecapacityunits)" : Integer,
  "[ThroughputMode](#cfn-sagemaker-featuregroup-throughputconfig-throughputmode)" : String
}
```

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

```
  [ProvisionedReadCapacityUnits](#cfn-sagemaker-featuregroup-throughputconfig-provisionedreadcapacityunits): Integer
  [ProvisionedWriteCapacityUnits](#cfn-sagemaker-featuregroup-throughputconfig-provisionedwritecapacityunits): Integer
  [ThroughputMode](#cfn-sagemaker-featuregroup-throughputconfig-throughputmode): String
```

## Properties
<a name="aws-properties-sagemaker-featuregroup-throughputconfig-properties"></a>

`ProvisionedReadCapacityUnits`  <a name="cfn-sagemaker-featuregroup-throughputconfig-provisionedreadcapacityunits"></a>
 For provisioned feature groups with online store enabled, this indicates the read throughput you are billed for and can consume without throttling.   
This field is not applicable for on-demand feature groups.   
*Required*: No  
*Type*: Integer  
*Minimum*: `0`  
*Maximum*: `10000000`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ProvisionedWriteCapacityUnits`  <a name="cfn-sagemaker-featuregroup-throughputconfig-provisionedwritecapacityunits"></a>
 For provisioned feature groups, this indicates the write throughput you are billed for and can consume without throttling.   
This field is not applicable for on-demand feature groups.   
*Required*: No  
*Type*: Integer  
*Minimum*: `0`  
*Maximum*: `10000000`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ThroughputMode`  <a name="cfn-sagemaker-featuregroup-throughputconfig-throughputmode"></a>
The mode used for your feature group throughput: `ON_DEMAND` or `PROVISIONED`.   
*Required*: Yes  
*Type*: String  
*Allowed values*: `OnDemand | Provisioned`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::SageMaker::FeatureGroup TtlDuration
<a name="aws-properties-sagemaker-featuregroup-ttlduration"></a>

Time to live duration, where the record is hard deleted after the expiration time is reached; `ExpiresAt` = `EventTime` \$1 `TtlDuration`. For information on HardDelete, see the [DeleteRecord](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_feature_store_DeleteRecord.html) API in the Amazon SageMaker API Reference guide.

## Syntax
<a name="aws-properties-sagemaker-featuregroup-ttlduration-syntax"></a>

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

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

```
{
  "[Unit](#cfn-sagemaker-featuregroup-ttlduration-unit)" : String,
  "[Value](#cfn-sagemaker-featuregroup-ttlduration-value)" : Integer
}
```

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

```
  [Unit](#cfn-sagemaker-featuregroup-ttlduration-unit): String
  [Value](#cfn-sagemaker-featuregroup-ttlduration-value): Integer
```

## Properties
<a name="aws-properties-sagemaker-featuregroup-ttlduration-properties"></a>

`Unit`  <a name="cfn-sagemaker-featuregroup-ttlduration-unit"></a>
`TtlDuration` time unit.  
*Required*: No  
*Type*: String  
*Allowed values*: `Seconds | Minutes | Hours | Days | Weeks`  
*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-featuregroup-ttlduration-value"></a>
`TtlDuration` time value.  
*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)

# AWS::SageMaker::Image
<a name="aws-resource-sagemaker-image"></a>

Creates a custom SageMaker AI image. A SageMaker AI image is a set of image versions. Each image version represents a container image stored in Amazon ECR. For more information, see [Bring your own SageMaker AI image](https://docs.aws.amazon.com/sagemaker/latest/dg/studio-byoi.html).

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

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

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

```
{
  "Type" : "AWS::SageMaker::Image",
  "Properties" : {
      "[ImageDescription](#cfn-sagemaker-image-imagedescription)" : String,
      "[ImageDisplayName](#cfn-sagemaker-image-imagedisplayname)" : String,
      "[ImageName](#cfn-sagemaker-image-imagename)" : String,
      "[ImageRoleArn](#cfn-sagemaker-image-imagerolearn)" : String,
      "[Tags](#cfn-sagemaker-image-tags)" : [ Tag, ... ]
    }
}
```

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

```
Type: AWS::SageMaker::Image
Properties:
  [ImageDescription](#cfn-sagemaker-image-imagedescription): String
  [ImageDisplayName](#cfn-sagemaker-image-imagedisplayname): String
  [ImageName](#cfn-sagemaker-image-imagename): String
  [ImageRoleArn](#cfn-sagemaker-image-imagerolearn): String
  [Tags](#cfn-sagemaker-image-tags): 
    - Tag
```

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

`ImageDescription`  <a name="cfn-sagemaker-image-imagedescription"></a>
The description of the image.  
*Required*: No  
*Type*: String  
*Pattern*: `.+`  
*Minimum*: `1`  
*Maximum*: `512`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ImageDisplayName`  <a name="cfn-sagemaker-image-imagedisplayname"></a>
The display name of the image.  
*Length Constraints*: Minimum length of 1. Maximum length of 128.  
*Pattern*: `^\S(.*\S)?$`  
*Required*: No  
*Type*: String  
*Pattern*: `^[A-Za-z0-9 -_]+$`  
*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)

`ImageName`  <a name="cfn-sagemaker-image-imagename"></a>
The name of the Image. Must be unique by region in your account.  
*Length Constraints*: Minimum length of 1. Maximum length of 63.  
*Pattern*: `^[a-zA-Z0-9]([-.]?[a-zA-Z0-9]){0,62}$`  
*Required*: Yes  
*Type*: String  
*Pattern*: `^[a-zA-Z0-9]([-.]?[a-zA-Z0-9])*$`  
*Minimum*: `1`  
*Maximum*: `63`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`ImageRoleArn`  <a name="cfn-sagemaker-image-imagerolearn"></a>
The Amazon Resource Name (ARN) of an IAM role that enables Amazon SageMaker to perform tasks on your behalf.   
*Length Constraints*: Minimum length of 20. Maximum length of 2048.  
*Pattern*: `^arn:aws[a-z\-]*:iam::\d{12}:role/?[a-zA-Z_0-9+=,.@\-_/]+$`  
*Required*: Yes  
*Type*: String  
*Pattern*: `^arn:aws(-[\w]+)*:iam::[0-9]{12}:role/.*$`  
*Minimum*: `1`  
*Maximum*: `256`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Tags`  <a name="cfn-sagemaker-image-tags"></a>
A list of key-value pairs to apply to this resource.  
*Array Members*: Minimum number of 0 items. Maximum number of 50 items.  
*Required*: No  
*Type*: Array of [Tag](aws-properties-sagemaker-image-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)

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

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

When you pass the logical ID of this resource to the intrinsic `Ref` function, `Ref` returns the ImageArn.

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-image-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-image-return-values-fn--getatt-fn--getatt"></a>

`ImageArn`  <a name="ImageArn-fn::getatt"></a>
The Amazon Resource Name (ARN) of the image.  
*Type*: String  
*Length Constraints*: Maximum length of 256.  
*Pattern*: `^arn:aws(-[\w]+)*:sagemaker:.+:[0-9]{12}:image/[a-z0-9]([-.]?[a-z0-9])*$`

# AWS::SageMaker::Image Tag
<a name="aws-properties-sagemaker-image-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-image-tag-syntax"></a>

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

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

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

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

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

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

`Key`  <a name="cfn-sagemaker-image-tag-key"></a>
The tag key. Tag keys must be unique per resource.  
*Required*: Yes  
*Type*: String  
*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-image-tag-value"></a>
The tag value.  
*Required*: Yes  
*Type*: String  
*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::ImageVersion
<a name="aws-resource-sagemaker-imageversion"></a>

Creates a version of the SageMaker image specified by `ImageName`. The version represents the Amazon Container Registry (ECR) container image specified by `BaseImage`.

**Note**  
You can use the `DependsOn` attribute to specify that the creation of a specific resource follows another. You can use it for the following use cases. For more information, see [`DependsOn` attribute](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html).  
1. `DependsOn` can be used to establish a parent/child relationship between `ImageVersion` and `Image` where the `ImageVersion``DependsOn`the `Image`.  
2. `DependsOn` can be used to establish order among `ImageVersion`s within the same `Image` namespace. For example, if ImageVersionB `DependsOn` ImageVersionA and both share the same parent `Image`, then ImageVersionA is version N and ImageVersionB is N\$11.

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

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

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

```
{
  "Type" : "AWS::SageMaker::ImageVersion",
  "Properties" : {
      "[Alias](#cfn-sagemaker-imageversion-alias)" : String,
      "[Aliases](#cfn-sagemaker-imageversion-aliases)" : [ String, ... ],
      "[BaseImage](#cfn-sagemaker-imageversion-baseimage)" : String,
      "[Horovod](#cfn-sagemaker-imageversion-horovod)" : Boolean,
      "[ImageName](#cfn-sagemaker-imageversion-imagename)" : String,
      "[JobType](#cfn-sagemaker-imageversion-jobtype)" : String,
      "[MLFramework](#cfn-sagemaker-imageversion-mlframework)" : String,
      "[Processor](#cfn-sagemaker-imageversion-processor)" : String,
      "[ProgrammingLang](#cfn-sagemaker-imageversion-programminglang)" : String,
      "[ReleaseNotes](#cfn-sagemaker-imageversion-releasenotes)" : String,
      "[VendorGuidance](#cfn-sagemaker-imageversion-vendorguidance)" : String
    }
}
```

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

```
Type: AWS::SageMaker::ImageVersion
Properties:
  [Alias](#cfn-sagemaker-imageversion-alias): String
  [Aliases](#cfn-sagemaker-imageversion-aliases): 
    - String
  [BaseImage](#cfn-sagemaker-imageversion-baseimage): String
  [Horovod](#cfn-sagemaker-imageversion-horovod): Boolean
  [ImageName](#cfn-sagemaker-imageversion-imagename): String
  [JobType](#cfn-sagemaker-imageversion-jobtype): String
  [MLFramework](#cfn-sagemaker-imageversion-mlframework): String
  [Processor](#cfn-sagemaker-imageversion-processor): String
  [ProgrammingLang](#cfn-sagemaker-imageversion-programminglang): String
  [ReleaseNotes](#cfn-sagemaker-imageversion-releasenotes): String
  [VendorGuidance](#cfn-sagemaker-imageversion-vendorguidance): String
```

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

`Alias`  <a name="cfn-sagemaker-imageversion-alias"></a>
The alias for the image version.  
*Required*: No  
*Type*: String  
*Pattern*: `(?!^[.-])^([a-zA-Z0-9-_.]+)$`  
*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)

`Aliases`  <a name="cfn-sagemaker-imageversion-aliases"></a>
A list of aliases for the image version.  
*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)

`BaseImage`  <a name="cfn-sagemaker-imageversion-baseimage"></a>
The container image that the SageMaker image version is based on.  
*Required*: Yes  
*Type*: String  
*Pattern*: `.+`  
*Minimum*: `1`  
*Maximum*: `255`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`Horovod`  <a name="cfn-sagemaker-imageversion-horovod"></a>
Indicates whether the image version supports Horovod distributed training framework.  
*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)

`ImageName`  <a name="cfn-sagemaker-imageversion-imagename"></a>
The name of the parent image.  
*Length Constraints*: Minimum length of 1. Maximum length of 63.  
*Pattern*: `^[a-zA-Z0-9]([-.]?[a-zA-Z0-9]){0,62}$`  
*Required*: Yes  
*Type*: String  
*Pattern*: `^[A-Za-z0-9]([-.]?[A-Za-z0-9])*$`  
*Minimum*: `1`  
*Maximum*: `63`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`JobType`  <a name="cfn-sagemaker-imageversion-jobtype"></a>
The job type that the image version supports (for example, TRAINING or INFERENCE).  
*Required*: No  
*Type*: String  
*Allowed values*: `TRAINING | INFERENCE | NOTEBOOK_KERNEL`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`MLFramework`  <a name="cfn-sagemaker-imageversion-mlframework"></a>
The machine learning framework that the image version supports.  
*Required*: No  
*Type*: String  
*Pattern*: `^[a-zA-Z]+ ?\d+\.\d+(\.\d+)?$`  
*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)

`Processor`  <a name="cfn-sagemaker-imageversion-processor"></a>
The processor architecture that the image version supports (for example, CPU or GPU).  
*Required*: No  
*Type*: String  
*Allowed values*: `CPU | GPU`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ProgrammingLang`  <a name="cfn-sagemaker-imageversion-programminglang"></a>
The programming language that the image version supports.  
*Required*: No  
*Type*: String  
*Pattern*: `^[a-zA-Z]+ ?\d+\.\d+(\.\d+)?$`  
*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)

`ReleaseNotes`  <a name="cfn-sagemaker-imageversion-releasenotes"></a>
Release notes for the image version.  
*Required*: No  
*Type*: String  
*Pattern*: `.*`  
*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)

`VendorGuidance`  <a name="cfn-sagemaker-imageversion-vendorguidance"></a>
Vendor guidance for the image version, such as stability or deprecation status.  
*Required*: No  
*Type*: String  
*Allowed values*: `NOT_PROVIDED | STABLE | TO_BE_ARCHIVED | ARCHIVED`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

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

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

When you pass the logical ID of this resource to the intrinsic `Ref` function, `Ref` returns the ImageVersionArn.

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-imageversion-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-imageversion-return-values-fn--getatt-fn--getatt"></a>

`ContainerImage`  <a name="ContainerImage-fn::getatt"></a>
The URI of the container image version referenced by ImageVersion.

`ImageArn`  <a name="ImageArn-fn::getatt"></a>
The Amazon Resource Name (ARN) of the parent Image.

`ImageVersionArn`  <a name="ImageVersionArn-fn::getatt"></a>
The Amazon Resource Name (ARN) of the image version.  
*Type*: String  
*Length Constraints*: Maximum length of 256.  
*Pattern*: `^arn:aws(-[\w]+)*:sagemaker:.+:[0-9]{12}:image-version/[a-z0-9]([-.]?[a-z0-9])*/[0-9]+$`

`Version`  <a name="Version-fn::getatt"></a>
The version of the image.

# AWS::SageMaker::InferenceComponent
<a name="aws-resource-sagemaker-inferencecomponent"></a>

Creates an inference component, which is a SageMaker AI hosting object that you can use to deploy a model to an endpoint. In the inference component settings, you specify the model, the endpoint, and how the model utilizes the resources that the endpoint hosts. You can optimize resource utilization by tailoring how the required CPU cores, accelerators, and memory are allocated. You can deploy multiple inference components to an endpoint, where each inference component contains one model and the resource utilization needs for that individual model. After you deploy an inference component, you can directly invoke the associated model when you use the InvokeEndpoint API action.

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

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

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

```
{
  "Type" : "AWS::SageMaker::InferenceComponent",
  "Properties" : {
      "[DeploymentConfig](#cfn-sagemaker-inferencecomponent-deploymentconfig)" : InferenceComponentDeploymentConfig,
      "[EndpointArn](#cfn-sagemaker-inferencecomponent-endpointarn)" : String,
      "[EndpointName](#cfn-sagemaker-inferencecomponent-endpointname)" : String,
      "[InferenceComponentName](#cfn-sagemaker-inferencecomponent-inferencecomponentname)" : String,
      "[RuntimeConfig](#cfn-sagemaker-inferencecomponent-runtimeconfig)" : InferenceComponentRuntimeConfig,
      "[Specification](#cfn-sagemaker-inferencecomponent-specification)" : InferenceComponentSpecification,
      "[Tags](#cfn-sagemaker-inferencecomponent-tags)" : [ Tag, ... ],
      "[VariantName](#cfn-sagemaker-inferencecomponent-variantname)" : String
    }
}
```

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

```
Type: AWS::SageMaker::InferenceComponent
Properties:
  [DeploymentConfig](#cfn-sagemaker-inferencecomponent-deploymentconfig): 
    InferenceComponentDeploymentConfig
  [EndpointArn](#cfn-sagemaker-inferencecomponent-endpointarn): String
  [EndpointName](#cfn-sagemaker-inferencecomponent-endpointname): String
  [InferenceComponentName](#cfn-sagemaker-inferencecomponent-inferencecomponentname): String
  [RuntimeConfig](#cfn-sagemaker-inferencecomponent-runtimeconfig): 
    InferenceComponentRuntimeConfig
  [Specification](#cfn-sagemaker-inferencecomponent-specification): 
    InferenceComponentSpecification
  [Tags](#cfn-sagemaker-inferencecomponent-tags): 
    - Tag
  [VariantName](#cfn-sagemaker-inferencecomponent-variantname): String
```

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

`DeploymentConfig`  <a name="cfn-sagemaker-inferencecomponent-deploymentconfig"></a>
The deployment configuration for an endpoint, which contains the desired deployment strategy and rollback configurations.  
*Required*: No  
*Type*: [InferenceComponentDeploymentConfig](aws-properties-sagemaker-inferencecomponent-inferencecomponentdeploymentconfig.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`EndpointArn`  <a name="cfn-sagemaker-inferencecomponent-endpointarn"></a>
The Amazon Resource Name (ARN) of the endpoint that hosts the inference component.  
*Required*: No  
*Type*: String  
*Minimum*: `1`  
*Maximum*: `256`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`EndpointName`  <a name="cfn-sagemaker-inferencecomponent-endpointname"></a>
The name of the endpoint that hosts the inference component.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^[a-zA-Z0-9](-*[a-zA-Z0-9])*$`  
*Maximum*: `63`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`InferenceComponentName`  <a name="cfn-sagemaker-inferencecomponent-inferencecomponentname"></a>
The name of the inference component.  
*Required*: No  
*Type*: String  
*Pattern*: `^[a-zA-Z0-9](-*[a-zA-Z0-9])*$`  
*Maximum*: `63`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`RuntimeConfig`  <a name="cfn-sagemaker-inferencecomponent-runtimeconfig"></a>
Runtime settings for the inference component, including the number of copies to deploy.  
*Required*: No  
*Type*: [InferenceComponentRuntimeConfig](aws-properties-sagemaker-inferencecomponent-inferencecomponentruntimeconfig.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Specification`  <a name="cfn-sagemaker-inferencecomponent-specification"></a>
The specification for the inference component, including the model and container configuration.  
*Required*: Yes  
*Type*: [InferenceComponentSpecification](aws-properties-sagemaker-inferencecomponent-inferencecomponentspecification.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Tags`  <a name="cfn-sagemaker-inferencecomponent-tags"></a>
Property description not available.  
*Required*: No  
*Type*: Array of [Tag](aws-properties-sagemaker-inferencecomponent-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)

`VariantName`  <a name="cfn-sagemaker-inferencecomponent-variantname"></a>
The name of the production variant that hosts the inference component.  
*Required*: No  
*Type*: String  
*Pattern*: `^[a-zA-Z0-9](-*[a-zA-Z0-9])*$`  
*Maximum*: `63`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

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

### Ref
<a name="aws-resource-sagemaker-inferencecomponent-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 inference component.

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-inferencecomponent-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-inferencecomponent-return-values-fn--getatt-fn--getatt"></a>

`CreationTime`  <a name="CreationTime-fn::getatt"></a>
The time when the inference component was created.

`FailureReason`  <a name="FailureReason-fn::getatt"></a>
The reason why the inference component failed, if applicable.

`InferenceComponentArn`  <a name="InferenceComponentArn-fn::getatt"></a>
The Amazon Resource Name (ARN) of the inference component.

`InferenceComponentStatus`  <a name="InferenceComponentStatus-fn::getatt"></a>
The status of the inference component.

`LastModifiedTime`  <a name="LastModifiedTime-fn::getatt"></a>
The time when the inference component was last updated.

`RuntimeConfig.CurrentCopyCount`  <a name="RuntimeConfig.CurrentCopyCount-fn::getatt"></a>
The number of runtime copies of the model container that are currently deployed.

`RuntimeConfig.DesiredCopyCount`  <a name="RuntimeConfig.DesiredCopyCount-fn::getatt"></a>
The number of runtime copies of the model container that you requested to deploy with the inference component.

# AWS::SageMaker::InferenceComponent Alarm
<a name="aws-properties-sagemaker-inferencecomponent-alarm"></a>

An Amazon CloudWatch alarm configured to monitor metrics on an endpoint.

## Syntax
<a name="aws-properties-sagemaker-inferencecomponent-alarm-syntax"></a>

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

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

```
{
  "[AlarmName](#cfn-sagemaker-inferencecomponent-alarm-alarmname)" : String
}
```

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

```
  [AlarmName](#cfn-sagemaker-inferencecomponent-alarm-alarmname): String
```

## Properties
<a name="aws-properties-sagemaker-inferencecomponent-alarm-properties"></a>

`AlarmName`  <a name="cfn-sagemaker-inferencecomponent-alarm-alarmname"></a>
The name of a CloudWatch alarm in your account.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^(?!\s*$).+`  
*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)

# AWS::SageMaker::InferenceComponent AutoRollbackConfiguration
<a name="aws-properties-sagemaker-inferencecomponent-autorollbackconfiguration"></a>

Configuration for automatic rollback of the inference component deployment if issues are detected.

## Syntax
<a name="aws-properties-sagemaker-inferencecomponent-autorollbackconfiguration-syntax"></a>

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

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

```
{
  "[Alarms](#cfn-sagemaker-inferencecomponent-autorollbackconfiguration-alarms)" : [ Alarm, ... ]
}
```

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

```
  [Alarms](#cfn-sagemaker-inferencecomponent-autorollbackconfiguration-alarms): 
    - Alarm
```

## Properties
<a name="aws-properties-sagemaker-inferencecomponent-autorollbackconfiguration-properties"></a>

`Alarms`  <a name="cfn-sagemaker-inferencecomponent-autorollbackconfiguration-alarms"></a>
List of CloudWatch alarms that trigger automatic rollback if they enter the ALARM state during deployment.  
*Required*: Yes  
*Type*: Array of [Alarm](aws-properties-sagemaker-inferencecomponent-alarm.md)  
*Minimum*: `1`  
*Maximum*: `10`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::SageMaker::InferenceComponent DeployedImage
<a name="aws-properties-sagemaker-inferencecomponent-deployedimage"></a>

Gets the Amazon EC2 Container Registry path of the docker image of the model that is hosted in this [ProductionVariant](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ProductionVariant.html).

If you used the `registry/repository[:tag]` form to specify the image path of the primary container when you created the model hosted in this `ProductionVariant`, the path resolves to a path of the form `registry/repository[@digest]`. A digest is a hash value that identifies a specific version of an image. For information about Amazon ECR paths, see [Pulling an Image](https://docs.aws.amazon.com//AmazonECR/latest/userguide/docker-pull-ecr-image.html) in the *Amazon ECR User Guide*.

## Syntax
<a name="aws-properties-sagemaker-inferencecomponent-deployedimage-syntax"></a>

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

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

```
{
  "[ResolutionTime](#cfn-sagemaker-inferencecomponent-deployedimage-resolutiontime)" : String,
  "[ResolvedImage](#cfn-sagemaker-inferencecomponent-deployedimage-resolvedimage)" : String,
  "[SpecifiedImage](#cfn-sagemaker-inferencecomponent-deployedimage-specifiedimage)" : String
}
```

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

```
  [ResolutionTime](#cfn-sagemaker-inferencecomponent-deployedimage-resolutiontime): String
  [ResolvedImage](#cfn-sagemaker-inferencecomponent-deployedimage-resolvedimage): String
  [SpecifiedImage](#cfn-sagemaker-inferencecomponent-deployedimage-specifiedimage): String
```

## Properties
<a name="aws-properties-sagemaker-inferencecomponent-deployedimage-properties"></a>

`ResolutionTime`  <a name="cfn-sagemaker-inferencecomponent-deployedimage-resolutiontime"></a>
The date and time when the image path for the model resolved to the `ResolvedImage`  
*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)

`ResolvedImage`  <a name="cfn-sagemaker-inferencecomponent-deployedimage-resolvedimage"></a>
The specific digest path of the image hosted in this `ProductionVariant`.  
*Required*: No  
*Type*: String  
*Pattern*: `[\S]+`  
*Maximum*: `255`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`SpecifiedImage`  <a name="cfn-sagemaker-inferencecomponent-deployedimage-specifiedimage"></a>
The image path you specified when you created the model.  
*Required*: No  
*Type*: String  
*Pattern*: `[\S]+`  
*Maximum*: `255`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::SageMaker::InferenceComponent InferenceComponentCapacitySize
<a name="aws-properties-sagemaker-inferencecomponent-inferencecomponentcapacitysize"></a>

Specifies the type and size of the endpoint capacity to activate for a rolling deployment or a rollback strategy. You can specify your batches as either of the following:
+ A count of inference component copies 
+ The overall percentage or your fleet 

For a rollback strategy, if you don't specify the fields in this object, or if you set the `Value` parameter to 100%, then SageMaker AI uses a blue/green rollback strategy and rolls all traffic back to the blue fleet.

## Syntax
<a name="aws-properties-sagemaker-inferencecomponent-inferencecomponentcapacitysize-syntax"></a>

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

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

```
{
  "[Type](#cfn-sagemaker-inferencecomponent-inferencecomponentcapacitysize-type)" : String,
  "[Value](#cfn-sagemaker-inferencecomponent-inferencecomponentcapacitysize-value)" : Integer
}
```

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

```
  [Type](#cfn-sagemaker-inferencecomponent-inferencecomponentcapacitysize-type): String
  [Value](#cfn-sagemaker-inferencecomponent-inferencecomponentcapacitysize-value): Integer
```

## Properties
<a name="aws-properties-sagemaker-inferencecomponent-inferencecomponentcapacitysize-properties"></a>

`Type`  <a name="cfn-sagemaker-inferencecomponent-inferencecomponentcapacitysize-type"></a>
Specifies the endpoint capacity type.    
COPY\$1COUNT  
The endpoint activates based on the number of inference component copies.  
CAPACITY\$1PERCENT  
The endpoint activates based on the specified percentage of capacity.
*Required*: Yes  
*Type*: String  
*Allowed values*: `COPY_COUNT | CAPACITY_PERCENT`  
*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-inferencecomponent-inferencecomponentcapacitysize-value"></a>
Defines the capacity size, either as a number of inference component copies or a capacity percentage.  
*Required*: Yes  
*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)

# AWS::SageMaker::InferenceComponent InferenceComponentComputeResourceRequirements
<a name="aws-properties-sagemaker-inferencecomponent-inferencecomponentcomputeresourcerequirements"></a>

Defines the compute resources to allocate to run a model, plus any adapter models, that you assign to an inference component. These resources include CPU cores, accelerators, and memory.

## Syntax
<a name="aws-properties-sagemaker-inferencecomponent-inferencecomponentcomputeresourcerequirements-syntax"></a>

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

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

```
{
  "[MaxMemoryRequiredInMb](#cfn-sagemaker-inferencecomponent-inferencecomponentcomputeresourcerequirements-maxmemoryrequiredinmb)" : Integer,
  "[MinMemoryRequiredInMb](#cfn-sagemaker-inferencecomponent-inferencecomponentcomputeresourcerequirements-minmemoryrequiredinmb)" : Integer,
  "[NumberOfAcceleratorDevicesRequired](#cfn-sagemaker-inferencecomponent-inferencecomponentcomputeresourcerequirements-numberofacceleratordevicesrequired)" : Number,
  "[NumberOfCpuCoresRequired](#cfn-sagemaker-inferencecomponent-inferencecomponentcomputeresourcerequirements-numberofcpucoresrequired)" : Number
}
```

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

```
  [MaxMemoryRequiredInMb](#cfn-sagemaker-inferencecomponent-inferencecomponentcomputeresourcerequirements-maxmemoryrequiredinmb): Integer
  [MinMemoryRequiredInMb](#cfn-sagemaker-inferencecomponent-inferencecomponentcomputeresourcerequirements-minmemoryrequiredinmb): Integer
  [NumberOfAcceleratorDevicesRequired](#cfn-sagemaker-inferencecomponent-inferencecomponentcomputeresourcerequirements-numberofacceleratordevicesrequired): 
    Number
  [NumberOfCpuCoresRequired](#cfn-sagemaker-inferencecomponent-inferencecomponentcomputeresourcerequirements-numberofcpucoresrequired): 
    Number
```

## Properties
<a name="aws-properties-sagemaker-inferencecomponent-inferencecomponentcomputeresourcerequirements-properties"></a>

`MaxMemoryRequiredInMb`  <a name="cfn-sagemaker-inferencecomponent-inferencecomponentcomputeresourcerequirements-maxmemoryrequiredinmb"></a>
The maximum MB of memory to allocate to run a model that you assign to an inference component.  
*Required*: No  
*Type*: Integer  
*Minimum*: `128`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`MinMemoryRequiredInMb`  <a name="cfn-sagemaker-inferencecomponent-inferencecomponentcomputeresourcerequirements-minmemoryrequiredinmb"></a>
The minimum MB of memory to allocate to run a model that you assign to an inference component.  
*Required*: No  
*Type*: Integer  
*Minimum*: `128`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`NumberOfAcceleratorDevicesRequired`  <a name="cfn-sagemaker-inferencecomponent-inferencecomponentcomputeresourcerequirements-numberofacceleratordevicesrequired"></a>
The number of accelerators to allocate to run a model that you assign to an inference component. Accelerators include GPUs and AWS Inferentia.  
*Required*: No  
*Type*: Number  
*Minimum*: `1`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`NumberOfCpuCoresRequired`  <a name="cfn-sagemaker-inferencecomponent-inferencecomponentcomputeresourcerequirements-numberofcpucoresrequired"></a>
The number of CPU cores to allocate to run a model that you assign to an inference component.  
*Required*: No  
*Type*: Number  
*Minimum*: `0`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::SageMaker::InferenceComponent InferenceComponentContainerSpecification
<a name="aws-properties-sagemaker-inferencecomponent-inferencecomponentcontainerspecification"></a>

Defines a container that provides the runtime environment for a model that you deploy with an inference component.

## Syntax
<a name="aws-properties-sagemaker-inferencecomponent-inferencecomponentcontainerspecification-syntax"></a>

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

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

```
{
  "[ArtifactUrl](#cfn-sagemaker-inferencecomponent-inferencecomponentcontainerspecification-artifacturl)" : String,
  "[DeployedImage](#cfn-sagemaker-inferencecomponent-inferencecomponentcontainerspecification-deployedimage)" : DeployedImage,
  "[Environment](#cfn-sagemaker-inferencecomponent-inferencecomponentcontainerspecification-environment)" : {Key: Value, ...},
  "[Image](#cfn-sagemaker-inferencecomponent-inferencecomponentcontainerspecification-image)" : String
}
```

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

```
  [ArtifactUrl](#cfn-sagemaker-inferencecomponent-inferencecomponentcontainerspecification-artifacturl): String
  [DeployedImage](#cfn-sagemaker-inferencecomponent-inferencecomponentcontainerspecification-deployedimage): 
    DeployedImage
  [Environment](#cfn-sagemaker-inferencecomponent-inferencecomponentcontainerspecification-environment): 
    Key: Value
  [Image](#cfn-sagemaker-inferencecomponent-inferencecomponentcontainerspecification-image): String
```

## Properties
<a name="aws-properties-sagemaker-inferencecomponent-inferencecomponentcontainerspecification-properties"></a>

`ArtifactUrl`  <a name="cfn-sagemaker-inferencecomponent-inferencecomponentcontainerspecification-artifacturl"></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).  
*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)

`DeployedImage`  <a name="cfn-sagemaker-inferencecomponent-inferencecomponentcontainerspecification-deployedimage"></a>
The deployed container image for the inference component.  
*Required*: No  
*Type*: [DeployedImage](aws-properties-sagemaker-inferencecomponent-deployedimage.md)  
*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-inferencecomponent-inferencecomponentcontainerspecification-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_]{1,1024}$`  
*Maximum*: `1024`  
*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-inferencecomponent-inferencecomponentcontainerspecification-image"></a>
The Amazon Elastic Container Registry (Amazon ECR) path where the Docker image for the model is stored.  
*Required*: No  
*Type*: String  
*Pattern*: `[\S]+`  
*Maximum*: `255`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::SageMaker::InferenceComponent InferenceComponentDeploymentConfig
<a name="aws-properties-sagemaker-inferencecomponent-inferencecomponentdeploymentconfig"></a>

The deployment configuration for an endpoint that hosts inference components. The configuration includes the desired deployment strategy and rollback settings.

## Syntax
<a name="aws-properties-sagemaker-inferencecomponent-inferencecomponentdeploymentconfig-syntax"></a>

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

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

```
{
  "[AutoRollbackConfiguration](#cfn-sagemaker-inferencecomponent-inferencecomponentdeploymentconfig-autorollbackconfiguration)" : AutoRollbackConfiguration,
  "[RollingUpdatePolicy](#cfn-sagemaker-inferencecomponent-inferencecomponentdeploymentconfig-rollingupdatepolicy)" : InferenceComponentRollingUpdatePolicy
}
```

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

```
  [AutoRollbackConfiguration](#cfn-sagemaker-inferencecomponent-inferencecomponentdeploymentconfig-autorollbackconfiguration): 
    AutoRollbackConfiguration
  [RollingUpdatePolicy](#cfn-sagemaker-inferencecomponent-inferencecomponentdeploymentconfig-rollingupdatepolicy): 
    InferenceComponentRollingUpdatePolicy
```

## Properties
<a name="aws-properties-sagemaker-inferencecomponent-inferencecomponentdeploymentconfig-properties"></a>

`AutoRollbackConfiguration`  <a name="cfn-sagemaker-inferencecomponent-inferencecomponentdeploymentconfig-autorollbackconfiguration"></a>
Configuration for automatic rollback during inference component deployment.  
*Required*: No  
*Type*: [AutoRollbackConfiguration](aws-properties-sagemaker-inferencecomponent-autorollbackconfiguration.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`RollingUpdatePolicy`  <a name="cfn-sagemaker-inferencecomponent-inferencecomponentdeploymentconfig-rollingupdatepolicy"></a>
Specifies a rolling deployment strategy for updating a SageMaker AI endpoint.  
*Required*: No  
*Type*: [InferenceComponentRollingUpdatePolicy](aws-properties-sagemaker-inferencecomponent-inferencecomponentrollingupdatepolicy.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::InferenceComponent InferenceComponentRollingUpdatePolicy
<a name="aws-properties-sagemaker-inferencecomponent-inferencecomponentrollingupdatepolicy"></a>

Specifies a rolling deployment strategy for updating a SageMaker AI inference component.

## Syntax
<a name="aws-properties-sagemaker-inferencecomponent-inferencecomponentrollingupdatepolicy-syntax"></a>

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

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

```
{
  "[MaximumBatchSize](#cfn-sagemaker-inferencecomponent-inferencecomponentrollingupdatepolicy-maximumbatchsize)" : InferenceComponentCapacitySize,
  "[MaximumExecutionTimeoutInSeconds](#cfn-sagemaker-inferencecomponent-inferencecomponentrollingupdatepolicy-maximumexecutiontimeoutinseconds)" : Integer,
  "[RollbackMaximumBatchSize](#cfn-sagemaker-inferencecomponent-inferencecomponentrollingupdatepolicy-rollbackmaximumbatchsize)" : InferenceComponentCapacitySize,
  "[WaitIntervalInSeconds](#cfn-sagemaker-inferencecomponent-inferencecomponentrollingupdatepolicy-waitintervalinseconds)" : Integer
}
```

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

```
  [MaximumBatchSize](#cfn-sagemaker-inferencecomponent-inferencecomponentrollingupdatepolicy-maximumbatchsize): 
    InferenceComponentCapacitySize
  [MaximumExecutionTimeoutInSeconds](#cfn-sagemaker-inferencecomponent-inferencecomponentrollingupdatepolicy-maximumexecutiontimeoutinseconds): Integer
  [RollbackMaximumBatchSize](#cfn-sagemaker-inferencecomponent-inferencecomponentrollingupdatepolicy-rollbackmaximumbatchsize): 
    InferenceComponentCapacitySize
  [WaitIntervalInSeconds](#cfn-sagemaker-inferencecomponent-inferencecomponentrollingupdatepolicy-waitintervalinseconds): Integer
```

## Properties
<a name="aws-properties-sagemaker-inferencecomponent-inferencecomponentrollingupdatepolicy-properties"></a>

`MaximumBatchSize`  <a name="cfn-sagemaker-inferencecomponent-inferencecomponentrollingupdatepolicy-maximumbatchsize"></a>
The batch size for each rolling step in the deployment process. For each step, SageMaker AI provisions capacity on the new endpoint fleet, routes traffic to that fleet, and terminates capacity on the old endpoint fleet. The value must be between 5% to 50% of the copy count of the inference component.  
*Required*: No  
*Type*: [InferenceComponentCapacitySize](aws-properties-sagemaker-inferencecomponent-inferencecomponentcapacitysize.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`MaximumExecutionTimeoutInSeconds`  <a name="cfn-sagemaker-inferencecomponent-inferencecomponentrollingupdatepolicy-maximumexecutiontimeoutinseconds"></a>
The time limit for the total deployment. Exceeding this limit causes a timeout.  
*Required*: No  
*Type*: Integer  
*Minimum*: `600`  
*Maximum*: `28800`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`RollbackMaximumBatchSize`  <a name="cfn-sagemaker-inferencecomponent-inferencecomponentrollingupdatepolicy-rollbackmaximumbatchsize"></a>
The batch size for a rollback to the old endpoint fleet. If this field is absent, the value is set to the default, which is 100% of the total capacity. When the default is used, SageMaker AI provisions the entire capacity of the old fleet at once during rollback.  
*Required*: No  
*Type*: [InferenceComponentCapacitySize](aws-properties-sagemaker-inferencecomponent-inferencecomponentcapacitysize.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`WaitIntervalInSeconds`  <a name="cfn-sagemaker-inferencecomponent-inferencecomponentrollingupdatepolicy-waitintervalinseconds"></a>
The length of the baking period, during which SageMaker AI monitors alarms for each batch on the new fleet.  
*Required*: No  
*Type*: Integer  
*Minimum*: `0`  
*Maximum*: `3600`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::SageMaker::InferenceComponent InferenceComponentRuntimeConfig
<a name="aws-properties-sagemaker-inferencecomponent-inferencecomponentruntimeconfig"></a>

Runtime settings for a model that is deployed with an inference component.

## Syntax
<a name="aws-properties-sagemaker-inferencecomponent-inferencecomponentruntimeconfig-syntax"></a>

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

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

```
{
  "[CopyCount](#cfn-sagemaker-inferencecomponent-inferencecomponentruntimeconfig-copycount)" : Integer,
  "[CurrentCopyCount](#cfn-sagemaker-inferencecomponent-inferencecomponentruntimeconfig-currentcopycount)" : Integer,
  "[DesiredCopyCount](#cfn-sagemaker-inferencecomponent-inferencecomponentruntimeconfig-desiredcopycount)" : Integer
}
```

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

```
  [CopyCount](#cfn-sagemaker-inferencecomponent-inferencecomponentruntimeconfig-copycount): Integer
  [CurrentCopyCount](#cfn-sagemaker-inferencecomponent-inferencecomponentruntimeconfig-currentcopycount): Integer
  [DesiredCopyCount](#cfn-sagemaker-inferencecomponent-inferencecomponentruntimeconfig-desiredcopycount): Integer
```

## Properties
<a name="aws-properties-sagemaker-inferencecomponent-inferencecomponentruntimeconfig-properties"></a>

`CopyCount`  <a name="cfn-sagemaker-inferencecomponent-inferencecomponentruntimeconfig-copycount"></a>
The number of runtime copies of the model container to deploy with the inference component. Each copy can serve inference requests.  
*Required*: No  
*Type*: Integer  
*Minimum*: `0`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`CurrentCopyCount`  <a name="cfn-sagemaker-inferencecomponent-inferencecomponentruntimeconfig-currentcopycount"></a>
The current number of copies of the model deployed for the inference component.  
*Required*: No  
*Type*: Integer  
*Minimum*: `0`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`DesiredCopyCount`  <a name="cfn-sagemaker-inferencecomponent-inferencecomponentruntimeconfig-desiredcopycount"></a>
The desired number of copies of the model to deploy for the inference component.  
*Required*: No  
*Type*: Integer  
*Minimum*: `0`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::SageMaker::InferenceComponent InferenceComponentSpecification
<a name="aws-properties-sagemaker-inferencecomponent-inferencecomponentspecification"></a>

Details about the resources to deploy with this inference component, including the model, container, and compute resources.

## Syntax
<a name="aws-properties-sagemaker-inferencecomponent-inferencecomponentspecification-syntax"></a>

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

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

```
{
  "[BaseInferenceComponentName](#cfn-sagemaker-inferencecomponent-inferencecomponentspecification-baseinferencecomponentname)" : String,
  "[ComputeResourceRequirements](#cfn-sagemaker-inferencecomponent-inferencecomponentspecification-computeresourcerequirements)" : InferenceComponentComputeResourceRequirements,
  "[Container](#cfn-sagemaker-inferencecomponent-inferencecomponentspecification-container)" : InferenceComponentContainerSpecification,
  "[ModelName](#cfn-sagemaker-inferencecomponent-inferencecomponentspecification-modelname)" : String,
  "[StartupParameters](#cfn-sagemaker-inferencecomponent-inferencecomponentspecification-startupparameters)" : InferenceComponentStartupParameters
}
```

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

```
  [BaseInferenceComponentName](#cfn-sagemaker-inferencecomponent-inferencecomponentspecification-baseinferencecomponentname): String
  [ComputeResourceRequirements](#cfn-sagemaker-inferencecomponent-inferencecomponentspecification-computeresourcerequirements): 
    InferenceComponentComputeResourceRequirements
  [Container](#cfn-sagemaker-inferencecomponent-inferencecomponentspecification-container): 
    InferenceComponentContainerSpecification
  [ModelName](#cfn-sagemaker-inferencecomponent-inferencecomponentspecification-modelname): String
  [StartupParameters](#cfn-sagemaker-inferencecomponent-inferencecomponentspecification-startupparameters): 
    InferenceComponentStartupParameters
```

## Properties
<a name="aws-properties-sagemaker-inferencecomponent-inferencecomponentspecification-properties"></a>

`BaseInferenceComponentName`  <a name="cfn-sagemaker-inferencecomponent-inferencecomponentspecification-baseinferencecomponentname"></a>
The name of an existing inference component that is to contain the inference component that you're creating with your request.  
Specify this parameter only if your request is meant to create an adapter inference component. An adapter inference component contains the path to an adapter model. The purpose of the adapter model is to tailor the inference output of a base foundation model, which is hosted by the base inference component. The adapter inference component uses the compute resources that you assigned to the base inference component.  
When you create an adapter inference component, use the `Container` parameter to specify the location of the adapter artifacts. In the parameter value, use the `ArtifactUrl` parameter of the `InferenceComponentContainerSpecification` data type.  
Before you can create an adapter inference component, you must have an existing inference component that contains the foundation model that you want to adapt.  
*Required*: No  
*Type*: String  
*Pattern*: `^[a-zA-Z0-9](-*[a-zA-Z0-9])*$`  
*Maximum*: `63`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ComputeResourceRequirements`  <a name="cfn-sagemaker-inferencecomponent-inferencecomponentspecification-computeresourcerequirements"></a>
The compute resources allocated to run the model, plus any adapter models, that you assign to the inference component.  
Omit this parameter if your request is meant to create an adapter inference component. An adapter inference component is loaded by a base inference component, and it uses the compute resources of the base inference component.  
*Required*: No  
*Type*: [InferenceComponentComputeResourceRequirements](aws-properties-sagemaker-inferencecomponent-inferencecomponentcomputeresourcerequirements.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Container`  <a name="cfn-sagemaker-inferencecomponent-inferencecomponentspecification-container"></a>
Defines a container that provides the runtime environment for a model that you deploy with an inference component.  
*Required*: No  
*Type*: [InferenceComponentContainerSpecification](aws-properties-sagemaker-inferencecomponent-inferencecomponentcontainerspecification.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ModelName`  <a name="cfn-sagemaker-inferencecomponent-inferencecomponentspecification-modelname"></a>
The name of an existing SageMaker AI model object in your account that you want to deploy with the inference component.  
*Required*: No  
*Type*: String  
*Pattern*: `^[a-zA-Z0-9](-*[a-zA-Z0-9])*$`  
*Maximum*: `63`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`StartupParameters`  <a name="cfn-sagemaker-inferencecomponent-inferencecomponentspecification-startupparameters"></a>
Settings that take effect while the model container starts up.  
*Required*: No  
*Type*: [InferenceComponentStartupParameters](aws-properties-sagemaker-inferencecomponent-inferencecomponentstartupparameters.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::InferenceComponent InferenceComponentStartupParameters
<a name="aws-properties-sagemaker-inferencecomponent-inferencecomponentstartupparameters"></a>

Settings that take effect while the model container starts up.

## Syntax
<a name="aws-properties-sagemaker-inferencecomponent-inferencecomponentstartupparameters-syntax"></a>

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

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

```
{
  "[ContainerStartupHealthCheckTimeoutInSeconds](#cfn-sagemaker-inferencecomponent-inferencecomponentstartupparameters-containerstartuphealthchecktimeoutinseconds)" : Integer,
  "[ModelDataDownloadTimeoutInSeconds](#cfn-sagemaker-inferencecomponent-inferencecomponentstartupparameters-modeldatadownloadtimeoutinseconds)" : Integer
}
```

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

```
  [ContainerStartupHealthCheckTimeoutInSeconds](#cfn-sagemaker-inferencecomponent-inferencecomponentstartupparameters-containerstartuphealthchecktimeoutinseconds): Integer
  [ModelDataDownloadTimeoutInSeconds](#cfn-sagemaker-inferencecomponent-inferencecomponentstartupparameters-modeldatadownloadtimeoutinseconds): Integer
```

## Properties
<a name="aws-properties-sagemaker-inferencecomponent-inferencecomponentstartupparameters-properties"></a>

`ContainerStartupHealthCheckTimeoutInSeconds`  <a name="cfn-sagemaker-inferencecomponent-inferencecomponentstartupparameters-containerstartuphealthchecktimeoutinseconds"></a>
The timeout value, in seconds, for your inference container to pass health check by Amazon S3 Hosting. For more information about health check, see [How Your Container Should Respond to Health Check (Ping) Requests](https://docs.aws.amazon.com/sagemaker/latest/dg/your-algorithms-inference-code.html#your-algorithms-inference-algo-ping-requests).  
*Required*: No  
*Type*: Integer  
*Minimum*: `60`  
*Maximum*: `3600`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ModelDataDownloadTimeoutInSeconds`  <a name="cfn-sagemaker-inferencecomponent-inferencecomponentstartupparameters-modeldatadownloadtimeoutinseconds"></a>
The timeout value, in seconds, to download and extract the model that you want to host from Amazon S3 to the individual inference instance associated with this inference component.  
*Required*: No  
*Type*: Integer  
*Minimum*: `60`  
*Maximum*: `3600`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::SageMaker::InferenceComponent Tag
<a name="aws-properties-sagemaker-inferencecomponent-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-inferencecomponent-tag-syntax"></a>

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

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

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

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

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

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

`Key`  <a name="cfn-sagemaker-inferencecomponent-tag-key"></a>
The tag key. Tag keys must be unique per resource.  
*Required*: Yes  
*Type*: String  
*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-inferencecomponent-tag-value"></a>
The tag value.  
*Required*: Yes  
*Type*: String  
*Minimum*: `1`  
*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::InferenceExperiment
<a name="aws-resource-sagemaker-inferenceexperiment"></a>

 Creates an inference experiment using the configurations specified in the request. 

 Use this API to setup and schedule an experiment to compare model variants on a Amazon SageMaker inference endpoint. For more information about inference experiments, see [Shadow tests](https://docs.aws.amazon.com/sagemaker/latest/dg/shadow-tests.html). 

 Amazon SageMaker begins your experiment at the scheduled time and routes traffic to your endpoint's model variants based on your specified configuration. 

 While the experiment is in progress or after it has concluded, you can view metrics that compare your model variants. For more information, see [View, monitor, and edit shadow tests](https://docs.aws.amazon.com/sagemaker/latest/dg/shadow-tests-view-monitor-edit.html). 

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

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

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

```
{
  "Type" : "AWS::SageMaker::InferenceExperiment",
  "Properties" : {
      "[DataStorageConfig](#cfn-sagemaker-inferenceexperiment-datastorageconfig)" : DataStorageConfig,
      "[Description](#cfn-sagemaker-inferenceexperiment-description)" : String,
      "[DesiredState](#cfn-sagemaker-inferenceexperiment-desiredstate)" : String,
      "[EndpointName](#cfn-sagemaker-inferenceexperiment-endpointname)" : String,
      "[KmsKey](#cfn-sagemaker-inferenceexperiment-kmskey)" : String,
      "[ModelVariants](#cfn-sagemaker-inferenceexperiment-modelvariants)" : [ ModelVariantConfig, ... ],
      "[Name](#cfn-sagemaker-inferenceexperiment-name)" : String,
      "[RoleArn](#cfn-sagemaker-inferenceexperiment-rolearn)" : String,
      "[Schedule](#cfn-sagemaker-inferenceexperiment-schedule)" : InferenceExperimentSchedule,
      "[ShadowModeConfig](#cfn-sagemaker-inferenceexperiment-shadowmodeconfig)" : ShadowModeConfig,
      "[StatusReason](#cfn-sagemaker-inferenceexperiment-statusreason)" : String,
      "[Tags](#cfn-sagemaker-inferenceexperiment-tags)" : [ Tag, ... ],
      "[Type](#cfn-sagemaker-inferenceexperiment-type)" : String
    }
}
```

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

```
Type: AWS::SageMaker::InferenceExperiment
Properties:
  [DataStorageConfig](#cfn-sagemaker-inferenceexperiment-datastorageconfig): 
    DataStorageConfig
  [Description](#cfn-sagemaker-inferenceexperiment-description): String
  [DesiredState](#cfn-sagemaker-inferenceexperiment-desiredstate): String
  [EndpointName](#cfn-sagemaker-inferenceexperiment-endpointname): String
  [KmsKey](#cfn-sagemaker-inferenceexperiment-kmskey): String
  [ModelVariants](#cfn-sagemaker-inferenceexperiment-modelvariants): 
    - ModelVariantConfig
  [Name](#cfn-sagemaker-inferenceexperiment-name): String
  [RoleArn](#cfn-sagemaker-inferenceexperiment-rolearn): String
  [Schedule](#cfn-sagemaker-inferenceexperiment-schedule): 
    InferenceExperimentSchedule
  [ShadowModeConfig](#cfn-sagemaker-inferenceexperiment-shadowmodeconfig): 
    ShadowModeConfig
  [StatusReason](#cfn-sagemaker-inferenceexperiment-statusreason): String
  [Tags](#cfn-sagemaker-inferenceexperiment-tags): 
    - Tag
  [Type](#cfn-sagemaker-inferenceexperiment-type): String
```

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

`DataStorageConfig`  <a name="cfn-sagemaker-inferenceexperiment-datastorageconfig"></a>
The Amazon S3 location and configuration for storing inference request and response data.  
*Required*: No  
*Type*: [DataStorageConfig](aws-properties-sagemaker-inferenceexperiment-datastorageconfig.md)  
*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-inferenceexperiment-description"></a>
The description of the inference experiment.  
*Required*: No  
*Type*: String  
*Pattern*: `.*`  
*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)

`DesiredState`  <a name="cfn-sagemaker-inferenceexperiment-desiredstate"></a>
 The desired state of the experiment after stopping. The possible states are the following:   
+ `Completed`: The experiment completed successfully
+ `Cancelled`: The experiment was canceled
*Required*: No  
*Type*: String  
*Allowed values*: `Running | Completed | Cancelled`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`EndpointName`  <a name="cfn-sagemaker-inferenceexperiment-endpointname"></a>
The name of the endpoint.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^[a-zA-Z0-9](-*[a-zA-Z0-9])*`  
*Maximum*: `63`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`KmsKey`  <a name="cfn-sagemaker-inferenceexperiment-kmskey"></a>
 The AWS Key Management Service key that Amazon SageMaker uses to encrypt captured data at rest using Amazon S3 server-side encryption.   
*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)

`ModelVariants`  <a name="cfn-sagemaker-inferenceexperiment-modelvariants"></a>
 An array of `ModelVariantConfigSummary` objects. There is one for each variant in the inference experiment. Each `ModelVariantConfigSummary` object in the array describes the infrastructure configuration for deploying the corresponding variant.   
*Required*: Yes  
*Type*: Array of [ModelVariantConfig](aws-properties-sagemaker-inferenceexperiment-modelvariantconfig.md)  
*Maximum*: `2`  
*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-inferenceexperiment-name"></a>
The name of the inference experiment.  
*Required*: Yes  
*Type*: String  
*Minimum*: `1`  
*Maximum*: `120`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`RoleArn`  <a name="cfn-sagemaker-inferenceexperiment-rolearn"></a>
 The ARN of the IAM role that Amazon SageMaker can assume to access model artifacts and container images, and manage Amazon SageMaker Inference endpoints for model deployment.   
*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)

`Schedule`  <a name="cfn-sagemaker-inferenceexperiment-schedule"></a>
The duration for which the inference experiment ran or will run.  
The maximum duration that you can set for an inference experiment is 30 days.  
*Required*: No  
*Type*: [InferenceExperimentSchedule](aws-properties-sagemaker-inferenceexperiment-inferenceexperimentschedule.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ShadowModeConfig`  <a name="cfn-sagemaker-inferenceexperiment-shadowmodeconfig"></a>
 The configuration of `ShadowMode` inference experiment type, which shows the production variant that takes all the inference requests, and the shadow variant to which Amazon SageMaker replicates a percentage of the inference requests. For the shadow variant it also shows the percentage of requests that Amazon SageMaker replicates.   
*Required*: No  
*Type*: [ShadowModeConfig](aws-properties-sagemaker-inferenceexperiment-shadowmodeconfig.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`StatusReason`  <a name="cfn-sagemaker-inferenceexperiment-statusreason"></a>
The error message for the inference experiment status result.  
*Required*: No  
*Type*: String  
*Pattern*: `.*`  
*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)

`Tags`  <a name="cfn-sagemaker-inferenceexperiment-tags"></a>
An array of key-value pairs to apply to this resource.  
For more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html).  
*Required*: No  
*Type*: Array of [Tag](aws-properties-sagemaker-inferenceexperiment-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)

`Type`  <a name="cfn-sagemaker-inferenceexperiment-type"></a>
The type of the inference experiment.  
*Required*: Yes  
*Type*: String  
*Allowed values*: `ShadowMode`  
*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-inferenceexperiment-return-values"></a>

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

 When you pass the logical ID of this resource to the intrinsic `Ref` function, `Ref` returns the name of the inference experiment.

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-inferenceexperiment-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-inferenceexperiment-return-values-fn--getatt-fn--getatt"></a>

`Arn`  <a name="Arn-fn::getatt"></a>
The ARN for your inference experiment.

`CreationTime`  <a name="CreationTime-fn::getatt"></a>
The timestamp at which the inference experiment was created.

`LastModifiedTime`  <a name="LastModifiedTime-fn::getatt"></a>
The timestamp at which you last modified the inference experiment.

`Status`  <a name="Status-fn::getatt"></a>
 The status of the inference experiment. The following are the possible statuses for an inference experiment:   
+ `Creating` - Amazon SageMaker is creating your experiment. 
+ `Created` - Amazon SageMaker has finished the creation of your experiment and will begin the experiment at the scheduled time. 
+ `Updating` - When you make changes to your experiment, your experiment shows as updating. 
+ `Starting` - Amazon SageMaker is beginning your experiment. 
+ `Running` - Your experiment is in progress. 
+ `Stopping` - Amazon SageMaker is stopping your experiment. 
+ `Completed` - Your experiment has completed. 
+ `Cancelled` - When you conclude your experiment early using the [StopInferenceExperiment](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_StopInferenceExperiment.html) API, or if any operation fails with an unexpected error, it shows as cancelled. 

# AWS::SageMaker::InferenceExperiment CaptureContentTypeHeader
<a name="aws-properties-sagemaker-inferenceexperiment-capturecontenttypeheader"></a>

Configuration specifying how to treat different headers. If no headers are specified Amazon SageMaker AI will by default base64 encode when capturing the data.

## Syntax
<a name="aws-properties-sagemaker-inferenceexperiment-capturecontenttypeheader-syntax"></a>

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

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

```
{
  "[CsvContentTypes](#cfn-sagemaker-inferenceexperiment-capturecontenttypeheader-csvcontenttypes)" : [ String, ... ],
  "[JsonContentTypes](#cfn-sagemaker-inferenceexperiment-capturecontenttypeheader-jsoncontenttypes)" : [ String, ... ]
}
```

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

```
  [CsvContentTypes](#cfn-sagemaker-inferenceexperiment-capturecontenttypeheader-csvcontenttypes): 
    - String
  [JsonContentTypes](#cfn-sagemaker-inferenceexperiment-capturecontenttypeheader-jsoncontenttypes): 
    - String
```

## Properties
<a name="aws-properties-sagemaker-inferenceexperiment-capturecontenttypeheader-properties"></a>

`CsvContentTypes`  <a name="cfn-sagemaker-inferenceexperiment-capturecontenttypeheader-csvcontenttypes"></a>
The list of all content type headers that Amazon SageMaker AI will treat as CSV and capture accordingly.  
*Required*: No  
*Type*: Array of String  
*Minimum*: `1 | 1`  
*Maximum*: `256 | 10`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`JsonContentTypes`  <a name="cfn-sagemaker-inferenceexperiment-capturecontenttypeheader-jsoncontenttypes"></a>
The list of all content type headers that SageMaker AI will treat as JSON and capture accordingly.  
*Required*: No  
*Type*: Array of String  
*Minimum*: `1 | 1`  
*Maximum*: `256 | 10`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::SageMaker::InferenceExperiment DataStorageConfig
<a name="aws-properties-sagemaker-inferenceexperiment-datastorageconfig"></a>

 The Amazon S3 location and configuration for storing inference request and response data. 

 This is an optional parameter that you can use for data capture. For more information, see [Capture data](https://docs.aws.amazon.com/sagemaker/latest/dg/model-monitor-data-capture.html). 

## Syntax
<a name="aws-properties-sagemaker-inferenceexperiment-datastorageconfig-syntax"></a>

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

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

```
{
  "[ContentType](#cfn-sagemaker-inferenceexperiment-datastorageconfig-contenttype)" : CaptureContentTypeHeader,
  "[Destination](#cfn-sagemaker-inferenceexperiment-datastorageconfig-destination)" : String,
  "[KmsKey](#cfn-sagemaker-inferenceexperiment-datastorageconfig-kmskey)" : String
}
```

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

```
  [ContentType](#cfn-sagemaker-inferenceexperiment-datastorageconfig-contenttype): 
    CaptureContentTypeHeader
  [Destination](#cfn-sagemaker-inferenceexperiment-datastorageconfig-destination): String
  [KmsKey](#cfn-sagemaker-inferenceexperiment-datastorageconfig-kmskey): String
```

## Properties
<a name="aws-properties-sagemaker-inferenceexperiment-datastorageconfig-properties"></a>

`ContentType`  <a name="cfn-sagemaker-inferenceexperiment-datastorageconfig-contenttype"></a>
Configuration specifying how to treat different headers. If no headers are specified SageMaker will by default base64 encode when capturing the data.  
*Required*: No  
*Type*: [CaptureContentTypeHeader](aws-properties-sagemaker-inferenceexperiment-capturecontenttypeheader.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Destination`  <a name="cfn-sagemaker-inferenceexperiment-datastorageconfig-destination"></a>
The Amazon S3 bucket where the inference request and response data is stored.   
*Required*: Yes  
*Type*: String  
*Pattern*: `^(https|s3)://([^/])/?(.*)$`  
*Maximum*: `512`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`KmsKey`  <a name="cfn-sagemaker-inferenceexperiment-datastorageconfig-kmskey"></a>
 The AWS Key Management Service key that Amazon SageMaker uses to encrypt captured data at rest using Amazon S3 server-side encryption.   
*Required*: No  
*Type*: String  
*Pattern*: `.*`  
*Maximum*: `2048`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::SageMaker::InferenceExperiment EndpointMetadata
<a name="aws-properties-sagemaker-inferenceexperiment-endpointmetadata"></a>

The metadata of the endpoint.

## Syntax
<a name="aws-properties-sagemaker-inferenceexperiment-endpointmetadata-syntax"></a>

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

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

```
{
  "[EndpointConfigName](#cfn-sagemaker-inferenceexperiment-endpointmetadata-endpointconfigname)" : String,
  "[EndpointName](#cfn-sagemaker-inferenceexperiment-endpointmetadata-endpointname)" : String,
  "[EndpointStatus](#cfn-sagemaker-inferenceexperiment-endpointmetadata-endpointstatus)" : String
}
```

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

```
  [EndpointConfigName](#cfn-sagemaker-inferenceexperiment-endpointmetadata-endpointconfigname): String
  [EndpointName](#cfn-sagemaker-inferenceexperiment-endpointmetadata-endpointname): String
  [EndpointStatus](#cfn-sagemaker-inferenceexperiment-endpointmetadata-endpointstatus): String
```

## Properties
<a name="aws-properties-sagemaker-inferenceexperiment-endpointmetadata-properties"></a>

`EndpointConfigName`  <a name="cfn-sagemaker-inferenceexperiment-endpointmetadata-endpointconfigname"></a>
The name of the endpoint configuration.  
*Required*: No  
*Type*: String  
*Pattern*: `^[a-zA-Z0-9](-*[a-zA-Z0-9])*`  
*Maximum*: `63`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`EndpointName`  <a name="cfn-sagemaker-inferenceexperiment-endpointmetadata-endpointname"></a>
The name of the endpoint.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^[a-zA-Z0-9](-*[a-zA-Z0-9])*`  
*Maximum*: `63`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`EndpointStatus`  <a name="cfn-sagemaker-inferenceexperiment-endpointmetadata-endpointstatus"></a>
 The status of the endpoint. For possible values of the status of an endpoint, see [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-inferenceexperiment-endpointmetadata.html#cfn-sagemaker-inferenceexperiment-endpointmetadata-endpointstatus](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-inferenceexperiment-endpointmetadata.html#cfn-sagemaker-inferenceexperiment-endpointmetadata-endpointstatus).   
*Required*: No  
*Type*: String  
*Allowed values*: `Creating | Updating | SystemUpdating | RollingBack | InService | OutOfService | Deleting | Failed`  
*Pattern*: `^[a-zA-Z0-9](-*[a-zA-Z0-9])*`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::SageMaker::InferenceExperiment InferenceExperimentSchedule
<a name="aws-properties-sagemaker-inferenceexperiment-inferenceexperimentschedule"></a>

The start and end times of an inference experiment.

The maximum duration that you can set for an inference experiment is 30 days.

## Syntax
<a name="aws-properties-sagemaker-inferenceexperiment-inferenceexperimentschedule-syntax"></a>

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

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

```
{
  "[EndTime](#cfn-sagemaker-inferenceexperiment-inferenceexperimentschedule-endtime)" : String,
  "[StartTime](#cfn-sagemaker-inferenceexperiment-inferenceexperimentschedule-starttime)" : String
}
```

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

```
  [EndTime](#cfn-sagemaker-inferenceexperiment-inferenceexperimentschedule-endtime): String
  [StartTime](#cfn-sagemaker-inferenceexperiment-inferenceexperimentschedule-starttime): String
```

## Properties
<a name="aws-properties-sagemaker-inferenceexperiment-inferenceexperimentschedule-properties"></a>

`EndTime`  <a name="cfn-sagemaker-inferenceexperiment-inferenceexperimentschedule-endtime"></a>
The timestamp at which the inference experiment ended or will end.  
*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)

`StartTime`  <a name="cfn-sagemaker-inferenceexperiment-inferenceexperimentschedule-starttime"></a>
The timestamp at which the inference experiment started or will start.  
*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::InferenceExperiment ModelInfrastructureConfig
<a name="aws-properties-sagemaker-inferenceexperiment-modelinfrastructureconfig"></a>

The configuration for the infrastructure that the model will be deployed to.

## Syntax
<a name="aws-properties-sagemaker-inferenceexperiment-modelinfrastructureconfig-syntax"></a>

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

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

```
{
  "[InfrastructureType](#cfn-sagemaker-inferenceexperiment-modelinfrastructureconfig-infrastructuretype)" : String,
  "[RealTimeInferenceConfig](#cfn-sagemaker-inferenceexperiment-modelinfrastructureconfig-realtimeinferenceconfig)" : RealTimeInferenceConfig
}
```

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

```
  [InfrastructureType](#cfn-sagemaker-inferenceexperiment-modelinfrastructureconfig-infrastructuretype): String
  [RealTimeInferenceConfig](#cfn-sagemaker-inferenceexperiment-modelinfrastructureconfig-realtimeinferenceconfig): 
    RealTimeInferenceConfig
```

## Properties
<a name="aws-properties-sagemaker-inferenceexperiment-modelinfrastructureconfig-properties"></a>

`InfrastructureType`  <a name="cfn-sagemaker-inferenceexperiment-modelinfrastructureconfig-infrastructuretype"></a>
The inference option to which to deploy your model. Possible values are the following:  
+ `RealTime`: Deploy to real-time inference.
*Required*: Yes  
*Type*: String  
*Allowed values*: `RealTimeInference`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`RealTimeInferenceConfig`  <a name="cfn-sagemaker-inferenceexperiment-modelinfrastructureconfig-realtimeinferenceconfig"></a>
The infrastructure configuration for deploying the model to real-time inference.  
*Required*: Yes  
*Type*: [RealTimeInferenceConfig](aws-properties-sagemaker-inferenceexperiment-realtimeinferenceconfig.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::InferenceExperiment ModelVariantConfig
<a name="aws-properties-sagemaker-inferenceexperiment-modelvariantconfig"></a>

Contains information about the deployment options of a model.

## Syntax
<a name="aws-properties-sagemaker-inferenceexperiment-modelvariantconfig-syntax"></a>

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

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

```
{
  "[InfrastructureConfig](#cfn-sagemaker-inferenceexperiment-modelvariantconfig-infrastructureconfig)" : ModelInfrastructureConfig,
  "[ModelName](#cfn-sagemaker-inferenceexperiment-modelvariantconfig-modelname)" : String,
  "[VariantName](#cfn-sagemaker-inferenceexperiment-modelvariantconfig-variantname)" : String
}
```

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

```
  [InfrastructureConfig](#cfn-sagemaker-inferenceexperiment-modelvariantconfig-infrastructureconfig): 
    ModelInfrastructureConfig
  [ModelName](#cfn-sagemaker-inferenceexperiment-modelvariantconfig-modelname): String
  [VariantName](#cfn-sagemaker-inferenceexperiment-modelvariantconfig-variantname): String
```

## Properties
<a name="aws-properties-sagemaker-inferenceexperiment-modelvariantconfig-properties"></a>

`InfrastructureConfig`  <a name="cfn-sagemaker-inferenceexperiment-modelvariantconfig-infrastructureconfig"></a>
The configuration for the infrastructure that the model will be deployed to.  
*Required*: Yes  
*Type*: [ModelInfrastructureConfig](aws-properties-sagemaker-inferenceexperiment-modelinfrastructureconfig.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ModelName`  <a name="cfn-sagemaker-inferenceexperiment-modelvariantconfig-modelname"></a>
The name of the Amazon SageMaker Model entity.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^[a-zA-Z0-9](-*[a-zA-Z0-9])*`  
*Maximum*: `63`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`VariantName`  <a name="cfn-sagemaker-inferenceexperiment-modelvariantconfig-variantname"></a>
The name of the variant.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^[a-zA-Z0-9]([\-a-zA-Z0-9]*[a-zA-Z0-9])?`  
*Maximum*: `63`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::SageMaker::InferenceExperiment RealTimeInferenceConfig
<a name="aws-properties-sagemaker-inferenceexperiment-realtimeinferenceconfig"></a>

The infrastructure configuration for deploying the model to a real-time inference endpoint.

## Syntax
<a name="aws-properties-sagemaker-inferenceexperiment-realtimeinferenceconfig-syntax"></a>

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

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

```
{
  "[InstanceCount](#cfn-sagemaker-inferenceexperiment-realtimeinferenceconfig-instancecount)" : Integer,
  "[InstanceType](#cfn-sagemaker-inferenceexperiment-realtimeinferenceconfig-instancetype)" : String
}
```

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

```
  [InstanceCount](#cfn-sagemaker-inferenceexperiment-realtimeinferenceconfig-instancecount): Integer
  [InstanceType](#cfn-sagemaker-inferenceexperiment-realtimeinferenceconfig-instancetype): String
```

## Properties
<a name="aws-properties-sagemaker-inferenceexperiment-realtimeinferenceconfig-properties"></a>

`InstanceCount`  <a name="cfn-sagemaker-inferenceexperiment-realtimeinferenceconfig-instancecount"></a>
The number of instances of the type specified by `InstanceType`.  
*Required*: Yes  
*Type*: Integer  
*Minimum*: `0`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`InstanceType`  <a name="cfn-sagemaker-inferenceexperiment-realtimeinferenceconfig-instancetype"></a>
The instance type the model is deployed to.  
*Required*: Yes  
*Type*: String  
*Allowed values*: `ml.t2.medium | ml.t2.large | ml.t2.xlarge | ml.t2.2xlarge | ml.t3.medium | ml.t3.large | ml.t3.xlarge | ml.t3.2xlarge | ml.m4.xlarge | ml.m4.2xlarge | ml.m4.4xlarge | ml.m4.10xlarge | ml.m4.16xlarge | ml.m5.xlarge | ml.m5.2xlarge | ml.m5.4xlarge | ml.m5.12xlarge | ml.m5.24xlarge | ml.m5d.large | ml.m5d.xlarge | ml.m5d.2xlarge | ml.m5d.4xlarge | ml.m5d.8xlarge | ml.m5d.12xlarge | ml.m5d.16xlarge | ml.m5d.24xlarge | ml.c4.xlarge | ml.c4.2xlarge | ml.c4.4xlarge | ml.c4.8xlarge | ml.c5.xlarge | ml.c5.2xlarge | ml.c5.4xlarge | ml.c5.9xlarge | ml.c5.18xlarge | ml.c5d.xlarge | ml.c5d.2xlarge | ml.c5d.4xlarge | ml.c5d.9xlarge | ml.c5d.18xlarge | ml.p2.xlarge | ml.p2.8xlarge | ml.p2.16xlarge | ml.p3.2xlarge | ml.p3.8xlarge | ml.p3.16xlarge | ml.p3dn.24xlarge | ml.g4dn.xlarge | ml.g4dn.2xlarge | ml.g4dn.4xlarge | ml.g4dn.8xlarge | ml.g4dn.12xlarge | ml.g4dn.16xlarge | ml.r5.large | ml.r5.xlarge | ml.r5.2xlarge | ml.r5.4xlarge | ml.r5.8xlarge | ml.r5.12xlarge | ml.r5.16xlarge | ml.r5.24xlarge | ml.g5.xlarge | ml.g5.2xlarge | ml.g5.4xlarge | ml.g5.8xlarge | ml.g5.16xlarge | ml.g5.12xlarge | ml.g5.24xlarge | ml.g5.48xlarge | ml.inf1.xlarge | ml.inf1.2xlarge | ml.inf1.6xlarge | ml.inf1.24xlarge | ml.trn1.2xlarge | ml.trn1.32xlarge | ml.trn1n.32xlarge | ml.inf2.xlarge | ml.inf2.8xlarge | ml.inf2.24xlarge | ml.inf2.48xlarge | ml.p4d.24xlarge | ml.p4de.24xlarge | ml.p5.48xlarge | ml.p6-b200.48xlarge | 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.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.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.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.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.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.m6id.large | ml.m6id.xlarge | ml.m6id.2xlarge | ml.m6id.4xlarge | ml.m6id.8xlarge | ml.m6id.12xlarge | ml.m6id.16xlarge | ml.m6id.24xlarge | ml.m6id.32xlarge | ml.c6id.large | ml.c6id.xlarge | ml.c6id.2xlarge | ml.c6id.4xlarge | ml.c6id.8xlarge | ml.c6id.12xlarge | ml.c6id.16xlarge | ml.c6id.24xlarge | ml.c6id.32xlarge | ml.r6id.large | ml.r6id.xlarge | ml.r6id.2xlarge | ml.r6id.4xlarge | ml.r6id.8xlarge | ml.r6id.12xlarge | ml.r6id.16xlarge | ml.r6id.24xlarge | ml.r6id.32xlarge | 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*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::SageMaker::InferenceExperiment ShadowModeConfig
<a name="aws-properties-sagemaker-inferenceexperiment-shadowmodeconfig"></a>

 The configuration of `ShadowMode` inference experiment type, which specifies a production variant to take all the inference requests, and a shadow variant to which Amazon SageMaker replicates a percentage of the inference requests. For the shadow variant it also specifies the percentage of requests that Amazon SageMaker replicates. 

## Syntax
<a name="aws-properties-sagemaker-inferenceexperiment-shadowmodeconfig-syntax"></a>

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

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

```
{
  "[ShadowModelVariants](#cfn-sagemaker-inferenceexperiment-shadowmodeconfig-shadowmodelvariants)" : [ ShadowModelVariantConfig, ... ],
  "[SourceModelVariantName](#cfn-sagemaker-inferenceexperiment-shadowmodeconfig-sourcemodelvariantname)" : String
}
```

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

```
  [ShadowModelVariants](#cfn-sagemaker-inferenceexperiment-shadowmodeconfig-shadowmodelvariants): 
    - ShadowModelVariantConfig
  [SourceModelVariantName](#cfn-sagemaker-inferenceexperiment-shadowmodeconfig-sourcemodelvariantname): String
```

## Properties
<a name="aws-properties-sagemaker-inferenceexperiment-shadowmodeconfig-properties"></a>

`ShadowModelVariants`  <a name="cfn-sagemaker-inferenceexperiment-shadowmodeconfig-shadowmodelvariants"></a>
List of shadow variant configurations.  
*Required*: Yes  
*Type*: Array of [ShadowModelVariantConfig](aws-properties-sagemaker-inferenceexperiment-shadowmodelvariantconfig.md)  
*Minimum*: `1`  
*Maximum*: `1`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`SourceModelVariantName`  <a name="cfn-sagemaker-inferenceexperiment-shadowmodeconfig-sourcemodelvariantname"></a>
 The name of the production variant, which takes all the inference requests.   
*Required*: Yes  
*Type*: String  
*Pattern*: `^[a-zA-Z0-9]([\-a-zA-Z0-9]*[a-zA-Z0-9])?`  
*Maximum*: `63`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::SageMaker::InferenceExperiment ShadowModelVariantConfig
<a name="aws-properties-sagemaker-inferenceexperiment-shadowmodelvariantconfig"></a>

The name and sampling percentage of a shadow variant.

## Syntax
<a name="aws-properties-sagemaker-inferenceexperiment-shadowmodelvariantconfig-syntax"></a>

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

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

```
{
  "[SamplingPercentage](#cfn-sagemaker-inferenceexperiment-shadowmodelvariantconfig-samplingpercentage)" : Integer,
  "[ShadowModelVariantName](#cfn-sagemaker-inferenceexperiment-shadowmodelvariantconfig-shadowmodelvariantname)" : String
}
```

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

```
  [SamplingPercentage](#cfn-sagemaker-inferenceexperiment-shadowmodelvariantconfig-samplingpercentage): Integer
  [ShadowModelVariantName](#cfn-sagemaker-inferenceexperiment-shadowmodelvariantconfig-shadowmodelvariantname): String
```

## Properties
<a name="aws-properties-sagemaker-inferenceexperiment-shadowmodelvariantconfig-properties"></a>

`SamplingPercentage`  <a name="cfn-sagemaker-inferenceexperiment-shadowmodelvariantconfig-samplingpercentage"></a>
 The percentage of inference requests that Amazon SageMaker replicates from the production variant to the shadow variant.   
*Required*: Yes  
*Type*: Integer  
*Maximum*: `100`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ShadowModelVariantName`  <a name="cfn-sagemaker-inferenceexperiment-shadowmodelvariantconfig-shadowmodelvariantname"></a>
The name of the shadow variant.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^[a-zA-Z0-9]([\-a-zA-Z0-9]*[a-zA-Z0-9])?`  
*Maximum*: `63`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::SageMaker::InferenceExperiment Tag
<a name="aws-properties-sagemaker-inferenceexperiment-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-inferenceexperiment-tag-syntax"></a>

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

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

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

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

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

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

`Key`  <a name="cfn-sagemaker-inferenceexperiment-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-inferenceexperiment-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::MlflowTrackingServer
<a name="aws-resource-sagemaker-mlflowtrackingserver"></a>

Creates an MLflow Tracking Server using a general purpose Amazon S3 bucket as the artifact store. For more information, see [Create an MLflow Tracking Server](https://docs.aws.amazon.com/sagemaker/latest/dg/mlflow-create-tracking-server.html).

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

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

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

```
{
  "Type" : "AWS::SageMaker::MlflowTrackingServer",
  "Properties" : {
      "[ArtifactStoreUri](#cfn-sagemaker-mlflowtrackingserver-artifactstoreuri)" : String,
      "[AutomaticModelRegistration](#cfn-sagemaker-mlflowtrackingserver-automaticmodelregistration)" : Boolean,
      "[MlflowVersion](#cfn-sagemaker-mlflowtrackingserver-mlflowversion)" : String,
      "[RoleArn](#cfn-sagemaker-mlflowtrackingserver-rolearn)" : String,
      "[Tags](#cfn-sagemaker-mlflowtrackingserver-tags)" : [ Tag, ... ],
      "[TrackingServerName](#cfn-sagemaker-mlflowtrackingserver-trackingservername)" : String,
      "[TrackingServerSize](#cfn-sagemaker-mlflowtrackingserver-trackingserversize)" : String,
      "[WeeklyMaintenanceWindowStart](#cfn-sagemaker-mlflowtrackingserver-weeklymaintenancewindowstart)" : String
    }
}
```

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

```
Type: AWS::SageMaker::MlflowTrackingServer
Properties:
  [ArtifactStoreUri](#cfn-sagemaker-mlflowtrackingserver-artifactstoreuri): String
  [AutomaticModelRegistration](#cfn-sagemaker-mlflowtrackingserver-automaticmodelregistration): Boolean
  [MlflowVersion](#cfn-sagemaker-mlflowtrackingserver-mlflowversion): String
  [RoleArn](#cfn-sagemaker-mlflowtrackingserver-rolearn): String
  [Tags](#cfn-sagemaker-mlflowtrackingserver-tags): 
    - Tag
  [TrackingServerName](#cfn-sagemaker-mlflowtrackingserver-trackingservername): String
  [TrackingServerSize](#cfn-sagemaker-mlflowtrackingserver-trackingserversize): String
  [WeeklyMaintenanceWindowStart](#cfn-sagemaker-mlflowtrackingserver-weeklymaintenancewindowstart): String
```

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

`ArtifactStoreUri`  <a name="cfn-sagemaker-mlflowtrackingserver-artifactstoreuri"></a>
The S3 URI for a general purpose bucket to use as the MLflow Tracking Server artifact store.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^s3:\/\/([^\/]+)\/?(.*)$`  
*Minimum*: `1`  
*Maximum*: `2048`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`AutomaticModelRegistration`  <a name="cfn-sagemaker-mlflowtrackingserver-automaticmodelregistration"></a>
Whether to enable or disable automatic registration of new MLflow models to the SageMaker Model Registry. To enable automatic model registration, set this value to `True`. To disable automatic model registration, set this value to `False`. If not specified, `AutomaticModelRegistration` defaults to `False`.  
*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)

`MlflowVersion`  <a name="cfn-sagemaker-mlflowtrackingserver-mlflowversion"></a>
The version of MLflow that the tracking server uses. To see which MLflow versions are available to use, see [How it works](https://docs.aws.amazon.com/sagemaker/latest/dg/mlflow.html#mlflow-create-tracking-server-how-it-works).  
*Required*: No  
*Type*: String  
*Pattern*: `^\d+(\.\d+)+$`  
*Minimum*: `1`  
*Maximum*: `32`  
*Update requires*: [Some interruptions](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-some-interrupt)

`RoleArn`  <a name="cfn-sagemaker-mlflowtrackingserver-rolearn"></a>
The Amazon Resource Name (ARN) for an IAM role in your account that the MLflow Tracking Server uses to access the artifact store in Amazon S3. The role should have `AmazonS3FullAccess` permissions. For more information on IAM permissions for tracking server creation, see [Set up IAM permissions for MLflow](https://docs.aws.amazon.com/sagemaker/latest/dg/mlflow-create-tracking-server-iam.html).  
*Required*: Yes  
*Type*: String  
*Pattern*: `^arn:aws[a-z\-]*:iam::\d{12}:role\/?[a-zA-Z_0-9+=,.@\-_\/]+$`  
*Minimum*: `20`  
*Maximum*: `2048`  
*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-mlflowtrackingserver-tags"></a>
Tags consisting of key-value pairs used to manage metadata for the tracking server.  
*Required*: No  
*Type*: Array of [Tag](aws-properties-sagemaker-mlflowtrackingserver-tag.md)  
*Minimum*: `1`  
*Maximum*: `50`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`TrackingServerName`  <a name="cfn-sagemaker-mlflowtrackingserver-trackingservername"></a>
A unique string identifying the tracking server name. This string is part of the tracking server ARN.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,255}$`  
*Minimum*: `1`  
*Maximum*: `256`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`TrackingServerSize`  <a name="cfn-sagemaker-mlflowtrackingserver-trackingserversize"></a>
The size of the tracking server you want to create. You can choose between `"Small"`, `"Medium"`, and `"Large"`. The default MLflow Tracking Server configuration size is `"Small"`. You can choose a size depending on the projected use of the tracking server such as the volume of data logged, number of users, and frequency of use.   
We recommend using a small tracking server for teams of up to 25 users, a medium tracking server for teams of up to 50 users, and a large tracking server for teams of up to 100 users.   
*Required*: No  
*Type*: String  
*Allowed values*: `Small | Medium | Large`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`WeeklyMaintenanceWindowStart`  <a name="cfn-sagemaker-mlflowtrackingserver-weeklymaintenancewindowstart"></a>
The day and time of the week in Coordinated Universal Time (UTC) 24-hour standard time that weekly maintenance updates are scheduled. For example: TUE:03:30.  
*Required*: No  
*Type*: String  
*Pattern*: `^(Mon|Tue|Wed|Thu|Fri|Sat|Sun):([01]\d|2[0-3]):([0-5]\d)$`  
*Maximum*: `9`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

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

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

### Fn::GetAtt
<a name="aws-resource-sagemaker-mlflowtrackingserver-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-mlflowtrackingserver-return-values-fn--getatt-fn--getatt"></a>

`TrackingServerArn`  <a name="TrackingServerArn-fn::getatt"></a>
The ARN of the tracking server.

# AWS::SageMaker::MlflowTrackingServer Tag
<a name="aws-properties-sagemaker-mlflowtrackingserver-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-mlflowtrackingserver-tag-syntax"></a>

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

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

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

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

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

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

`Key`  <a name="cfn-sagemaker-mlflowtrackingserver-tag-key"></a>
The tag key. Tag keys must be unique per resource.  
*Required*: Yes  
*Type*: String  
*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-mlflowtrackingserver-tag-value"></a>
The tag value.  
*Required*: Yes  
*Type*: String  
*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::Model
<a name="aws-resource-sagemaker-model"></a>

The `AWS::SageMaker::Model` resource to create a model to host at an Amazon SageMaker endpoint. For more information, see [Deploying a Model on Amazon SageMaker Hosting Services](https://docs.aws.amazon.com/sagemaker/latest/dg/how-it-works-hosting.html) in the *Amazon SageMaker Developer Guide*. 

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

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

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

```
{
  "Type" : "AWS::SageMaker::Model",
  "Properties" : {
      "[Containers](#cfn-sagemaker-model-containers)" : [ ContainerDefinition, ... ],
      "[EnableNetworkIsolation](#cfn-sagemaker-model-enablenetworkisolation)" : Boolean,
      "[ExecutionRoleArn](#cfn-sagemaker-model-executionrolearn)" : String,
      "[InferenceExecutionConfig](#cfn-sagemaker-model-inferenceexecutionconfig)" : InferenceExecutionConfig,
      "[ModelName](#cfn-sagemaker-model-modelname)" : String,
      "[PrimaryContainer](#cfn-sagemaker-model-primarycontainer)" : ContainerDefinition,
      "[Tags](#cfn-sagemaker-model-tags)" : [ Tag, ... ],
      "[VpcConfig](#cfn-sagemaker-model-vpcconfig)" : VpcConfig
    }
}
```

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

```
Type: AWS::SageMaker::Model
Properties:
  [Containers](#cfn-sagemaker-model-containers): 
    - ContainerDefinition
  [EnableNetworkIsolation](#cfn-sagemaker-model-enablenetworkisolation): Boolean
  [ExecutionRoleArn](#cfn-sagemaker-model-executionrolearn): String
  [InferenceExecutionConfig](#cfn-sagemaker-model-inferenceexecutionconfig): 
    InferenceExecutionConfig
  [ModelName](#cfn-sagemaker-model-modelname): String
  [PrimaryContainer](#cfn-sagemaker-model-primarycontainer): 
    ContainerDefinition
  [Tags](#cfn-sagemaker-model-tags): 
    - Tag
  [VpcConfig](#cfn-sagemaker-model-vpcconfig): 
    VpcConfig
```

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

`Containers`  <a name="cfn-sagemaker-model-containers"></a>
Specifies the containers in the inference pipeline.  
*Required*: No  
*Type*: Array of [ContainerDefinition](aws-properties-sagemaker-model-containerdefinition.md)  
*Minimum*: `0`  
*Maximum*: `15`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`EnableNetworkIsolation`  <a name="cfn-sagemaker-model-enablenetworkisolation"></a>
Isolates the model container. No inbound or outbound network calls can be made to or from the model container.  
*Required*: No  
*Type*: Boolean  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`ExecutionRoleArn`  <a name="cfn-sagemaker-model-executionrolearn"></a>
The Amazon Resource Name (ARN) of the IAM role that SageMaker can assume to access model artifacts and docker image for deployment on ML compute instances or for batch transform jobs. Deploying on ML compute instances is part of model hosting. For more information, see [SageMaker Roles](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-roles.html).   
To be able to pass this role to SageMaker, the caller of this API must have the `iam:PassRole` permission.
*Required*: No  
*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)

`InferenceExecutionConfig`  <a name="cfn-sagemaker-model-inferenceexecutionconfig"></a>
Specifies details of how containers in a multi-container endpoint are called.  
*Required*: No  
*Type*: [InferenceExecutionConfig](aws-properties-sagemaker-model-inferenceexecutionconfig.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`ModelName`  <a name="cfn-sagemaker-model-modelname"></a>
The name of the new model.  
*Required*: No  
*Type*: String  
*Pattern*: `[a-zA-Z0-9]([\-a-zA-Z0-9]*[a-zA-Z0-9])?`  
*Minimum*: `0`  
*Maximum*: `63`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`PrimaryContainer`  <a name="cfn-sagemaker-model-primarycontainer"></a>
The location of the primary docker image containing inference code, associated artifacts, and custom environment map that the inference code uses when the model is deployed for predictions.   
*Required*: No  
*Type*: [ContainerDefinition](aws-properties-sagemaker-model-containerdefinition.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`Tags`  <a name="cfn-sagemaker-model-tags"></a>
A list of key-value pairs to apply to this resource.  
For more information, see [Resource Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) and [Using Cost Allocation Tags](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html#allocation-what) in the *AWS Billing and Cost Management User Guide*.   
*Required*: No  
*Type*: Array of [Tag](aws-properties-sagemaker-model-tag.md)  
*Minimum*: `0`  
*Maximum*: `50`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`VpcConfig`  <a name="cfn-sagemaker-model-vpcconfig"></a>
A [VpcConfig](https://docs.aws.amazon.com/sagemaker/latest/dg/API_VpcConfig.html) object that specifies the VPC that you want your model to connect to. Control access to and from your model container by configuring the VPC. `VpcConfig` is used in hosting services and in batch transform. For more information, see [Protect Endpoints by Using an Amazon Virtual Private Cloud](https://docs.aws.amazon.com/sagemaker/latest/dg/host-vpc.html) and [Protect Data in Batch Transform Jobs by Using an Amazon Virtual Private Cloud](https://docs.aws.amazon.com/sagemaker/latest/dg/batch-vpc.html).  
*Required*: No  
*Type*: [VpcConfig](aws-properties-sagemaker-model-vpcconfig.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-model-return-values"></a>

### Ref
<a name="aws-resource-sagemaker-model-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, such as `arn:aws:sagemaker:us-west-2:012345678901:model/mymodel`.

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-model-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-model-return-values-fn--getatt-fn--getatt"></a>

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

`ModelName`  <a name="ModelName-fn::getatt"></a>
The name of the model, such as `MyModel`.

## Examples
<a name="aws-resource-sagemaker-model--examples"></a>

### SageMaker Model Endpoint Example
<a name="aws-resource-sagemaker-model--examples--SageMaker_Model_Endpoint_Example"></a>

The following example creates an endpoint configuration from a trained model, and then creates an endpoint.

#### JSON
<a name="aws-resource-sagemaker-model--examples--SageMaker_Model_Endpoint_Example--json"></a>

```
{
  "Description": "Basic Hosting entities test.  We need models to create endpoint configs.",
  "Mappings": {
    "RegionMap": {
      "us-west-2": {
        "NullTransformer": "12345678901.dkr.ecr.us-west-2.amazonaws.com/mymodel:latest"
      },
      "us-east-2": {
        "NullTransformer": "12345678901.dkr.ecr.us-east-2.amazonaws.com/mymodel:latest"
      },
      "us-east-1": {
        "NullTransformer": "12345678901.dkr.ecr.us-east-1.amazonaws.com/mymodel:latest"
      },
      "eu-west-1": {
        "NullTransformer": "12345678901.dkr.ecr.eu-west-1.amazonaws.com/mymodel:latest"
      },
      "ap-northeast-1": {
        "NullTransformer": "12345678901.dkr.ecr.ap-northeast-1.amazonaws.com/mymodel:latest"
      },
      "ap-northeast-2": {
        "NullTransformer": "12345678901.dkr.ecr.ap-northeast-2.amazonaws.com/mymodel:latest"
      },
      "ap-southeast-2": {
        "NullTransformer": "12345678901.dkr.ecr.ap-southeast-2.amazonaws.com/mymodel:latest"
      },
      "eu-central-1": {
        "NullTransformer": "12345678901.dkr.ecr.eu-central-1.amazonaws.com/mymodel:latest"
      }
    }
  },
  "Resources": {
    "Endpoint": {
      "Type": "AWS::SageMaker::Endpoint",
      "Properties": {
        "EndpointConfigName": { "Fn::GetAtt" : ["EndpointConfig", "EndpointConfigName" ] }
      }
    },
    "EndpointConfig": {
      "Type": "AWS::SageMaker::EndpointConfig",
      "Properties": {
        "ProductionVariants": [
          {
            "InitialInstanceCount": 1,
            "InitialVariantWeight": 1,
            "InstanceType": "ml.t2.large",
            "ModelName": { "Fn::GetAtt" : ["Model", "ModelName" ] },
            "VariantName": { "Fn::GetAtt" : ["Model", "ModelName" ] }
          }
        ]
      }
    },
    "Model": {
      "Type": "AWS::SageMaker::Model",
      "Properties": {
        "PrimaryContainer": {
          "Image": { "Fn::FindInMap" : [ "AWS::Region", "NullTransformer"] }
        },
        "ExecutionRoleArn": { "Fn::GetAtt" : [ "ExecutionRole", "Arn" ] }
      }
    },
    "ExecutionRole": {
      "Type": "AWS::IAM::Role",
      "Properties": {
        "AssumeRolePolicyDocument": {
          "Version": "2012-10-17"		 	 	 ,
          "Statement": [
            {
              "Effect": "Allow",
              "Principal": {
                "Service": [
                  "sagemaker.amazonaws.com"
                ]
              },
              "Action": [
                "sts:AssumeRole"
              ]
            }
          ]
        },
        "Path": "/",
        "Policies": [
          {
            "PolicyName": "root",
            "PolicyDocument": {
              "Version": "2012-10-17"		 	 	 ,
              "Statement": [
                {
                  "Effect": "Allow",
                  "Action": "*",
                  "Resource": "*"
                }
              ]
            }
          }
        ]
      }
    }
  },
  "Outputs": {
    "EndpointId": {
      "Value": { "Ref" : "Endpoint" }
    },
    "EndpointName": {
      "Value": { "Fn::GetAtt" : [ "Endpoint", "EndpointName" ] }
    }
    
  }
  
}
```

#### YAML
<a name="aws-resource-sagemaker-model--examples--SageMaker_Model_Endpoint_Example--yaml"></a>

```
Description: "Basic Hosting entities test.  We need models to create endpoint configs."
Mappings: 
  RegionMap: 
    "us-west-2":
      "NullTransformer": "123456789012.dkr.ecr.us-west-2.amazonaws.com/mymodel:latest"
    "us-east-2":
      "NullTransformer": "123456789012.dkr.ecr.us-east-2.amazonaws.com/mymodel:latest"
    "us-east-1":
      "NullTransformer": "123456789012.dkr.ecr.us-east-1.amazonaws.com/mymodel:latest"
    "eu-west-1":
      "NullTransformer": "123456789012.dkr.ecr.eu-west-1.amazonaws.com/mymodel:latest"
    "ap-northeast-1":
      "NullTransformer": "123456789012.dkr.ecr.ap-northeast-1.amazonaws.com/mymodel:latest"
    "ap-northeast-2":
      "NullTransformer": "123456789012.dkr.ecr.ap-northeast-2.amazonaws.com/mymodel:latest"
    "ap-southeast-2":
      "NullTransformer": "123456789012.dkr.ecr.ap-southeast-2.amazonaws.com/mymodel:latest"
    "eu-central-1":
      "NullTransformer": "123456789012.dkr.ecr.eu-central-1.amazonaws.com/mymodel:latest"
Resources:
  Endpoint:
    Type: "AWS::SageMaker::Endpoint"
    Properties:
      EndpointConfigName:
        !GetAtt EndpointConfig.EndpointConfigName
  EndpointConfig:
    Type: "AWS::SageMaker::EndpointConfig"
    Properties:
      ProductionVariants:
        - InitialInstanceCount: 1
          InitialVariantWeight: 1.0
          InstanceType: ml.t2.large
          ModelName: !GetAtt Model.ModelName
          VariantName: !GetAtt Model.ModelName
  Model:
    Type: "AWS::SageMaker::Model"
    Properties:
      PrimaryContainer:
        Image: !FindInMap [RegionMap, !Ref "AWS::Region", "NullTransformer"]
      ExecutionRoleArn: !GetAtt ExecutionRole.Arn

  ExecutionRole: 
    Type: "AWS::IAM::Role"
    Properties: 
      AssumeRolePolicyDocument: 
        Version: "2012-10-17"
        Statement: 
          - 
            Effect: "Allow"
            Principal: 
              Service: 
                - "sagemaker.amazonaws.com"
            Action: 
              - "sts:AssumeRole"
      Path: "/"
      Policies: 
        - 
          PolicyName: "root"
          PolicyDocument: 
            Version: "2012-10-17"
            Statement: 
              - 
                Effect: "Allow"
                Action: "*"
                Resource: "*"
Outputs:
  EndpointId:
    Value: !Ref Endpoint
  EndpointName:
    Value: !GetAtt Endpoint.EndpointName
```

# AWS::SageMaker::Model ContainerDefinition
<a name="aws-properties-sagemaker-model-containerdefinition"></a>

Describes the container, as part of model definition.

## Syntax
<a name="aws-properties-sagemaker-model-containerdefinition-syntax"></a>

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

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

```
{
  "[ContainerHostname](#cfn-sagemaker-model-containerdefinition-containerhostname)" : String,
  "[Environment](#cfn-sagemaker-model-containerdefinition-environment)" : Json,
  "[Image](#cfn-sagemaker-model-containerdefinition-image)" : String,
  "[ImageConfig](#cfn-sagemaker-model-containerdefinition-imageconfig)" : ImageConfig,
  "[InferenceSpecificationName](#cfn-sagemaker-model-containerdefinition-inferencespecificationname)" : String,
  "[Mode](#cfn-sagemaker-model-containerdefinition-mode)" : String,
  "[ModelDataSource](#cfn-sagemaker-model-containerdefinition-modeldatasource)" : ModelDataSource,
  "[ModelDataUrl](#cfn-sagemaker-model-containerdefinition-modeldataurl)" : String,
  "[ModelPackageName](#cfn-sagemaker-model-containerdefinition-modelpackagename)" : String,
  "[MultiModelConfig](#cfn-sagemaker-model-containerdefinition-multimodelconfig)" : MultiModelConfig
}
```

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

```
  [ContainerHostname](#cfn-sagemaker-model-containerdefinition-containerhostname): String
  [Environment](#cfn-sagemaker-model-containerdefinition-environment): Json
  [Image](#cfn-sagemaker-model-containerdefinition-image): String
  [ImageConfig](#cfn-sagemaker-model-containerdefinition-imageconfig): 
    ImageConfig
  [InferenceSpecificationName](#cfn-sagemaker-model-containerdefinition-inferencespecificationname): String
  [Mode](#cfn-sagemaker-model-containerdefinition-mode): String
  [ModelDataSource](#cfn-sagemaker-model-containerdefinition-modeldatasource): 
    ModelDataSource
  [ModelDataUrl](#cfn-sagemaker-model-containerdefinition-modeldataurl): String
  [ModelPackageName](#cfn-sagemaker-model-containerdefinition-modelpackagename): String
  [MultiModelConfig](#cfn-sagemaker-model-containerdefinition-multimodelconfig): 
    MultiModelConfig
```

## Properties
<a name="aws-properties-sagemaker-model-containerdefinition-properties"></a>

`ContainerHostname`  <a name="cfn-sagemaker-model-containerdefinition-containerhostname"></a>
This parameter is ignored for models that contain only a `PrimaryContainer`.  
When a `ContainerDefinition` is part of an inference pipeline, the value of the parameter uniquely identifies the container for the purposes of logging and metrics. For information, see [Use Logs and Metrics to Monitor an Inference Pipeline](https://docs.aws.amazon.com/sagemaker/latest/dg/inference-pipeline-logs-metrics.html). If you don't specify a value for this parameter for a `ContainerDefinition` that is part of an inference pipeline, a unique name is automatically assigned based on the position of the `ContainerDefinition` in the pipeline. If you specify a value for the `ContainerHostName` for any `ContainerDefinition` that is part of an inference pipeline, you must specify a value for the `ContainerHostName` parameter of every `ContainerDefinition` in that pipeline.  
*Required*: No  
*Type*: String  
*Pattern*: `[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}`  
*Minimum*: `0`  
*Maximum*: `63`  
*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-model-containerdefinition-environment"></a>
The environment variables to set in the Docker container. Don't include any sensitive data in your environment variables.  
The maximum length of each key and value in the `Environment` map is 1024 bytes. The maximum length of all keys and values in the map, combined, is 32 KB. If you pass multiple containers to a `CreateModel` request, then the maximum length of all of their maps, combined, is also 32 KB.  
*Required*: No  
*Type*: Json  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`Image`  <a name="cfn-sagemaker-model-containerdefinition-image"></a>
The path where inference code is stored. This can be either in Amazon EC2 Container Registry or in a Docker registry that is accessible from the same VPC that you configure for your endpoint. 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).   
The model artifacts in an Amazon S3 bucket and the Docker image for inference container in Amazon EC2 Container Registry must be in the same region as the model or endpoint you are creating.
*Required*: No  
*Type*: String  
*Pattern*: `[\S]+`  
*Minimum*: `0`  
*Maximum*: `255`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`ImageConfig`  <a name="cfn-sagemaker-model-containerdefinition-imageconfig"></a>
Specifies whether the model container is in Amazon ECR or a private Docker registry accessible from your Amazon Virtual Private Cloud (VPC). For information about storing containers in a private Docker registry, see [Use a Private Docker Registry for Real-Time Inference Containers](https://docs.aws.amazon.com/sagemaker/latest/dg/your-algorithms-containers-inference-private.html).   
The model artifacts in an Amazon S3 bucket and the Docker image for inference container in Amazon EC2 Container Registry must be in the same region as the model or endpoint you are creating.
*Required*: No  
*Type*: [ImageConfig](aws-properties-sagemaker-model-imageconfig.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`InferenceSpecificationName`  <a name="cfn-sagemaker-model-containerdefinition-inferencespecificationname"></a>
The inference specification name in the model package version.  
*Required*: No  
*Type*: String  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`Mode`  <a name="cfn-sagemaker-model-containerdefinition-mode"></a>
Whether the container hosts a single model or multiple models.  
*Required*: No  
*Type*: String  
*Allowed values*: `SingleModel | MultiModel`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`ModelDataSource`  <a name="cfn-sagemaker-model-containerdefinition-modeldatasource"></a>
Specifies the location of ML model data to deploy.  
Currently you cannot use `ModelDataSource` in conjunction with SageMaker batch transform, SageMaker serverless endpoints, SageMaker multi-model endpoints, and SageMaker Marketplace.
*Required*: No  
*Type*: [ModelDataSource](aws-properties-sagemaker-model-modeldatasource.md)  
*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-model-containerdefinition-modeldataurl"></a>
The 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 S3 path is required for SageMaker built-in algorithms, but not if you use your own algorithms. For more information on built-in algorithms, see [Common Parameters](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-algo-docker-registry-paths.html).   
The model artifacts must be in an S3 bucket that is in the same region as the model or endpoint you are creating.
If you provide a value for this parameter, SageMaker uses AWS Security Token Service to download model artifacts from the S3 path you provide. AWS STS is activated in your AWS account by default. If you previously deactivated AWS STS for a region, you need to reactivate AWS STS for that region. For more information, see [Activating and Deactivating AWS STS in an AWS Region](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_enable-regions.html) in the *AWS Identity and Access Management User Guide*.  
If you use a built-in algorithm to create a model, SageMaker requires that you provide a S3 path to the model artifacts in `ModelDataUrl`.
*Required*: No  
*Type*: String  
*Pattern*: `(https|s3)://([^/]+)/?(.*)`  
*Minimum*: `0`  
*Maximum*: `1024`  
*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-model-containerdefinition-modelpackagename"></a>
The name or Amazon Resource Name (ARN) of the model package to use to create the model.  
*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})(?<!-)(\/[0-9]{1,9})?`  
*Minimum*: `1`  
*Maximum*: `176`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`MultiModelConfig`  <a name="cfn-sagemaker-model-containerdefinition-multimodelconfig"></a>
Specifies additional configuration for multi-model endpoints.  
*Required*: No  
*Type*: [MultiModelConfig](aws-properties-sagemaker-model-multimodelconfig.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::SageMaker::Model HubAccessConfig
<a name="aws-properties-sagemaker-model-hubaccessconfig"></a>

The configuration for a private hub model reference that points to a public SageMaker JumpStart model.

For more information about private hubs, see [Private curated hubs for foundation model access control in JumpStart](https://docs.aws.amazon.com/sagemaker/latest/dg/jumpstart-curated-hubs.html).

## Syntax
<a name="aws-properties-sagemaker-model-hubaccessconfig-syntax"></a>

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

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

```
{
  "[HubContentArn](#cfn-sagemaker-model-hubaccessconfig-hubcontentarn)" : String
}
```

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

```
  [HubContentArn](#cfn-sagemaker-model-hubaccessconfig-hubcontentarn): String
```

## Properties
<a name="aws-properties-sagemaker-model-hubaccessconfig-properties"></a>

`HubContentArn`  <a name="cfn-sagemaker-model-hubaccessconfig-hubcontentarn"></a>
The ARN of your private model hub content. This should be a `ModelReference` resource type that points to a SageMaker JumpStart public hub model.  
*Required*: Yes  
*Type*: String  
*Pattern*: `.*`  
*Minimum*: `0`  
*Maximum*: `255`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::SageMaker::Model ImageConfig
<a name="aws-properties-sagemaker-model-imageconfig"></a>

Specifies whether the model container is in Amazon ECR or a private Docker registry accessible from your Amazon Virtual Private Cloud (VPC).

## Syntax
<a name="aws-properties-sagemaker-model-imageconfig-syntax"></a>

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

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

```
{
  "[RepositoryAccessMode](#cfn-sagemaker-model-imageconfig-repositoryaccessmode)" : String,
  "[RepositoryAuthConfig](#cfn-sagemaker-model-imageconfig-repositoryauthconfig)" : RepositoryAuthConfig
}
```

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

```
  [RepositoryAccessMode](#cfn-sagemaker-model-imageconfig-repositoryaccessmode): String
  [RepositoryAuthConfig](#cfn-sagemaker-model-imageconfig-repositoryauthconfig): 
    RepositoryAuthConfig
```

## Properties
<a name="aws-properties-sagemaker-model-imageconfig-properties"></a>

`RepositoryAccessMode`  <a name="cfn-sagemaker-model-imageconfig-repositoryaccessmode"></a>
Set this to one of the following values:  
+ `Platform` - The model image is hosted in Amazon ECR.
+ `Vpc` - The model image is hosted in a private Docker registry in your VPC.
*Required*: Yes  
*Type*: String  
*Allowed values*: `Platform | Vpc`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`RepositoryAuthConfig`  <a name="cfn-sagemaker-model-imageconfig-repositoryauthconfig"></a>
(Optional) Specifies an authentication configuration for the private docker registry where your model image is hosted. Specify a value for this property only if you specified `Vpc` as the value for the `RepositoryAccessMode` field, and the private Docker registry where the model image is hosted requires authentication.  
*Required*: No  
*Type*: [RepositoryAuthConfig](aws-properties-sagemaker-model-repositoryauthconfig.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::SageMaker::Model InferenceExecutionConfig
<a name="aws-properties-sagemaker-model-inferenceexecutionconfig"></a>

Specifies details about how containers in a multi-container endpoint are run.

## Syntax
<a name="aws-properties-sagemaker-model-inferenceexecutionconfig-syntax"></a>

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

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

```
{
  "[Mode](#cfn-sagemaker-model-inferenceexecutionconfig-mode)" : String
}
```

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

```
  [Mode](#cfn-sagemaker-model-inferenceexecutionconfig-mode): String
```

## Properties
<a name="aws-properties-sagemaker-model-inferenceexecutionconfig-properties"></a>

`Mode`  <a name="cfn-sagemaker-model-inferenceexecutionconfig-mode"></a>
How containers in a multi-container are run. The following values are valid.  
+ `Serial` - Containers run as a serial pipeline.
+ `Direct` - Only the individual container that you specify is run.
*Required*: Yes  
*Type*: String  
*Allowed values*: `Serial | Direct`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::SageMaker::Model ModelAccessConfig
<a name="aws-properties-sagemaker-model-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-model-modelaccessconfig-syntax"></a>

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

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

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

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

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

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

`AcceptEula`  <a name="cfn-sagemaker-model-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*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::SageMaker::Model ModelDataSource
<a name="aws-properties-sagemaker-model-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-model-modeldatasource-syntax"></a>

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

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

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

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

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

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

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

# AWS::SageMaker::Model MultiModelConfig
<a name="aws-properties-sagemaker-model-multimodelconfig"></a>

Specifies additional configuration for hosting multi-model endpoints.

## Syntax
<a name="aws-properties-sagemaker-model-multimodelconfig-syntax"></a>

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

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

```
{
  "[ModelCacheSetting](#cfn-sagemaker-model-multimodelconfig-modelcachesetting)" : String
}
```

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

```
  [ModelCacheSetting](#cfn-sagemaker-model-multimodelconfig-modelcachesetting): String
```

## Properties
<a name="aws-properties-sagemaker-model-multimodelconfig-properties"></a>

`ModelCacheSetting`  <a name="cfn-sagemaker-model-multimodelconfig-modelcachesetting"></a>
Whether to cache models for a multi-model endpoint. By default, multi-model endpoints cache models so that a model does not have to be loaded into memory each time it is invoked. Some use cases do not benefit from model caching. For example, if an endpoint hosts a large number of models that are each invoked infrequently, the endpoint might perform better if you disable model caching. To disable model caching, set the value of this parameter to Disabled.  
*Required*: No  
*Type*: String  
*Allowed values*: `Enabled | Disabled`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::SageMaker::Model RepositoryAuthConfig
<a name="aws-properties-sagemaker-model-repositoryauthconfig"></a>

Specifies an authentication configuration for the private docker registry where your model image is hosted. Specify a value for this property only if you specified `Vpc` as the value for the `RepositoryAccessMode` field of the `ImageConfig` object that you passed to a call to `CreateModel` and the private Docker registry where the model image is hosted requires authentication.

## Syntax
<a name="aws-properties-sagemaker-model-repositoryauthconfig-syntax"></a>

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

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

```
{
  "[RepositoryCredentialsProviderArn](#cfn-sagemaker-model-repositoryauthconfig-repositorycredentialsproviderarn)" : String
}
```

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

```
  [RepositoryCredentialsProviderArn](#cfn-sagemaker-model-repositoryauthconfig-repositorycredentialsproviderarn): String
```

## Properties
<a name="aws-properties-sagemaker-model-repositoryauthconfig-properties"></a>

`RepositoryCredentialsProviderArn`  <a name="cfn-sagemaker-model-repositoryauthconfig-repositorycredentialsproviderarn"></a>
The Amazon Resource Name (ARN) of an AWS Lambda function that provides credentials to authenticate to the private Docker registry where your model image is hosted. For information about how to create an AWS Lambda function, see [Create a Lambda function with the console](https://docs.aws.amazon.com/lambda/latest/dg/getting-started-create-function.html) in the *AWS Lambda Developer Guide*.  
*Required*: Yes  
*Type*: String  
*Pattern*: `.*`  
*Minimum*: `1`  
*Maximum*: `2048`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::SageMaker::Model S3DataSource
<a name="aws-properties-sagemaker-model-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-model-s3datasource-syntax"></a>

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

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

```
{
  "[CompressionType](#cfn-sagemaker-model-s3datasource-compressiontype)" : String,
  "[HubAccessConfig](#cfn-sagemaker-model-s3datasource-hubaccessconfig)" : HubAccessConfig,
  "[ModelAccessConfig](#cfn-sagemaker-model-s3datasource-modelaccessconfig)" : ModelAccessConfig,
  "[S3DataType](#cfn-sagemaker-model-s3datasource-s3datatype)" : String,
  "[S3Uri](#cfn-sagemaker-model-s3datasource-s3uri)" : String
}
```

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

```
  [CompressionType](#cfn-sagemaker-model-s3datasource-compressiontype): String
  [HubAccessConfig](#cfn-sagemaker-model-s3datasource-hubaccessconfig): 
    HubAccessConfig
  [ModelAccessConfig](#cfn-sagemaker-model-s3datasource-modelaccessconfig): 
    ModelAccessConfig
  [S3DataType](#cfn-sagemaker-model-s3datasource-s3datatype): String
  [S3Uri](#cfn-sagemaker-model-s3datasource-s3uri): String
```

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

`CompressionType`  <a name="cfn-sagemaker-model-s3datasource-compressiontype"></a>
The compression type of the model data in Amazon S3.  
*Required*: Yes  
*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)

`HubAccessConfig`  <a name="cfn-sagemaker-model-s3datasource-hubaccessconfig"></a>
The configuration for a private hub model reference that points to a SageMaker JumpStart public hub model.  
*Required*: No  
*Type*: [HubAccessConfig](aws-properties-sagemaker-model-hubaccessconfig.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`ModelAccessConfig`  <a name="cfn-sagemaker-model-s3datasource-modelaccessconfig"></a>
Configuration for accessing the model data in Amazon S3.  
*Required*: No  
*Type*: [ModelAccessConfig](aws-properties-sagemaker-model-modelaccessconfig.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`S3DataType`  <a name="cfn-sagemaker-model-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*: `S3Prefix | S3Object`  
*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-model-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)://([^/]+)/?(.*)`  
*Minimum*: `0`  
*Maximum*: `1024`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::SageMaker::Model Tag
<a name="aws-properties-sagemaker-model-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-model-tag-syntax"></a>

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

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

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

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

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

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

`Key`  <a name="cfn-sagemaker-model-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-model-tag-value"></a>
The tag value.  
*Required*: Yes  
*Type*: String  
*Pattern*: `([\p{L}\p{Z}\p{N}_.:/=+\-@]*)`  
*Minimum*: `0`  
*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::Model VpcConfig
<a name="aws-properties-sagemaker-model-vpcconfig"></a>

Specifies an Amazon Virtual Private Cloud (VPC) that your SageMaker jobs, hosted models, and compute resources have access to. You can control access to and from your resources by configuring a VPC. For more information, see [Give SageMaker Access to Resources in your Amazon VPC](https://docs.aws.amazon.com/sagemaker/latest/dg/infrastructure-give-access.html). 

## Syntax
<a name="aws-properties-sagemaker-model-vpcconfig-syntax"></a>

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

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

```
{
  "[SecurityGroupIds](#cfn-sagemaker-model-vpcconfig-securitygroupids)" : [ String, ... ],
  "[Subnets](#cfn-sagemaker-model-vpcconfig-subnets)" : [ String, ... ]
}
```

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

```
  [SecurityGroupIds](#cfn-sagemaker-model-vpcconfig-securitygroupids): 
    - String
  [Subnets](#cfn-sagemaker-model-vpcconfig-subnets): 
    - String
```

## Properties
<a name="aws-properties-sagemaker-model-vpcconfig-properties"></a>

`SecurityGroupIds`  <a name="cfn-sagemaker-model-vpcconfig-securitygroupids"></a>
The VPC security group IDs, in the form `sg-xxxxxxxx`. Specify the security groups for the VPC that is specified in the `Subnets` field.  
*Required*: Yes  
*Type*: Array of String  
*Minimum*: `1`  
*Maximum*: `5`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`Subnets`  <a name="cfn-sagemaker-model-vpcconfig-subnets"></a>
The ID of the subnets in the VPC to which you want to connect your training job or model. For information about the availability of specific instance types, see [Supported Instance Types and Availability Zones](https://docs.aws.amazon.com/sagemaker/latest/dg/instance-types-az.html).  
*Required*: Yes  
*Type*: Array of String  
*Minimum*: `1`  
*Maximum*: `16`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::SageMaker::ModelBiasJobDefinition
<a name="aws-resource-sagemaker-modelbiasjobdefinition"></a>

Creates the definition for a model bias job.

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

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

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

```
{
  "Type" : "AWS::SageMaker::ModelBiasJobDefinition",
  "Properties" : {
      "[EndpointName](#cfn-sagemaker-modelbiasjobdefinition-endpointname)" : String,
      "[JobDefinitionName](#cfn-sagemaker-modelbiasjobdefinition-jobdefinitionname)" : String,
      "[JobResources](#cfn-sagemaker-modelbiasjobdefinition-jobresources)" : MonitoringResources,
      "[ModelBiasAppSpecification](#cfn-sagemaker-modelbiasjobdefinition-modelbiasappspecification)" : ModelBiasAppSpecification,
      "[ModelBiasBaselineConfig](#cfn-sagemaker-modelbiasjobdefinition-modelbiasbaselineconfig)" : ModelBiasBaselineConfig,
      "[ModelBiasJobInput](#cfn-sagemaker-modelbiasjobdefinition-modelbiasjobinput)" : ModelBiasJobInput,
      "[ModelBiasJobOutputConfig](#cfn-sagemaker-modelbiasjobdefinition-modelbiasjoboutputconfig)" : MonitoringOutputConfig,
      "[NetworkConfig](#cfn-sagemaker-modelbiasjobdefinition-networkconfig)" : NetworkConfig,
      "[RoleArn](#cfn-sagemaker-modelbiasjobdefinition-rolearn)" : String,
      "[StoppingCondition](#cfn-sagemaker-modelbiasjobdefinition-stoppingcondition)" : StoppingCondition,
      "[Tags](#cfn-sagemaker-modelbiasjobdefinition-tags)" : [ Tag, ... ]
    }
}
```

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

```
Type: AWS::SageMaker::ModelBiasJobDefinition
Properties:
  [EndpointName](#cfn-sagemaker-modelbiasjobdefinition-endpointname): String
  [JobDefinitionName](#cfn-sagemaker-modelbiasjobdefinition-jobdefinitionname): String
  [JobResources](#cfn-sagemaker-modelbiasjobdefinition-jobresources): 
    MonitoringResources
  [ModelBiasAppSpecification](#cfn-sagemaker-modelbiasjobdefinition-modelbiasappspecification): 
    ModelBiasAppSpecification
  [ModelBiasBaselineConfig](#cfn-sagemaker-modelbiasjobdefinition-modelbiasbaselineconfig): 
    ModelBiasBaselineConfig
  [ModelBiasJobInput](#cfn-sagemaker-modelbiasjobdefinition-modelbiasjobinput): 
    ModelBiasJobInput
  [ModelBiasJobOutputConfig](#cfn-sagemaker-modelbiasjobdefinition-modelbiasjoboutputconfig): 
    MonitoringOutputConfig
  [NetworkConfig](#cfn-sagemaker-modelbiasjobdefinition-networkconfig): 
    NetworkConfig
  [RoleArn](#cfn-sagemaker-modelbiasjobdefinition-rolearn): String
  [StoppingCondition](#cfn-sagemaker-modelbiasjobdefinition-stoppingcondition): 
    StoppingCondition
  [Tags](#cfn-sagemaker-modelbiasjobdefinition-tags): 
    - Tag
```

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

`EndpointName`  <a name="cfn-sagemaker-modelbiasjobdefinition-endpointname"></a>
The name of the endpoint used to run the model bias monitoring job.  
*Required*: No  
*Type*: String  
*Pattern*: `^[a-zA-Z0-9](-*[a-zA-Z0-9])*`  
*Maximum*: `63`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`JobDefinitionName`  <a name="cfn-sagemaker-modelbiasjobdefinition-jobdefinitionname"></a>
The name of the bias job definition. The name must be unique within an AWS Region in the AWS account.  
*Required*: No  
*Type*: String  
*Pattern*: `^[a-zA-Z0-9](-*[a-zA-Z0-9])*$`  
*Maximum*: `63`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`JobResources`  <a name="cfn-sagemaker-modelbiasjobdefinition-jobresources"></a>
Identifies the resources to deploy for a monitoring job.  
*Required*: Yes  
*Type*: [MonitoringResources](aws-properties-sagemaker-modelbiasjobdefinition-monitoringresources.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`ModelBiasAppSpecification`  <a name="cfn-sagemaker-modelbiasjobdefinition-modelbiasappspecification"></a>
Configures the model bias job to run a specified Docker container image.  
*Required*: Yes  
*Type*: [ModelBiasAppSpecification](aws-properties-sagemaker-modelbiasjobdefinition-modelbiasappspecification.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

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

`ModelBiasJobInput`  <a name="cfn-sagemaker-modelbiasjobdefinition-modelbiasjobinput"></a>
Inputs for the model bias job.  
*Required*: Yes  
*Type*: [ModelBiasJobInput](aws-properties-sagemaker-modelbiasjobdefinition-modelbiasjobinput.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`ModelBiasJobOutputConfig`  <a name="cfn-sagemaker-modelbiasjobdefinition-modelbiasjoboutputconfig"></a>
The output configuration for monitoring jobs.  
*Required*: Yes  
*Type*: [MonitoringOutputConfig](aws-properties-sagemaker-modelbiasjobdefinition-monitoringoutputconfig.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`NetworkConfig`  <a name="cfn-sagemaker-modelbiasjobdefinition-networkconfig"></a>
Networking options for a model bias job.  
*Required*: No  
*Type*: [NetworkConfig](aws-properties-sagemaker-modelbiasjobdefinition-networkconfig.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`RoleArn`  <a name="cfn-sagemaker-modelbiasjobdefinition-rolearn"></a>
The Amazon Resource Name (ARN) of an IAM role that Amazon SageMaker can assume to perform tasks on your behalf.  
*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)

`StoppingCondition`  <a name="cfn-sagemaker-modelbiasjobdefinition-stoppingcondition"></a>
A time limit for how long the monitoring job is allowed to run before stopping.  
*Required*: No  
*Type*: [StoppingCondition](aws-properties-sagemaker-modelbiasjobdefinition-stoppingcondition.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`Tags`  <a name="cfn-sagemaker-modelbiasjobdefinition-tags"></a>
An array of key-value pairs to apply to this resource.  
For more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html).  
*Required*: No  
*Type*: Array of [Tag](aws-properties-sagemaker-modelbiasjobdefinition-tag.md)  
*Maximum*: `50`  
*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-modelbiasjobdefinition-return-values"></a>

### Ref
<a name="aws-resource-sagemaker-modelbiasjobdefinition-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 job definition.

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-modelbiasjobdefinition-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-modelbiasjobdefinition-return-values-fn--getatt-fn--getatt"></a>

`CreationTime`  <a name="CreationTime-fn::getatt"></a>
The time when the job definition was created.

`JobDefinitionArn`  <a name="JobDefinitionArn-fn::getatt"></a>
The Amazon Resource Name (ARN) of the job definition.

## Examples
<a name="aws-resource-sagemaker-modelbiasjobdefinition--examples"></a>

### SageMaker ModelBiasJobDefinition Example
<a name="aws-resource-sagemaker-modelbiasjobdefinition--examples--SageMaker_ModelBiasJobDefinition_Example"></a>

The following example creates a Model Bias monitoring job definition.

#### JSON
<a name="aws-resource-sagemaker-modelbiasjobdefinition--examples--SageMaker_ModelBiasJobDefinition_Example--json"></a>

```
{
   "AWSTemplateFormatVersion": "2010-09-09",
   "Description": "Basic SageMaker Hosting entities to create a model bias job definition",
   "Mappings": {
      "RegionMap": {
         "us-west-2": {
            "MyModelImage": "123456789012.dkr.ecr.us-west-2.amazonaws.com/mymodel:latest"
         },
         "us-east-2": {
            "MyModelImage": "123456789012.dkr.ecr.us-east-2.amazonaws.com/mymodel:latest"
         },
         "us-east-1": {
            "MyModelImage": "123456789012.dkr.ecr.us-east-1.amazonaws.com/mymodel:latest"
         },
         "eu-west-1": {
            "MyModelImage": "123456789012.dkr.ecr.eu-west-1.amazonaws.com/mymodel:latest"
         },
         "ap-northeast-1": {
            "MyModelImage": "123456789012.dkr.ecr.ap-northeast-1.amazonaws.com/mymodel:latest"
         },
         "ap-northeast-2": {
            "MyModelImage": "123456789012.dkr.ecr.ap-northeast-2.amazonaws.com/mymodel:latest"
         },
         "ap-southeast-2": {
            "MyModelImage": "123456789012.dkr.ecr.ap-southeast-2.amazonaws.com/mymodel:latest"
         },
         "eu-central-1": {
            "MyModelImage": "123456789012.dkr.ecr.eu-central-1.amazonaws.com/mymodel:latest"
         }
      }
   },
   "Resources": {
      "Endpoint": {
         "Type": "AWS::SageMaker::Endpoint",
         "Properties": {
            "EndpointConfigName": null
         }
      },
      "EndpointConfigWithDataCapture": {
         "Type": "AWS::SageMaker::EndpointConfig",
         "Properties": {
            "ProductionVariants": [
               {
                  "InitialInstanceCount": 1,
                  "InitialVariantWeight": 1,
                  "InstanceType": "ml.t2.large",
                  "ModelName": null,
                  "VariantName": null
               }
            ],
            "DataCaptureConfig": {
               "EnableCapture": true,
               "InitialSamplingPercentage": 100,
               "DestinationS3Uri": "s3://bucket/prefix",
               "KmsKeyId": "kmskeyid",
               "CaptureOptions": [
                  {
                     "CaptureMode": "Input"
                  }
               ],
               "CaptureContentTypeHeader": {
                  "CsvContentTypes": [
                     "text/csv"
                  ],
                  "JsonContentTypes": [
                     "application/json"
                  ]
               }
            }
         }
      },
      "Model": {
         "Type": "AWS::SageMaker::Model",
         "Properties": {
            "PrimaryContainer": {
               "Image": null
            },
            "ExecutionRoleArn": null
         }
      },
      "ExecutionRole": {
         "Type": "AWS::IAM::Role",
         "Properties": {
            "AssumeRolePolicyDocument": {
               "Version": "2012-10-17"		 	 	 ,
               "Statement": [
                  {
                     "Effect": "Allow",
                     "Principal": {
                        "Service": [
                           "sagemaker.amazonaws.com"
                        ]
                     },
                     "Action": [
                        "sts:AssumeRole"
                     ]
                  }
               ]
            },
            "Path": "/",
            "Policies": [
               {
                  "PolicyName": "root",
                  "PolicyDocument": {
                     "Version": "2012-10-17"		 	 	 ,
                     "Statement": [
                        {
                           "Effect": "Allow",
                           "Action": "*",
                           "Resource": "*"
                        }
                     ]
                  }
               }
            ]
         }
      },
      "JobDefinitionExecutionRole": {
         "Type": "AWS::IAM::Role",
         "Properties": {
            "AssumeRolePolicyDocument": {
               "Version": "2012-10-17"		 	 	 ,
               "Statement": [
                  {
                     "Effect": "Allow",
                     "Principal": {
                        "Service": [
                           "sagemaker.amazonaws.com"
                        ]
                     },
                     "Action": [
                        "sts:AssumeRole"
                     ]
                  }
               ]
            },
            "ManagedPolicyArns": [
               {
                  "Fn::Sub": "arn:${AWS::Partition}:iam::aws:policy/AmazonSageMakerFullAccess"
               },
               {
                  "Fn::Sub": "arn:${AWS::Partition}:iam::aws:policy/AmazonS3FullAccess"
               },
               {
                  "Fn::Sub": "arn:${AWS::Partition}:iam::aws:policy/AmazonEC2ContainerRegistryReadOnly"
               }
            ]
         }
      },
      "JobDefinition": {
         "Type": "AWS::SageMaker::ModelBiasJobDefinition",
         "Properties": {
            "ModelBiasAppSpecification": {
               "ImageUri": {
                  "Fn::Sub": "123456789012.dkr.ecr.${AWS::Partition}.amazonaws.com/sagemaker-clarify-processing:1.0"
               },
               "ConfigUri": "s3://configUri"
            },
            "ModelBiasJobInput": {
               "EndpointInput": {
                  "EndpointName": null,
                  "LocalPath": "/opt/ml/processing/endpointdata",
                  "FeaturesAttribute": "feature",
                  "InferenceAttribute": "inference",
                  "ProbabilityAttribute": "probability",
                  "ProbabilityThresholdAttribute": 0.8,
                  "StartTimeOffset": "-PT1H",
                  "EndTimeOffset": "-P0D"
               },
               "GroundTruthS3Input": {
                  "S3Uri": {
                     "Fn::Sub": "s3://model-bias-job-definition-${AWS::AccountId}/groundtruth"
                  }
               }
            },
            "ModelBiasJobOutputConfig": {
               "MonitoringOutputs": [
                  {
                     "S3Output": {
                        "LocalPath": "/opt/ml/processing/localpath",
                        "S3Uri": {
                           "Fn::Sub": "s3://model-bias-job-definition-${AWS::AccountId}/output"
                        }
                     }
                  }
               ]
            },
            "JobResources": {
               "ClusterConfig": {
                  "InstanceCount": 1,
                  "InstanceType": "ml.m5.large",
                  "VolumeSizeInGB": 50
               }
            },
            "RoleArn": null,
            "StoppingCondition": {
               "MaxRuntimeInSeconds": 2000
            }
         }
      }
   }
}
```

#### YAML
<a name="aws-resource-sagemaker-modelbiasjobdefinition--examples--SageMaker_ModelBiasJobDefinition_Example--yaml"></a>

```
---
 
AWSTemplateFormatVersion: '2010-09-09'
Description: Basic SageMaker Hosting entities to create a model bias job definition
 
Mappings: 
  RegionMap: 
    "us-west-2":
      "MyModelImage": "123456789012.dkr.ecr.us-west-2.amazonaws.com/mymodel:latest"
    "us-east-2":
      "MyModelImage": "123456789012.dkr.ecr.us-east-2.amazonaws.com/mymodel:latest"
    "us-east-1":
      "MyModelImage": "123456789012.dkr.ecr.us-east-1.amazonaws.com/mymodel:latest"
    "eu-west-1":
      "MyModelImage": "123456789012.dkr.ecr.eu-west-1.amazonaws.com/mymodel:latest"
    "ap-northeast-1":
      "MyModelImage": "123456789012.dkr.ecr.ap-northeast-1.amazonaws.com/mymodel:latest"
    "ap-northeast-2":
      "MyModelImage": "123456789012.dkr.ecr.ap-northeast-2.amazonaws.com/mymodel:latest"
    "ap-southeast-2":
      "MyModelImage": "123456789012.dkr.ecr.ap-southeast-2.amazonaws.com/mymodel:latest"
    "eu-central-1":
      "MyModelImage": "123456789012.dkr.ecr.eu-central-1.amazonaws.com/mymodel:latest"
 
Resources:
  Endpoint:
    Type: "AWS::SageMaker::Endpoint"
    Properties:
      EndpointConfigName:
        !GetAtt EndpointConfigWithDataCapture.EndpointConfigName
 
  EndpointConfigWithDataCapture:
    Type: "AWS::SageMaker::EndpointConfig"
    Properties:
      ProductionVariants:
        - InitialInstanceCount: 1
          InitialVariantWeight: 1.0
          InstanceType: ml.t2.large
          ModelName: !GetAtt Model.ModelName
          VariantName: !GetAtt Model.ModelName
      DataCaptureConfig:
        EnableCapture: true
        InitialSamplingPercentage: 100
        DestinationS3Uri: s3://bucket/prefix
        KmsKeyId: kmskeyid
        CaptureOptions:
          - CaptureMode: Input
        CaptureContentTypeHeader:
          CsvContentTypes:
            - "text/csv"
          JsonContentTypes:
            - "application/json"
            
  Model:
    Type: "AWS::SageMaker::Model"
    Properties:
      PrimaryContainer:
        Image: !FindInMap [RegionMap, !Ref "AWS::Region", "MyModelImage"]
      ExecutionRoleArn: !GetAtt ExecutionRole.Arn
 
  ExecutionRole: 
    Type: "AWS::IAM::Role"
    Properties: 
      AssumeRolePolicyDocument: 
        Version: "2012-10-17"
        Statement: 
          - 
            Effect: "Allow"
            Principal: 
              Service: 
                - "sagemaker.amazonaws.com"
            Action: 
              - "sts:AssumeRole"
      Path: "/"
      Policies: 
        - 
          PolicyName: "root"
          PolicyDocument: 
            Version: "2012-10-17"
            Statement: 
              - 
                Effect: "Allow"
                Action: "*"
                Resource: "*"
 
  JobDefinitionExecutionRole:
    Type: "AWS::IAM::Role"
    Properties:
      AssumeRolePolicyDocument:
        Version: "2012-10-17"
        Statement:
          - Effect: "Allow"
            Principal:
              Service:
                - "sagemaker.amazonaws.com"
            Action:
              - "sts:AssumeRole"
      ManagedPolicyArns:
        - Fn::Sub: "arn:${AWS::Partition}:iam::aws:policy/AmazonSageMakerFullAccess"
        - Fn::Sub: "arn:${AWS::Partition}:iam::aws:policy/AmazonS3FullAccess"
        - Fn::Sub: "arn:${AWS::Partition}:iam::aws:policy/AmazonEC2ContainerRegistryReadOnly"
 
  JobDefinition:
    Type: AWS::SageMaker::ModelBiasJobDefinition
    Properties:
      ModelBiasAppSpecification:
        ImageUri:
          Fn::Sub: "123456789012.dkr.ecr.${AWS::Partition}.amazonaws.com/sagemaker-clarify-processing:1.0"
        ConfigUri: "s3://configUri"
      ModelBiasJobInput:
        EndpointInput:
          EndpointName: !GetAtt Endpoint.EndpointName
          LocalPath: "/opt/ml/processing/endpointdata"
          FeaturesAttribute: feature
          InferenceAttribute: inference
          ProbabilityAttribute: probability
          ProbabilityThresholdAttribute: 0.8
          StartTimeOffset: "-PT1H"
          EndTimeOffset: "-P0D"
        GroundTruthS3Input:
          S3Uri:
            Fn::Sub: "s3://model-bias-job-definition-${AWS::AccountId}/groundtruth"
      ModelBiasJobOutputConfig:
        MonitoringOutputs:
          - S3Output:
              LocalPath: "/opt/ml/processing/localpath"
              S3Uri:
                Fn::Sub: "s3://model-bias-job-definition-${AWS::AccountId}/output"
      JobResources:
        ClusterConfig:
          InstanceCount: 1
          InstanceType: ml.m5.large
          VolumeSizeInGB: 50
      RoleArn: !GetAtt JobDefinitionExecutionRole.Arn
      StoppingCondition:
        MaxRuntimeInSeconds: 2000
```

# AWS::SageMaker::ModelBiasJobDefinition BatchTransformInput
<a name="aws-properties-sagemaker-modelbiasjobdefinition-batchtransforminput"></a>

Input object for the batch transform job.

## Syntax
<a name="aws-properties-sagemaker-modelbiasjobdefinition-batchtransforminput-syntax"></a>

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

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

```
{
  "[DataCapturedDestinationS3Uri](#cfn-sagemaker-modelbiasjobdefinition-batchtransforminput-datacaptureddestinations3uri)" : String,
  "[DatasetFormat](#cfn-sagemaker-modelbiasjobdefinition-batchtransforminput-datasetformat)" : DatasetFormat,
  "[EndTimeOffset](#cfn-sagemaker-modelbiasjobdefinition-batchtransforminput-endtimeoffset)" : String,
  "[FeaturesAttribute](#cfn-sagemaker-modelbiasjobdefinition-batchtransforminput-featuresattribute)" : String,
  "[InferenceAttribute](#cfn-sagemaker-modelbiasjobdefinition-batchtransforminput-inferenceattribute)" : String,
  "[LocalPath](#cfn-sagemaker-modelbiasjobdefinition-batchtransforminput-localpath)" : String,
  "[ProbabilityAttribute](#cfn-sagemaker-modelbiasjobdefinition-batchtransforminput-probabilityattribute)" : String,
  "[ProbabilityThresholdAttribute](#cfn-sagemaker-modelbiasjobdefinition-batchtransforminput-probabilitythresholdattribute)" : Number,
  "[S3DataDistributionType](#cfn-sagemaker-modelbiasjobdefinition-batchtransforminput-s3datadistributiontype)" : String,
  "[S3InputMode](#cfn-sagemaker-modelbiasjobdefinition-batchtransforminput-s3inputmode)" : String,
  "[StartTimeOffset](#cfn-sagemaker-modelbiasjobdefinition-batchtransforminput-starttimeoffset)" : String
}
```

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

```
  [DataCapturedDestinationS3Uri](#cfn-sagemaker-modelbiasjobdefinition-batchtransforminput-datacaptureddestinations3uri): String
  [DatasetFormat](#cfn-sagemaker-modelbiasjobdefinition-batchtransforminput-datasetformat): 
    DatasetFormat
  [EndTimeOffset](#cfn-sagemaker-modelbiasjobdefinition-batchtransforminput-endtimeoffset): String
  [FeaturesAttribute](#cfn-sagemaker-modelbiasjobdefinition-batchtransforminput-featuresattribute): String
  [InferenceAttribute](#cfn-sagemaker-modelbiasjobdefinition-batchtransforminput-inferenceattribute): String
  [LocalPath](#cfn-sagemaker-modelbiasjobdefinition-batchtransforminput-localpath): String
  [ProbabilityAttribute](#cfn-sagemaker-modelbiasjobdefinition-batchtransforminput-probabilityattribute): String
  [ProbabilityThresholdAttribute](#cfn-sagemaker-modelbiasjobdefinition-batchtransforminput-probabilitythresholdattribute): Number
  [S3DataDistributionType](#cfn-sagemaker-modelbiasjobdefinition-batchtransforminput-s3datadistributiontype): String
  [S3InputMode](#cfn-sagemaker-modelbiasjobdefinition-batchtransforminput-s3inputmode): String
  [StartTimeOffset](#cfn-sagemaker-modelbiasjobdefinition-batchtransforminput-starttimeoffset): String
```

## Properties
<a name="aws-properties-sagemaker-modelbiasjobdefinition-batchtransforminput-properties"></a>

`DataCapturedDestinationS3Uri`  <a name="cfn-sagemaker-modelbiasjobdefinition-batchtransforminput-datacaptureddestinations3uri"></a>
The Amazon S3 location being used to capture the data.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^(https|s3)://([^/]+)/?(.*)$`  
*Maximum*: `512`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`DatasetFormat`  <a name="cfn-sagemaker-modelbiasjobdefinition-batchtransforminput-datasetformat"></a>
The dataset format for your batch transform job.  
*Required*: Yes  
*Type*: [DatasetFormat](aws-properties-sagemaker-modelbiasjobdefinition-datasetformat.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`EndTimeOffset`  <a name="cfn-sagemaker-modelbiasjobdefinition-batchtransforminput-endtimeoffset"></a>
If specified, monitoring jobs subtract this time from the end time. For information about using offsets for scheduling monitoring jobs, see [Schedule Model Quality Monitoring Jobs](https://docs.aws.amazon.com/sagemaker/latest/dg/model-monitor-model-quality-schedule.html).  
*Required*: No  
*Type*: String  
*Pattern*: `^.?P.*`  
*Minimum*: `1`  
*Maximum*: `15`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`FeaturesAttribute`  <a name="cfn-sagemaker-modelbiasjobdefinition-batchtransforminput-featuresattribute"></a>
The attributes of the input data that are the input features.  
*Required*: No  
*Type*: String  
*Maximum*: `256`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`InferenceAttribute`  <a name="cfn-sagemaker-modelbiasjobdefinition-batchtransforminput-inferenceattribute"></a>
The attribute of the input data that represents the ground truth label.  
*Required*: No  
*Type*: String  
*Maximum*: `256`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`LocalPath`  <a name="cfn-sagemaker-modelbiasjobdefinition-batchtransforminput-localpath"></a>
Path to the filesystem where the batch transform data is available to the container.  
*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)

`ProbabilityAttribute`  <a name="cfn-sagemaker-modelbiasjobdefinition-batchtransforminput-probabilityattribute"></a>
In a classification problem, the attribute that represents the class probability.  
*Required*: No  
*Type*: String  
*Maximum*: `256`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`ProbabilityThresholdAttribute`  <a name="cfn-sagemaker-modelbiasjobdefinition-batchtransforminput-probabilitythresholdattribute"></a>
The threshold for the class probability to be evaluated as a positive result.  
*Required*: No  
*Type*: Number  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`S3DataDistributionType`  <a name="cfn-sagemaker-modelbiasjobdefinition-batchtransforminput-s3datadistributiontype"></a>
Whether input data distributed in Amazon S3 is fully replicated or sharded by an S3 key. Defaults to `FullyReplicated`  
*Required*: No  
*Type*: String  
*Allowed values*: `FullyReplicated | ShardedByS3Key`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`S3InputMode`  <a name="cfn-sagemaker-modelbiasjobdefinition-batchtransforminput-s3inputmode"></a>
Whether the `Pipe` or `File` is used as the input mode for transferring data for the monitoring job. `Pipe` mode is recommended for large datasets. `File` mode is useful for small files that fit in memory. Defaults to `File`.  
*Required*: No  
*Type*: String  
*Allowed values*: `Pipe | File`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`StartTimeOffset`  <a name="cfn-sagemaker-modelbiasjobdefinition-batchtransforminput-starttimeoffset"></a>
If specified, monitoring jobs substract this time from the start time. For information about using offsets for scheduling monitoring jobs, see [Schedule Model Quality Monitoring Jobs](https://docs.aws.amazon.com/sagemaker/latest/dg/model-monitor-model-quality-schedule.html).  
*Required*: No  
*Type*: String  
*Pattern*: `^.?P.*`  
*Minimum*: `1`  
*Maximum*: `15`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::SageMaker::ModelBiasJobDefinition ClusterConfig
<a name="aws-properties-sagemaker-modelbiasjobdefinition-clusterconfig"></a>

The configuration for the cluster resources used to run the processing job.

## Syntax
<a name="aws-properties-sagemaker-modelbiasjobdefinition-clusterconfig-syntax"></a>

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

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

```
{
  "[InstanceCount](#cfn-sagemaker-modelbiasjobdefinition-clusterconfig-instancecount)" : Integer,
  "[InstanceType](#cfn-sagemaker-modelbiasjobdefinition-clusterconfig-instancetype)" : String,
  "[VolumeKmsKeyId](#cfn-sagemaker-modelbiasjobdefinition-clusterconfig-volumekmskeyid)" : String,
  "[VolumeSizeInGB](#cfn-sagemaker-modelbiasjobdefinition-clusterconfig-volumesizeingb)" : Integer
}
```

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

```
  [InstanceCount](#cfn-sagemaker-modelbiasjobdefinition-clusterconfig-instancecount): Integer
  [InstanceType](#cfn-sagemaker-modelbiasjobdefinition-clusterconfig-instancetype): String
  [VolumeKmsKeyId](#cfn-sagemaker-modelbiasjobdefinition-clusterconfig-volumekmskeyid): String
  [VolumeSizeInGB](#cfn-sagemaker-modelbiasjobdefinition-clusterconfig-volumesizeingb): Integer
```

## Properties
<a name="aws-properties-sagemaker-modelbiasjobdefinition-clusterconfig-properties"></a>

`InstanceCount`  <a name="cfn-sagemaker-modelbiasjobdefinition-clusterconfig-instancecount"></a>
The number of ML compute instances to use in the model monitoring job. For distributed processing jobs, specify a value greater than 1. The default value is 1.  
*Required*: Yes  
*Type*: Integer  
*Minimum*: `1`  
*Maximum*: `100`  
*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-modelbiasjobdefinition-clusterconfig-instancetype"></a>
The ML compute instance type for the processing job.  
*Required*: Yes  
*Type*: String  
*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-modelbiasjobdefinition-clusterconfig-volumekmskeyid"></a>
The AWS Key Management Service (AWS KMS) key that Amazon SageMaker uses to encrypt data on the storage volume attached to the ML compute instance(s) that run the model monitoring job.  
*Required*: No  
*Type*: String  
*Minimum*: `1`  
*Maximum*: `2048`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`VolumeSizeInGB`  <a name="cfn-sagemaker-modelbiasjobdefinition-clusterconfig-volumesizeingb"></a>
The size of the ML storage volume, in gigabytes, that you want to provision. You must specify sufficient ML storage for your scenario.  
*Required*: Yes  
*Type*: Integer  
*Minimum*: `1`  
*Maximum*: `16384`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::SageMaker::ModelBiasJobDefinition ConstraintsResource
<a name="aws-properties-sagemaker-modelbiasjobdefinition-constraintsresource"></a>

The constraints resource for a monitoring job.

## Syntax
<a name="aws-properties-sagemaker-modelbiasjobdefinition-constraintsresource-syntax"></a>

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

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

```
{
  "[S3Uri](#cfn-sagemaker-modelbiasjobdefinition-constraintsresource-s3uri)" : String
}
```

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

```
  [S3Uri](#cfn-sagemaker-modelbiasjobdefinition-constraintsresource-s3uri): String
```

## Properties
<a name="aws-properties-sagemaker-modelbiasjobdefinition-constraintsresource-properties"></a>

`S3Uri`  <a name="cfn-sagemaker-modelbiasjobdefinition-constraintsresource-s3uri"></a>
The Amazon S3 URI for the constraints resource.  
*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::ModelBiasJobDefinition Csv
<a name="aws-properties-sagemaker-modelbiasjobdefinition-csv"></a>

The CSV dataset format configuration.

## Syntax
<a name="aws-properties-sagemaker-modelbiasjobdefinition-csv-syntax"></a>

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

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

```
{
  "[Header](#cfn-sagemaker-modelbiasjobdefinition-csv-header)" : Boolean
}
```

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

```
  [Header](#cfn-sagemaker-modelbiasjobdefinition-csv-header): Boolean
```

## Properties
<a name="aws-properties-sagemaker-modelbiasjobdefinition-csv-properties"></a>

`Header`  <a name="cfn-sagemaker-modelbiasjobdefinition-csv-header"></a>
Indicates whether the CSV data has a header row.  
*Required*: No  
*Type*: Boolean  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::SageMaker::ModelBiasJobDefinition DatasetFormat
<a name="aws-properties-sagemaker-modelbiasjobdefinition-datasetformat"></a>

The format of the dataset used for the model bias monitoring job.

## Syntax
<a name="aws-properties-sagemaker-modelbiasjobdefinition-datasetformat-syntax"></a>

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

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

```
{
  "[Csv](#cfn-sagemaker-modelbiasjobdefinition-datasetformat-csv)" : Csv,
  "[Json](#cfn-sagemaker-modelbiasjobdefinition-datasetformat-json)" : Json,
  "[Parquet](#cfn-sagemaker-modelbiasjobdefinition-datasetformat-parquet)" : Boolean
}
```

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

```
  [Csv](#cfn-sagemaker-modelbiasjobdefinition-datasetformat-csv): 
    Csv
  [Json](#cfn-sagemaker-modelbiasjobdefinition-datasetformat-json): 
    Json
  [Parquet](#cfn-sagemaker-modelbiasjobdefinition-datasetformat-parquet): Boolean
```

## Properties
<a name="aws-properties-sagemaker-modelbiasjobdefinition-datasetformat-properties"></a>

`Csv`  <a name="cfn-sagemaker-modelbiasjobdefinition-datasetformat-csv"></a>
The CSV format configuration for the dataset.  
*Required*: No  
*Type*: [Csv](aws-properties-sagemaker-modelbiasjobdefinition-csv.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`Json`  <a name="cfn-sagemaker-modelbiasjobdefinition-datasetformat-json"></a>
The JSON format configuration for the dataset.  
*Required*: No  
*Type*: [Json](aws-properties-sagemaker-modelbiasjobdefinition-json.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`Parquet`  <a name="cfn-sagemaker-modelbiasjobdefinition-datasetformat-parquet"></a>
Indicates that the dataset is in Parquet format.  
*Required*: No  
*Type*: Boolean  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::SageMaker::ModelBiasJobDefinition EndpointInput
<a name="aws-properties-sagemaker-modelbiasjobdefinition-endpointinput"></a>

Input object for the endpoint

## Syntax
<a name="aws-properties-sagemaker-modelbiasjobdefinition-endpointinput-syntax"></a>

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

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

```
{
  "[EndpointName](#cfn-sagemaker-modelbiasjobdefinition-endpointinput-endpointname)" : String,
  "[EndTimeOffset](#cfn-sagemaker-modelbiasjobdefinition-endpointinput-endtimeoffset)" : String,
  "[FeaturesAttribute](#cfn-sagemaker-modelbiasjobdefinition-endpointinput-featuresattribute)" : String,
  "[InferenceAttribute](#cfn-sagemaker-modelbiasjobdefinition-endpointinput-inferenceattribute)" : String,
  "[LocalPath](#cfn-sagemaker-modelbiasjobdefinition-endpointinput-localpath)" : String,
  "[ProbabilityAttribute](#cfn-sagemaker-modelbiasjobdefinition-endpointinput-probabilityattribute)" : String,
  "[ProbabilityThresholdAttribute](#cfn-sagemaker-modelbiasjobdefinition-endpointinput-probabilitythresholdattribute)" : Number,
  "[S3DataDistributionType](#cfn-sagemaker-modelbiasjobdefinition-endpointinput-s3datadistributiontype)" : String,
  "[S3InputMode](#cfn-sagemaker-modelbiasjobdefinition-endpointinput-s3inputmode)" : String,
  "[StartTimeOffset](#cfn-sagemaker-modelbiasjobdefinition-endpointinput-starttimeoffset)" : String
}
```

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

```
  [EndpointName](#cfn-sagemaker-modelbiasjobdefinition-endpointinput-endpointname): String
  [EndTimeOffset](#cfn-sagemaker-modelbiasjobdefinition-endpointinput-endtimeoffset): String
  [FeaturesAttribute](#cfn-sagemaker-modelbiasjobdefinition-endpointinput-featuresattribute): String
  [InferenceAttribute](#cfn-sagemaker-modelbiasjobdefinition-endpointinput-inferenceattribute): String
  [LocalPath](#cfn-sagemaker-modelbiasjobdefinition-endpointinput-localpath): String
  [ProbabilityAttribute](#cfn-sagemaker-modelbiasjobdefinition-endpointinput-probabilityattribute): String
  [ProbabilityThresholdAttribute](#cfn-sagemaker-modelbiasjobdefinition-endpointinput-probabilitythresholdattribute): Number
  [S3DataDistributionType](#cfn-sagemaker-modelbiasjobdefinition-endpointinput-s3datadistributiontype): String
  [S3InputMode](#cfn-sagemaker-modelbiasjobdefinition-endpointinput-s3inputmode): String
  [StartTimeOffset](#cfn-sagemaker-modelbiasjobdefinition-endpointinput-starttimeoffset): String
```

## Properties
<a name="aws-properties-sagemaker-modelbiasjobdefinition-endpointinput-properties"></a>

`EndpointName`  <a name="cfn-sagemaker-modelbiasjobdefinition-endpointinput-endpointname"></a>
An endpoint in customer's account which has enabled `DataCaptureConfig` enabled.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^[a-zA-Z0-9](-*[a-zA-Z0-9])*`  
*Maximum*: `63`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`EndTimeOffset`  <a name="cfn-sagemaker-modelbiasjobdefinition-endpointinput-endtimeoffset"></a>
If specified, monitoring jobs substract this time from the end time. For information about using offsets for scheduling monitoring jobs, see [Schedule Model Quality Monitoring Jobs](https://docs.aws.amazon.com/sagemaker/latest/dg/model-monitor-model-quality-schedule.html).  
*Required*: No  
*Type*: String  
*Pattern*: `^.?P.*`  
*Minimum*: `1`  
*Maximum*: `15`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`FeaturesAttribute`  <a name="cfn-sagemaker-modelbiasjobdefinition-endpointinput-featuresattribute"></a>
The attributes of the input data that are the input features.  
*Required*: No  
*Type*: String  
*Maximum*: `256`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`InferenceAttribute`  <a name="cfn-sagemaker-modelbiasjobdefinition-endpointinput-inferenceattribute"></a>
The attribute of the input data that represents the ground truth label.  
*Required*: No  
*Type*: String  
*Maximum*: `256`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`LocalPath`  <a name="cfn-sagemaker-modelbiasjobdefinition-endpointinput-localpath"></a>
Path to the filesystem where the endpoint data is available to the container.  
*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)

`ProbabilityAttribute`  <a name="cfn-sagemaker-modelbiasjobdefinition-endpointinput-probabilityattribute"></a>
In a classification problem, the attribute that represents the class probability.  
*Required*: No  
*Type*: String  
*Maximum*: `256`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`ProbabilityThresholdAttribute`  <a name="cfn-sagemaker-modelbiasjobdefinition-endpointinput-probabilitythresholdattribute"></a>
The threshold for the class probability to be evaluated as a positive result.  
*Required*: No  
*Type*: Number  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`S3DataDistributionType`  <a name="cfn-sagemaker-modelbiasjobdefinition-endpointinput-s3datadistributiontype"></a>
Whether input data distributed in Amazon S3 is fully replicated or sharded by an Amazon S3 key. Defaults to `FullyReplicated`  
*Required*: No  
*Type*: String  
*Allowed values*: `FullyReplicated | ShardedByS3Key`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`S3InputMode`  <a name="cfn-sagemaker-modelbiasjobdefinition-endpointinput-s3inputmode"></a>
Whether the `Pipe` or `File` is used as the input mode for transferring data for the monitoring job. `Pipe` mode is recommended for large datasets. `File` mode is useful for small files that fit in memory. Defaults to `File`.  
*Required*: No  
*Type*: String  
*Allowed values*: `Pipe | File`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`StartTimeOffset`  <a name="cfn-sagemaker-modelbiasjobdefinition-endpointinput-starttimeoffset"></a>
If specified, monitoring jobs substract this time from the start time. For information about using offsets for scheduling monitoring jobs, see [Schedule Model Quality Monitoring Jobs](https://docs.aws.amazon.com/sagemaker/latest/dg/model-monitor-model-quality-schedule.html).  
*Required*: No  
*Type*: String  
*Pattern*: `^.?P.*`  
*Minimum*: `1`  
*Maximum*: `15`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::SageMaker::ModelBiasJobDefinition Json
<a name="aws-properties-sagemaker-modelbiasjobdefinition-json"></a>

The JSON dataset format configuration.

## Syntax
<a name="aws-properties-sagemaker-modelbiasjobdefinition-json-syntax"></a>

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

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

```
{
  "[Line](#cfn-sagemaker-modelbiasjobdefinition-json-line)" : Boolean
}
```

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

```
  [Line](#cfn-sagemaker-modelbiasjobdefinition-json-line): Boolean
```

## Properties
<a name="aws-properties-sagemaker-modelbiasjobdefinition-json-properties"></a>

`Line`  <a name="cfn-sagemaker-modelbiasjobdefinition-json-line"></a>
Indicates whether the JSON data is in line-delimited format.  
*Required*: No  
*Type*: Boolean  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::SageMaker::ModelBiasJobDefinition ModelBiasAppSpecification
<a name="aws-properties-sagemaker-modelbiasjobdefinition-modelbiasappspecification"></a>

Docker container image configuration object for the model bias job.

## Syntax
<a name="aws-properties-sagemaker-modelbiasjobdefinition-modelbiasappspecification-syntax"></a>

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

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

```
{
  "[ConfigUri](#cfn-sagemaker-modelbiasjobdefinition-modelbiasappspecification-configuri)" : String,
  "[Environment](#cfn-sagemaker-modelbiasjobdefinition-modelbiasappspecification-environment)" : {Key: Value, ...},
  "[ImageUri](#cfn-sagemaker-modelbiasjobdefinition-modelbiasappspecification-imageuri)" : String
}
```

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

```
  [ConfigUri](#cfn-sagemaker-modelbiasjobdefinition-modelbiasappspecification-configuri): String
  [Environment](#cfn-sagemaker-modelbiasjobdefinition-modelbiasappspecification-environment): 
    Key: Value
  [ImageUri](#cfn-sagemaker-modelbiasjobdefinition-modelbiasappspecification-imageuri): String
```

## Properties
<a name="aws-properties-sagemaker-modelbiasjobdefinition-modelbiasappspecification-properties"></a>

`ConfigUri`  <a name="cfn-sagemaker-modelbiasjobdefinition-modelbiasappspecification-configuri"></a>
JSON formatted S3 file that defines bias parameters. For more information on this JSON configuration file, see [Configure bias parameters](https://docs.aws.amazon.com/sagemaker/latest/dg/clarify-config-json-monitor-bias-parameters.html).  
*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)

`Environment`  <a name="cfn-sagemaker-modelbiasjobdefinition-modelbiasappspecification-environment"></a>
Sets the environment variables in the Docker container.  
*Required*: No  
*Type*: Object of String  
*Pattern*: `[a-zA-Z_][a-zA-Z0-9_]*`  
*Minimum*: `1`  
*Maximum*: `256`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`ImageUri`  <a name="cfn-sagemaker-modelbiasjobdefinition-modelbiasappspecification-imageuri"></a>
The container image to be run by the model bias job.  
*Required*: Yes  
*Type*: String  
*Pattern*: `.*`  
*Maximum*: `255`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::SageMaker::ModelBiasJobDefinition ModelBiasBaselineConfig
<a name="aws-properties-sagemaker-modelbiasjobdefinition-modelbiasbaselineconfig"></a>

The configuration for a baseline model bias job.

## Syntax
<a name="aws-properties-sagemaker-modelbiasjobdefinition-modelbiasbaselineconfig-syntax"></a>

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

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

```
{
  "[BaseliningJobName](#cfn-sagemaker-modelbiasjobdefinition-modelbiasbaselineconfig-baseliningjobname)" : String,
  "[ConstraintsResource](#cfn-sagemaker-modelbiasjobdefinition-modelbiasbaselineconfig-constraintsresource)" : ConstraintsResource
}
```

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

```
  [BaseliningJobName](#cfn-sagemaker-modelbiasjobdefinition-modelbiasbaselineconfig-baseliningjobname): String
  [ConstraintsResource](#cfn-sagemaker-modelbiasjobdefinition-modelbiasbaselineconfig-constraintsresource): 
    ConstraintsResource
```

## Properties
<a name="aws-properties-sagemaker-modelbiasjobdefinition-modelbiasbaselineconfig-properties"></a>

`BaseliningJobName`  <a name="cfn-sagemaker-modelbiasjobdefinition-modelbiasbaselineconfig-baseliningjobname"></a>
The name of the baseline model bias job.  
*Required*: No  
*Type*: String  
*Pattern*: `^[a-zA-Z0-9](-*[a-zA-Z0-9])*$`  
*Minimum*: `1`  
*Maximum*: `63`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`ConstraintsResource`  <a name="cfn-sagemaker-modelbiasjobdefinition-modelbiasbaselineconfig-constraintsresource"></a>
The constraints resource for a monitoring job.  
*Required*: No  
*Type*: [ConstraintsResource](aws-properties-sagemaker-modelbiasjobdefinition-constraintsresource.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::SageMaker::ModelBiasJobDefinition ModelBiasJobInput
<a name="aws-properties-sagemaker-modelbiasjobdefinition-modelbiasjobinput"></a>

Inputs for the model bias job.

## Syntax
<a name="aws-properties-sagemaker-modelbiasjobdefinition-modelbiasjobinput-syntax"></a>

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

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

```
{
  "[BatchTransformInput](#cfn-sagemaker-modelbiasjobdefinition-modelbiasjobinput-batchtransforminput)" : BatchTransformInput,
  "[EndpointInput](#cfn-sagemaker-modelbiasjobdefinition-modelbiasjobinput-endpointinput)" : EndpointInput,
  "[GroundTruthS3Input](#cfn-sagemaker-modelbiasjobdefinition-modelbiasjobinput-groundtruths3input)" : MonitoringGroundTruthS3Input
}
```

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

```
  [BatchTransformInput](#cfn-sagemaker-modelbiasjobdefinition-modelbiasjobinput-batchtransforminput): 
    BatchTransformInput
  [EndpointInput](#cfn-sagemaker-modelbiasjobdefinition-modelbiasjobinput-endpointinput): 
    EndpointInput
  [GroundTruthS3Input](#cfn-sagemaker-modelbiasjobdefinition-modelbiasjobinput-groundtruths3input): 
    MonitoringGroundTruthS3Input
```

## Properties
<a name="aws-properties-sagemaker-modelbiasjobdefinition-modelbiasjobinput-properties"></a>

`BatchTransformInput`  <a name="cfn-sagemaker-modelbiasjobdefinition-modelbiasjobinput-batchtransforminput"></a>
Input object for the batch transform job.  
*Required*: No  
*Type*: [BatchTransformInput](aws-properties-sagemaker-modelbiasjobdefinition-batchtransforminput.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`EndpointInput`  <a name="cfn-sagemaker-modelbiasjobdefinition-modelbiasjobinput-endpointinput"></a>
Input object for the endpoint  
*Required*: No  
*Type*: [EndpointInput](aws-properties-sagemaker-modelbiasjobdefinition-endpointinput.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`GroundTruthS3Input`  <a name="cfn-sagemaker-modelbiasjobdefinition-modelbiasjobinput-groundtruths3input"></a>
Location of ground truth labels to use in model bias job.  
*Required*: Yes  
*Type*: [MonitoringGroundTruthS3Input](aws-properties-sagemaker-modelbiasjobdefinition-monitoringgroundtruths3input.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::SageMaker::ModelBiasJobDefinition MonitoringGroundTruthS3Input
<a name="aws-properties-sagemaker-modelbiasjobdefinition-monitoringgroundtruths3input"></a>

The ground truth labels for the dataset used for the monitoring job.

## Syntax
<a name="aws-properties-sagemaker-modelbiasjobdefinition-monitoringgroundtruths3input-syntax"></a>

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

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

```
{
  "[S3Uri](#cfn-sagemaker-modelbiasjobdefinition-monitoringgroundtruths3input-s3uri)" : String
}
```

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

```
  [S3Uri](#cfn-sagemaker-modelbiasjobdefinition-monitoringgroundtruths3input-s3uri): String
```

## Properties
<a name="aws-properties-sagemaker-modelbiasjobdefinition-monitoringgroundtruths3input-properties"></a>

`S3Uri`  <a name="cfn-sagemaker-modelbiasjobdefinition-monitoringgroundtruths3input-s3uri"></a>
The address of the Amazon S3 location of the ground truth labels.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^(https|s3)://([^/]+)/?(.*)$`  
*Maximum*: `512`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::SageMaker::ModelBiasJobDefinition MonitoringOutput
<a name="aws-properties-sagemaker-modelbiasjobdefinition-monitoringoutput"></a>

The output object for a monitoring job.

## Syntax
<a name="aws-properties-sagemaker-modelbiasjobdefinition-monitoringoutput-syntax"></a>

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

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

```
{
  "[S3Output](#cfn-sagemaker-modelbiasjobdefinition-monitoringoutput-s3output)" : S3Output
}
```

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

```
  [S3Output](#cfn-sagemaker-modelbiasjobdefinition-monitoringoutput-s3output): 
    S3Output
```

## Properties
<a name="aws-properties-sagemaker-modelbiasjobdefinition-monitoringoutput-properties"></a>

`S3Output`  <a name="cfn-sagemaker-modelbiasjobdefinition-monitoringoutput-s3output"></a>
The Amazon S3 storage location where the results of a monitoring job are saved.  
*Required*: Yes  
*Type*: [S3Output](aws-properties-sagemaker-modelbiasjobdefinition-s3output.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::SageMaker::ModelBiasJobDefinition MonitoringOutputConfig
<a name="aws-properties-sagemaker-modelbiasjobdefinition-monitoringoutputconfig"></a>

The output configuration for monitoring jobs.

## Syntax
<a name="aws-properties-sagemaker-modelbiasjobdefinition-monitoringoutputconfig-syntax"></a>

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

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

```
{
  "[KmsKeyId](#cfn-sagemaker-modelbiasjobdefinition-monitoringoutputconfig-kmskeyid)" : String,
  "[MonitoringOutputs](#cfn-sagemaker-modelbiasjobdefinition-monitoringoutputconfig-monitoringoutputs)" : [ MonitoringOutput, ... ]
}
```

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

```
  [KmsKeyId](#cfn-sagemaker-modelbiasjobdefinition-monitoringoutputconfig-kmskeyid): String
  [MonitoringOutputs](#cfn-sagemaker-modelbiasjobdefinition-monitoringoutputconfig-monitoringoutputs): 
    - MonitoringOutput
```

## Properties
<a name="aws-properties-sagemaker-modelbiasjobdefinition-monitoringoutputconfig-properties"></a>

`KmsKeyId`  <a name="cfn-sagemaker-modelbiasjobdefinition-monitoringoutputconfig-kmskeyid"></a>
The AWS Key Management Service (AWS KMS) key that Amazon SageMaker AI uses to encrypt the model artifacts at rest using Amazon S3 server-side encryption.  
*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)

`MonitoringOutputs`  <a name="cfn-sagemaker-modelbiasjobdefinition-monitoringoutputconfig-monitoringoutputs"></a>
Monitoring outputs for monitoring jobs. This is where the output of the periodic monitoring jobs is uploaded.  
*Required*: Yes  
*Type*: Array of [MonitoringOutput](aws-properties-sagemaker-modelbiasjobdefinition-monitoringoutput.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::ModelBiasJobDefinition MonitoringResources
<a name="aws-properties-sagemaker-modelbiasjobdefinition-monitoringresources"></a>

Identifies the resources to deploy for a monitoring job.

## Syntax
<a name="aws-properties-sagemaker-modelbiasjobdefinition-monitoringresources-syntax"></a>

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

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

```
{
  "[ClusterConfig](#cfn-sagemaker-modelbiasjobdefinition-monitoringresources-clusterconfig)" : ClusterConfig
}
```

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

```
  [ClusterConfig](#cfn-sagemaker-modelbiasjobdefinition-monitoringresources-clusterconfig): 
    ClusterConfig
```

## Properties
<a name="aws-properties-sagemaker-modelbiasjobdefinition-monitoringresources-properties"></a>

`ClusterConfig`  <a name="cfn-sagemaker-modelbiasjobdefinition-monitoringresources-clusterconfig"></a>
The configuration for the cluster resources used to run the processing job.  
*Required*: Yes  
*Type*: [ClusterConfig](aws-properties-sagemaker-modelbiasjobdefinition-clusterconfig.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::SageMaker::ModelBiasJobDefinition NetworkConfig
<a name="aws-properties-sagemaker-modelbiasjobdefinition-networkconfig"></a>

Networking options for a job, such as network traffic encryption between containers, whether to allow inbound and outbound network calls to and from containers, and the VPC subnets and security groups to use for VPC-enabled jobs.

## Syntax
<a name="aws-properties-sagemaker-modelbiasjobdefinition-networkconfig-syntax"></a>

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

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

```
{
  "[EnableInterContainerTrafficEncryption](#cfn-sagemaker-modelbiasjobdefinition-networkconfig-enableintercontainertrafficencryption)" : Boolean,
  "[EnableNetworkIsolation](#cfn-sagemaker-modelbiasjobdefinition-networkconfig-enablenetworkisolation)" : Boolean,
  "[VpcConfig](#cfn-sagemaker-modelbiasjobdefinition-networkconfig-vpcconfig)" : VpcConfig
}
```

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

```
  [EnableInterContainerTrafficEncryption](#cfn-sagemaker-modelbiasjobdefinition-networkconfig-enableintercontainertrafficencryption): Boolean
  [EnableNetworkIsolation](#cfn-sagemaker-modelbiasjobdefinition-networkconfig-enablenetworkisolation): Boolean
  [VpcConfig](#cfn-sagemaker-modelbiasjobdefinition-networkconfig-vpcconfig): 
    VpcConfig
```

## Properties
<a name="aws-properties-sagemaker-modelbiasjobdefinition-networkconfig-properties"></a>

`EnableInterContainerTrafficEncryption`  <a name="cfn-sagemaker-modelbiasjobdefinition-networkconfig-enableintercontainertrafficencryption"></a>
Whether to encrypt all communications between distributed processing jobs. Choose `True` to encrypt communications. Encryption provides greater security for distributed processing jobs, but the processing might take longer.  
*Required*: No  
*Type*: Boolean  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`EnableNetworkIsolation`  <a name="cfn-sagemaker-modelbiasjobdefinition-networkconfig-enablenetworkisolation"></a>
Whether to allow inbound and outbound network calls to and from the containers used for the processing job.  
*Required*: No  
*Type*: Boolean  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`VpcConfig`  <a name="cfn-sagemaker-modelbiasjobdefinition-networkconfig-vpcconfig"></a>
Specifies a VPC that your training jobs and hosted models have access to. Control access to and from your training and model containers by configuring the VPC.  
*Required*: No  
*Type*: [VpcConfig](aws-properties-sagemaker-modelbiasjobdefinition-vpcconfig.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::SageMaker::ModelBiasJobDefinition S3Output
<a name="aws-properties-sagemaker-modelbiasjobdefinition-s3output"></a>

The Amazon S3 storage location where the results of a monitoring job are saved.

## Syntax
<a name="aws-properties-sagemaker-modelbiasjobdefinition-s3output-syntax"></a>

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

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

```
{
  "[LocalPath](#cfn-sagemaker-modelbiasjobdefinition-s3output-localpath)" : String,
  "[S3UploadMode](#cfn-sagemaker-modelbiasjobdefinition-s3output-s3uploadmode)" : String,
  "[S3Uri](#cfn-sagemaker-modelbiasjobdefinition-s3output-s3uri)" : String
}
```

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

```
  [LocalPath](#cfn-sagemaker-modelbiasjobdefinition-s3output-localpath): String
  [S3UploadMode](#cfn-sagemaker-modelbiasjobdefinition-s3output-s3uploadmode): String
  [S3Uri](#cfn-sagemaker-modelbiasjobdefinition-s3output-s3uri): String
```

## Properties
<a name="aws-properties-sagemaker-modelbiasjobdefinition-s3output-properties"></a>

`LocalPath`  <a name="cfn-sagemaker-modelbiasjobdefinition-s3output-localpath"></a>
The local path to the Amazon S3 storage location where Amazon SageMaker saves the results of a monitoring job. `LocalPath` is an absolute path for the output data.  
*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)

`S3UploadMode`  <a name="cfn-sagemaker-modelbiasjobdefinition-s3output-s3uploadmode"></a>
Whether to upload the results of the monitoring job continuously or after the job completes.  
*Required*: No  
*Type*: String  
*Allowed values*: `Continuous | EndOfJob`  
*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-modelbiasjobdefinition-s3output-s3uri"></a>
A URI that identifies the Amazon S3 storage location where Amazon SageMaker saves the results of a monitoring job.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^(https|s3)://([^/]+)/?(.*)$`  
*Maximum*: `512`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::SageMaker::ModelBiasJobDefinition StoppingCondition
<a name="aws-properties-sagemaker-modelbiasjobdefinition-stoppingcondition"></a>

Specifies a limit to how long a job can run. When the job reaches the time limit, SageMaker ends the job. Use this API to cap costs.

To stop a training job, SageMaker sends the algorithm the `SIGTERM` signal, which delays job termination for 120 seconds. Algorithms can use this 120-second window to save the model artifacts, so the results of training are not lost. 

The training algorithms provided by SageMaker automatically save the intermediate results of a model training job when possible. This attempt to save artifacts is only a best effort case as model might not be in a state from which it can be saved. For example, if training has just started, the model might not be ready to save. When saved, this intermediate data is a valid model artifact. You can use it to create a model with `CreateModel`.

**Note**  
The Neural Topic Model (NTM) currently does not support saving intermediate model artifacts. When training NTMs, make sure that the maximum runtime is sufficient for the training job to complete.

## Syntax
<a name="aws-properties-sagemaker-modelbiasjobdefinition-stoppingcondition-syntax"></a>

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

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

```
{
  "[MaxRuntimeInSeconds](#cfn-sagemaker-modelbiasjobdefinition-stoppingcondition-maxruntimeinseconds)" : Integer
}
```

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

```
  [MaxRuntimeInSeconds](#cfn-sagemaker-modelbiasjobdefinition-stoppingcondition-maxruntimeinseconds): Integer
```

## Properties
<a name="aws-properties-sagemaker-modelbiasjobdefinition-stoppingcondition-properties"></a>

`MaxRuntimeInSeconds`  <a name="cfn-sagemaker-modelbiasjobdefinition-stoppingcondition-maxruntimeinseconds"></a>
The maximum length of time, in seconds, that a training or compilation job can run before it is stopped.  
For compilation jobs, if the job does not complete during this time, a `TimeOut` error is generated. We recommend starting with 900 seconds and increasing as necessary based on your model.  
For all other jobs, if the job does not complete during this time, SageMaker ends the job. When `RetryStrategy` is specified in the job request, `MaxRuntimeInSeconds` specifies the maximum time for all of the attempts in total, not each individual attempt. The default value is 1 day. The maximum value is 28 days.  
The maximum time that a `TrainingJob` can run in total, including any time spent publishing metrics or archiving and uploading models after it has been stopped, is 30 days.  
*Required*: Yes  
*Type*: Integer  
*Minimum*: `1`  
*Maximum*: `86400`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::SageMaker::ModelBiasJobDefinition Tag
<a name="aws-properties-sagemaker-modelbiasjobdefinition-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-modelbiasjobdefinition-tag-syntax"></a>

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

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

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

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

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

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

`Key`  <a name="cfn-sagemaker-modelbiasjobdefinition-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*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

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

# AWS::SageMaker::ModelBiasJobDefinition VpcConfig
<a name="aws-properties-sagemaker-modelbiasjobdefinition-vpcconfig"></a>

Specifies an Amazon Virtual Private Cloud (VPC) that your SageMaker jobs, hosted models, and compute resources have access to. You can control access to and from your resources by configuring a VPC. For more information, see [Give SageMaker Access to Resources in your Amazon VPC](https://docs.aws.amazon.com/sagemaker/latest/dg/infrastructure-give-access.html). 

## Syntax
<a name="aws-properties-sagemaker-modelbiasjobdefinition-vpcconfig-syntax"></a>

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

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

```
{
  "[SecurityGroupIds](#cfn-sagemaker-modelbiasjobdefinition-vpcconfig-securitygroupids)" : [ String, ... ],
  "[Subnets](#cfn-sagemaker-modelbiasjobdefinition-vpcconfig-subnets)" : [ String, ... ]
}
```

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

```
  [SecurityGroupIds](#cfn-sagemaker-modelbiasjobdefinition-vpcconfig-securitygroupids): 
    - String
  [Subnets](#cfn-sagemaker-modelbiasjobdefinition-vpcconfig-subnets): 
    - String
```

## Properties
<a name="aws-properties-sagemaker-modelbiasjobdefinition-vpcconfig-properties"></a>

`SecurityGroupIds`  <a name="cfn-sagemaker-modelbiasjobdefinition-vpcconfig-securitygroupids"></a>
The VPC security group IDs, in the form `sg-xxxxxxxx`. Specify the security groups for the VPC that is specified in the `Subnets` field.  
*Required*: Yes  
*Type*: Array of String  
*Minimum*: `1`  
*Maximum*: `32 | 5`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`Subnets`  <a name="cfn-sagemaker-modelbiasjobdefinition-vpcconfig-subnets"></a>
The ID of the subnets in the VPC to which you want to connect your training job or model. For information about the availability of specific instance types, see [Supported Instance Types and Availability Zones](https://docs.aws.amazon.com/sagemaker/latest/dg/instance-types-az.html).  
*Required*: Yes  
*Type*: Array of String  
*Minimum*: `1`  
*Maximum*: `32 | 16`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

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

Creates an Amazon SageMaker Model Card.

For information about how to use model cards, see [Amazon SageMaker Model Card](https://docs.aws.amazon.com/sagemaker/latest/dg/model-cards.html).

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

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

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

```
{
  "Type" : "AWS::SageMaker::ModelCard",
  "Properties" : {
      "[Content](#cfn-sagemaker-modelcard-content)" : Content,
      "[CreatedBy](#cfn-sagemaker-modelcard-createdby)" : UserContext,
      "[LastModifiedBy](#cfn-sagemaker-modelcard-lastmodifiedby)" : UserContext,
      "[ModelCardName](#cfn-sagemaker-modelcard-modelcardname)" : String,
      "[ModelCardStatus](#cfn-sagemaker-modelcard-modelcardstatus)" : String,
      "[SecurityConfig](#cfn-sagemaker-modelcard-securityconfig)" : SecurityConfig,
      "[Tags](#cfn-sagemaker-modelcard-tags)" : [ Tag, ... ]
    }
}
```

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

```
Type: AWS::SageMaker::ModelCard
Properties:
  [Content](#cfn-sagemaker-modelcard-content): 
    Content
  [CreatedBy](#cfn-sagemaker-modelcard-createdby): 
    UserContext
  [LastModifiedBy](#cfn-sagemaker-modelcard-lastmodifiedby): 
    UserContext
  [ModelCardName](#cfn-sagemaker-modelcard-modelcardname): String
  [ModelCardStatus](#cfn-sagemaker-modelcard-modelcardstatus): String
  [SecurityConfig](#cfn-sagemaker-modelcard-securityconfig): 
    SecurityConfig
  [Tags](#cfn-sagemaker-modelcard-tags): 
    - Tag
```

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

`Content`  <a name="cfn-sagemaker-modelcard-content"></a>
The content of the model card. Content uses the [model card JSON schema](https://docs.aws.amazon.com/sagemaker/latest/dg/model-cards.html#model-cards-json-schema).  
*Required*: Yes  
*Type*: [Content](aws-properties-sagemaker-modelcard-content.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`CreatedBy`  <a name="cfn-sagemaker-modelcard-createdby"></a>
Information about the user who created or modified one or more of the following:  
+ Experiment
+ Trial
+ Trial component
+ Lineage group
+ Project
+ Model Card
*Required*: No  
*Type*: [UserContext](aws-properties-sagemaker-modelcard-usercontext.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`LastModifiedBy`  <a name="cfn-sagemaker-modelcard-lastmodifiedby"></a>
Information about the user who last modified the model card.  
*Required*: No  
*Type*: [UserContext](aws-properties-sagemaker-modelcard-usercontext.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

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

`ModelCardStatus`  <a name="cfn-sagemaker-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*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`SecurityConfig`  <a name="cfn-sagemaker-modelcard-securityconfig"></a>
The security configuration used to protect model card data.  
*Required*: No  
*Type*: [SecurityConfig](aws-properties-sagemaker-modelcard-securityconfig.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`Tags`  <a name="cfn-sagemaker-modelcard-tags"></a>
Key-value pairs used to manage metadata for the model card.  
*Required*: No  
*Type*: Array of [Tag](aws-properties-sagemaker-modelcard-tag.md)  
*Minimum*: `1`  
*Maximum*: `50`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

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

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

When you pass the logical ID of this resource to the intrinsic `Ref` function, `Ref` returns the model card name.

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-modelcard-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-modelcard-return-values-fn--getatt-fn--getatt"></a>

`CreatedBy.DomainId`  <a name="CreatedBy.DomainId-fn::getatt"></a>
Property description not available.

`LastModifiedBy.UserProfileArn`  <a name="LastModifiedBy.UserProfileArn-fn::getatt"></a>
Property description not available.

`ModelCardArn`  <a name="ModelCardArn-fn::getatt"></a>
The Amazon Resource Number (ARN) of the model card. For example, `arn:aws:sagemaker:us-west-2:012345678901:modelcard/examplemodelcard`.

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

Additional information about the model.

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

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

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

```
{
  "[CaveatsAndRecommendations](#cfn-sagemaker-modelcard-additionalinformation-caveatsandrecommendations)" : String,
  "[CustomDetails](#cfn-sagemaker-modelcard-additionalinformation-customdetails)" : {Key: Value, ...},
  "[EthicalConsiderations](#cfn-sagemaker-modelcard-additionalinformation-ethicalconsiderations)" : String
}
```

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

```
  [CaveatsAndRecommendations](#cfn-sagemaker-modelcard-additionalinformation-caveatsandrecommendations): String
  [CustomDetails](#cfn-sagemaker-modelcard-additionalinformation-customdetails): 
    Key: Value
  [EthicalConsiderations](#cfn-sagemaker-modelcard-additionalinformation-ethicalconsiderations): String
```

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

`CaveatsAndRecommendations`  <a name="cfn-sagemaker-modelcard-additionalinformation-caveatsandrecommendations"></a>
Caveats and recommendations for those who might use this model in their applications.  
*Required*: No  
*Type*: String  
*Maximum*: `2048`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`CustomDetails`  <a name="cfn-sagemaker-modelcard-additionalinformation-customdetails"></a>
Any additional information to document about the model.  
*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)

`EthicalConsiderations`  <a name="cfn-sagemaker-modelcard-additionalinformation-ethicalconsiderations"></a>
Any ethical considerations documented by the model card author.  
*Required*: No  
*Type*: String  
*Maximum*: `2048`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

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

Information about how the model supports business goals.

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

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

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

```
{
  "[BusinessProblem](#cfn-sagemaker-modelcard-businessdetails-businessproblem)" : String,
  "[BusinessStakeholders](#cfn-sagemaker-modelcard-businessdetails-businessstakeholders)" : String,
  "[LineOfBusiness](#cfn-sagemaker-modelcard-businessdetails-lineofbusiness)" : String
}
```

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

```
  [BusinessProblem](#cfn-sagemaker-modelcard-businessdetails-businessproblem): String
  [BusinessStakeholders](#cfn-sagemaker-modelcard-businessdetails-businessstakeholders): String
  [LineOfBusiness](#cfn-sagemaker-modelcard-businessdetails-lineofbusiness): String
```

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

`BusinessProblem`  <a name="cfn-sagemaker-modelcard-businessdetails-businessproblem"></a>
The specific business problem that the model is trying to solve.  
*Required*: No  
*Type*: String  
*Maximum*: `2048`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`BusinessStakeholders`  <a name="cfn-sagemaker-modelcard-businessdetails-businessstakeholders"></a>
The relevant stakeholders for the model.  
*Required*: No  
*Type*: String  
*Maximum*: `2048`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`LineOfBusiness`  <a name="cfn-sagemaker-modelcard-businessdetails-lineofbusiness"></a>
The broader business need that the model is serving.  
*Required*: No  
*Type*: String  
*Maximum*: `2048`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

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

Information about the container used for the model.

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

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

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

```
{
  "[Image](#cfn-sagemaker-modelcard-container-image)" : String,
  "[ModelDataUrl](#cfn-sagemaker-modelcard-container-modeldataurl)" : String,
  "[NearestModelName](#cfn-sagemaker-modelcard-container-nearestmodelname)" : String
}
```

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

```
  [Image](#cfn-sagemaker-modelcard-container-image): String
  [ModelDataUrl](#cfn-sagemaker-modelcard-container-modeldataurl): String
  [NearestModelName](#cfn-sagemaker-modelcard-container-nearestmodelname): String
```

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

`Image`  <a name="cfn-sagemaker-modelcard-container-image"></a>
The Amazon EC2 Container Registry (Amazon ECR) path where the model container image is stored.  
*Required*: Yes  
*Type*: String  
*Maximum*: `255`  
*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-modelcard-container-modeldataurl"></a>
The Amazon S3 path where the model artifacts are stored.  
*Required*: No  
*Type*: String  
*Maximum*: `1024`  
*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-modelcard-container-nearestmodelname"></a>
The name of a pre-trained model in the registry that is similar to this model.  
*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::ModelCard Content
<a name="aws-properties-sagemaker-modelcard-content"></a>

The content of the model card. It follows the [model card json schema](https://docs.aws.amazon.com/sagemaker/latest/dg/model-cards.html#model-cards-json-schema).

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

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

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

```
{
  "[AdditionalInformation](#cfn-sagemaker-modelcard-content-additionalinformation)" : AdditionalInformation,
  "[BusinessDetails](#cfn-sagemaker-modelcard-content-businessdetails)" : BusinessDetails,
  "[EvaluationDetails](#cfn-sagemaker-modelcard-content-evaluationdetails)" : [ EvaluationDetail, ... ],
  "[IntendedUses](#cfn-sagemaker-modelcard-content-intendeduses)" : IntendedUses,
  "[ModelOverview](#cfn-sagemaker-modelcard-content-modeloverview)" : ModelOverview,
  "[ModelPackageDetails](#cfn-sagemaker-modelcard-content-modelpackagedetails)" : ModelPackageDetails,
  "[TrainingDetails](#cfn-sagemaker-modelcard-content-trainingdetails)" : TrainingDetails
}
```

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

```
  [AdditionalInformation](#cfn-sagemaker-modelcard-content-additionalinformation): 
    AdditionalInformation
  [BusinessDetails](#cfn-sagemaker-modelcard-content-businessdetails): 
    BusinessDetails
  [EvaluationDetails](#cfn-sagemaker-modelcard-content-evaluationdetails): 
    - EvaluationDetail
  [IntendedUses](#cfn-sagemaker-modelcard-content-intendeduses): 
    IntendedUses
  [ModelOverview](#cfn-sagemaker-modelcard-content-modeloverview): 
    ModelOverview
  [ModelPackageDetails](#cfn-sagemaker-modelcard-content-modelpackagedetails): 
    ModelPackageDetails
  [TrainingDetails](#cfn-sagemaker-modelcard-content-trainingdetails): 
    TrainingDetails
```

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

`AdditionalInformation`  <a name="cfn-sagemaker-modelcard-content-additionalinformation"></a>
Additional information about the model.  
*Required*: No  
*Type*: [AdditionalInformation](aws-properties-sagemaker-modelcard-additionalinformation.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`BusinessDetails`  <a name="cfn-sagemaker-modelcard-content-businessdetails"></a>
Information about how the model supports business goals.  
*Required*: No  
*Type*: [BusinessDetails](aws-properties-sagemaker-modelcard-businessdetails.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`EvaluationDetails`  <a name="cfn-sagemaker-modelcard-content-evaluationdetails"></a>
An overview about the model's evaluation.  
*Required*: No  
*Type*: Array of [EvaluationDetail](aws-properties-sagemaker-modelcard-evaluationdetail.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`IntendedUses`  <a name="cfn-sagemaker-modelcard-content-intendeduses"></a>
The intended usage of the model.  
*Required*: No  
*Type*: [IntendedUses](aws-properties-sagemaker-modelcard-intendeduses.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ModelOverview`  <a name="cfn-sagemaker-modelcard-content-modeloverview"></a>
An overview about the model  
*Required*: No  
*Type*: [ModelOverview](aws-properties-sagemaker-modelcard-modeloverview.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ModelPackageDetails`  <a name="cfn-sagemaker-modelcard-content-modelpackagedetails"></a>
Details about the model package.  
*Required*: No  
*Type*: [ModelPackageDetails](aws-properties-sagemaker-modelcard-modelpackagedetails.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`TrainingDetails`  <a name="cfn-sagemaker-modelcard-content-trainingdetails"></a>
An overview about model training.  
*Required*: No  
*Type*: [TrainingDetails](aws-properties-sagemaker-modelcard-trainingdetails.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::ModelCard EvaluationDetail
<a name="aws-properties-sagemaker-modelcard-evaluationdetail"></a>

The evaluation details of the model.

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

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

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

```
{
  "[Datasets](#cfn-sagemaker-modelcard-evaluationdetail-datasets)" : [ String, ... ],
  "[EvaluationJobArn](#cfn-sagemaker-modelcard-evaluationdetail-evaluationjobarn)" : String,
  "[EvaluationObservation](#cfn-sagemaker-modelcard-evaluationdetail-evaluationobservation)" : String,
  "[Metadata](#cfn-sagemaker-modelcard-evaluationdetail-metadata)" : {Key: Value, ...},
  "[MetricGroups](#cfn-sagemaker-modelcard-evaluationdetail-metricgroups)" : [ MetricGroup, ... ],
  "[Name](#cfn-sagemaker-modelcard-evaluationdetail-name)" : String
}
```

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

```
  [Datasets](#cfn-sagemaker-modelcard-evaluationdetail-datasets): 
    - String
  [EvaluationJobArn](#cfn-sagemaker-modelcard-evaluationdetail-evaluationjobarn): String
  [EvaluationObservation](#cfn-sagemaker-modelcard-evaluationdetail-evaluationobservation): String
  [Metadata](#cfn-sagemaker-modelcard-evaluationdetail-metadata): 
    Key: Value
  [MetricGroups](#cfn-sagemaker-modelcard-evaluationdetail-metricgroups): 
    - MetricGroup
  [Name](#cfn-sagemaker-modelcard-evaluationdetail-name): String
```

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

`Datasets`  <a name="cfn-sagemaker-modelcard-evaluationdetail-datasets"></a>
The location of the datasets used to evaluate the model.  
*Required*: No  
*Type*: Array of String  
*Maximum*: `1024 | 10`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`EvaluationJobArn`  <a name="cfn-sagemaker-modelcard-evaluationdetail-evaluationjobarn"></a>
The Amazon Resource Name (ARN) of the evaluation job.  
*Required*: No  
*Type*: String  
*Maximum*: `256`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`EvaluationObservation`  <a name="cfn-sagemaker-modelcard-evaluationdetail-evaluationobservation"></a>
Any observations made during the model evaluation.  
*Required*: No  
*Type*: String  
*Maximum*: `2096`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Metadata`  <a name="cfn-sagemaker-modelcard-evaluationdetail-metadata"></a>
Additional attributes associated with the evaluation results.  
*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)

`MetricGroups`  <a name="cfn-sagemaker-modelcard-evaluationdetail-metricgroups"></a>
An evaluation Metric Group object.  
*Required*: No  
*Type*: Array of [MetricGroup](aws-properties-sagemaker-modelcard-metricgroup.md)  
*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-modelcard-evaluationdetail-name"></a>
The evaluation job name.  
*Required*: Yes  
*Type*: String  
*Pattern*: `.{1,63}`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

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

Function details.

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

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

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

```
{
  "[Condition](#cfn-sagemaker-modelcard-function-condition)" : String,
  "[Facet](#cfn-sagemaker-modelcard-function-facet)" : String,
  "[Function](#cfn-sagemaker-modelcard-function-function)" : String
}
```

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

```
  [Condition](#cfn-sagemaker-modelcard-function-condition): String
  [Facet](#cfn-sagemaker-modelcard-function-facet): String
  [Function](#cfn-sagemaker-modelcard-function-function): String
```

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

`Condition`  <a name="cfn-sagemaker-modelcard-function-condition"></a>
An optional description of any conditions of your objective function metric.  
*Required*: No  
*Type*: String  
*Maximum*: `63`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Facet`  <a name="cfn-sagemaker-modelcard-function-facet"></a>
The metric of the model's objective function. For example, *loss* or *rmse*. The following list shows examples of the values that you can specify for the metric:  
+  `ACCURACY` 
+  `AUC` 
+  `LOSS` 
+  `MAE` 
+  `RMSE` 
*Required*: No  
*Type*: String  
*Maximum*: `63`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Function`  <a name="cfn-sagemaker-modelcard-function-function"></a>
The optimization direction of the model's objective function. You must specify one of the following values:  
+  `Maximize` 
+  `Minimize` 
*Required*: No  
*Type*: [String](#aws-properties-sagemaker-modelcard-function)  
*Allowed values*: `Maximize | Minimize`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

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

An overview of a model's inference environment.

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

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

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

```
{
  "[ContainerImage](#cfn-sagemaker-modelcard-inferenceenvironment-containerimage)" : [ String, ... ]
}
```

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

```
  [ContainerImage](#cfn-sagemaker-modelcard-inferenceenvironment-containerimage): 
    - String
```

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

`ContainerImage`  <a name="cfn-sagemaker-modelcard-inferenceenvironment-containerimage"></a>
The container used to run the inference environment.  
*Required*: No  
*Type*: Array of String  
*Maximum*: `1024 | 15`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

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

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

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

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

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

```
{
  "[Containers](#cfn-sagemaker-modelcard-inferencespecification-containers)" : [ Container, ... ]
}
```

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

```
  [Containers](#cfn-sagemaker-modelcard-inferencespecification-containers): 
    - Container
```

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

`Containers`  <a name="cfn-sagemaker-modelcard-inferencespecification-containers"></a>
The Amazon ECR registry path of the Docker image that contains the inference code.  
*Required*: Yes  
*Type*: Array of [Container](aws-properties-sagemaker-modelcard-container.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)

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

The intended uses of a model.

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

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

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

```
{
  "[ExplanationsForRiskRating](#cfn-sagemaker-modelcard-intendeduses-explanationsforriskrating)" : String,
  "[FactorsAffectingModelEfficiency](#cfn-sagemaker-modelcard-intendeduses-factorsaffectingmodelefficiency)" : String,
  "[IntendedUses](#cfn-sagemaker-modelcard-intendeduses-intendeduses)" : String,
  "[PurposeOfModel](#cfn-sagemaker-modelcard-intendeduses-purposeofmodel)" : String,
  "[RiskRating](#cfn-sagemaker-modelcard-intendeduses-riskrating)" : String
}
```

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

```
  [ExplanationsForRiskRating](#cfn-sagemaker-modelcard-intendeduses-explanationsforriskrating): String
  [FactorsAffectingModelEfficiency](#cfn-sagemaker-modelcard-intendeduses-factorsaffectingmodelefficiency): String
  [IntendedUses](#cfn-sagemaker-modelcard-intendeduses-intendeduses): String
  [PurposeOfModel](#cfn-sagemaker-modelcard-intendeduses-purposeofmodel): String
  [RiskRating](#cfn-sagemaker-modelcard-intendeduses-riskrating): String
```

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

`ExplanationsForRiskRating`  <a name="cfn-sagemaker-modelcard-intendeduses-explanationsforriskrating"></a>
An explanation of why your organization categorizes the model with its risk rating.  
*Required*: No  
*Type*: String  
*Maximum*: `2048`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`FactorsAffectingModelEfficiency`  <a name="cfn-sagemaker-modelcard-intendeduses-factorsaffectingmodelefficiency"></a>
Factors affecting model efficacy.  
*Required*: No  
*Type*: String  
*Maximum*: `2048`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`IntendedUses`  <a name="cfn-sagemaker-modelcard-intendeduses-intendeduses"></a>
The intended use cases for the model.  
*Required*: No  
*Type*: [String](#aws-properties-sagemaker-modelcard-intendeduses)  
*Maximum*: `2048`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`PurposeOfModel`  <a name="cfn-sagemaker-modelcard-intendeduses-purposeofmodel"></a>
The general purpose of the model.  
*Required*: No  
*Type*: String  
*Maximum*: `2048`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`RiskRating`  <a name="cfn-sagemaker-modelcard-intendeduses-riskrating"></a>
Your organization's risk rating. You can specify one the following values as the risk rating:  
+ High
+ Medium
+ Low
+ Unknown
*Required*: No  
*Type*: String  
*Allowed values*: `High | Medium | Low | Unknown`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

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

Metric data. The `type` determines the data types that you specify for `value`, `XAxisName` and `YAxisName`. For information about specifying values for metrics, see [model card JSON schema](https://docs.aws.amazon.com/sagemaker/latest/dg/model-cards.html#model-cards-json-schema).

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

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

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

```
{
  "[MetricDataItems](#cfn-sagemaker-modelcard-metricdataitems-metricdataitems)" : SimpleMetric
}
```

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

```
  [MetricDataItems](#cfn-sagemaker-modelcard-metricdataitems-metricdataitems): 
    SimpleMetric
```

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

`MetricDataItems`  <a name="cfn-sagemaker-modelcard-metricdataitems-metricdataitems"></a>
A list of metric data items for the model.  
*Required*: No  
*Type*: [SimpleMetric](aws-properties-sagemaker-modelcard-simplemetric.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::ModelCard MetricGroup
<a name="aws-properties-sagemaker-modelcard-metricgroup"></a>

A group of metric data that you use to initialize a metric group object.

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

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

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

```
{
  "[MetricData](#cfn-sagemaker-modelcard-metricgroup-metricdata)" : [ MetricDataItems, ... ],
  "[Name](#cfn-sagemaker-modelcard-metricgroup-name)" : String
}
```

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

```
  [MetricData](#cfn-sagemaker-modelcard-metricgroup-metricdata): 
    - MetricDataItems
  [Name](#cfn-sagemaker-modelcard-metricgroup-name): String
```

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

`MetricData`  <a name="cfn-sagemaker-modelcard-metricgroup-metricdata"></a>
A list of metric objects. The `MetricDataItems` list can have one of the following values:  
+  `bar_chart_metric` 
+  `matrix_metric` 
+  `simple_metric` 
+  `linear_graph_metric` 
For more information about the metric schema, see the definition section of the [model card JSON schema](https://docs.aws.amazon.com/sagemaker/latest/dg/model-cards.html#model-cards-json-schema).  
*Required*: Yes  
*Type*: Array of [MetricDataItems](aws-properties-sagemaker-modelcard-metricdataitems.md)  
*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-modelcard-metricgroup-name"></a>
The metric group name.  
*Required*: Yes  
*Type*: String  
*Pattern*: `.{1,63}`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

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

An overview about the model.

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

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

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

```
{
  "[AlgorithmType](#cfn-sagemaker-modelcard-modeloverview-algorithmtype)" : String,
  "[InferenceEnvironment](#cfn-sagemaker-modelcard-modeloverview-inferenceenvironment)" : InferenceEnvironment,
  "[ModelArtifact](#cfn-sagemaker-modelcard-modeloverview-modelartifact)" : [ String, ... ],
  "[ModelCreator](#cfn-sagemaker-modelcard-modeloverview-modelcreator)" : String,
  "[ModelDescription](#cfn-sagemaker-modelcard-modeloverview-modeldescription)" : String,
  "[ModelId](#cfn-sagemaker-modelcard-modeloverview-modelid)" : String,
  "[ModelName](#cfn-sagemaker-modelcard-modeloverview-modelname)" : String,
  "[ModelOwner](#cfn-sagemaker-modelcard-modeloverview-modelowner)" : String,
  "[ModelVersion](#cfn-sagemaker-modelcard-modeloverview-modelversion)" : Number,
  "[ProblemType](#cfn-sagemaker-modelcard-modeloverview-problemtype)" : String
}
```

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

```
  [AlgorithmType](#cfn-sagemaker-modelcard-modeloverview-algorithmtype): String
  [InferenceEnvironment](#cfn-sagemaker-modelcard-modeloverview-inferenceenvironment): 
    InferenceEnvironment
  [ModelArtifact](#cfn-sagemaker-modelcard-modeloverview-modelartifact): 
    - String
  [ModelCreator](#cfn-sagemaker-modelcard-modeloverview-modelcreator): String
  [ModelDescription](#cfn-sagemaker-modelcard-modeloverview-modeldescription): String
  [ModelId](#cfn-sagemaker-modelcard-modeloverview-modelid): String
  [ModelName](#cfn-sagemaker-modelcard-modeloverview-modelname): String
  [ModelOwner](#cfn-sagemaker-modelcard-modeloverview-modelowner): String
  [ModelVersion](#cfn-sagemaker-modelcard-modeloverview-modelversion): Number
  [ProblemType](#cfn-sagemaker-modelcard-modeloverview-problemtype): String
```

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

`AlgorithmType`  <a name="cfn-sagemaker-modelcard-modeloverview-algorithmtype"></a>
The algorithm used to solve the problem.  
*Required*: No  
*Type*: String  
*Maximum*: `1024`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`InferenceEnvironment`  <a name="cfn-sagemaker-modelcard-modeloverview-inferenceenvironment"></a>
An overview about model inference.  
*Required*: No  
*Type*: [InferenceEnvironment](aws-properties-sagemaker-modelcard-inferenceenvironment.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ModelArtifact`  <a name="cfn-sagemaker-modelcard-modeloverview-modelartifact"></a>
The location of the model artifact.  
*Required*: No  
*Type*: Array of String  
*Maximum*: `1024 | 15`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ModelCreator`  <a name="cfn-sagemaker-modelcard-modeloverview-modelcreator"></a>
The creator of the model.  
*Required*: No  
*Type*: String  
*Maximum*: `1024`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

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

`ModelId`  <a name="cfn-sagemaker-modelcard-modeloverview-modelid"></a>
The SageMaker AI Model ARN or non-SageMaker AI Model ID.  
*Required*: No  
*Type*: String  
*Maximum*: `1024`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ModelName`  <a name="cfn-sagemaker-modelcard-modeloverview-modelname"></a>
The name of the model.  
*Required*: No  
*Type*: String  
*Maximum*: `1024`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ModelOwner`  <a name="cfn-sagemaker-modelcard-modeloverview-modelowner"></a>
The owner of the model.  
*Required*: No  
*Type*: String  
*Maximum*: `1024`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ModelVersion`  <a name="cfn-sagemaker-modelcard-modeloverview-modelversion"></a>
The version of the model.  
*Required*: No  
*Type*: Number  
*Minimum*: `1`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ProblemType`  <a name="cfn-sagemaker-modelcard-modeloverview-problemtype"></a>
The problem being solved with the model.  
*Required*: No  
*Type*: String  
*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::ModelCard ModelPackageCreator
<a name="aws-properties-sagemaker-modelcard-modelpackagecreator"></a>

Information about the user who created the model package.

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

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

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

```
{
  "[UserProfileName](#cfn-sagemaker-modelcard-modelpackagecreator-userprofilename)" : String
}
```

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

```
  [UserProfileName](#cfn-sagemaker-modelcard-modelpackagecreator-userprofilename): String
```

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

`UserProfileName`  <a name="cfn-sagemaker-modelcard-modelpackagecreator-userprofilename"></a>
The user profile name of the model package creator.  
*Required*: No  
*Type*: String  
*Maximum*: `63`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

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

Details about the model package associated with the model card.

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

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

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

```
{
  "[ApprovalDescription](#cfn-sagemaker-modelcard-modelpackagedetails-approvaldescription)" : String,
  "[CreatedBy](#cfn-sagemaker-modelcard-modelpackagedetails-createdby)" : ModelPackageCreator,
  "[Domain](#cfn-sagemaker-modelcard-modelpackagedetails-domain)" : String,
  "[InferenceSpecification](#cfn-sagemaker-modelcard-modelpackagedetails-inferencespecification)" : InferenceSpecification,
  "[ModelApprovalStatus](#cfn-sagemaker-modelcard-modelpackagedetails-modelapprovalstatus)" : String,
  "[ModelPackageArn](#cfn-sagemaker-modelcard-modelpackagedetails-modelpackagearn)" : String,
  "[ModelPackageDescription](#cfn-sagemaker-modelcard-modelpackagedetails-modelpackagedescription)" : String,
  "[ModelPackageGroupName](#cfn-sagemaker-modelcard-modelpackagedetails-modelpackagegroupname)" : String,
  "[ModelPackageName](#cfn-sagemaker-modelcard-modelpackagedetails-modelpackagename)" : String,
  "[ModelPackageStatus](#cfn-sagemaker-modelcard-modelpackagedetails-modelpackagestatus)" : String,
  "[ModelPackageVersion](#cfn-sagemaker-modelcard-modelpackagedetails-modelpackageversion)" : Number,
  "[SourceAlgorithms](#cfn-sagemaker-modelcard-modelpackagedetails-sourcealgorithms)" : [ SourceAlgorithm, ... ],
  "[Task](#cfn-sagemaker-modelcard-modelpackagedetails-task)" : String
}
```

### YAML
<a name="aws-properties-sagemaker-modelcard-modelpackagedetails-syntax.yaml"></a>

```
  [ApprovalDescription](#cfn-sagemaker-modelcard-modelpackagedetails-approvaldescription): String
  [CreatedBy](#cfn-sagemaker-modelcard-modelpackagedetails-createdby): 
    ModelPackageCreator
  [Domain](#cfn-sagemaker-modelcard-modelpackagedetails-domain): String
  [InferenceSpecification](#cfn-sagemaker-modelcard-modelpackagedetails-inferencespecification): 
    InferenceSpecification
  [ModelApprovalStatus](#cfn-sagemaker-modelcard-modelpackagedetails-modelapprovalstatus): String
  [ModelPackageArn](#cfn-sagemaker-modelcard-modelpackagedetails-modelpackagearn): String
  [ModelPackageDescription](#cfn-sagemaker-modelcard-modelpackagedetails-modelpackagedescription): String
  [ModelPackageGroupName](#cfn-sagemaker-modelcard-modelpackagedetails-modelpackagegroupname): String
  [ModelPackageName](#cfn-sagemaker-modelcard-modelpackagedetails-modelpackagename): String
  [ModelPackageStatus](#cfn-sagemaker-modelcard-modelpackagedetails-modelpackagestatus): String
  [ModelPackageVersion](#cfn-sagemaker-modelcard-modelpackagedetails-modelpackageversion): Number
  [SourceAlgorithms](#cfn-sagemaker-modelcard-modelpackagedetails-sourcealgorithms): 
    - SourceAlgorithm
  [Task](#cfn-sagemaker-modelcard-modelpackagedetails-task): String
```

## Properties
<a name="aws-properties-sagemaker-modelcard-modelpackagedetails-properties"></a>

`ApprovalDescription`  <a name="cfn-sagemaker-modelcard-modelpackagedetails-approvaldescription"></a>
A description of the approval status of the model package.  
*Required*: No  
*Type*: String  
*Maximum*: `1024`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`CreatedBy`  <a name="cfn-sagemaker-modelcard-modelpackagedetails-createdby"></a>
Information about the user who created the model package.  
*Required*: No  
*Type*: [ModelPackageCreator](aws-properties-sagemaker-modelcard-modelpackagecreator.md)  
*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-modelcard-modelpackagedetails-domain"></a>
The machine learning domain of the model package.  
*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)

`InferenceSpecification`  <a name="cfn-sagemaker-modelcard-modelpackagedetails-inferencespecification"></a>
Details about the inference specification for the model package.  
*Required*: No  
*Type*: [InferenceSpecification](aws-properties-sagemaker-modelcard-inferencespecification.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ModelApprovalStatus`  <a name="cfn-sagemaker-modelcard-modelpackagedetails-modelapprovalstatus"></a>
The approval status of the model package.  
*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)

`ModelPackageArn`  <a name="cfn-sagemaker-modelcard-modelpackagedetails-modelpackagearn"></a>
The Amazon Resource Name (ARN) of the model package.  
*Required*: No  
*Type*: String  
*Minimum*: `1`  
*Maximum*: `2048`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ModelPackageDescription`  <a name="cfn-sagemaker-modelcard-modelpackagedetails-modelpackagedescription"></a>
A description of the model package.  
*Required*: No  
*Type*: String  
*Maximum*: `1024`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ModelPackageGroupName`  <a name="cfn-sagemaker-modelcard-modelpackagedetails-modelpackagegroupname"></a>
The name of the model package group.  
*Required*: No  
*Type*: String  
*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)

`ModelPackageName`  <a name="cfn-sagemaker-modelcard-modelpackagedetails-modelpackagename"></a>
The name of the model package.  
*Required*: No  
*Type*: String  
*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)

`ModelPackageStatus`  <a name="cfn-sagemaker-modelcard-modelpackagedetails-modelpackagestatus"></a>
The status of the model package.  
*Required*: No  
*Type*: String  
*Allowed values*: `Pending | InProgress | Completed | Failed | Deleting`  
*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-modelcard-modelpackagedetails-modelpackageversion"></a>
The version of the model package.  
*Required*: No  
*Type*: Number  
*Minimum*: `1`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`SourceAlgorithms`  <a name="cfn-sagemaker-modelcard-modelpackagedetails-sourcealgorithms"></a>
A list of algorithms that were used to create the model package.  
*Required*: No  
*Type*: Array of [SourceAlgorithm](aws-properties-sagemaker-modelcard-sourcealgorithm.md)  
*Minimum*: `1`  
*Maximum*: `1`  
*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-modelcard-modelpackagedetails-task"></a>
The machine learning task performed by the model package.  
*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::ModelCard ObjectiveFunction
<a name="aws-properties-sagemaker-modelcard-objectivefunction"></a>

The function that is optimized during model training.

## Syntax
<a name="aws-properties-sagemaker-modelcard-objectivefunction-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-modelcard-objectivefunction-syntax.json"></a>

```
{
  "[Function](#cfn-sagemaker-modelcard-objectivefunction-function)" : Function,
  "[Notes](#cfn-sagemaker-modelcard-objectivefunction-notes)" : String
}
```

### YAML
<a name="aws-properties-sagemaker-modelcard-objectivefunction-syntax.yaml"></a>

```
  [Function](#cfn-sagemaker-modelcard-objectivefunction-function): 
    Function
  [Notes](#cfn-sagemaker-modelcard-objectivefunction-notes): String
```

## Properties
<a name="aws-properties-sagemaker-modelcard-objectivefunction-properties"></a>

`Function`  <a name="cfn-sagemaker-modelcard-objectivefunction-function"></a>
A function object that details optimization direction, metric, and additional descriptions.  
*Required*: No  
*Type*: [Function](aws-properties-sagemaker-modelcard-function.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Notes`  <a name="cfn-sagemaker-modelcard-objectivefunction-notes"></a>
Notes about the object function, including other considerations for possible objective functions.  
*Required*: No  
*Type*: String  
*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::ModelCard SecurityConfig
<a name="aws-properties-sagemaker-modelcard-securityconfig"></a>

The security configuration used to protect model card data.

## Syntax
<a name="aws-properties-sagemaker-modelcard-securityconfig-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-modelcard-securityconfig-syntax.json"></a>

```
{
  "[KmsKeyId](#cfn-sagemaker-modelcard-securityconfig-kmskeyid)" : String
}
```

### YAML
<a name="aws-properties-sagemaker-modelcard-securityconfig-syntax.yaml"></a>

```
  [KmsKeyId](#cfn-sagemaker-modelcard-securityconfig-kmskeyid): String
```

## Properties
<a name="aws-properties-sagemaker-modelcard-securityconfig-properties"></a>

`KmsKeyId`  <a name="cfn-sagemaker-modelcard-securityconfig-kmskeyid"></a>
A AWS Key Management Service[key ID](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#key-id-key-id) used to encrypt a model card.  
*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::ModelCard SimpleMetric
<a name="aws-properties-sagemaker-modelcard-simplemetric"></a>

A simple metric for evaluating model performance.

## Syntax
<a name="aws-properties-sagemaker-modelcard-simplemetric-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-modelcard-simplemetric-syntax.json"></a>

```
{
  "[Name](#cfn-sagemaker-modelcard-simplemetric-name)" : String,
  "[Notes](#cfn-sagemaker-modelcard-simplemetric-notes)" : String,
  "[Type](#cfn-sagemaker-modelcard-simplemetric-type)" : String,
  "[Value](#cfn-sagemaker-modelcard-simplemetric-value)" : Number,
  "[XAxisName](#cfn-sagemaker-modelcard-simplemetric-xaxisname)" : String,
  "[YAxisName](#cfn-sagemaker-modelcard-simplemetric-yaxisname)" : String
}
```

### YAML
<a name="aws-properties-sagemaker-modelcard-simplemetric-syntax.yaml"></a>

```
  [Name](#cfn-sagemaker-modelcard-simplemetric-name): String
  [Notes](#cfn-sagemaker-modelcard-simplemetric-notes): String
  [Type](#cfn-sagemaker-modelcard-simplemetric-type): String
  [Value](#cfn-sagemaker-modelcard-simplemetric-value): Number
  [XAxisName](#cfn-sagemaker-modelcard-simplemetric-xaxisname): String
  [YAxisName](#cfn-sagemaker-modelcard-simplemetric-yaxisname): String
```

## Properties
<a name="aws-properties-sagemaker-modelcard-simplemetric-properties"></a>

`Name`  <a name="cfn-sagemaker-modelcard-simplemetric-name"></a>
The name of the metric.  
*Required*: Yes  
*Type*: String  
*Pattern*: `.{1,255}`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Notes`  <a name="cfn-sagemaker-modelcard-simplemetric-notes"></a>
Additional notes about the metric.  
*Required*: No  
*Type*: String  
*Maximum*: `1024`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Type`  <a name="cfn-sagemaker-modelcard-simplemetric-type"></a>
The type of the metric.  
*Required*: Yes  
*Type*: String  
*Allowed values*: `number | string | boolean`  
*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-modelcard-simplemetric-value"></a>
The value of the metric.  
*Required*: Yes  
*Type*: Number  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`XAxisName`  <a name="cfn-sagemaker-modelcard-simplemetric-xaxisname"></a>
The name of the X-axis for the metric visualization.  
*Required*: No  
*Type*: String  
*Maximum*: `63`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`YAxisName`  <a name="cfn-sagemaker-modelcard-simplemetric-yaxisname"></a>
The name of the Y-axis for the metric visualization.  
*Required*: No  
*Type*: String  
*Maximum*: `63`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::SageMaker::ModelCard SourceAlgorithm
<a name="aws-properties-sagemaker-modelcard-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-modelcard-sourcealgorithm-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-modelcard-sourcealgorithm-syntax.json"></a>

```
{
  "[AlgorithmName](#cfn-sagemaker-modelcard-sourcealgorithm-algorithmname)" : String,
  "[ModelDataUrl](#cfn-sagemaker-modelcard-sourcealgorithm-modeldataurl)" : String
}
```

### YAML
<a name="aws-properties-sagemaker-modelcard-sourcealgorithm-syntax.yaml"></a>

```
  [AlgorithmName](#cfn-sagemaker-modelcard-sourcealgorithm-algorithmname): String
  [ModelDataUrl](#cfn-sagemaker-modelcard-sourcealgorithm-modeldataurl): String
```

## Properties
<a name="aws-properties-sagemaker-modelcard-sourcealgorithm-properties"></a>

`AlgorithmName`  <a name="cfn-sagemaker-modelcard-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  
*Maximum*: `170`  
*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-modelcard-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  
*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::ModelCard Tag
<a name="aws-properties-sagemaker-modelcard-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-modelcard-tag-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-modelcard-tag-syntax.json"></a>

```
{
  "[Key](#cfn-sagemaker-modelcard-tag-key)" : String,
  "[Value](#cfn-sagemaker-modelcard-tag-value)" : String
}
```

### YAML
<a name="aws-properties-sagemaker-modelcard-tag-syntax.yaml"></a>

```
  [Key](#cfn-sagemaker-modelcard-tag-key): String
  [Value](#cfn-sagemaker-modelcard-tag-value): String
```

## Properties
<a name="aws-properties-sagemaker-modelcard-tag-properties"></a>

`Key`  <a name="cfn-sagemaker-modelcard-tag-key"></a>
The tag key. Tag keys must be unique per resource.  
*Required*: Yes  
*Type*: String  
*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-modelcard-tag-value"></a>
The tag value.  
*Required*: Yes  
*Type*: String  
*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::ModelCard TrainingDetails
<a name="aws-properties-sagemaker-modelcard-trainingdetails"></a>

The training details of the model

## Syntax
<a name="aws-properties-sagemaker-modelcard-trainingdetails-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-modelcard-trainingdetails-syntax.json"></a>

```
{
  "[ObjectiveFunction](#cfn-sagemaker-modelcard-trainingdetails-objectivefunction)" : ObjectiveFunction,
  "[TrainingJobDetails](#cfn-sagemaker-modelcard-trainingdetails-trainingjobdetails)" : TrainingJobDetails,
  "[TrainingObservations](#cfn-sagemaker-modelcard-trainingdetails-trainingobservations)" : String
}
```

### YAML
<a name="aws-properties-sagemaker-modelcard-trainingdetails-syntax.yaml"></a>

```
  [ObjectiveFunction](#cfn-sagemaker-modelcard-trainingdetails-objectivefunction): 
    ObjectiveFunction
  [TrainingJobDetails](#cfn-sagemaker-modelcard-trainingdetails-trainingjobdetails): 
    TrainingJobDetails
  [TrainingObservations](#cfn-sagemaker-modelcard-trainingdetails-trainingobservations): String
```

## Properties
<a name="aws-properties-sagemaker-modelcard-trainingdetails-properties"></a>

`ObjectiveFunction`  <a name="cfn-sagemaker-modelcard-trainingdetails-objectivefunction"></a>
The function that is optimized during model training.  
*Required*: No  
*Type*: [ObjectiveFunction](aws-properties-sagemaker-modelcard-objectivefunction.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`TrainingJobDetails`  <a name="cfn-sagemaker-modelcard-trainingdetails-trainingjobdetails"></a>
Details about any associated training jobs.  
*Required*: No  
*Type*: [TrainingJobDetails](aws-properties-sagemaker-modelcard-trainingjobdetails.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`TrainingObservations`  <a name="cfn-sagemaker-modelcard-trainingdetails-trainingobservations"></a>
Any observations about training.  
*Required*: No  
*Type*: String  
*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::ModelCard TrainingEnvironment
<a name="aws-properties-sagemaker-modelcard-trainingenvironment"></a>

SageMaker AI training image.

## Syntax
<a name="aws-properties-sagemaker-modelcard-trainingenvironment-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-modelcard-trainingenvironment-syntax.json"></a>

```
{
  "[ContainerImage](#cfn-sagemaker-modelcard-trainingenvironment-containerimage)" : [ String, ... ]
}
```

### YAML
<a name="aws-properties-sagemaker-modelcard-trainingenvironment-syntax.yaml"></a>

```
  [ContainerImage](#cfn-sagemaker-modelcard-trainingenvironment-containerimage): 
    - String
```

## Properties
<a name="aws-properties-sagemaker-modelcard-trainingenvironment-properties"></a>

`ContainerImage`  <a name="cfn-sagemaker-modelcard-trainingenvironment-containerimage"></a>
SageMaker AI inference image URI.  
*Required*: No  
*Type*: Array of String  
*Maximum*: `1024 | 15`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::SageMaker::ModelCard TrainingHyperParameter
<a name="aws-properties-sagemaker-modelcard-traininghyperparameter"></a>

A hyper parameter that was configured in training the model.

## Syntax
<a name="aws-properties-sagemaker-modelcard-traininghyperparameter-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-modelcard-traininghyperparameter-syntax.json"></a>

```
{
  "[Name](#cfn-sagemaker-modelcard-traininghyperparameter-name)" : String,
  "[Value](#cfn-sagemaker-modelcard-traininghyperparameter-value)" : String
}
```

### YAML
<a name="aws-properties-sagemaker-modelcard-traininghyperparameter-syntax.yaml"></a>

```
  [Name](#cfn-sagemaker-modelcard-traininghyperparameter-name): String
  [Value](#cfn-sagemaker-modelcard-traininghyperparameter-value): String
```

## Properties
<a name="aws-properties-sagemaker-modelcard-traininghyperparameter-properties"></a>

`Name`  <a name="cfn-sagemaker-modelcard-traininghyperparameter-name"></a>
The name of the hyper parameter.  
*Required*: Yes  
*Type*: String  
*Pattern*: `.{1,255}`  
*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-modelcard-traininghyperparameter-value"></a>
The value specified for the hyper parameter.  
*Required*: Yes  
*Type*: String  
*Pattern*: `.{1,255}`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::SageMaker::ModelCard TrainingJobDetails
<a name="aws-properties-sagemaker-modelcard-trainingjobdetails"></a>

The overview of a training job.

## Syntax
<a name="aws-properties-sagemaker-modelcard-trainingjobdetails-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-modelcard-trainingjobdetails-syntax.json"></a>

```
{
  "[HyperParameters](#cfn-sagemaker-modelcard-trainingjobdetails-hyperparameters)" : [ TrainingHyperParameter, ... ],
  "[TrainingArn](#cfn-sagemaker-modelcard-trainingjobdetails-trainingarn)" : String,
  "[TrainingDatasets](#cfn-sagemaker-modelcard-trainingjobdetails-trainingdatasets)" : [ String, ... ],
  "[TrainingEnvironment](#cfn-sagemaker-modelcard-trainingjobdetails-trainingenvironment)" : TrainingEnvironment,
  "[TrainingMetrics](#cfn-sagemaker-modelcard-trainingjobdetails-trainingmetrics)" : [ TrainingMetric, ... ],
  "[UserProvidedHyperParameters](#cfn-sagemaker-modelcard-trainingjobdetails-userprovidedhyperparameters)" : [ TrainingHyperParameter, ... ],
  "[UserProvidedTrainingMetrics](#cfn-sagemaker-modelcard-trainingjobdetails-userprovidedtrainingmetrics)" : [ TrainingMetric, ... ]
}
```

### YAML
<a name="aws-properties-sagemaker-modelcard-trainingjobdetails-syntax.yaml"></a>

```
  [HyperParameters](#cfn-sagemaker-modelcard-trainingjobdetails-hyperparameters): 
    - TrainingHyperParameter
  [TrainingArn](#cfn-sagemaker-modelcard-trainingjobdetails-trainingarn): String
  [TrainingDatasets](#cfn-sagemaker-modelcard-trainingjobdetails-trainingdatasets): 
    - String
  [TrainingEnvironment](#cfn-sagemaker-modelcard-trainingjobdetails-trainingenvironment): 
    TrainingEnvironment
  [TrainingMetrics](#cfn-sagemaker-modelcard-trainingjobdetails-trainingmetrics): 
    - TrainingMetric
  [UserProvidedHyperParameters](#cfn-sagemaker-modelcard-trainingjobdetails-userprovidedhyperparameters): 
    - TrainingHyperParameter
  [UserProvidedTrainingMetrics](#cfn-sagemaker-modelcard-trainingjobdetails-userprovidedtrainingmetrics): 
    - TrainingMetric
```

## Properties
<a name="aws-properties-sagemaker-modelcard-trainingjobdetails-properties"></a>

`HyperParameters`  <a name="cfn-sagemaker-modelcard-trainingjobdetails-hyperparameters"></a>
The hyper parameters used in the training job.  
*Required*: No  
*Type*: Array of [TrainingHyperParameter](aws-properties-sagemaker-modelcard-traininghyperparameter.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`TrainingArn`  <a name="cfn-sagemaker-modelcard-trainingjobdetails-trainingarn"></a>
The SageMaker AI training job Amazon Resource Name (ARN)  
*Required*: No  
*Type*: String  
*Maximum*: `1024`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`TrainingDatasets`  <a name="cfn-sagemaker-modelcard-trainingjobdetails-trainingdatasets"></a>
The location of the datasets used to train the model.  
*Required*: No  
*Type*: Array of String  
*Maximum*: `1024 | 15`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`TrainingEnvironment`  <a name="cfn-sagemaker-modelcard-trainingjobdetails-trainingenvironment"></a>
The SageMaker AI training job image URI.  
*Required*: No  
*Type*: [TrainingEnvironment](aws-properties-sagemaker-modelcard-trainingenvironment.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`TrainingMetrics`  <a name="cfn-sagemaker-modelcard-trainingjobdetails-trainingmetrics"></a>
The SageMaker AI training job results.  
*Required*: No  
*Type*: Array of [TrainingMetric](aws-properties-sagemaker-modelcard-trainingmetric.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`UserProvidedHyperParameters`  <a name="cfn-sagemaker-modelcard-trainingjobdetails-userprovidedhyperparameters"></a>
Additional hyper parameters that you've specified when training the model.  
*Required*: No  
*Type*: Array of [TrainingHyperParameter](aws-properties-sagemaker-modelcard-traininghyperparameter.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`UserProvidedTrainingMetrics`  <a name="cfn-sagemaker-modelcard-trainingjobdetails-userprovidedtrainingmetrics"></a>
Custom training job results.  
*Required*: No  
*Type*: Array of [TrainingMetric](aws-properties-sagemaker-modelcard-trainingmetric.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::ModelCard TrainingMetric
<a name="aws-properties-sagemaker-modelcard-trainingmetric"></a>

A result from a SageMaker AI training job.

## Syntax
<a name="aws-properties-sagemaker-modelcard-trainingmetric-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-modelcard-trainingmetric-syntax.json"></a>

```
{
  "[Name](#cfn-sagemaker-modelcard-trainingmetric-name)" : String,
  "[Notes](#cfn-sagemaker-modelcard-trainingmetric-notes)" : String,
  "[Value](#cfn-sagemaker-modelcard-trainingmetric-value)" : Number
}
```

### YAML
<a name="aws-properties-sagemaker-modelcard-trainingmetric-syntax.yaml"></a>

```
  [Name](#cfn-sagemaker-modelcard-trainingmetric-name): String
  [Notes](#cfn-sagemaker-modelcard-trainingmetric-notes): String
  [Value](#cfn-sagemaker-modelcard-trainingmetric-value): Number
```

## Properties
<a name="aws-properties-sagemaker-modelcard-trainingmetric-properties"></a>

`Name`  <a name="cfn-sagemaker-modelcard-trainingmetric-name"></a>
The name of the result from the SageMaker AI training job.  
*Required*: Yes  
*Type*: String  
*Pattern*: `.{1,255}`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Notes`  <a name="cfn-sagemaker-modelcard-trainingmetric-notes"></a>
Any additional notes describing the result of the training job.  
*Required*: No  
*Type*: String  
*Maximum*: `1024`  
*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-modelcard-trainingmetric-value"></a>
The value of a result from the SageMaker AI training job.  
*Required*: Yes  
*Type*: Number  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::SageMaker::ModelCard UserContext
<a name="aws-properties-sagemaker-modelcard-usercontext"></a>

Information about the user who created or modified a SageMaker resource.

## Syntax
<a name="aws-properties-sagemaker-modelcard-usercontext-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-modelcard-usercontext-syntax.json"></a>

```
{
  "[DomainId](#cfn-sagemaker-modelcard-usercontext-domainid)" : String,
  "[UserProfileArn](#cfn-sagemaker-modelcard-usercontext-userprofilearn)" : String,
  "[UserProfileName](#cfn-sagemaker-modelcard-usercontext-userprofilename)" : String
}
```

### YAML
<a name="aws-properties-sagemaker-modelcard-usercontext-syntax.yaml"></a>

```
  [DomainId](#cfn-sagemaker-modelcard-usercontext-domainid): String
  [UserProfileArn](#cfn-sagemaker-modelcard-usercontext-userprofilearn): String
  [UserProfileName](#cfn-sagemaker-modelcard-usercontext-userprofilename): String
```

## Properties
<a name="aws-properties-sagemaker-modelcard-usercontext-properties"></a>

`DomainId`  <a name="cfn-sagemaker-modelcard-usercontext-domainid"></a>
The domain associated with the user.  
*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)

`UserProfileArn`  <a name="cfn-sagemaker-modelcard-usercontext-userprofilearn"></a>
The Amazon Resource Name (ARN) of the user's profile.  
*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)

`UserProfileName`  <a name="cfn-sagemaker-modelcard-usercontext-userprofilename"></a>
The name of the user's profile.  
*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::ModelExplainabilityJobDefinition
<a name="aws-resource-sagemaker-modelexplainabilityjobdefinition"></a>

Creates the definition for a model explainability job.

## Syntax
<a name="aws-resource-sagemaker-modelexplainabilityjobdefinition-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-resource-sagemaker-modelexplainabilityjobdefinition-syntax.json"></a>

```
{
  "Type" : "AWS::SageMaker::ModelExplainabilityJobDefinition",
  "Properties" : {
      "[EndpointName](#cfn-sagemaker-modelexplainabilityjobdefinition-endpointname)" : String,
      "[JobDefinitionName](#cfn-sagemaker-modelexplainabilityjobdefinition-jobdefinitionname)" : String,
      "[JobResources](#cfn-sagemaker-modelexplainabilityjobdefinition-jobresources)" : MonitoringResources,
      "[ModelExplainabilityAppSpecification](#cfn-sagemaker-modelexplainabilityjobdefinition-modelexplainabilityappspecification)" : ModelExplainabilityAppSpecification,
      "[ModelExplainabilityBaselineConfig](#cfn-sagemaker-modelexplainabilityjobdefinition-modelexplainabilitybaselineconfig)" : ModelExplainabilityBaselineConfig,
      "[ModelExplainabilityJobInput](#cfn-sagemaker-modelexplainabilityjobdefinition-modelexplainabilityjobinput)" : ModelExplainabilityJobInput,
      "[ModelExplainabilityJobOutputConfig](#cfn-sagemaker-modelexplainabilityjobdefinition-modelexplainabilityjoboutputconfig)" : MonitoringOutputConfig,
      "[NetworkConfig](#cfn-sagemaker-modelexplainabilityjobdefinition-networkconfig)" : NetworkConfig,
      "[RoleArn](#cfn-sagemaker-modelexplainabilityjobdefinition-rolearn)" : String,
      "[StoppingCondition](#cfn-sagemaker-modelexplainabilityjobdefinition-stoppingcondition)" : StoppingCondition,
      "[Tags](#cfn-sagemaker-modelexplainabilityjobdefinition-tags)" : [ Tag, ... ]
    }
}
```

### YAML
<a name="aws-resource-sagemaker-modelexplainabilityjobdefinition-syntax.yaml"></a>

```
Type: AWS::SageMaker::ModelExplainabilityJobDefinition
Properties:
  [EndpointName](#cfn-sagemaker-modelexplainabilityjobdefinition-endpointname): String
  [JobDefinitionName](#cfn-sagemaker-modelexplainabilityjobdefinition-jobdefinitionname): String
  [JobResources](#cfn-sagemaker-modelexplainabilityjobdefinition-jobresources): 
    MonitoringResources
  [ModelExplainabilityAppSpecification](#cfn-sagemaker-modelexplainabilityjobdefinition-modelexplainabilityappspecification): 
    ModelExplainabilityAppSpecification
  [ModelExplainabilityBaselineConfig](#cfn-sagemaker-modelexplainabilityjobdefinition-modelexplainabilitybaselineconfig): 
    ModelExplainabilityBaselineConfig
  [ModelExplainabilityJobInput](#cfn-sagemaker-modelexplainabilityjobdefinition-modelexplainabilityjobinput): 
    ModelExplainabilityJobInput
  [ModelExplainabilityJobOutputConfig](#cfn-sagemaker-modelexplainabilityjobdefinition-modelexplainabilityjoboutputconfig): 
    MonitoringOutputConfig
  [NetworkConfig](#cfn-sagemaker-modelexplainabilityjobdefinition-networkconfig): 
    NetworkConfig
  [RoleArn](#cfn-sagemaker-modelexplainabilityjobdefinition-rolearn): String
  [StoppingCondition](#cfn-sagemaker-modelexplainabilityjobdefinition-stoppingcondition): 
    StoppingCondition
  [Tags](#cfn-sagemaker-modelexplainabilityjobdefinition-tags): 
    - Tag
```

## Properties
<a name="aws-resource-sagemaker-modelexplainabilityjobdefinition-properties"></a>

`EndpointName`  <a name="cfn-sagemaker-modelexplainabilityjobdefinition-endpointname"></a>
The name of the endpoint used to run the model explainability monitoring job.  
*Required*: No  
*Type*: String  
*Pattern*: `^[a-zA-Z0-9](-*[a-zA-Z0-9])*`  
*Maximum*: `63`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`JobDefinitionName`  <a name="cfn-sagemaker-modelexplainabilityjobdefinition-jobdefinitionname"></a>
The name of the model explainability job definition. The name must be unique within an AWS Region in the AWS account.  
*Required*: No  
*Type*: String  
*Pattern*: `^[a-zA-Z0-9](-*[a-zA-Z0-9])*$`  
*Maximum*: `63`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`JobResources`  <a name="cfn-sagemaker-modelexplainabilityjobdefinition-jobresources"></a>
Identifies the resources to deploy for a monitoring job.  
*Required*: Yes  
*Type*: [MonitoringResources](aws-properties-sagemaker-modelexplainabilityjobdefinition-monitoringresources.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`ModelExplainabilityAppSpecification`  <a name="cfn-sagemaker-modelexplainabilityjobdefinition-modelexplainabilityappspecification"></a>
Configures the model explainability job to run a specified Docker container image.  
*Required*: Yes  
*Type*: [ModelExplainabilityAppSpecification](aws-properties-sagemaker-modelexplainabilityjobdefinition-modelexplainabilityappspecification.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`ModelExplainabilityBaselineConfig`  <a name="cfn-sagemaker-modelexplainabilityjobdefinition-modelexplainabilitybaselineconfig"></a>
The baseline configuration for a model explainability job.  
*Required*: No  
*Type*: [ModelExplainabilityBaselineConfig](aws-properties-sagemaker-modelexplainabilityjobdefinition-modelexplainabilitybaselineconfig.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`ModelExplainabilityJobInput`  <a name="cfn-sagemaker-modelexplainabilityjobdefinition-modelexplainabilityjobinput"></a>
Inputs for the model explainability job.  
*Required*: Yes  
*Type*: [ModelExplainabilityJobInput](aws-properties-sagemaker-modelexplainabilityjobdefinition-modelexplainabilityjobinput.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`ModelExplainabilityJobOutputConfig`  <a name="cfn-sagemaker-modelexplainabilityjobdefinition-modelexplainabilityjoboutputconfig"></a>
The output configuration for monitoring jobs.  
*Required*: Yes  
*Type*: [MonitoringOutputConfig](aws-properties-sagemaker-modelexplainabilityjobdefinition-monitoringoutputconfig.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`NetworkConfig`  <a name="cfn-sagemaker-modelexplainabilityjobdefinition-networkconfig"></a>
Networking options for a model explainability job.  
*Required*: No  
*Type*: [NetworkConfig](aws-properties-sagemaker-modelexplainabilityjobdefinition-networkconfig.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`RoleArn`  <a name="cfn-sagemaker-modelexplainabilityjobdefinition-rolearn"></a>
The Amazon Resource Name (ARN) of an IAM role that Amazon SageMaker can assume to perform tasks on your behalf.  
*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)

`StoppingCondition`  <a name="cfn-sagemaker-modelexplainabilityjobdefinition-stoppingcondition"></a>
A time limit for how long the monitoring job is allowed to run before stopping.  
*Required*: No  
*Type*: [StoppingCondition](aws-properties-sagemaker-modelexplainabilityjobdefinition-stoppingcondition.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`Tags`  <a name="cfn-sagemaker-modelexplainabilityjobdefinition-tags"></a>
An array of key-value pairs to apply to this resource.  
For more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html).  
*Required*: No  
*Type*: Array of [Tag](aws-properties-sagemaker-modelexplainabilityjobdefinition-tag.md)  
*Maximum*: `50`  
*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-modelexplainabilityjobdefinition-return-values"></a>

### Ref
<a name="aws-resource-sagemaker-modelexplainabilityjobdefinition-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 job definition.

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-modelexplainabilityjobdefinition-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-modelexplainabilityjobdefinition-return-values-fn--getatt-fn--getatt"></a>

`CreationTime`  <a name="CreationTime-fn::getatt"></a>
The time when the job definition was created.

`JobDefinitionArn`  <a name="JobDefinitionArn-fn::getatt"></a>
The Amazon Resource Name (ARN) of the job definition.

## Examples
<a name="aws-resource-sagemaker-modelexplainabilityjobdefinition--examples"></a>

### SageMaker ModelExplainabilityJobDefinition Example
<a name="aws-resource-sagemaker-modelexplainabilityjobdefinition--examples--SageMaker_ModelExplainabilityJobDefinition_Example"></a>

The following example creates a Model Explainabiltiy monitoring job defintion.

#### JSON
<a name="aws-resource-sagemaker-modelexplainabilityjobdefinition--examples--SageMaker_ModelExplainabilityJobDefinition_Example--json"></a>

```
{
   "AWSTemplateFormatVersion": "2010-09-09",
   "Description": "Basic SageMaker Hosting entities to create a model explainability job definition",
   "Mappings": {
      "RegionMap": {
         "us-west-2": {
            "MyModelImage": "123456789012.dkr.ecr.us-west-2.amazonaws.com/mymodel:latest"
         },
         "us-east-2": {
            "MyModelImage": "123456789012.dkr.ecr.us-east-2.amazonaws.com/mymodel:latest"
         },
         "us-east-1": {
            "MyModelImage": "123456789012.dkr.ecr.us-east-1.amazonaws.com/mymodel:latest"
         },
         "eu-west-1": {
            "MyModelImage": "123456789012.dkr.ecr.eu-west-1.amazonaws.com/mymodel:latest"
         },
         "ap-northeast-1": {
            "MyModelImage": "123456789012.dkr.ecr.ap-northeast-1.amazonaws.com/mymodel:latest"
         },
         "ap-northeast-2": {
            "MyModelImage": "123456789012.dkr.ecr.ap-northeast-2.amazonaws.com/mymodel:latest"
         },
         "ap-southeast-2": {
            "MyModelImage": "123456789012.dkr.ecr.ap-southeast-2.amazonaws.com/mymodel:latest"
         },
         "eu-central-1": {
            "MyModelImage": "123456789012.dkr.ecr.eu-central-1.amazonaws.com/mymodel:latest"
         }
      }
   },
   "Resources": {
      "Endpoint": {
         "Type": "AWS::SageMaker::Endpoint",
         "Properties": {
            "EndpointConfigName": null
         }
      },
      "EndpointConfigWithDataCapture": {
         "Type": "AWS::SageMaker::EndpointConfig",
         "Properties": {
            "ProductionVariants": [
               {
                  "InitialInstanceCount": 1,
                  "InitialVariantWeight": 1,
                  "InstanceType": "ml.t2.large",
                  "ModelName": null,
                  "VariantName": null
               }
            ],
            "DataCaptureConfig": {
               "EnableCapture": true,
               "InitialSamplingPercentage": 100,
               "DestinationS3Uri": "s3://bucket/prefix",
               "KmsKeyId": "kmskeyid",
               "CaptureOptions": [
                  {
                     "CaptureMode": "Input"
                  }
               ],
               "CaptureContentTypeHeader": {
                  "CsvContentTypes": [
                     "text/csv"
                  ],
                  "JsonContentTypes": [
                     "application/json"
                  ]
               }
            }
         }
      },
      "Model": {
         "Type": "AWS::SageMaker::Model",
         "Properties": {
            "PrimaryContainer": {
               "Image": null
            },
            "ExecutionRoleArn": null
         }
      },
      "ExecutionRole": {
         "Type": "AWS::IAM::Role",
         "Properties": {
            "AssumeRolePolicyDocument": {
               "Version": "2012-10-17"		 	 	 ,
               "Statement": [
                  {
                     "Effect": "Allow",
                     "Principal": {
                        "Service": [
                           "sagemaker.amazonaws.com"
                        ]
                     },
                     "Action": [
                        "sts:AssumeRole"
                     ]
                  }
               ]
            },
            "Path": "/",
            "Policies": [
               {
                  "PolicyName": "root",
                  "PolicyDocument": {
                     "Version": "2012-10-17"		 	 	 ,
                     "Statement": [
                        {
                           "Effect": "Allow",
                           "Action": "*",
                           "Resource": "*"
                        }
                     ]
                  }
               }
            ]
         }
      },
      "JobDefinitionExecutionRole": {
         "Type": "AWS::IAM::Role",
         "Properties": {
            "AssumeRolePolicyDocument": {
               "Version": "2012-10-17"		 	 	 ,
               "Statement": [
                  {
                     "Effect": "Allow",
                     "Principal": {
                        "Service": [
                           "sagemaker.amazonaws.com"
                        ]
                     },
                     "Action": [
                        "sts:AssumeRole"
                     ]
                  }
               ]
            },
            "ManagedPolicyArns": [
               {
                  "Fn::Sub": "arn:${AWS::Partition}:iam::aws:policy/AmazonSageMakerFullAccess"
               },
               {
                  "Fn::Sub": "arn:${AWS::Partition}:iam::aws:policy/AmazonS3FullAccess"
               },
               {
                  "Fn::Sub": "arn:${AWS::Partition}:iam::aws:policy/AmazonEC2ContainerRegistryReadOnly"
               }
            ]
         }
      },
      "JobDefinition": {
         "Type": "AWS::SageMaker::ModelExplainabilityJobDefinition",
         "Properties": {
            "ModelExplainabilityAppSpecification": {
               "ImageUri": {
                  "Fn::Sub": "123456789012.dkr.ecr.${AWS::Partition}.amazonaws.com/sagemaker-clarify-processing:1.0"
               },
               "ConfigUri": "s3://ConfigUri"
            },
            "ModelExplainabilityJobInput": {
               "EndpointInput": {
                  "EndpointName": null,
                  "LocalPath": "/opt/ml/processing/endpointdata",
                  "FeaturesAttribute": "feature",
                  "InferenceAttribute": "inference",
                  "ProbabilityAttribute": "probability"
               }
            },
            "ModelExplainabilityJobOutputConfig": {
               "MonitoringOutputs": [
                  {
                     "S3Output": {
                        "LocalPath": "/opt/ml/processing/localpath",
                        "S3Uri": {
                           "Fn::Sub": "s3://model-quality-job-definition-${AWS::AccountId}/output"
                        }
                     }
                  }
               ]
            },
            "JobResources": {
               "ClusterConfig": {
                  "InstanceCount": 1,
                  "InstanceType": "ml.m5.large",
                  "VolumeSizeInGB": 50
               }
            },
            "RoleArn": null,
            "StoppingCondition": {
               "MaxRuntimeInSeconds": 2000
            }
         }
      }
   }
}
```

#### YAML
<a name="aws-resource-sagemaker-modelexplainabilityjobdefinition--examples--SageMaker_ModelExplainabilityJobDefinition_Example--yaml"></a>

```
---
 
AWSTemplateFormatVersion: '2010-09-09'
Description: Basic SageMaker Hosting entities to create a model explainability job definition
 
Mappings: 
  RegionMap: 
    "us-west-2":
      "MyModelImage": "123456789012.dkr.ecr.us-west-2.amazonaws.com/mymodel:latest"
    "us-east-2":
      "MyModelImage": "123456789012.dkr.ecr.us-east-2.amazonaws.com/mymodel:latest"
    "us-east-1":
      "MyModelImage": "123456789012.dkr.ecr.us-east-1.amazonaws.com/mymodel:latest"
    "eu-west-1":
      "MyModelImage": "123456789012.dkr.ecr.eu-west-1.amazonaws.com/mymodel:latest"
    "ap-northeast-1":
      "MyModelImage": "123456789012.dkr.ecr.ap-northeast-1.amazonaws.com/mymodel:latest"
    "ap-northeast-2":
      "MyModelImage": "123456789012.dkr.ecr.ap-northeast-2.amazonaws.com/mymodel:latest"
    "ap-southeast-2":
      "MyModelImage": "123456789012.dkr.ecr.ap-southeast-2.amazonaws.com/mymodel:latest"
    "eu-central-1":
      "MyModelImage": "123456789012.dkr.ecr.eu-central-1.amazonaws.com/mymodel:latest"
 
Resources:
  Endpoint:
    Type: "AWS::SageMaker::Endpoint"
    Properties:
      EndpointConfigName:
        !GetAtt EndpointConfigWithDataCapture.EndpointConfigName
 
  EndpointConfigWithDataCapture:
    Type: "AWS::SageMaker::EndpointConfig"
    Properties:
      ProductionVariants:
        - InitialInstanceCount: 1
          InitialVariantWeight: 1.0
          InstanceType: ml.t2.large
          ModelName: !GetAtt Model.ModelName
          VariantName: !GetAtt Model.ModelName
      DataCaptureConfig:
        EnableCapture: true
        InitialSamplingPercentage: 100
        DestinationS3Uri: s3://bucket/prefix
        KmsKeyId: kmskeyid
        CaptureOptions:
          - CaptureMode: Input
        CaptureContentTypeHeader:
          CsvContentTypes:
            - "text/csv"
          JsonContentTypes:
            - "application/json"
            
  Model:
    Type: "AWS::SageMaker::Model"
    Properties:
      PrimaryContainer:
        Image: !FindInMap [RegionMap, !Ref "AWS::Region", "MyModelImage"]
      ExecutionRoleArn: !GetAtt ExecutionRole.Arn
 
  ExecutionRole: 
    Type: "AWS::IAM::Role"
    Properties: 
      AssumeRolePolicyDocument: 
        Version: "2012-10-17"
        Statement: 
          - 
            Effect: "Allow"
            Principal: 
              Service: 
                - "sagemaker.amazonaws.com"
            Action: 
              - "sts:AssumeRole"
      Path: "/"
      Policies: 
        - 
          PolicyName: "root"
          PolicyDocument: 
            Version: "2012-10-17"
            Statement: 
              - 
                Effect: "Allow"
                Action: "*"
                Resource: "*"
 
  JobDefinitionExecutionRole:
    Type: "AWS::IAM::Role"
    Properties:
      AssumeRolePolicyDocument:
        Version: "2012-10-17"
        Statement:
          - Effect: "Allow"
            Principal:
              Service:
                - "sagemaker.amazonaws.com"
            Action:
              - "sts:AssumeRole"
      ManagedPolicyArns:
        - Fn::Sub: "arn:${AWS::Partition}:iam::aws:policy/AmazonSageMakerFullAccess"
        - Fn::Sub: "arn:${AWS::Partition}:iam::aws:policy/AmazonS3FullAccess"
        - Fn::Sub: "arn:${AWS::Partition}:iam::aws:policy/AmazonEC2ContainerRegistryReadOnly"
 
  JobDefinition:
    Type: AWS::SageMaker::ModelExplainabilityJobDefinition
    Properties:
      ModelExplainabilityAppSpecification:
        ImageUri:
          Fn::Sub: "123456789012.dkr.ecr.${AWS::Partition}.amazonaws.com/sagemaker-clarify-processing:1.0"
        ConfigUri: "s3://ConfigUri"
      ModelExplainabilityJobInput:
        EndpointInput:
          EndpointName: !GetAtt Endpoint.EndpointName
          LocalPath: "/opt/ml/processing/endpointdata"
          FeaturesAttribute: feature
          InferenceAttribute: inference
          ProbabilityAttribute: probability
      ModelExplainabilityJobOutputConfig:
        MonitoringOutputs:
          - S3Output:
              LocalPath: "/opt/ml/processing/localpath"
              S3Uri:
                Fn::Sub: "s3://model-quality-job-definition-${AWS::AccountId}/output"
      JobResources:
        ClusterConfig:
          InstanceCount: 1
          InstanceType: ml.m5.large
          VolumeSizeInGB: 50
      RoleArn: !GetAtt JobDefinitionExecutionRole.Arn
      StoppingCondition:
        MaxRuntimeInSeconds: 2000
```

# AWS::SageMaker::ModelExplainabilityJobDefinition BatchTransformInput
<a name="aws-properties-sagemaker-modelexplainabilityjobdefinition-batchtransforminput"></a>

Input object for the batch transform job.

## Syntax
<a name="aws-properties-sagemaker-modelexplainabilityjobdefinition-batchtransforminput-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-modelexplainabilityjobdefinition-batchtransforminput-syntax.json"></a>

```
{
  "[DataCapturedDestinationS3Uri](#cfn-sagemaker-modelexplainabilityjobdefinition-batchtransforminput-datacaptureddestinations3uri)" : String,
  "[DatasetFormat](#cfn-sagemaker-modelexplainabilityjobdefinition-batchtransforminput-datasetformat)" : DatasetFormat,
  "[FeaturesAttribute](#cfn-sagemaker-modelexplainabilityjobdefinition-batchtransforminput-featuresattribute)" : String,
  "[InferenceAttribute](#cfn-sagemaker-modelexplainabilityjobdefinition-batchtransforminput-inferenceattribute)" : String,
  "[LocalPath](#cfn-sagemaker-modelexplainabilityjobdefinition-batchtransforminput-localpath)" : String,
  "[ProbabilityAttribute](#cfn-sagemaker-modelexplainabilityjobdefinition-batchtransforminput-probabilityattribute)" : String,
  "[S3DataDistributionType](#cfn-sagemaker-modelexplainabilityjobdefinition-batchtransforminput-s3datadistributiontype)" : String,
  "[S3InputMode](#cfn-sagemaker-modelexplainabilityjobdefinition-batchtransforminput-s3inputmode)" : String
}
```

### YAML
<a name="aws-properties-sagemaker-modelexplainabilityjobdefinition-batchtransforminput-syntax.yaml"></a>

```
  [DataCapturedDestinationS3Uri](#cfn-sagemaker-modelexplainabilityjobdefinition-batchtransforminput-datacaptureddestinations3uri): String
  [DatasetFormat](#cfn-sagemaker-modelexplainabilityjobdefinition-batchtransforminput-datasetformat): 
    DatasetFormat
  [FeaturesAttribute](#cfn-sagemaker-modelexplainabilityjobdefinition-batchtransforminput-featuresattribute): String
  [InferenceAttribute](#cfn-sagemaker-modelexplainabilityjobdefinition-batchtransforminput-inferenceattribute): String
  [LocalPath](#cfn-sagemaker-modelexplainabilityjobdefinition-batchtransforminput-localpath): String
  [ProbabilityAttribute](#cfn-sagemaker-modelexplainabilityjobdefinition-batchtransforminput-probabilityattribute): String
  [S3DataDistributionType](#cfn-sagemaker-modelexplainabilityjobdefinition-batchtransforminput-s3datadistributiontype): String
  [S3InputMode](#cfn-sagemaker-modelexplainabilityjobdefinition-batchtransforminput-s3inputmode): String
```

## Properties
<a name="aws-properties-sagemaker-modelexplainabilityjobdefinition-batchtransforminput-properties"></a>

`DataCapturedDestinationS3Uri`  <a name="cfn-sagemaker-modelexplainabilityjobdefinition-batchtransforminput-datacaptureddestinations3uri"></a>
The Amazon S3 location being used to capture the data.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^(https|s3)://([^/]+)/?(.*)$`  
*Maximum*: `512`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`DatasetFormat`  <a name="cfn-sagemaker-modelexplainabilityjobdefinition-batchtransforminput-datasetformat"></a>
The dataset format for your batch transform job.  
*Required*: Yes  
*Type*: [DatasetFormat](aws-properties-sagemaker-modelexplainabilityjobdefinition-datasetformat.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`FeaturesAttribute`  <a name="cfn-sagemaker-modelexplainabilityjobdefinition-batchtransforminput-featuresattribute"></a>
The attributes of the input data that are the input features.  
*Required*: No  
*Type*: String  
*Maximum*: `256`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`InferenceAttribute`  <a name="cfn-sagemaker-modelexplainabilityjobdefinition-batchtransforminput-inferenceattribute"></a>
The attribute of the input data that represents the ground truth label.  
*Required*: No  
*Type*: String  
*Maximum*: `256`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`LocalPath`  <a name="cfn-sagemaker-modelexplainabilityjobdefinition-batchtransforminput-localpath"></a>
Path to the filesystem where the batch transform data is available to the container.  
*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)

`ProbabilityAttribute`  <a name="cfn-sagemaker-modelexplainabilityjobdefinition-batchtransforminput-probabilityattribute"></a>
In a classification problem, the attribute that represents the class probability.  
*Required*: No  
*Type*: String  
*Maximum*: `256`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`S3DataDistributionType`  <a name="cfn-sagemaker-modelexplainabilityjobdefinition-batchtransforminput-s3datadistributiontype"></a>
Whether input data distributed in Amazon S3 is fully replicated or sharded by an S3 key. Defaults to `FullyReplicated`  
*Required*: No  
*Type*: String  
*Allowed values*: `FullyReplicated | ShardedByS3Key`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`S3InputMode`  <a name="cfn-sagemaker-modelexplainabilityjobdefinition-batchtransforminput-s3inputmode"></a>
Whether the `Pipe` or `File` is used as the input mode for transferring data for the monitoring job. `Pipe` mode is recommended for large datasets. `File` mode is useful for small files that fit in memory. Defaults to `File`.  
*Required*: No  
*Type*: String  
*Allowed values*: `Pipe | File`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::SageMaker::ModelExplainabilityJobDefinition ClusterConfig
<a name="aws-properties-sagemaker-modelexplainabilityjobdefinition-clusterconfig"></a>

The configuration for the cluster resources used to run the processing job.

## Syntax
<a name="aws-properties-sagemaker-modelexplainabilityjobdefinition-clusterconfig-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-modelexplainabilityjobdefinition-clusterconfig-syntax.json"></a>

```
{
  "[InstanceCount](#cfn-sagemaker-modelexplainabilityjobdefinition-clusterconfig-instancecount)" : Integer,
  "[InstanceType](#cfn-sagemaker-modelexplainabilityjobdefinition-clusterconfig-instancetype)" : String,
  "[VolumeKmsKeyId](#cfn-sagemaker-modelexplainabilityjobdefinition-clusterconfig-volumekmskeyid)" : String,
  "[VolumeSizeInGB](#cfn-sagemaker-modelexplainabilityjobdefinition-clusterconfig-volumesizeingb)" : Integer
}
```

### YAML
<a name="aws-properties-sagemaker-modelexplainabilityjobdefinition-clusterconfig-syntax.yaml"></a>

```
  [InstanceCount](#cfn-sagemaker-modelexplainabilityjobdefinition-clusterconfig-instancecount): Integer
  [InstanceType](#cfn-sagemaker-modelexplainabilityjobdefinition-clusterconfig-instancetype): String
  [VolumeKmsKeyId](#cfn-sagemaker-modelexplainabilityjobdefinition-clusterconfig-volumekmskeyid): String
  [VolumeSizeInGB](#cfn-sagemaker-modelexplainabilityjobdefinition-clusterconfig-volumesizeingb): Integer
```

## Properties
<a name="aws-properties-sagemaker-modelexplainabilityjobdefinition-clusterconfig-properties"></a>

`InstanceCount`  <a name="cfn-sagemaker-modelexplainabilityjobdefinition-clusterconfig-instancecount"></a>
The number of ML compute instances to use in the model monitoring job. For distributed processing jobs, specify a value greater than 1. The default value is 1.  
*Required*: Yes  
*Type*: Integer  
*Minimum*: `1`  
*Maximum*: `100`  
*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-modelexplainabilityjobdefinition-clusterconfig-instancetype"></a>
The ML compute instance type for the processing job.  
*Required*: Yes  
*Type*: String  
*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-modelexplainabilityjobdefinition-clusterconfig-volumekmskeyid"></a>
The AWS Key Management Service (AWS KMS) key that Amazon SageMaker uses to encrypt data on the storage volume attached to the ML compute instance(s) that run the model monitoring job.  
*Required*: No  
*Type*: String  
*Minimum*: `1`  
*Maximum*: `2048`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`VolumeSizeInGB`  <a name="cfn-sagemaker-modelexplainabilityjobdefinition-clusterconfig-volumesizeingb"></a>
The size of the ML storage volume, in gigabytes, that you want to provision. You must specify sufficient ML storage for your scenario.  
*Required*: Yes  
*Type*: Integer  
*Minimum*: `1`  
*Maximum*: `16384`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::SageMaker::ModelExplainabilityJobDefinition ConstraintsResource
<a name="aws-properties-sagemaker-modelexplainabilityjobdefinition-constraintsresource"></a>

Input object for the endpoint

## Syntax
<a name="aws-properties-sagemaker-modelexplainabilityjobdefinition-constraintsresource-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-modelexplainabilityjobdefinition-constraintsresource-syntax.json"></a>

```
{
  "[S3Uri](#cfn-sagemaker-modelexplainabilityjobdefinition-constraintsresource-s3uri)" : String
}
```

### YAML
<a name="aws-properties-sagemaker-modelexplainabilityjobdefinition-constraintsresource-syntax.yaml"></a>

```
  [S3Uri](#cfn-sagemaker-modelexplainabilityjobdefinition-constraintsresource-s3uri): String
```

## Properties
<a name="aws-properties-sagemaker-modelexplainabilityjobdefinition-constraintsresource-properties"></a>

`S3Uri`  <a name="cfn-sagemaker-modelexplainabilityjobdefinition-constraintsresource-s3uri"></a>
The Amazon S3 URI for the constraints resource.  
*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::ModelExplainabilityJobDefinition Csv
<a name="aws-properties-sagemaker-modelexplainabilityjobdefinition-csv"></a>

The CSV dataset format configuration.

## Syntax
<a name="aws-properties-sagemaker-modelexplainabilityjobdefinition-csv-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-modelexplainabilityjobdefinition-csv-syntax.json"></a>

```
{
  "[Header](#cfn-sagemaker-modelexplainabilityjobdefinition-csv-header)" : Boolean
}
```

### YAML
<a name="aws-properties-sagemaker-modelexplainabilityjobdefinition-csv-syntax.yaml"></a>

```
  [Header](#cfn-sagemaker-modelexplainabilityjobdefinition-csv-header): Boolean
```

## Properties
<a name="aws-properties-sagemaker-modelexplainabilityjobdefinition-csv-properties"></a>

`Header`  <a name="cfn-sagemaker-modelexplainabilityjobdefinition-csv-header"></a>
Indicates whether the CSV data has a header row.  
*Required*: No  
*Type*: Boolean  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::SageMaker::ModelExplainabilityJobDefinition DatasetFormat
<a name="aws-properties-sagemaker-modelexplainabilityjobdefinition-datasetformat"></a>

The format of the dataset used for the model explainability monitoring job.

## Syntax
<a name="aws-properties-sagemaker-modelexplainabilityjobdefinition-datasetformat-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-modelexplainabilityjobdefinition-datasetformat-syntax.json"></a>

```
{
  "[Csv](#cfn-sagemaker-modelexplainabilityjobdefinition-datasetformat-csv)" : Csv,
  "[Json](#cfn-sagemaker-modelexplainabilityjobdefinition-datasetformat-json)" : Json,
  "[Parquet](#cfn-sagemaker-modelexplainabilityjobdefinition-datasetformat-parquet)" : Boolean
}
```

### YAML
<a name="aws-properties-sagemaker-modelexplainabilityjobdefinition-datasetformat-syntax.yaml"></a>

```
  [Csv](#cfn-sagemaker-modelexplainabilityjobdefinition-datasetformat-csv): 
    Csv
  [Json](#cfn-sagemaker-modelexplainabilityjobdefinition-datasetformat-json): 
    Json
  [Parquet](#cfn-sagemaker-modelexplainabilityjobdefinition-datasetformat-parquet): Boolean
```

## Properties
<a name="aws-properties-sagemaker-modelexplainabilityjobdefinition-datasetformat-properties"></a>

`Csv`  <a name="cfn-sagemaker-modelexplainabilityjobdefinition-datasetformat-csv"></a>
The CSV format configuration for the dataset.  
*Required*: No  
*Type*: [Csv](aws-properties-sagemaker-modelexplainabilityjobdefinition-csv.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`Json`  <a name="cfn-sagemaker-modelexplainabilityjobdefinition-datasetformat-json"></a>
The JSON format configuration for the dataset.  
*Required*: No  
*Type*: [Json](aws-properties-sagemaker-modelexplainabilityjobdefinition-json.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`Parquet`  <a name="cfn-sagemaker-modelexplainabilityjobdefinition-datasetformat-parquet"></a>
Indicates that the dataset is in Parquet format.  
*Required*: No  
*Type*: Boolean  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::SageMaker::ModelExplainabilityJobDefinition EndpointInput
<a name="aws-properties-sagemaker-modelexplainabilityjobdefinition-endpointinput"></a>

Input object for the endpoint

## Syntax
<a name="aws-properties-sagemaker-modelexplainabilityjobdefinition-endpointinput-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-modelexplainabilityjobdefinition-endpointinput-syntax.json"></a>

```
{
  "[EndpointName](#cfn-sagemaker-modelexplainabilityjobdefinition-endpointinput-endpointname)" : String,
  "[FeaturesAttribute](#cfn-sagemaker-modelexplainabilityjobdefinition-endpointinput-featuresattribute)" : String,
  "[InferenceAttribute](#cfn-sagemaker-modelexplainabilityjobdefinition-endpointinput-inferenceattribute)" : String,
  "[LocalPath](#cfn-sagemaker-modelexplainabilityjobdefinition-endpointinput-localpath)" : String,
  "[ProbabilityAttribute](#cfn-sagemaker-modelexplainabilityjobdefinition-endpointinput-probabilityattribute)" : String,
  "[S3DataDistributionType](#cfn-sagemaker-modelexplainabilityjobdefinition-endpointinput-s3datadistributiontype)" : String,
  "[S3InputMode](#cfn-sagemaker-modelexplainabilityjobdefinition-endpointinput-s3inputmode)" : String
}
```

### YAML
<a name="aws-properties-sagemaker-modelexplainabilityjobdefinition-endpointinput-syntax.yaml"></a>

```
  [EndpointName](#cfn-sagemaker-modelexplainabilityjobdefinition-endpointinput-endpointname): String
  [FeaturesAttribute](#cfn-sagemaker-modelexplainabilityjobdefinition-endpointinput-featuresattribute): String
  [InferenceAttribute](#cfn-sagemaker-modelexplainabilityjobdefinition-endpointinput-inferenceattribute): String
  [LocalPath](#cfn-sagemaker-modelexplainabilityjobdefinition-endpointinput-localpath): String
  [ProbabilityAttribute](#cfn-sagemaker-modelexplainabilityjobdefinition-endpointinput-probabilityattribute): String
  [S3DataDistributionType](#cfn-sagemaker-modelexplainabilityjobdefinition-endpointinput-s3datadistributiontype): String
  [S3InputMode](#cfn-sagemaker-modelexplainabilityjobdefinition-endpointinput-s3inputmode): String
```

## Properties
<a name="aws-properties-sagemaker-modelexplainabilityjobdefinition-endpointinput-properties"></a>

`EndpointName`  <a name="cfn-sagemaker-modelexplainabilityjobdefinition-endpointinput-endpointname"></a>
An endpoint in customer's account which has enabled `DataCaptureConfig` enabled.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^[a-zA-Z0-9](-*[a-zA-Z0-9])*`  
*Maximum*: `63`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`FeaturesAttribute`  <a name="cfn-sagemaker-modelexplainabilityjobdefinition-endpointinput-featuresattribute"></a>
The attributes of the input data that are the input features.  
*Required*: No  
*Type*: String  
*Maximum*: `256`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`InferenceAttribute`  <a name="cfn-sagemaker-modelexplainabilityjobdefinition-endpointinput-inferenceattribute"></a>
The attribute of the input data that represents the ground truth label.  
*Required*: No  
*Type*: String  
*Maximum*: `256`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`LocalPath`  <a name="cfn-sagemaker-modelexplainabilityjobdefinition-endpointinput-localpath"></a>
Path to the filesystem where the endpoint data is available to the container.  
*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)

`ProbabilityAttribute`  <a name="cfn-sagemaker-modelexplainabilityjobdefinition-endpointinput-probabilityattribute"></a>
In a classification problem, the attribute that represents the class probability.  
*Required*: No  
*Type*: String  
*Maximum*: `256`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`S3DataDistributionType`  <a name="cfn-sagemaker-modelexplainabilityjobdefinition-endpointinput-s3datadistributiontype"></a>
Whether input data distributed in Amazon S3 is fully replicated or sharded by an Amazon S3 key. Defaults to `FullyReplicated`  
*Required*: No  
*Type*: String  
*Allowed values*: `FullyReplicated | ShardedByS3Key`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`S3InputMode`  <a name="cfn-sagemaker-modelexplainabilityjobdefinition-endpointinput-s3inputmode"></a>
Whether the `Pipe` or `File` is used as the input mode for transferring data for the monitoring job. `Pipe` mode is recommended for large datasets. `File` mode is useful for small files that fit in memory. Defaults to `File`.  
*Required*: No  
*Type*: String  
*Allowed values*: `Pipe | File`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::SageMaker::ModelExplainabilityJobDefinition Json
<a name="aws-properties-sagemaker-modelexplainabilityjobdefinition-json"></a>

The JSON dataset format configuration.

## Syntax
<a name="aws-properties-sagemaker-modelexplainabilityjobdefinition-json-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-modelexplainabilityjobdefinition-json-syntax.json"></a>

```
{
  "[Line](#cfn-sagemaker-modelexplainabilityjobdefinition-json-line)" : Boolean
}
```

### YAML
<a name="aws-properties-sagemaker-modelexplainabilityjobdefinition-json-syntax.yaml"></a>

```
  [Line](#cfn-sagemaker-modelexplainabilityjobdefinition-json-line): Boolean
```

## Properties
<a name="aws-properties-sagemaker-modelexplainabilityjobdefinition-json-properties"></a>

`Line`  <a name="cfn-sagemaker-modelexplainabilityjobdefinition-json-line"></a>
Indicates whether the JSON data is in line-delimited format.  
*Required*: No  
*Type*: Boolean  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::SageMaker::ModelExplainabilityJobDefinition ModelExplainabilityAppSpecification
<a name="aws-properties-sagemaker-modelexplainabilityjobdefinition-modelexplainabilityappspecification"></a>

Docker container image configuration object for the model explainability job.

## Syntax
<a name="aws-properties-sagemaker-modelexplainabilityjobdefinition-modelexplainabilityappspecification-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-modelexplainabilityjobdefinition-modelexplainabilityappspecification-syntax.json"></a>

```
{
  "[ConfigUri](#cfn-sagemaker-modelexplainabilityjobdefinition-modelexplainabilityappspecification-configuri)" : String,
  "[Environment](#cfn-sagemaker-modelexplainabilityjobdefinition-modelexplainabilityappspecification-environment)" : {Key: Value, ...},
  "[ImageUri](#cfn-sagemaker-modelexplainabilityjobdefinition-modelexplainabilityappspecification-imageuri)" : String
}
```

### YAML
<a name="aws-properties-sagemaker-modelexplainabilityjobdefinition-modelexplainabilityappspecification-syntax.yaml"></a>

```
  [ConfigUri](#cfn-sagemaker-modelexplainabilityjobdefinition-modelexplainabilityappspecification-configuri): String
  [Environment](#cfn-sagemaker-modelexplainabilityjobdefinition-modelexplainabilityappspecification-environment): 
    Key: Value
  [ImageUri](#cfn-sagemaker-modelexplainabilityjobdefinition-modelexplainabilityappspecification-imageuri): String
```

## Properties
<a name="aws-properties-sagemaker-modelexplainabilityjobdefinition-modelexplainabilityappspecification-properties"></a>

`ConfigUri`  <a name="cfn-sagemaker-modelexplainabilityjobdefinition-modelexplainabilityappspecification-configuri"></a>
JSON formatted Amazon S3 file that defines explainability parameters. For more information on this JSON configuration file, see [Configure model explainability parameters](https://docs.aws.amazon.com/sagemaker/latest/dg/clarify-config-json-monitor-model-explainability-parameters.html).  
*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)

`Environment`  <a name="cfn-sagemaker-modelexplainabilityjobdefinition-modelexplainabilityappspecification-environment"></a>
Sets the environment variables in the Docker container.  
*Required*: No  
*Type*: Object of String  
*Pattern*: `[a-zA-Z_][a-zA-Z0-9_]*`  
*Minimum*: `1`  
*Maximum*: `256`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`ImageUri`  <a name="cfn-sagemaker-modelexplainabilityjobdefinition-modelexplainabilityappspecification-imageuri"></a>
The container image to be run by the model explainability job.  
*Required*: Yes  
*Type*: String  
*Pattern*: `.*`  
*Maximum*: `255`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::SageMaker::ModelExplainabilityJobDefinition ModelExplainabilityBaselineConfig
<a name="aws-properties-sagemaker-modelexplainabilityjobdefinition-modelexplainabilitybaselineconfig"></a>

The configuration for a baseline model explainability job.

## Syntax
<a name="aws-properties-sagemaker-modelexplainabilityjobdefinition-modelexplainabilitybaselineconfig-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-modelexplainabilityjobdefinition-modelexplainabilitybaselineconfig-syntax.json"></a>

```
{
  "[BaseliningJobName](#cfn-sagemaker-modelexplainabilityjobdefinition-modelexplainabilitybaselineconfig-baseliningjobname)" : String,
  "[ConstraintsResource](#cfn-sagemaker-modelexplainabilityjobdefinition-modelexplainabilitybaselineconfig-constraintsresource)" : ConstraintsResource
}
```

### YAML
<a name="aws-properties-sagemaker-modelexplainabilityjobdefinition-modelexplainabilitybaselineconfig-syntax.yaml"></a>

```
  [BaseliningJobName](#cfn-sagemaker-modelexplainabilityjobdefinition-modelexplainabilitybaselineconfig-baseliningjobname): String
  [ConstraintsResource](#cfn-sagemaker-modelexplainabilityjobdefinition-modelexplainabilitybaselineconfig-constraintsresource): 
    ConstraintsResource
```

## Properties
<a name="aws-properties-sagemaker-modelexplainabilityjobdefinition-modelexplainabilitybaselineconfig-properties"></a>

`BaseliningJobName`  <a name="cfn-sagemaker-modelexplainabilityjobdefinition-modelexplainabilitybaselineconfig-baseliningjobname"></a>
The name of the baseline model explainability job.  
*Required*: No  
*Type*: String  
*Pattern*: `^[a-zA-Z0-9](-*[a-zA-Z0-9])*$`  
*Minimum*: `1`  
*Maximum*: `63`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`ConstraintsResource`  <a name="cfn-sagemaker-modelexplainabilityjobdefinition-modelexplainabilitybaselineconfig-constraintsresource"></a>
The constraints resource for a model explainability job.   
*Required*: No  
*Type*: [ConstraintsResource](aws-properties-sagemaker-modelexplainabilityjobdefinition-constraintsresource.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::SageMaker::ModelExplainabilityJobDefinition ModelExplainabilityJobInput
<a name="aws-properties-sagemaker-modelexplainabilityjobdefinition-modelexplainabilityjobinput"></a>

Inputs for the model explainability job.

## Syntax
<a name="aws-properties-sagemaker-modelexplainabilityjobdefinition-modelexplainabilityjobinput-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-modelexplainabilityjobdefinition-modelexplainabilityjobinput-syntax.json"></a>

```
{
  "[BatchTransformInput](#cfn-sagemaker-modelexplainabilityjobdefinition-modelexplainabilityjobinput-batchtransforminput)" : BatchTransformInput,
  "[EndpointInput](#cfn-sagemaker-modelexplainabilityjobdefinition-modelexplainabilityjobinput-endpointinput)" : EndpointInput
}
```

### YAML
<a name="aws-properties-sagemaker-modelexplainabilityjobdefinition-modelexplainabilityjobinput-syntax.yaml"></a>

```
  [BatchTransformInput](#cfn-sagemaker-modelexplainabilityjobdefinition-modelexplainabilityjobinput-batchtransforminput): 
    BatchTransformInput
  [EndpointInput](#cfn-sagemaker-modelexplainabilityjobdefinition-modelexplainabilityjobinput-endpointinput): 
    EndpointInput
```

## Properties
<a name="aws-properties-sagemaker-modelexplainabilityjobdefinition-modelexplainabilityjobinput-properties"></a>

`BatchTransformInput`  <a name="cfn-sagemaker-modelexplainabilityjobdefinition-modelexplainabilityjobinput-batchtransforminput"></a>
Input object for the batch transform job.  
*Required*: No  
*Type*: [BatchTransformInput](aws-properties-sagemaker-modelexplainabilityjobdefinition-batchtransforminput.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`EndpointInput`  <a name="cfn-sagemaker-modelexplainabilityjobdefinition-modelexplainabilityjobinput-endpointinput"></a>
Input object for the endpoint  
*Required*: No  
*Type*: [EndpointInput](aws-properties-sagemaker-modelexplainabilityjobdefinition-endpointinput.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::SageMaker::ModelExplainabilityJobDefinition MonitoringOutput
<a name="aws-properties-sagemaker-modelexplainabilityjobdefinition-monitoringoutput"></a>

The output object for a monitoring job.

## Syntax
<a name="aws-properties-sagemaker-modelexplainabilityjobdefinition-monitoringoutput-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-modelexplainabilityjobdefinition-monitoringoutput-syntax.json"></a>

```
{
  "[S3Output](#cfn-sagemaker-modelexplainabilityjobdefinition-monitoringoutput-s3output)" : S3Output
}
```

### YAML
<a name="aws-properties-sagemaker-modelexplainabilityjobdefinition-monitoringoutput-syntax.yaml"></a>

```
  [S3Output](#cfn-sagemaker-modelexplainabilityjobdefinition-monitoringoutput-s3output): 
    S3Output
```

## Properties
<a name="aws-properties-sagemaker-modelexplainabilityjobdefinition-monitoringoutput-properties"></a>

`S3Output`  <a name="cfn-sagemaker-modelexplainabilityjobdefinition-monitoringoutput-s3output"></a>
The Amazon S3 storage location where the results of a monitoring job are saved.  
*Required*: Yes  
*Type*: [S3Output](aws-properties-sagemaker-modelexplainabilityjobdefinition-s3output.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::SageMaker::ModelExplainabilityJobDefinition MonitoringOutputConfig
<a name="aws-properties-sagemaker-modelexplainabilityjobdefinition-monitoringoutputconfig"></a>

The output configuration for monitoring jobs.

## Syntax
<a name="aws-properties-sagemaker-modelexplainabilityjobdefinition-monitoringoutputconfig-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-modelexplainabilityjobdefinition-monitoringoutputconfig-syntax.json"></a>

```
{
  "[KmsKeyId](#cfn-sagemaker-modelexplainabilityjobdefinition-monitoringoutputconfig-kmskeyid)" : String,
  "[MonitoringOutputs](#cfn-sagemaker-modelexplainabilityjobdefinition-monitoringoutputconfig-monitoringoutputs)" : [ MonitoringOutput, ... ]
}
```

### YAML
<a name="aws-properties-sagemaker-modelexplainabilityjobdefinition-monitoringoutputconfig-syntax.yaml"></a>

```
  [KmsKeyId](#cfn-sagemaker-modelexplainabilityjobdefinition-monitoringoutputconfig-kmskeyid): String
  [MonitoringOutputs](#cfn-sagemaker-modelexplainabilityjobdefinition-monitoringoutputconfig-monitoringoutputs): 
    - MonitoringOutput
```

## Properties
<a name="aws-properties-sagemaker-modelexplainabilityjobdefinition-monitoringoutputconfig-properties"></a>

`KmsKeyId`  <a name="cfn-sagemaker-modelexplainabilityjobdefinition-monitoringoutputconfig-kmskeyid"></a>
The AWS Key Management Service (AWS KMS) key that Amazon SageMaker AI uses to encrypt the model artifacts at rest using Amazon S3 server-side encryption.  
*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)

`MonitoringOutputs`  <a name="cfn-sagemaker-modelexplainabilityjobdefinition-monitoringoutputconfig-monitoringoutputs"></a>
Monitoring outputs for monitoring jobs. This is where the output of the periodic monitoring jobs is uploaded.  
*Required*: Yes  
*Type*: Array of [MonitoringOutput](aws-properties-sagemaker-modelexplainabilityjobdefinition-monitoringoutput.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::ModelExplainabilityJobDefinition MonitoringResources
<a name="aws-properties-sagemaker-modelexplainabilityjobdefinition-monitoringresources"></a>

Identifies the resources to deploy for a monitoring job.

## Syntax
<a name="aws-properties-sagemaker-modelexplainabilityjobdefinition-monitoringresources-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-modelexplainabilityjobdefinition-monitoringresources-syntax.json"></a>

```
{
  "[ClusterConfig](#cfn-sagemaker-modelexplainabilityjobdefinition-monitoringresources-clusterconfig)" : ClusterConfig
}
```

### YAML
<a name="aws-properties-sagemaker-modelexplainabilityjobdefinition-monitoringresources-syntax.yaml"></a>

```
  [ClusterConfig](#cfn-sagemaker-modelexplainabilityjobdefinition-monitoringresources-clusterconfig): 
    ClusterConfig
```

## Properties
<a name="aws-properties-sagemaker-modelexplainabilityjobdefinition-monitoringresources-properties"></a>

`ClusterConfig`  <a name="cfn-sagemaker-modelexplainabilityjobdefinition-monitoringresources-clusterconfig"></a>
The configuration for the cluster resources used to run the processing job.  
*Required*: Yes  
*Type*: [ClusterConfig](aws-properties-sagemaker-modelexplainabilityjobdefinition-clusterconfig.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::SageMaker::ModelExplainabilityJobDefinition NetworkConfig
<a name="aws-properties-sagemaker-modelexplainabilityjobdefinition-networkconfig"></a>

Networking options for a job, such as network traffic encryption between containers, whether to allow inbound and outbound network calls to and from containers, and the VPC subnets and security groups to use for VPC-enabled jobs.

## Syntax
<a name="aws-properties-sagemaker-modelexplainabilityjobdefinition-networkconfig-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-modelexplainabilityjobdefinition-networkconfig-syntax.json"></a>

```
{
  "[EnableInterContainerTrafficEncryption](#cfn-sagemaker-modelexplainabilityjobdefinition-networkconfig-enableintercontainertrafficencryption)" : Boolean,
  "[EnableNetworkIsolation](#cfn-sagemaker-modelexplainabilityjobdefinition-networkconfig-enablenetworkisolation)" : Boolean,
  "[VpcConfig](#cfn-sagemaker-modelexplainabilityjobdefinition-networkconfig-vpcconfig)" : VpcConfig
}
```

### YAML
<a name="aws-properties-sagemaker-modelexplainabilityjobdefinition-networkconfig-syntax.yaml"></a>

```
  [EnableInterContainerTrafficEncryption](#cfn-sagemaker-modelexplainabilityjobdefinition-networkconfig-enableintercontainertrafficencryption): Boolean
  [EnableNetworkIsolation](#cfn-sagemaker-modelexplainabilityjobdefinition-networkconfig-enablenetworkisolation): Boolean
  [VpcConfig](#cfn-sagemaker-modelexplainabilityjobdefinition-networkconfig-vpcconfig): 
    VpcConfig
```

## Properties
<a name="aws-properties-sagemaker-modelexplainabilityjobdefinition-networkconfig-properties"></a>

`EnableInterContainerTrafficEncryption`  <a name="cfn-sagemaker-modelexplainabilityjobdefinition-networkconfig-enableintercontainertrafficencryption"></a>
Whether to encrypt all communications between distributed processing jobs. Choose `True` to encrypt communications. Encryption provides greater security for distributed processing jobs, but the processing might take longer.  
*Required*: No  
*Type*: Boolean  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`EnableNetworkIsolation`  <a name="cfn-sagemaker-modelexplainabilityjobdefinition-networkconfig-enablenetworkisolation"></a>
Whether to allow inbound and outbound network calls to and from the containers used for the processing job.  
*Required*: No  
*Type*: Boolean  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`VpcConfig`  <a name="cfn-sagemaker-modelexplainabilityjobdefinition-networkconfig-vpcconfig"></a>
Specifies a VPC that your training jobs and hosted models have access to. Control access to and from your training and model containers by configuring the VPC.  
*Required*: No  
*Type*: [VpcConfig](aws-properties-sagemaker-modelexplainabilityjobdefinition-vpcconfig.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::SageMaker::ModelExplainabilityJobDefinition S3Output
<a name="aws-properties-sagemaker-modelexplainabilityjobdefinition-s3output"></a>

The Amazon S3 storage location where the results of a monitoring job are saved.

## Syntax
<a name="aws-properties-sagemaker-modelexplainabilityjobdefinition-s3output-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-modelexplainabilityjobdefinition-s3output-syntax.json"></a>

```
{
  "[LocalPath](#cfn-sagemaker-modelexplainabilityjobdefinition-s3output-localpath)" : String,
  "[S3UploadMode](#cfn-sagemaker-modelexplainabilityjobdefinition-s3output-s3uploadmode)" : String,
  "[S3Uri](#cfn-sagemaker-modelexplainabilityjobdefinition-s3output-s3uri)" : String
}
```

### YAML
<a name="aws-properties-sagemaker-modelexplainabilityjobdefinition-s3output-syntax.yaml"></a>

```
  [LocalPath](#cfn-sagemaker-modelexplainabilityjobdefinition-s3output-localpath): String
  [S3UploadMode](#cfn-sagemaker-modelexplainabilityjobdefinition-s3output-s3uploadmode): String
  [S3Uri](#cfn-sagemaker-modelexplainabilityjobdefinition-s3output-s3uri): String
```

## Properties
<a name="aws-properties-sagemaker-modelexplainabilityjobdefinition-s3output-properties"></a>

`LocalPath`  <a name="cfn-sagemaker-modelexplainabilityjobdefinition-s3output-localpath"></a>
The local path to the Amazon S3 storage location where Amazon SageMaker saves the results of a monitoring job. LocalPath is an absolute path for the output data.  
*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)

`S3UploadMode`  <a name="cfn-sagemaker-modelexplainabilityjobdefinition-s3output-s3uploadmode"></a>
Whether to upload the results of the monitoring job continuously or after the job completes.  
*Required*: No  
*Type*: String  
*Allowed values*: `Continuous | EndOfJob`  
*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-modelexplainabilityjobdefinition-s3output-s3uri"></a>
A URI that identifies the Amazon S3 storage location where Amazon SageMaker saves the results of a monitoring job.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^(https|s3)://([^/]+)/?(.*)$`  
*Maximum*: `512`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::SageMaker::ModelExplainabilityJobDefinition StoppingCondition
<a name="aws-properties-sagemaker-modelexplainabilityjobdefinition-stoppingcondition"></a>

Specifies a limit to how long a job can run. When the job reaches the time limit, SageMaker ends the job. Use this API to cap costs.

To stop a training job, SageMaker sends the algorithm the `SIGTERM` signal, which delays job termination for 120 seconds. Algorithms can use this 120-second window to save the model artifacts, so the results of training are not lost. 

The training algorithms provided by SageMaker automatically save the intermediate results of a model training job when possible. This attempt to save artifacts is only a best effort case as model might not be in a state from which it can be saved. For example, if training has just started, the model might not be ready to save. When saved, this intermediate data is a valid model artifact. You can use it to create a model with `CreateModel`.

**Note**  
The Neural Topic Model (NTM) currently does not support saving intermediate model artifacts. When training NTMs, make sure that the maximum runtime is sufficient for the training job to complete.

## Syntax
<a name="aws-properties-sagemaker-modelexplainabilityjobdefinition-stoppingcondition-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-modelexplainabilityjobdefinition-stoppingcondition-syntax.json"></a>

```
{
  "[MaxRuntimeInSeconds](#cfn-sagemaker-modelexplainabilityjobdefinition-stoppingcondition-maxruntimeinseconds)" : Integer
}
```

### YAML
<a name="aws-properties-sagemaker-modelexplainabilityjobdefinition-stoppingcondition-syntax.yaml"></a>

```
  [MaxRuntimeInSeconds](#cfn-sagemaker-modelexplainabilityjobdefinition-stoppingcondition-maxruntimeinseconds): Integer
```

## Properties
<a name="aws-properties-sagemaker-modelexplainabilityjobdefinition-stoppingcondition-properties"></a>

`MaxRuntimeInSeconds`  <a name="cfn-sagemaker-modelexplainabilityjobdefinition-stoppingcondition-maxruntimeinseconds"></a>
The maximum length of time, in seconds, that a training or compilation job can run before it is stopped.  
For compilation jobs, if the job does not complete during this time, a `TimeOut` error is generated. We recommend starting with 900 seconds and increasing as necessary based on your model.  
For all other jobs, if the job does not complete during this time, SageMaker ends the job. When `RetryStrategy` is specified in the job request, `MaxRuntimeInSeconds` specifies the maximum time for all of the attempts in total, not each individual attempt. The default value is 1 day. The maximum value is 28 days.  
The maximum time that a `TrainingJob` can run in total, including any time spent publishing metrics or archiving and uploading models after it has been stopped, is 30 days.  
*Required*: Yes  
*Type*: Integer  
*Minimum*: `1`  
*Maximum*: `86400`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::SageMaker::ModelExplainabilityJobDefinition Tag
<a name="aws-properties-sagemaker-modelexplainabilityjobdefinition-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-modelexplainabilityjobdefinition-tag-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-modelexplainabilityjobdefinition-tag-syntax.json"></a>

```
{
  "[Key](#cfn-sagemaker-modelexplainabilityjobdefinition-tag-key)" : String,
  "[Value](#cfn-sagemaker-modelexplainabilityjobdefinition-tag-value)" : String
}
```

### YAML
<a name="aws-properties-sagemaker-modelexplainabilityjobdefinition-tag-syntax.yaml"></a>

```
  [Key](#cfn-sagemaker-modelexplainabilityjobdefinition-tag-key): String
  [Value](#cfn-sagemaker-modelexplainabilityjobdefinition-tag-value): String
```

## Properties
<a name="aws-properties-sagemaker-modelexplainabilityjobdefinition-tag-properties"></a>

`Key`  <a name="cfn-sagemaker-modelexplainabilityjobdefinition-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*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`Value`  <a name="cfn-sagemaker-modelexplainabilityjobdefinition-tag-value"></a>
The tag value.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^([\p{L}\p{Z}\p{N}_.:/=+\-@]*)$`  
*Maximum*: `256`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::SageMaker::ModelExplainabilityJobDefinition VpcConfig
<a name="aws-properties-sagemaker-modelexplainabilityjobdefinition-vpcconfig"></a>

Specifies an Amazon Virtual Private Cloud (VPC) that your SageMaker jobs, hosted models, and compute resources have access to. You can control access to and from your resources by configuring a VPC. For more information, see [Give SageMaker Access to Resources in your Amazon VPC](https://docs.aws.amazon.com/sagemaker/latest/dg/infrastructure-give-access.html). 

## Syntax
<a name="aws-properties-sagemaker-modelexplainabilityjobdefinition-vpcconfig-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-modelexplainabilityjobdefinition-vpcconfig-syntax.json"></a>

```
{
  "[SecurityGroupIds](#cfn-sagemaker-modelexplainabilityjobdefinition-vpcconfig-securitygroupids)" : [ String, ... ],
  "[Subnets](#cfn-sagemaker-modelexplainabilityjobdefinition-vpcconfig-subnets)" : [ String, ... ]
}
```

### YAML
<a name="aws-properties-sagemaker-modelexplainabilityjobdefinition-vpcconfig-syntax.yaml"></a>

```
  [SecurityGroupIds](#cfn-sagemaker-modelexplainabilityjobdefinition-vpcconfig-securitygroupids): 
    - String
  [Subnets](#cfn-sagemaker-modelexplainabilityjobdefinition-vpcconfig-subnets): 
    - String
```

## Properties
<a name="aws-properties-sagemaker-modelexplainabilityjobdefinition-vpcconfig-properties"></a>

`SecurityGroupIds`  <a name="cfn-sagemaker-modelexplainabilityjobdefinition-vpcconfig-securitygroupids"></a>
The VPC security group IDs, in the form `sg-xxxxxxxx`. Specify the security groups for the VPC that is specified in the `Subnets` field.  
*Required*: Yes  
*Type*: Array of String  
*Minimum*: `1`  
*Maximum*: `32 | 5`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`Subnets`  <a name="cfn-sagemaker-modelexplainabilityjobdefinition-vpcconfig-subnets"></a>
The ID of the subnets in the VPC to which you want to connect your training job or model. For information about the availability of specific instance types, see [Supported Instance Types and Availability Zones](https://docs.aws.amazon.com/sagemaker/latest/dg/instance-types-az.html).  
*Required*: Yes  
*Type*: Array of String  
*Minimum*: `1`  
*Maximum*: `32 | 16`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# 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)

# AWS::SageMaker::ModelPackageGroup
<a name="aws-resource-sagemaker-modelpackagegroup"></a>

A group of versioned models in the Model Registry.

## Syntax
<a name="aws-resource-sagemaker-modelpackagegroup-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-resource-sagemaker-modelpackagegroup-syntax.json"></a>

```
{
  "Type" : "AWS::SageMaker::ModelPackageGroup",
  "Properties" : {
      "[ModelPackageGroupDescription](#cfn-sagemaker-modelpackagegroup-modelpackagegroupdescription)" : String,
      "[ModelPackageGroupName](#cfn-sagemaker-modelpackagegroup-modelpackagegroupname)" : String,
      "[ModelPackageGroupPolicy](#cfn-sagemaker-modelpackagegroup-modelpackagegrouppolicy)" : Json,
      "[Tags](#cfn-sagemaker-modelpackagegroup-tags)" : [ Tag, ... ]
    }
}
```

### YAML
<a name="aws-resource-sagemaker-modelpackagegroup-syntax.yaml"></a>

```
Type: AWS::SageMaker::ModelPackageGroup
Properties:
  [ModelPackageGroupDescription](#cfn-sagemaker-modelpackagegroup-modelpackagegroupdescription): String
  [ModelPackageGroupName](#cfn-sagemaker-modelpackagegroup-modelpackagegroupname): String
  [ModelPackageGroupPolicy](#cfn-sagemaker-modelpackagegroup-modelpackagegrouppolicy): Json
  [Tags](#cfn-sagemaker-modelpackagegroup-tags): 
    - Tag
```

## Properties
<a name="aws-resource-sagemaker-modelpackagegroup-properties"></a>

`ModelPackageGroupDescription`  <a name="cfn-sagemaker-modelpackagegroup-modelpackagegroupdescription"></a>
The description for the model group.  
*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-modelpackagegroup-modelpackagegroupname"></a>
The name of the model group.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^[a-zA-Z0-9](-*[a-zA-Z0-9])*$`  
*Maximum*: `63`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`ModelPackageGroupPolicy`  <a name="cfn-sagemaker-modelpackagegroup-modelpackagegrouppolicy"></a>
A resouce policy to control access to a model group. For information about resoure policies, see [Identity-based policies and resource-based policies](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_identity-vs-resource.html) in the *AWS Identity and Access Management User Guide.*.  
*Required*: No  
*Type*: Json  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Tags`  <a name="cfn-sagemaker-modelpackagegroup-tags"></a>
An array of key-value pairs to apply to this resource.  
For more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html).  
*Required*: No  
*Type*: Array of [Tag](aws-properties-sagemaker-modelpackagegroup-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)

## Return values
<a name="aws-resource-sagemaker-modelpackagegroup-return-values"></a>

### Ref
<a name="aws-resource-sagemaker-modelpackagegroup-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-modelpackagegroup-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-modelpackagegroup-return-values-fn--getatt-fn--getatt"></a>

`CreationTime`  <a name="CreationTime-fn::getatt"></a>
The time when the model group was created.

`ModelPackageGroupArn`  <a name="ModelPackageGroupArn-fn::getatt"></a>
The Amazon Resource Name (ARN) of the model group.

`ModelPackageGroupStatus`  <a name="ModelPackageGroupStatus-fn::getatt"></a>
The status of the model group.

# AWS::SageMaker::ModelPackageGroup Tag
<a name="aws-properties-sagemaker-modelpackagegroup-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-modelpackagegroup-tag-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-modelpackagegroup-tag-syntax.json"></a>

```
{
  "[Key](#cfn-sagemaker-modelpackagegroup-tag-key)" : String,
  "[Value](#cfn-sagemaker-modelpackagegroup-tag-value)" : String
}
```

### YAML
<a name="aws-properties-sagemaker-modelpackagegroup-tag-syntax.yaml"></a>

```
  [Key](#cfn-sagemaker-modelpackagegroup-tag-key): String
  [Value](#cfn-sagemaker-modelpackagegroup-tag-value): String
```

## Properties
<a name="aws-properties-sagemaker-modelpackagegroup-tag-properties"></a>

`Key`  <a name="cfn-sagemaker-modelpackagegroup-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-modelpackagegroup-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::ModelQualityJobDefinition
<a name="aws-resource-sagemaker-modelqualityjobdefinition"></a>

Creates a definition for a job that monitors model quality and drift. For information about model monitor, see [Amazon SageMaker Model Monitor](https://docs.aws.amazon.com/sagemaker/latest/dg/model-monitor.html).

## Syntax
<a name="aws-resource-sagemaker-modelqualityjobdefinition-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-resource-sagemaker-modelqualityjobdefinition-syntax.json"></a>

```
{
  "Type" : "AWS::SageMaker::ModelQualityJobDefinition",
  "Properties" : {
      "[EndpointName](#cfn-sagemaker-modelqualityjobdefinition-endpointname)" : String,
      "[JobDefinitionName](#cfn-sagemaker-modelqualityjobdefinition-jobdefinitionname)" : String,
      "[JobResources](#cfn-sagemaker-modelqualityjobdefinition-jobresources)" : MonitoringResources,
      "[ModelQualityAppSpecification](#cfn-sagemaker-modelqualityjobdefinition-modelqualityappspecification)" : ModelQualityAppSpecification,
      "[ModelQualityBaselineConfig](#cfn-sagemaker-modelqualityjobdefinition-modelqualitybaselineconfig)" : ModelQualityBaselineConfig,
      "[ModelQualityJobInput](#cfn-sagemaker-modelqualityjobdefinition-modelqualityjobinput)" : ModelQualityJobInput,
      "[ModelQualityJobOutputConfig](#cfn-sagemaker-modelqualityjobdefinition-modelqualityjoboutputconfig)" : MonitoringOutputConfig,
      "[NetworkConfig](#cfn-sagemaker-modelqualityjobdefinition-networkconfig)" : NetworkConfig,
      "[RoleArn](#cfn-sagemaker-modelqualityjobdefinition-rolearn)" : String,
      "[StoppingCondition](#cfn-sagemaker-modelqualityjobdefinition-stoppingcondition)" : StoppingCondition,
      "[Tags](#cfn-sagemaker-modelqualityjobdefinition-tags)" : [ Tag, ... ]
    }
}
```

### YAML
<a name="aws-resource-sagemaker-modelqualityjobdefinition-syntax.yaml"></a>

```
Type: AWS::SageMaker::ModelQualityJobDefinition
Properties:
  [EndpointName](#cfn-sagemaker-modelqualityjobdefinition-endpointname): String
  [JobDefinitionName](#cfn-sagemaker-modelqualityjobdefinition-jobdefinitionname): String
  [JobResources](#cfn-sagemaker-modelqualityjobdefinition-jobresources): 
    MonitoringResources
  [ModelQualityAppSpecification](#cfn-sagemaker-modelqualityjobdefinition-modelqualityappspecification): 
    ModelQualityAppSpecification
  [ModelQualityBaselineConfig](#cfn-sagemaker-modelqualityjobdefinition-modelqualitybaselineconfig): 
    ModelQualityBaselineConfig
  [ModelQualityJobInput](#cfn-sagemaker-modelqualityjobdefinition-modelqualityjobinput): 
    ModelQualityJobInput
  [ModelQualityJobOutputConfig](#cfn-sagemaker-modelqualityjobdefinition-modelqualityjoboutputconfig): 
    MonitoringOutputConfig
  [NetworkConfig](#cfn-sagemaker-modelqualityjobdefinition-networkconfig): 
    NetworkConfig
  [RoleArn](#cfn-sagemaker-modelqualityjobdefinition-rolearn): String
  [StoppingCondition](#cfn-sagemaker-modelqualityjobdefinition-stoppingcondition): 
    StoppingCondition
  [Tags](#cfn-sagemaker-modelqualityjobdefinition-tags): 
    - Tag
```

## Properties
<a name="aws-resource-sagemaker-modelqualityjobdefinition-properties"></a>

`EndpointName`  <a name="cfn-sagemaker-modelqualityjobdefinition-endpointname"></a>
The name of the endpoint used to run the model quality monitoring job.  
*Required*: No  
*Type*: String  
*Pattern*: `^[a-zA-Z0-9](-*[a-zA-Z0-9])*`  
*Maximum*: `63`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`JobDefinitionName`  <a name="cfn-sagemaker-modelqualityjobdefinition-jobdefinitionname"></a>
The name of the monitoring job definition.  
*Required*: No  
*Type*: String  
*Pattern*: `^[a-zA-Z0-9](-*[a-zA-Z0-9])*$`  
*Maximum*: `63`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`JobResources`  <a name="cfn-sagemaker-modelqualityjobdefinition-jobresources"></a>
Identifies the resources to deploy for a monitoring job.  
*Required*: Yes  
*Type*: [MonitoringResources](aws-properties-sagemaker-modelqualityjobdefinition-monitoringresources.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`ModelQualityAppSpecification`  <a name="cfn-sagemaker-modelqualityjobdefinition-modelqualityappspecification"></a>
Container image configuration object for the monitoring job.  
*Required*: Yes  
*Type*: [ModelQualityAppSpecification](aws-properties-sagemaker-modelqualityjobdefinition-modelqualityappspecification.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`ModelQualityBaselineConfig`  <a name="cfn-sagemaker-modelqualityjobdefinition-modelqualitybaselineconfig"></a>
Specifies the constraints and baselines for the monitoring job.  
*Required*: No  
*Type*: [ModelQualityBaselineConfig](aws-properties-sagemaker-modelqualityjobdefinition-modelqualitybaselineconfig.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`ModelQualityJobInput`  <a name="cfn-sagemaker-modelqualityjobdefinition-modelqualityjobinput"></a>
A list of the inputs that are monitored. Currently endpoints are supported.  
*Required*: Yes  
*Type*: [ModelQualityJobInput](aws-properties-sagemaker-modelqualityjobdefinition-modelqualityjobinput.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`ModelQualityJobOutputConfig`  <a name="cfn-sagemaker-modelqualityjobdefinition-modelqualityjoboutputconfig"></a>
The output configuration for monitoring jobs.  
*Required*: Yes  
*Type*: [MonitoringOutputConfig](aws-properties-sagemaker-modelqualityjobdefinition-monitoringoutputconfig.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`NetworkConfig`  <a name="cfn-sagemaker-modelqualityjobdefinition-networkconfig"></a>
Specifies the network configuration for the monitoring job.  
*Required*: No  
*Type*: [NetworkConfig](aws-properties-sagemaker-modelqualityjobdefinition-networkconfig.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`RoleArn`  <a name="cfn-sagemaker-modelqualityjobdefinition-rolearn"></a>
The Amazon Resource Name (ARN) of an IAM role that Amazon SageMaker can assume to perform tasks on your behalf.  
*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)

`StoppingCondition`  <a name="cfn-sagemaker-modelqualityjobdefinition-stoppingcondition"></a>
A time limit for how long the monitoring job is allowed to run before stopping.  
*Required*: No  
*Type*: [StoppingCondition](aws-properties-sagemaker-modelqualityjobdefinition-stoppingcondition.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`Tags`  <a name="cfn-sagemaker-modelqualityjobdefinition-tags"></a>
An array of key-value pairs to apply to this resource.  
For more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html).  
*Required*: No  
*Type*: Array of [Tag](aws-properties-sagemaker-modelqualityjobdefinition-tag.md)  
*Maximum*: `50`  
*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-modelqualityjobdefinition-return-values"></a>

### Ref
<a name="aws-resource-sagemaker-modelqualityjobdefinition-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 job definition.

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-modelqualityjobdefinition-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-modelqualityjobdefinition-return-values-fn--getatt-fn--getatt"></a>

`CreationTime`  <a name="CreationTime-fn::getatt"></a>
The time when the job definition was created.

`JobDefinitionArn`  <a name="JobDefinitionArn-fn::getatt"></a>
The Amazon Resource Name (ARN) of the job definition.

## Examples
<a name="aws-resource-sagemaker-modelqualityjobdefinition--examples"></a>

### SageMaker ModelQualityJobDefinition Example
<a name="aws-resource-sagemaker-modelqualityjobdefinition--examples--SageMaker_ModelQualityJobDefinition_Example"></a>

The following example creates a Model Quality monitoring job defintion.

#### JSON
<a name="aws-resource-sagemaker-modelqualityjobdefinition--examples--SageMaker_ModelQualityJobDefinition_Example--json"></a>

```
{
   "AWSTemplateFormatVersion": "2010-09-09",
   "Description": "Basic SageMaker Hosting entities to create a model quality job definition",
   "Mappings": {
      "RegionMap": {
         "us-west-2": {
            "MyModelImage": "123456789012.dkr.ecr.us-west-2.amazonaws.com/mymodel:latest"
         },
         "us-east-2": {
            "MyModelImage": "123456789012.dkr.ecr.us-east-2.amazonaws.com/mymodel:latest"
         },
         "us-east-1": {
            "MyModelImage": "123456789012.dkr.ecr.us-east-1.amazonaws.com/mymodel:latest"
         },
         "eu-west-1": {
            "MyModelImage": "123456789012.dkr.ecr.eu-west-1.amazonaws.com/mymodel:latest"
         },
         "ap-northeast-1": {
            "MyModelImage": "123456789012.dkr.ecr.ap-northeast-1.amazonaws.com/mymodel:latest"
         },
         "ap-northeast-2": {
            "MyModelImage": "123456789012.dkr.ecr.ap-northeast-2.amazonaws.com/mymodel:latest"
         },
         "ap-southeast-2": {
            "MyModelImage": "123456789012.dkr.ecr.ap-southeast-2.amazonaws.com/mymodel:latest"
         },
         "eu-central-1": {
            "MyModelImage": "123456789012.dkr.ecr.eu-central-1.amazonaws.com/mymodel:latest"
         }
      }
   },
   "Resources": {
      "Endpoint": {
         "Type": "AWS::SageMaker::Endpoint",
         "Properties": {
            "EndpointConfigName": { "Fn::GetAtt" : ["EndpointConfigWithDataCapture", "EndpointConfigName"] }
         }
      },
      "EndpointConfigWithDataCapture": {
         "Type": "AWS::SageMaker::EndpointConfig",
         "Properties": {
            "ProductionVariants": [
               {
                  "InitialInstanceCount": 1,
                  "InitialVariantWeight": 1,
                  "InstanceType": "ml.t2.large",
                  "ModelName": { "Fn::GetAtt" : ["Model", "ModelName"] },
                  "VariantName": { "Fn::GetAtt" : ["Model", "ModelName"] }
               }
            ],
            "DataCaptureConfig": {
               "EnableCapture": true,
               "InitialSamplingPercentage": 100,
               "DestinationS3Uri": "s3://bucket/prefix",
               "KmsKeyId": "kmskeyid",
               "CaptureOptions": [
                  {
                     "CaptureMode": "Input"
                  }
               ],
               "CaptureContentTypeHeader": {
                  "CsvContentTypes": [
                     "text/csv"
                  ],
                  "JsonContentTypes": [
                     "application/json"
                  ]
               }
            }
         }
      },
      "Model": {
         "Type": "AWS::SageMaker::Model",
         "Properties": {
            "PrimaryContainer": {
               "Image": { "Fn::FindInMap": [
                  "RegionMap",
                  {"Ref": "AWS::Region"},
                  "MyModelImage"
                 ]
               }
            },
            "ExecutionRoleArn": { "Fn::GetAtt" : ["ExecutionRole", "Arn"] }
         }
      },
      "ExecutionRole": {
         "Type": "AWS::IAM::Role",
         "Properties": {
            "AssumeRolePolicyDocument": {
               "Version": "2012-10-17"		 	 	 ,
               "Statement": [
                  {
                     "Effect": "Allow",
                     "Principal": {
                        "Service": [
                           "sagemaker.amazonaws.com"
                        ]
                     },
                     "Action": [
                        "sts:AssumeRole"
                     ]
                  }
               ]
            },
            "Path": "/",
            "Policies": [
               {
                  "PolicyName": "root",
                  "PolicyDocument": {
                     "Version": "2012-10-17"		 	 	 ,
                     "Statement": [
                        {
                           "Effect": "Allow",
                           "Action": "*",
                           "Resource": "*"
                        }
                     ]
                  }
               }
            ]
         }
      },
      "JobDefinitionExecutionRole": {
         "Type": "AWS::IAM::Role",
         "Properties": {
            "AssumeRolePolicyDocument": {
               "Version": "2012-10-17"		 	 	 ,
               "Statement": [
                  {
                     "Effect": "Allow",
                     "Principal": {
                        "Service": [
                           "sagemaker.amazonaws.com"
                        ]
                     },
                     "Action": [
                        "sts:AssumeRole"
                     ]
                  }
               ]
            },
            "ManagedPolicyArns": [
               {
                  "Fn::Sub": "arn:${AWS::Partition}:iam::aws:policy/AmazonSageMakerFullAccess"
               },
               {
                  "Fn::Sub": "arn:${AWS::Partition}:iam::aws:policy/AmazonS3FullAccess"
               },
               {
                  "Fn::Sub": "arn:${AWS::Partition}:iam::aws:policy/AmazonEC2ContainerRegistryReadOnly"
               }
            ]
         }
      },
      "JobDefinition": {
         "Type": "AWS::SageMaker::ModelQualityJobDefinition",
         "Properties": {
            "ModelQualityAppSpecification": {
               "ImageUri": {
                  "Fn::Sub": "123456789012.dkr.ecr.${AWS::Partition}.amazonaws.com/sagemaker-model-monitor-analyzer:latest"
               },
               "ProblemType": "BinaryClassification"
            },
            "ModelQualityJobInput": {
               "EndpointInput": {
                  "EndpointName": { "Fn::GetAtt" : ["Endpoint", "EndpointName"] },
                  "LocalPath": "/opt/ml/processing/endpointdata",
                  "InferenceAttribute": "inference",
                  "ProbabilityAttribute": "probability",
                  "ProbabilityThresholdAttribute": 0.8,
                  "StartTimeOffset": "-PT1H",
                  "EndTimeOffset": "-P0D"
               },
               "GroundTruthS3Input": {
                  "S3Uri": {
                     "Fn::Sub": "s3://model-quality-job-definition-${AWS::AccountId}/groundtruth"
                  }
               }
            },
            "ModelQualityJobOutputConfig": {
               "MonitoringOutputs": [
                  {
                     "S3Output": {
                        "LocalPath": "/opt/ml/processing/localpath",
                        "S3Uri": {
                           "Fn::Sub": "s3://model-quality-job-definition-${AWS::AccountId}/output"
                        }
                     }
                  }
               ]
            },
            "JobResources": {
               "ClusterConfig": {
                  "InstanceCount": 1,
                  "InstanceType": "ml.m5.large",
                  "VolumeSizeInGB": 50
               }
            },
            "RoleArn": { "Fn::GetAtt" : ["JobDefinitionExecutionRole", "Arn"] },
            "StoppingCondition": {
               "MaxRuntimeInSeconds": 2000
            }
         }
      }
   }
}
```

#### YAML
<a name="aws-resource-sagemaker-modelqualityjobdefinition--examples--SageMaker_ModelQualityJobDefinition_Example--yaml"></a>

```
---
 
AWSTemplateFormatVersion: '2010-09-09'
Description: Basic SageMaker Hosting entities to create a model quality job definition
 
Mappings: 
  RegionMap: 
    "us-west-2":
      "MyModelImage": "123456789012.dkr.ecr.us-west-2.amazonaws.com/mymodel:latest"
    "us-east-2":
      "MyModelImage": "123456789012.dkr.ecr.us-east-2.amazonaws.com/mymodel:latest"
    "us-east-1":
      "MyModelImage": "123456789012.dkr.ecr.us-east-1.amazonaws.com/mymodel:latest"
    "eu-west-1":
      "MyModelImage": "123456789012.dkr.ecr.eu-west-1.amazonaws.com/mymodel:latest"
    "ap-northeast-1":
      "MyModelImage": "123456789012.dkr.ecr.ap-northeast-1.amazonaws.com/mymodel:latest"
    "ap-northeast-2":
      "MyModelImage": "123456789012.dkr.ecr.ap-northeast-2.amazonaws.com/mymodel:latest"
    "ap-southeast-2":
      "MyModelImage": "123456789012.dkr.ecr.ap-southeast-2.amazonaws.com/mymodel:latest"
    "eu-central-1":
      "MyModelImage": "123456789012.dkr.ecr.eu-central-1.amazonaws.com/mymodel:latest"
 
Resources:
  Endpoint:
    Type: "AWS::SageMaker::Endpoint"
    Properties:
      EndpointConfigName:
        !GetAtt EndpointConfigWithDataCapture.EndpointConfigName
 
  EndpointConfigWithDataCapture:
    Type: "AWS::SageMaker::EndpointConfig"
    Properties:
      ProductionVariants:
        - InitialInstanceCount: 1
          InitialVariantWeight: 1.0
          InstanceType: ml.t2.large
          ModelName: !GetAtt Model.ModelName
          VariantName: !GetAtt Model.ModelName
      DataCaptureConfig:
        EnableCapture: true
        InitialSamplingPercentage: 100
        DestinationS3Uri: s3://bucket/prefix
        KmsKeyId: kmskeyid
        CaptureOptions:
          - CaptureMode: Input
        CaptureContentTypeHeader:
          CsvContentTypes:
            - "text/csv"
          JsonContentTypes:
            - "application/json"
            
  Model:
    Type: "AWS::SageMaker::Model"
    Properties:
      PrimaryContainer:
        Image: !FindInMap [RegionMap, !Ref "AWS::Region", "MyModelImage"]
      ExecutionRoleArn: !GetAtt ExecutionRole.Arn
 
  ExecutionRole: 
    Type: "AWS::IAM::Role"
    Properties: 
      AssumeRolePolicyDocument: 
        Version: "2012-10-17"
        Statement: 
          - 
            Effect: "Allow"
            Principal: 
              Service: 
                - "sagemaker.amazonaws.com"
            Action: 
              - "sts:AssumeRole"
      Path: "/"
      Policies: 
        - 
          PolicyName: "root"
          PolicyDocument: 
            Version: "2012-10-17"
            Statement: 
              - 
                Effect: "Allow"
                Action: "*"
                Resource: "*"
 
  JobDefinitionExecutionRole:
    Type: "AWS::IAM::Role"
    Properties:
      AssumeRolePolicyDocument:
        Version: "2012-10-17"
        Statement:
          - Effect: "Allow"
            Principal:
              Service:
                - "sagemaker.amazonaws.com"
            Action:
              - "sts:AssumeRole"
      ManagedPolicyArns:
        - Fn::Sub: "arn:${AWS::Partition}:iam::aws:policy/AmazonSageMakerFullAccess"
        - Fn::Sub: "arn:${AWS::Partition}:iam::aws:policy/AmazonS3FullAccess"
        - Fn::Sub: "arn:${AWS::Partition}:iam::aws:policy/AmazonEC2ContainerRegistryReadOnly"
 
  JobDefinition:
    Type: AWS::SageMaker::ModelQualityJobDefinition
    Properties:
      ModelQualityAppSpecification:
        ImageUri:
          Fn::Sub: "123456789012.dkr.ecr.${AWS::Partition}.amazonaws.com/sagemaker-model-monitor-analyzer:latest"
        ProblemType: BinaryClassification
      ModelQualityJobInput:
        EndpointInput:
          EndpointName: !GetAtt Endpoint.EndpointName
          LocalPath: "/opt/ml/processing/endpointdata"
          InferenceAttribute: inference
          ProbabilityAttribute: probability
          ProbabilityThresholdAttribute: 0.8
          StartTimeOffset: "-PT1H"
          EndTimeOffset: "-P0D"
        GroundTruthS3Input:
          S3Uri:
            Fn::Sub: "s3://model-quality-job-definition-${AWS::AccountId}/groundtruth"
      ModelQualityJobOutputConfig:
        MonitoringOutputs:
          - S3Output:
              LocalPath: "/opt/ml/processing/localpath"
              S3Uri:
                Fn::Sub: "s3://model-quality-job-definition-${AWS::AccountId}/output"
      JobResources:
        ClusterConfig:
          InstanceCount: 1
          InstanceType: ml.m5.large
          VolumeSizeInGB: 50
      RoleArn: !GetAtt JobDefinitionExecutionRole.Arn
      StoppingCondition:
        MaxRuntimeInSeconds: 2000
```

# AWS::SageMaker::ModelQualityJobDefinition BatchTransformInput
<a name="aws-properties-sagemaker-modelqualityjobdefinition-batchtransforminput"></a>

Input object for the batch transform job.

## Syntax
<a name="aws-properties-sagemaker-modelqualityjobdefinition-batchtransforminput-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-modelqualityjobdefinition-batchtransforminput-syntax.json"></a>

```
{
  "[DataCapturedDestinationS3Uri](#cfn-sagemaker-modelqualityjobdefinition-batchtransforminput-datacaptureddestinations3uri)" : String,
  "[DatasetFormat](#cfn-sagemaker-modelqualityjobdefinition-batchtransforminput-datasetformat)" : DatasetFormat,
  "[EndTimeOffset](#cfn-sagemaker-modelqualityjobdefinition-batchtransforminput-endtimeoffset)" : String,
  "[InferenceAttribute](#cfn-sagemaker-modelqualityjobdefinition-batchtransforminput-inferenceattribute)" : String,
  "[LocalPath](#cfn-sagemaker-modelqualityjobdefinition-batchtransforminput-localpath)" : String,
  "[ProbabilityAttribute](#cfn-sagemaker-modelqualityjobdefinition-batchtransforminput-probabilityattribute)" : String,
  "[ProbabilityThresholdAttribute](#cfn-sagemaker-modelqualityjobdefinition-batchtransforminput-probabilitythresholdattribute)" : Number,
  "[S3DataDistributionType](#cfn-sagemaker-modelqualityjobdefinition-batchtransforminput-s3datadistributiontype)" : String,
  "[S3InputMode](#cfn-sagemaker-modelqualityjobdefinition-batchtransforminput-s3inputmode)" : String,
  "[StartTimeOffset](#cfn-sagemaker-modelqualityjobdefinition-batchtransforminput-starttimeoffset)" : String
}
```

### YAML
<a name="aws-properties-sagemaker-modelqualityjobdefinition-batchtransforminput-syntax.yaml"></a>

```
  [DataCapturedDestinationS3Uri](#cfn-sagemaker-modelqualityjobdefinition-batchtransforminput-datacaptureddestinations3uri): String
  [DatasetFormat](#cfn-sagemaker-modelqualityjobdefinition-batchtransforminput-datasetformat): 
    DatasetFormat
  [EndTimeOffset](#cfn-sagemaker-modelqualityjobdefinition-batchtransforminput-endtimeoffset): String
  [InferenceAttribute](#cfn-sagemaker-modelqualityjobdefinition-batchtransforminput-inferenceattribute): String
  [LocalPath](#cfn-sagemaker-modelqualityjobdefinition-batchtransforminput-localpath): String
  [ProbabilityAttribute](#cfn-sagemaker-modelqualityjobdefinition-batchtransforminput-probabilityattribute): String
  [ProbabilityThresholdAttribute](#cfn-sagemaker-modelqualityjobdefinition-batchtransforminput-probabilitythresholdattribute): Number
  [S3DataDistributionType](#cfn-sagemaker-modelqualityjobdefinition-batchtransforminput-s3datadistributiontype): String
  [S3InputMode](#cfn-sagemaker-modelqualityjobdefinition-batchtransforminput-s3inputmode): String
  [StartTimeOffset](#cfn-sagemaker-modelqualityjobdefinition-batchtransforminput-starttimeoffset): String
```

## Properties
<a name="aws-properties-sagemaker-modelqualityjobdefinition-batchtransforminput-properties"></a>

`DataCapturedDestinationS3Uri`  <a name="cfn-sagemaker-modelqualityjobdefinition-batchtransforminput-datacaptureddestinations3uri"></a>
The Amazon S3 location being used to capture the data.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^(https|s3)://([^/]+)/?(.*)$`  
*Maximum*: `512`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`DatasetFormat`  <a name="cfn-sagemaker-modelqualityjobdefinition-batchtransforminput-datasetformat"></a>
The dataset format for your batch transform job.  
*Required*: Yes  
*Type*: [DatasetFormat](aws-properties-sagemaker-modelqualityjobdefinition-datasetformat.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`EndTimeOffset`  <a name="cfn-sagemaker-modelqualityjobdefinition-batchtransforminput-endtimeoffset"></a>
If specified, monitoring jobs subtract this time from the end time. For information about using offsets for scheduling monitoring jobs, see [Schedule Model Quality Monitoring Jobs](https://docs.aws.amazon.com/sagemaker/latest/dg/model-monitor-model-quality-schedule.html).  
*Required*: No  
*Type*: String  
*Pattern*: `^.?P.*`  
*Minimum*: `1`  
*Maximum*: `15`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`InferenceAttribute`  <a name="cfn-sagemaker-modelqualityjobdefinition-batchtransforminput-inferenceattribute"></a>
The attribute of the input data that represents the ground truth label.  
*Required*: No  
*Type*: String  
*Maximum*: `256`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`LocalPath`  <a name="cfn-sagemaker-modelqualityjobdefinition-batchtransforminput-localpath"></a>
Path to the filesystem where the batch transform data is available to the container.  
*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)

`ProbabilityAttribute`  <a name="cfn-sagemaker-modelqualityjobdefinition-batchtransforminput-probabilityattribute"></a>
In a classification problem, the attribute that represents the class probability.  
*Required*: No  
*Type*: String  
*Maximum*: `256`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`ProbabilityThresholdAttribute`  <a name="cfn-sagemaker-modelqualityjobdefinition-batchtransforminput-probabilitythresholdattribute"></a>
The threshold for the class probability to be evaluated as a positive result.  
*Required*: No  
*Type*: Number  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`S3DataDistributionType`  <a name="cfn-sagemaker-modelqualityjobdefinition-batchtransforminput-s3datadistributiontype"></a>
Whether input data distributed in Amazon S3 is fully replicated or sharded by an S3 key. Defaults to `FullyReplicated`  
*Required*: No  
*Type*: String  
*Allowed values*: `FullyReplicated | ShardedByS3Key`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`S3InputMode`  <a name="cfn-sagemaker-modelqualityjobdefinition-batchtransforminput-s3inputmode"></a>
Whether the `Pipe` or `File` is used as the input mode for transferring data for the monitoring job. `Pipe` mode is recommended for large datasets. `File` mode is useful for small files that fit in memory. Defaults to `File`.  
*Required*: No  
*Type*: String  
*Allowed values*: `Pipe | File`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`StartTimeOffset`  <a name="cfn-sagemaker-modelqualityjobdefinition-batchtransforminput-starttimeoffset"></a>
If specified, monitoring jobs substract this time from the start time. For information about using offsets for scheduling monitoring jobs, see [Schedule Model Quality Monitoring Jobs](https://docs.aws.amazon.com/sagemaker/latest/dg/model-monitor-model-quality-schedule.html).  
*Required*: No  
*Type*: String  
*Pattern*: `^.?P.*`  
*Minimum*: `1`  
*Maximum*: `15`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::SageMaker::ModelQualityJobDefinition ClusterConfig
<a name="aws-properties-sagemaker-modelqualityjobdefinition-clusterconfig"></a>

The configuration for the cluster of resources used to run the processing job.

## Syntax
<a name="aws-properties-sagemaker-modelqualityjobdefinition-clusterconfig-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-modelqualityjobdefinition-clusterconfig-syntax.json"></a>

```
{
  "[InstanceCount](#cfn-sagemaker-modelqualityjobdefinition-clusterconfig-instancecount)" : Integer,
  "[InstanceType](#cfn-sagemaker-modelqualityjobdefinition-clusterconfig-instancetype)" : String,
  "[VolumeKmsKeyId](#cfn-sagemaker-modelqualityjobdefinition-clusterconfig-volumekmskeyid)" : String,
  "[VolumeSizeInGB](#cfn-sagemaker-modelqualityjobdefinition-clusterconfig-volumesizeingb)" : Integer
}
```

### YAML
<a name="aws-properties-sagemaker-modelqualityjobdefinition-clusterconfig-syntax.yaml"></a>

```
  [InstanceCount](#cfn-sagemaker-modelqualityjobdefinition-clusterconfig-instancecount): Integer
  [InstanceType](#cfn-sagemaker-modelqualityjobdefinition-clusterconfig-instancetype): String
  [VolumeKmsKeyId](#cfn-sagemaker-modelqualityjobdefinition-clusterconfig-volumekmskeyid): String
  [VolumeSizeInGB](#cfn-sagemaker-modelqualityjobdefinition-clusterconfig-volumesizeingb): Integer
```

## Properties
<a name="aws-properties-sagemaker-modelqualityjobdefinition-clusterconfig-properties"></a>

`InstanceCount`  <a name="cfn-sagemaker-modelqualityjobdefinition-clusterconfig-instancecount"></a>
The number of ML compute instances to use in the model monitoring job. For distributed processing jobs, specify a value greater than 1. The default value is 1.  
*Required*: Yes  
*Type*: Integer  
*Minimum*: `1`  
*Maximum*: `100`  
*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-modelqualityjobdefinition-clusterconfig-instancetype"></a>
The ML compute instance type for the processing job.  
*Required*: Yes  
*Type*: String  
*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-modelqualityjobdefinition-clusterconfig-volumekmskeyid"></a>
The AWS Key Management Service (AWS KMS) key that Amazon SageMaker uses to encrypt data on the storage volume attached to the ML compute instance(s) that run the model monitoring job.  
*Required*: No  
*Type*: String  
*Minimum*: `1`  
*Maximum*: `2048`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`VolumeSizeInGB`  <a name="cfn-sagemaker-modelqualityjobdefinition-clusterconfig-volumesizeingb"></a>
The size of the ML storage volume, in gigabytes, that you want to provision. You must specify sufficient ML storage for your scenario.  
*Required*: Yes  
*Type*: Integer  
*Minimum*: `1`  
*Maximum*: `16384`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::SageMaker::ModelQualityJobDefinition ConstraintsResource
<a name="aws-properties-sagemaker-modelqualityjobdefinition-constraintsresource"></a>

The constraints resource for a monitoring job.

## Syntax
<a name="aws-properties-sagemaker-modelqualityjobdefinition-constraintsresource-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-modelqualityjobdefinition-constraintsresource-syntax.json"></a>

```
{
  "[S3Uri](#cfn-sagemaker-modelqualityjobdefinition-constraintsresource-s3uri)" : String
}
```

### YAML
<a name="aws-properties-sagemaker-modelqualityjobdefinition-constraintsresource-syntax.yaml"></a>

```
  [S3Uri](#cfn-sagemaker-modelqualityjobdefinition-constraintsresource-s3uri): String
```

## Properties
<a name="aws-properties-sagemaker-modelqualityjobdefinition-constraintsresource-properties"></a>

`S3Uri`  <a name="cfn-sagemaker-modelqualityjobdefinition-constraintsresource-s3uri"></a>
The Amazon S3 URI for the constraints resource.  
*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::ModelQualityJobDefinition Csv
<a name="aws-properties-sagemaker-modelqualityjobdefinition-csv"></a>

The CSV dataset format configuration.

## Syntax
<a name="aws-properties-sagemaker-modelqualityjobdefinition-csv-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-modelqualityjobdefinition-csv-syntax.json"></a>

```
{
  "[Header](#cfn-sagemaker-modelqualityjobdefinition-csv-header)" : Boolean
}
```

### YAML
<a name="aws-properties-sagemaker-modelqualityjobdefinition-csv-syntax.yaml"></a>

```
  [Header](#cfn-sagemaker-modelqualityjobdefinition-csv-header): Boolean
```

## Properties
<a name="aws-properties-sagemaker-modelqualityjobdefinition-csv-properties"></a>

`Header`  <a name="cfn-sagemaker-modelqualityjobdefinition-csv-header"></a>
Indicates whether the CSV data has a header row.  
*Required*: No  
*Type*: Boolean  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::SageMaker::ModelQualityJobDefinition DatasetFormat
<a name="aws-properties-sagemaker-modelqualityjobdefinition-datasetformat"></a>

The format of the dataset used for the model quality monitoring job.

## Syntax
<a name="aws-properties-sagemaker-modelqualityjobdefinition-datasetformat-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-modelqualityjobdefinition-datasetformat-syntax.json"></a>

```
{
  "[Csv](#cfn-sagemaker-modelqualityjobdefinition-datasetformat-csv)" : Csv,
  "[Json](#cfn-sagemaker-modelqualityjobdefinition-datasetformat-json)" : Json,
  "[Parquet](#cfn-sagemaker-modelqualityjobdefinition-datasetformat-parquet)" : Boolean
}
```

### YAML
<a name="aws-properties-sagemaker-modelqualityjobdefinition-datasetformat-syntax.yaml"></a>

```
  [Csv](#cfn-sagemaker-modelqualityjobdefinition-datasetformat-csv): 
    Csv
  [Json](#cfn-sagemaker-modelqualityjobdefinition-datasetformat-json): 
    Json
  [Parquet](#cfn-sagemaker-modelqualityjobdefinition-datasetformat-parquet): Boolean
```

## Properties
<a name="aws-properties-sagemaker-modelqualityjobdefinition-datasetformat-properties"></a>

`Csv`  <a name="cfn-sagemaker-modelqualityjobdefinition-datasetformat-csv"></a>
The CSV format configuration for the dataset.  
*Required*: No  
*Type*: [Csv](aws-properties-sagemaker-modelqualityjobdefinition-csv.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`Json`  <a name="cfn-sagemaker-modelqualityjobdefinition-datasetformat-json"></a>
The JSON format configuration for the dataset.  
*Required*: No  
*Type*: [Json](aws-properties-sagemaker-modelqualityjobdefinition-json.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`Parquet`  <a name="cfn-sagemaker-modelqualityjobdefinition-datasetformat-parquet"></a>
Indicates that the dataset is in Parquet format.  
*Required*: No  
*Type*: Boolean  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::SageMaker::ModelQualityJobDefinition EndpointInput
<a name="aws-properties-sagemaker-modelqualityjobdefinition-endpointinput"></a>

Input object for the endpoint

## Syntax
<a name="aws-properties-sagemaker-modelqualityjobdefinition-endpointinput-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-modelqualityjobdefinition-endpointinput-syntax.json"></a>

```
{
  "[EndpointName](#cfn-sagemaker-modelqualityjobdefinition-endpointinput-endpointname)" : String,
  "[EndTimeOffset](#cfn-sagemaker-modelqualityjobdefinition-endpointinput-endtimeoffset)" : String,
  "[InferenceAttribute](#cfn-sagemaker-modelqualityjobdefinition-endpointinput-inferenceattribute)" : String,
  "[LocalPath](#cfn-sagemaker-modelqualityjobdefinition-endpointinput-localpath)" : String,
  "[ProbabilityAttribute](#cfn-sagemaker-modelqualityjobdefinition-endpointinput-probabilityattribute)" : String,
  "[ProbabilityThresholdAttribute](#cfn-sagemaker-modelqualityjobdefinition-endpointinput-probabilitythresholdattribute)" : Number,
  "[S3DataDistributionType](#cfn-sagemaker-modelqualityjobdefinition-endpointinput-s3datadistributiontype)" : String,
  "[S3InputMode](#cfn-sagemaker-modelqualityjobdefinition-endpointinput-s3inputmode)" : String,
  "[StartTimeOffset](#cfn-sagemaker-modelqualityjobdefinition-endpointinput-starttimeoffset)" : String
}
```

### YAML
<a name="aws-properties-sagemaker-modelqualityjobdefinition-endpointinput-syntax.yaml"></a>

```
  [EndpointName](#cfn-sagemaker-modelqualityjobdefinition-endpointinput-endpointname): String
  [EndTimeOffset](#cfn-sagemaker-modelqualityjobdefinition-endpointinput-endtimeoffset): String
  [InferenceAttribute](#cfn-sagemaker-modelqualityjobdefinition-endpointinput-inferenceattribute): String
  [LocalPath](#cfn-sagemaker-modelqualityjobdefinition-endpointinput-localpath): String
  [ProbabilityAttribute](#cfn-sagemaker-modelqualityjobdefinition-endpointinput-probabilityattribute): String
  [ProbabilityThresholdAttribute](#cfn-sagemaker-modelqualityjobdefinition-endpointinput-probabilitythresholdattribute): Number
  [S3DataDistributionType](#cfn-sagemaker-modelqualityjobdefinition-endpointinput-s3datadistributiontype): String
  [S3InputMode](#cfn-sagemaker-modelqualityjobdefinition-endpointinput-s3inputmode): String
  [StartTimeOffset](#cfn-sagemaker-modelqualityjobdefinition-endpointinput-starttimeoffset): String
```

## Properties
<a name="aws-properties-sagemaker-modelqualityjobdefinition-endpointinput-properties"></a>

`EndpointName`  <a name="cfn-sagemaker-modelqualityjobdefinition-endpointinput-endpointname"></a>
An endpoint in customer's account which has enabled `DataCaptureConfig` enabled.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^[a-zA-Z0-9](-*[a-zA-Z0-9])*`  
*Maximum*: `63`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`EndTimeOffset`  <a name="cfn-sagemaker-modelqualityjobdefinition-endpointinput-endtimeoffset"></a>
If specified, monitoring jobs substract this time from the end time. For information about using offsets for scheduling monitoring jobs, see [Schedule Model Quality Monitoring Jobs](https://docs.aws.amazon.com/sagemaker/latest/dg/model-monitor-model-quality-schedule.html).  
*Required*: No  
*Type*: String  
*Pattern*: `^.?P.*`  
*Minimum*: `1`  
*Maximum*: `15`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`InferenceAttribute`  <a name="cfn-sagemaker-modelqualityjobdefinition-endpointinput-inferenceattribute"></a>
The attribute of the input data that represents the ground truth label.  
*Required*: No  
*Type*: String  
*Maximum*: `256`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`LocalPath`  <a name="cfn-sagemaker-modelqualityjobdefinition-endpointinput-localpath"></a>
Path to the filesystem where the endpoint data is available to the container.  
*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)

`ProbabilityAttribute`  <a name="cfn-sagemaker-modelqualityjobdefinition-endpointinput-probabilityattribute"></a>
In a classification problem, the attribute that represents the class probability.  
*Required*: No  
*Type*: String  
*Maximum*: `256`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`ProbabilityThresholdAttribute`  <a name="cfn-sagemaker-modelqualityjobdefinition-endpointinput-probabilitythresholdattribute"></a>
The threshold for the class probability to be evaluated as a positive result.  
*Required*: No  
*Type*: Number  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`S3DataDistributionType`  <a name="cfn-sagemaker-modelqualityjobdefinition-endpointinput-s3datadistributiontype"></a>
Whether input data distributed in Amazon S3 is fully replicated or sharded by an Amazon S3 key. Defaults to `FullyReplicated`  
*Required*: No  
*Type*: String  
*Allowed values*: `FullyReplicated | ShardedByS3Key`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`S3InputMode`  <a name="cfn-sagemaker-modelqualityjobdefinition-endpointinput-s3inputmode"></a>
Whether the `Pipe` or `File` is used as the input mode for transferring data for the monitoring job. `Pipe` mode is recommended for large datasets. `File` mode is useful for small files that fit in memory. Defaults to `File`.  
*Required*: No  
*Type*: String  
*Allowed values*: `Pipe | File`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`StartTimeOffset`  <a name="cfn-sagemaker-modelqualityjobdefinition-endpointinput-starttimeoffset"></a>
If specified, monitoring jobs substract this time from the start time. For information about using offsets for scheduling monitoring jobs, see [Schedule Model Quality Monitoring Jobs](https://docs.aws.amazon.com/sagemaker/latest/dg/model-monitor-model-quality-schedule.html).  
*Required*: No  
*Type*: String  
*Pattern*: `^.?P.*`  
*Minimum*: `1`  
*Maximum*: `15`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::SageMaker::ModelQualityJobDefinition Json
<a name="aws-properties-sagemaker-modelqualityjobdefinition-json"></a>

The JSON dataset format configuration.

## Syntax
<a name="aws-properties-sagemaker-modelqualityjobdefinition-json-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-modelqualityjobdefinition-json-syntax.json"></a>

```
{
  "[Line](#cfn-sagemaker-modelqualityjobdefinition-json-line)" : Boolean
}
```

### YAML
<a name="aws-properties-sagemaker-modelqualityjobdefinition-json-syntax.yaml"></a>

```
  [Line](#cfn-sagemaker-modelqualityjobdefinition-json-line): Boolean
```

## Properties
<a name="aws-properties-sagemaker-modelqualityjobdefinition-json-properties"></a>

`Line`  <a name="cfn-sagemaker-modelqualityjobdefinition-json-line"></a>
Indicates whether the JSON data is in line-delimited format.  
*Required*: No  
*Type*: Boolean  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::SageMaker::ModelQualityJobDefinition ModelQualityAppSpecification
<a name="aws-properties-sagemaker-modelqualityjobdefinition-modelqualityappspecification"></a>

Container image configuration object for the monitoring job.

## Syntax
<a name="aws-properties-sagemaker-modelqualityjobdefinition-modelqualityappspecification-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-modelqualityjobdefinition-modelqualityappspecification-syntax.json"></a>

```
{
  "[ContainerArguments](#cfn-sagemaker-modelqualityjobdefinition-modelqualityappspecification-containerarguments)" : [ String, ... ],
  "[ContainerEntrypoint](#cfn-sagemaker-modelqualityjobdefinition-modelqualityappspecification-containerentrypoint)" : [ String, ... ],
  "[Environment](#cfn-sagemaker-modelqualityjobdefinition-modelqualityappspecification-environment)" : {Key: Value, ...},
  "[ImageUri](#cfn-sagemaker-modelqualityjobdefinition-modelqualityappspecification-imageuri)" : String,
  "[PostAnalyticsProcessorSourceUri](#cfn-sagemaker-modelqualityjobdefinition-modelqualityappspecification-postanalyticsprocessorsourceuri)" : String,
  "[ProblemType](#cfn-sagemaker-modelqualityjobdefinition-modelqualityappspecification-problemtype)" : String,
  "[RecordPreprocessorSourceUri](#cfn-sagemaker-modelqualityjobdefinition-modelqualityappspecification-recordpreprocessorsourceuri)" : String
}
```

### YAML
<a name="aws-properties-sagemaker-modelqualityjobdefinition-modelqualityappspecification-syntax.yaml"></a>

```
  [ContainerArguments](#cfn-sagemaker-modelqualityjobdefinition-modelqualityappspecification-containerarguments): 
    - String
  [ContainerEntrypoint](#cfn-sagemaker-modelqualityjobdefinition-modelqualityappspecification-containerentrypoint): 
    - String
  [Environment](#cfn-sagemaker-modelqualityjobdefinition-modelqualityappspecification-environment): 
    Key: Value
  [ImageUri](#cfn-sagemaker-modelqualityjobdefinition-modelqualityappspecification-imageuri): String
  [PostAnalyticsProcessorSourceUri](#cfn-sagemaker-modelqualityjobdefinition-modelqualityappspecification-postanalyticsprocessorsourceuri): String
  [ProblemType](#cfn-sagemaker-modelqualityjobdefinition-modelqualityappspecification-problemtype): String
  [RecordPreprocessorSourceUri](#cfn-sagemaker-modelqualityjobdefinition-modelqualityappspecification-recordpreprocessorsourceuri): String
```

## Properties
<a name="aws-properties-sagemaker-modelqualityjobdefinition-modelqualityappspecification-properties"></a>

`ContainerArguments`  <a name="cfn-sagemaker-modelqualityjobdefinition-modelqualityappspecification-containerarguments"></a>
An array of arguments for the container used to run the monitoring job.  
*Required*: No  
*Type*: Array of String  
*Minimum*: `1`  
*Maximum*: `256 | 50`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`ContainerEntrypoint`  <a name="cfn-sagemaker-modelqualityjobdefinition-modelqualityappspecification-containerentrypoint"></a>
Specifies the entrypoint for a container that the monitoring job runs.  
*Required*: No  
*Type*: Array of String  
*Minimum*: `1`  
*Maximum*: `256 | 100`  
*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-modelqualityjobdefinition-modelqualityappspecification-environment"></a>
Sets the environment variables in the container that the monitoring job runs.  
*Required*: No  
*Type*: Object of String  
*Pattern*: `[a-zA-Z_][a-zA-Z0-9_]*`  
*Minimum*: `1`  
*Maximum*: `256`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`ImageUri`  <a name="cfn-sagemaker-modelqualityjobdefinition-modelqualityappspecification-imageuri"></a>
The address of the container image that the monitoring job runs.  
*Required*: Yes  
*Type*: String  
*Pattern*: `.*`  
*Maximum*: `255`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`PostAnalyticsProcessorSourceUri`  <a name="cfn-sagemaker-modelqualityjobdefinition-modelqualityappspecification-postanalyticsprocessorsourceuri"></a>
An Amazon S3 URI to a script that is called after analysis has been performed. Applicable only for the built-in (first party) containers.  
*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)

`ProblemType`  <a name="cfn-sagemaker-modelqualityjobdefinition-modelqualityappspecification-problemtype"></a>
The machine learning problem type of the model that the monitoring job monitors.  
*Required*: Yes  
*Type*: String  
*Allowed values*: `BinaryClassification | MulticlassClassification | Regression`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`RecordPreprocessorSourceUri`  <a name="cfn-sagemaker-modelqualityjobdefinition-modelqualityappspecification-recordpreprocessorsourceuri"></a>
An Amazon S3 URI to a script that is called per row prior to running analysis. It can base64 decode the payload and convert it into a flattened JSON so that the built-in container can use the converted data. Applicable only for the built-in (first party) containers.  
*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::ModelQualityJobDefinition ModelQualityBaselineConfig
<a name="aws-properties-sagemaker-modelqualityjobdefinition-modelqualitybaselineconfig"></a>

Configuration for monitoring constraints and monitoring statistics. These baseline resources are compared against the results of the current job from the series of jobs scheduled to collect data periodically.

## Syntax
<a name="aws-properties-sagemaker-modelqualityjobdefinition-modelqualitybaselineconfig-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-modelqualityjobdefinition-modelqualitybaselineconfig-syntax.json"></a>

```
{
  "[BaseliningJobName](#cfn-sagemaker-modelqualityjobdefinition-modelqualitybaselineconfig-baseliningjobname)" : String,
  "[ConstraintsResource](#cfn-sagemaker-modelqualityjobdefinition-modelqualitybaselineconfig-constraintsresource)" : ConstraintsResource
}
```

### YAML
<a name="aws-properties-sagemaker-modelqualityjobdefinition-modelqualitybaselineconfig-syntax.yaml"></a>

```
  [BaseliningJobName](#cfn-sagemaker-modelqualityjobdefinition-modelqualitybaselineconfig-baseliningjobname): String
  [ConstraintsResource](#cfn-sagemaker-modelqualityjobdefinition-modelqualitybaselineconfig-constraintsresource): 
    ConstraintsResource
```

## Properties
<a name="aws-properties-sagemaker-modelqualityjobdefinition-modelqualitybaselineconfig-properties"></a>

`BaseliningJobName`  <a name="cfn-sagemaker-modelqualityjobdefinition-modelqualitybaselineconfig-baseliningjobname"></a>
The name of the job that performs baselining for the monitoring job.  
*Required*: No  
*Type*: String  
*Pattern*: `^[a-zA-Z0-9](-*[a-zA-Z0-9])*$`  
*Minimum*: `1`  
*Maximum*: `63`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`ConstraintsResource`  <a name="cfn-sagemaker-modelqualityjobdefinition-modelqualitybaselineconfig-constraintsresource"></a>
The constraints resource for a monitoring job.  
*Required*: No  
*Type*: [ConstraintsResource](aws-properties-sagemaker-modelqualityjobdefinition-constraintsresource.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::SageMaker::ModelQualityJobDefinition ModelQualityJobInput
<a name="aws-properties-sagemaker-modelqualityjobdefinition-modelqualityjobinput"></a>

The input for the model quality monitoring job. Currently endpoints are supported for input for model quality monitoring jobs.

## Syntax
<a name="aws-properties-sagemaker-modelqualityjobdefinition-modelqualityjobinput-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-modelqualityjobdefinition-modelqualityjobinput-syntax.json"></a>

```
{
  "[BatchTransformInput](#cfn-sagemaker-modelqualityjobdefinition-modelqualityjobinput-batchtransforminput)" : BatchTransformInput,
  "[EndpointInput](#cfn-sagemaker-modelqualityjobdefinition-modelqualityjobinput-endpointinput)" : EndpointInput,
  "[GroundTruthS3Input](#cfn-sagemaker-modelqualityjobdefinition-modelqualityjobinput-groundtruths3input)" : MonitoringGroundTruthS3Input
}
```

### YAML
<a name="aws-properties-sagemaker-modelqualityjobdefinition-modelqualityjobinput-syntax.yaml"></a>

```
  [BatchTransformInput](#cfn-sagemaker-modelqualityjobdefinition-modelqualityjobinput-batchtransforminput): 
    BatchTransformInput
  [EndpointInput](#cfn-sagemaker-modelqualityjobdefinition-modelqualityjobinput-endpointinput): 
    EndpointInput
  [GroundTruthS3Input](#cfn-sagemaker-modelqualityjobdefinition-modelqualityjobinput-groundtruths3input): 
    MonitoringGroundTruthS3Input
```

## Properties
<a name="aws-properties-sagemaker-modelqualityjobdefinition-modelqualityjobinput-properties"></a>

`BatchTransformInput`  <a name="cfn-sagemaker-modelqualityjobdefinition-modelqualityjobinput-batchtransforminput"></a>
Input object for the batch transform job.  
*Required*: No  
*Type*: [BatchTransformInput](aws-properties-sagemaker-modelqualityjobdefinition-batchtransforminput.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`EndpointInput`  <a name="cfn-sagemaker-modelqualityjobdefinition-modelqualityjobinput-endpointinput"></a>
Input object for the endpoint  
*Required*: No  
*Type*: [EndpointInput](aws-properties-sagemaker-modelqualityjobdefinition-endpointinput.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`GroundTruthS3Input`  <a name="cfn-sagemaker-modelqualityjobdefinition-modelqualityjobinput-groundtruths3input"></a>
The ground truth label provided for the model.  
*Required*: Yes  
*Type*: [MonitoringGroundTruthS3Input](aws-properties-sagemaker-modelqualityjobdefinition-monitoringgroundtruths3input.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::SageMaker::ModelQualityJobDefinition MonitoringGroundTruthS3Input
<a name="aws-properties-sagemaker-modelqualityjobdefinition-monitoringgroundtruths3input"></a>

The ground truth labels for the dataset used for the monitoring job.

## Syntax
<a name="aws-properties-sagemaker-modelqualityjobdefinition-monitoringgroundtruths3input-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-modelqualityjobdefinition-monitoringgroundtruths3input-syntax.json"></a>

```
{
  "[S3Uri](#cfn-sagemaker-modelqualityjobdefinition-monitoringgroundtruths3input-s3uri)" : String
}
```

### YAML
<a name="aws-properties-sagemaker-modelqualityjobdefinition-monitoringgroundtruths3input-syntax.yaml"></a>

```
  [S3Uri](#cfn-sagemaker-modelqualityjobdefinition-monitoringgroundtruths3input-s3uri): String
```

## Properties
<a name="aws-properties-sagemaker-modelqualityjobdefinition-monitoringgroundtruths3input-properties"></a>

`S3Uri`  <a name="cfn-sagemaker-modelqualityjobdefinition-monitoringgroundtruths3input-s3uri"></a>
The address of the Amazon S3 location of the ground truth labels.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^(https|s3)://([^/]+)/?(.*)$`  
*Maximum*: `512`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::SageMaker::ModelQualityJobDefinition MonitoringOutput
<a name="aws-properties-sagemaker-modelqualityjobdefinition-monitoringoutput"></a>

The output object for a monitoring job.

## Syntax
<a name="aws-properties-sagemaker-modelqualityjobdefinition-monitoringoutput-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-modelqualityjobdefinition-monitoringoutput-syntax.json"></a>

```
{
  "[S3Output](#cfn-sagemaker-modelqualityjobdefinition-monitoringoutput-s3output)" : S3Output
}
```

### YAML
<a name="aws-properties-sagemaker-modelqualityjobdefinition-monitoringoutput-syntax.yaml"></a>

```
  [S3Output](#cfn-sagemaker-modelqualityjobdefinition-monitoringoutput-s3output): 
    S3Output
```

## Properties
<a name="aws-properties-sagemaker-modelqualityjobdefinition-monitoringoutput-properties"></a>

`S3Output`  <a name="cfn-sagemaker-modelqualityjobdefinition-monitoringoutput-s3output"></a>
The Amazon S3 storage location where the results of a monitoring job are saved.  
*Required*: Yes  
*Type*: [S3Output](aws-properties-sagemaker-modelqualityjobdefinition-s3output.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::SageMaker::ModelQualityJobDefinition MonitoringOutputConfig
<a name="aws-properties-sagemaker-modelqualityjobdefinition-monitoringoutputconfig"></a>

The output configuration for monitoring jobs.

## Syntax
<a name="aws-properties-sagemaker-modelqualityjobdefinition-monitoringoutputconfig-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-modelqualityjobdefinition-monitoringoutputconfig-syntax.json"></a>

```
{
  "[KmsKeyId](#cfn-sagemaker-modelqualityjobdefinition-monitoringoutputconfig-kmskeyid)" : String,
  "[MonitoringOutputs](#cfn-sagemaker-modelqualityjobdefinition-monitoringoutputconfig-monitoringoutputs)" : [ MonitoringOutput, ... ]
}
```

### YAML
<a name="aws-properties-sagemaker-modelqualityjobdefinition-monitoringoutputconfig-syntax.yaml"></a>

```
  [KmsKeyId](#cfn-sagemaker-modelqualityjobdefinition-monitoringoutputconfig-kmskeyid): String
  [MonitoringOutputs](#cfn-sagemaker-modelqualityjobdefinition-monitoringoutputconfig-monitoringoutputs): 
    - MonitoringOutput
```

## Properties
<a name="aws-properties-sagemaker-modelqualityjobdefinition-monitoringoutputconfig-properties"></a>

`KmsKeyId`  <a name="cfn-sagemaker-modelqualityjobdefinition-monitoringoutputconfig-kmskeyid"></a>
The AWS Key Management Service (AWS KMS) key that Amazon SageMaker AI uses to encrypt the model artifacts at rest using Amazon S3 server-side encryption.  
*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)

`MonitoringOutputs`  <a name="cfn-sagemaker-modelqualityjobdefinition-monitoringoutputconfig-monitoringoutputs"></a>
Monitoring outputs for monitoring jobs. This is where the output of the periodic monitoring jobs is uploaded.  
*Required*: Yes  
*Type*: Array of [MonitoringOutput](aws-properties-sagemaker-modelqualityjobdefinition-monitoringoutput.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::ModelQualityJobDefinition MonitoringResources
<a name="aws-properties-sagemaker-modelqualityjobdefinition-monitoringresources"></a>

Identifies the resources to deploy for a monitoring job.

## Syntax
<a name="aws-properties-sagemaker-modelqualityjobdefinition-monitoringresources-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-modelqualityjobdefinition-monitoringresources-syntax.json"></a>

```
{
  "[ClusterConfig](#cfn-sagemaker-modelqualityjobdefinition-monitoringresources-clusterconfig)" : ClusterConfig
}
```

### YAML
<a name="aws-properties-sagemaker-modelqualityjobdefinition-monitoringresources-syntax.yaml"></a>

```
  [ClusterConfig](#cfn-sagemaker-modelqualityjobdefinition-monitoringresources-clusterconfig): 
    ClusterConfig
```

## Properties
<a name="aws-properties-sagemaker-modelqualityjobdefinition-monitoringresources-properties"></a>

`ClusterConfig`  <a name="cfn-sagemaker-modelqualityjobdefinition-monitoringresources-clusterconfig"></a>
The configuration for the cluster resources used to run the processing job.  
*Required*: Yes  
*Type*: [ClusterConfig](aws-properties-sagemaker-modelqualityjobdefinition-clusterconfig.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::SageMaker::ModelQualityJobDefinition NetworkConfig
<a name="aws-properties-sagemaker-modelqualityjobdefinition-networkconfig"></a>

Networking options for a job, such as network traffic encryption between containers, whether to allow inbound and outbound network calls to and from containers, and the VPC subnets and security groups to use for VPC-enabled jobs.

## Syntax
<a name="aws-properties-sagemaker-modelqualityjobdefinition-networkconfig-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-modelqualityjobdefinition-networkconfig-syntax.json"></a>

```
{
  "[EnableInterContainerTrafficEncryption](#cfn-sagemaker-modelqualityjobdefinition-networkconfig-enableintercontainertrafficencryption)" : Boolean,
  "[EnableNetworkIsolation](#cfn-sagemaker-modelqualityjobdefinition-networkconfig-enablenetworkisolation)" : Boolean,
  "[VpcConfig](#cfn-sagemaker-modelqualityjobdefinition-networkconfig-vpcconfig)" : VpcConfig
}
```

### YAML
<a name="aws-properties-sagemaker-modelqualityjobdefinition-networkconfig-syntax.yaml"></a>

```
  [EnableInterContainerTrafficEncryption](#cfn-sagemaker-modelqualityjobdefinition-networkconfig-enableintercontainertrafficencryption): Boolean
  [EnableNetworkIsolation](#cfn-sagemaker-modelqualityjobdefinition-networkconfig-enablenetworkisolation): Boolean
  [VpcConfig](#cfn-sagemaker-modelqualityjobdefinition-networkconfig-vpcconfig): 
    VpcConfig
```

## Properties
<a name="aws-properties-sagemaker-modelqualityjobdefinition-networkconfig-properties"></a>

`EnableInterContainerTrafficEncryption`  <a name="cfn-sagemaker-modelqualityjobdefinition-networkconfig-enableintercontainertrafficencryption"></a>
Whether to encrypt all communications between distributed processing jobs. Choose `True` to encrypt communications. Encryption provides greater security for distributed processing jobs, but the processing might take longer.  
*Required*: No  
*Type*: Boolean  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`EnableNetworkIsolation`  <a name="cfn-sagemaker-modelqualityjobdefinition-networkconfig-enablenetworkisolation"></a>
Whether to allow inbound and outbound network calls to and from the containers used for the processing job.  
*Required*: No  
*Type*: Boolean  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`VpcConfig`  <a name="cfn-sagemaker-modelqualityjobdefinition-networkconfig-vpcconfig"></a>
Specifies a VPC that your training jobs and hosted models have access to. Control access to and from your training and model containers by configuring the VPC.  
*Required*: No  
*Type*: [VpcConfig](aws-properties-sagemaker-modelqualityjobdefinition-vpcconfig.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::SageMaker::ModelQualityJobDefinition S3Output
<a name="aws-properties-sagemaker-modelqualityjobdefinition-s3output"></a>

The Amazon S3 storage location where the results of a monitoring job are saved.

## Syntax
<a name="aws-properties-sagemaker-modelqualityjobdefinition-s3output-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-modelqualityjobdefinition-s3output-syntax.json"></a>

```
{
  "[LocalPath](#cfn-sagemaker-modelqualityjobdefinition-s3output-localpath)" : String,
  "[S3UploadMode](#cfn-sagemaker-modelqualityjobdefinition-s3output-s3uploadmode)" : String,
  "[S3Uri](#cfn-sagemaker-modelqualityjobdefinition-s3output-s3uri)" : String
}
```

### YAML
<a name="aws-properties-sagemaker-modelqualityjobdefinition-s3output-syntax.yaml"></a>

```
  [LocalPath](#cfn-sagemaker-modelqualityjobdefinition-s3output-localpath): String
  [S3UploadMode](#cfn-sagemaker-modelqualityjobdefinition-s3output-s3uploadmode): String
  [S3Uri](#cfn-sagemaker-modelqualityjobdefinition-s3output-s3uri): String
```

## Properties
<a name="aws-properties-sagemaker-modelqualityjobdefinition-s3output-properties"></a>

`LocalPath`  <a name="cfn-sagemaker-modelqualityjobdefinition-s3output-localpath"></a>
The local path to the Amazon S3 storage location where Amazon SageMaker saves the results of a monitoring job. LocalPath is an absolute path for the output data.  
*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)

`S3UploadMode`  <a name="cfn-sagemaker-modelqualityjobdefinition-s3output-s3uploadmode"></a>
Whether to upload the results of the monitoring job continuously or after the job completes.  
*Required*: No  
*Type*: String  
*Allowed values*: `Continuous | EndOfJob`  
*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-modelqualityjobdefinition-s3output-s3uri"></a>
A URI that identifies the Amazon S3 storage location where Amazon SageMaker saves the results of a monitoring job.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^(https|s3)://([^/]+)/?(.*)$`  
*Maximum*: `512`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::SageMaker::ModelQualityJobDefinition StoppingCondition
<a name="aws-properties-sagemaker-modelqualityjobdefinition-stoppingcondition"></a>

Specifies a limit to how long a job can run. When the job reaches the time limit, SageMaker ends the job. Use this API to cap costs.

To stop a training job, SageMaker sends the algorithm the `SIGTERM` signal, which delays job termination for 120 seconds. Algorithms can use this 120-second window to save the model artifacts, so the results of training are not lost. 

The training algorithms provided by SageMaker automatically save the intermediate results of a model training job when possible. This attempt to save artifacts is only a best effort case as model might not be in a state from which it can be saved. For example, if training has just started, the model might not be ready to save. When saved, this intermediate data is a valid model artifact. You can use it to create a model with `CreateModel`.

**Note**  
The Neural Topic Model (NTM) currently does not support saving intermediate model artifacts. When training NTMs, make sure that the maximum runtime is sufficient for the training job to complete.

## Syntax
<a name="aws-properties-sagemaker-modelqualityjobdefinition-stoppingcondition-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-modelqualityjobdefinition-stoppingcondition-syntax.json"></a>

```
{
  "[MaxRuntimeInSeconds](#cfn-sagemaker-modelqualityjobdefinition-stoppingcondition-maxruntimeinseconds)" : Integer
}
```

### YAML
<a name="aws-properties-sagemaker-modelqualityjobdefinition-stoppingcondition-syntax.yaml"></a>

```
  [MaxRuntimeInSeconds](#cfn-sagemaker-modelqualityjobdefinition-stoppingcondition-maxruntimeinseconds): Integer
```

## Properties
<a name="aws-properties-sagemaker-modelqualityjobdefinition-stoppingcondition-properties"></a>

`MaxRuntimeInSeconds`  <a name="cfn-sagemaker-modelqualityjobdefinition-stoppingcondition-maxruntimeinseconds"></a>
The maximum length of time, in seconds, that a training or compilation job can run before it is stopped.  
For compilation jobs, if the job does not complete during this time, a `TimeOut` error is generated. We recommend starting with 900 seconds and increasing as necessary based on your model.  
For all other jobs, if the job does not complete during this time, SageMaker ends the job. When `RetryStrategy` is specified in the job request, `MaxRuntimeInSeconds` specifies the maximum time for all of the attempts in total, not each individual attempt. The default value is 1 day. The maximum value is 28 days.  
The maximum time that a `TrainingJob` can run in total, including any time spent publishing metrics or archiving and uploading models after it has been stopped, is 30 days.  
*Required*: Yes  
*Type*: Integer  
*Minimum*: `1`  
*Maximum*: `86400`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::SageMaker::ModelQualityJobDefinition Tag
<a name="aws-properties-sagemaker-modelqualityjobdefinition-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-modelqualityjobdefinition-tag-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-modelqualityjobdefinition-tag-syntax.json"></a>

```
{
  "[Key](#cfn-sagemaker-modelqualityjobdefinition-tag-key)" : String,
  "[Value](#cfn-sagemaker-modelqualityjobdefinition-tag-value)" : String
}
```

### YAML
<a name="aws-properties-sagemaker-modelqualityjobdefinition-tag-syntax.yaml"></a>

```
  [Key](#cfn-sagemaker-modelqualityjobdefinition-tag-key): String
  [Value](#cfn-sagemaker-modelqualityjobdefinition-tag-value): String
```

## Properties
<a name="aws-properties-sagemaker-modelqualityjobdefinition-tag-properties"></a>

`Key`  <a name="cfn-sagemaker-modelqualityjobdefinition-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*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`Value`  <a name="cfn-sagemaker-modelqualityjobdefinition-tag-value"></a>
The tag value.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^([\p{L}\p{Z}\p{N}_.:/=+\-@]*)$`  
*Maximum*: `256`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::SageMaker::ModelQualityJobDefinition VpcConfig
<a name="aws-properties-sagemaker-modelqualityjobdefinition-vpcconfig"></a>

Specifies an Amazon Virtual Private Cloud (VPC) that your SageMaker jobs, hosted models, and compute resources have access to. You can control access to and from your resources by configuring a VPC. For more information, see [Give SageMaker Access to Resources in your Amazon VPC](https://docs.aws.amazon.com/sagemaker/latest/dg/infrastructure-give-access.html). 

## Syntax
<a name="aws-properties-sagemaker-modelqualityjobdefinition-vpcconfig-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-modelqualityjobdefinition-vpcconfig-syntax.json"></a>

```
{
  "[SecurityGroupIds](#cfn-sagemaker-modelqualityjobdefinition-vpcconfig-securitygroupids)" : [ String, ... ],
  "[Subnets](#cfn-sagemaker-modelqualityjobdefinition-vpcconfig-subnets)" : [ String, ... ]
}
```

### YAML
<a name="aws-properties-sagemaker-modelqualityjobdefinition-vpcconfig-syntax.yaml"></a>

```
  [SecurityGroupIds](#cfn-sagemaker-modelqualityjobdefinition-vpcconfig-securitygroupids): 
    - String
  [Subnets](#cfn-sagemaker-modelqualityjobdefinition-vpcconfig-subnets): 
    - String
```

## Properties
<a name="aws-properties-sagemaker-modelqualityjobdefinition-vpcconfig-properties"></a>

`SecurityGroupIds`  <a name="cfn-sagemaker-modelqualityjobdefinition-vpcconfig-securitygroupids"></a>
The VPC security group IDs, in the form `sg-xxxxxxxx`. Specify the security groups for the VPC that is specified in the `Subnets` field.  
*Required*: Yes  
*Type*: Array of String  
*Minimum*: `1`  
*Maximum*: `32 | 5`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`Subnets`  <a name="cfn-sagemaker-modelqualityjobdefinition-vpcconfig-subnets"></a>
The ID of the subnets in the VPC to which you want to connect your training job or model. For information about the availability of specific instance types, see [Supported Instance Types and Availability Zones](https://docs.aws.amazon.com/sagemaker/latest/dg/instance-types-az.html).  
*Required*: Yes  
*Type*: Array of String  
*Minimum*: `1`  
*Maximum*: `32 | 16`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::SageMaker::MonitoringSchedule
<a name="aws-resource-sagemaker-monitoringschedule"></a>

The `AWS::SageMaker::MonitoringSchedule` resource is an Amazon SageMaker resource type that regularly starts SageMaker processing Jobs to monitor the data captured for a SageMaker endpoint.

## Syntax
<a name="aws-resource-sagemaker-monitoringschedule-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-resource-sagemaker-monitoringschedule-syntax.json"></a>

```
{
  "Type" : "AWS::SageMaker::MonitoringSchedule",
  "Properties" : {
      "[EndpointName](#cfn-sagemaker-monitoringschedule-endpointname)" : String,
      "[FailureReason](#cfn-sagemaker-monitoringschedule-failurereason)" : String,
      "[LastMonitoringExecutionSummary](#cfn-sagemaker-monitoringschedule-lastmonitoringexecutionsummary)" : MonitoringExecutionSummary,
      "[MonitoringScheduleConfig](#cfn-sagemaker-monitoringschedule-monitoringscheduleconfig)" : MonitoringScheduleConfig,
      "[MonitoringScheduleName](#cfn-sagemaker-monitoringschedule-monitoringschedulename)" : String,
      "[MonitoringScheduleStatus](#cfn-sagemaker-monitoringschedule-monitoringschedulestatus)" : String,
      "[Tags](#cfn-sagemaker-monitoringschedule-tags)" : [ Tag, ... ]
    }
}
```

### YAML
<a name="aws-resource-sagemaker-monitoringschedule-syntax.yaml"></a>

```
Type: AWS::SageMaker::MonitoringSchedule
Properties:
  [EndpointName](#cfn-sagemaker-monitoringschedule-endpointname): String
  [FailureReason](#cfn-sagemaker-monitoringschedule-failurereason): String
  [LastMonitoringExecutionSummary](#cfn-sagemaker-monitoringschedule-lastmonitoringexecutionsummary): 
    MonitoringExecutionSummary
  [MonitoringScheduleConfig](#cfn-sagemaker-monitoringschedule-monitoringscheduleconfig): 
    MonitoringScheduleConfig
  [MonitoringScheduleName](#cfn-sagemaker-monitoringschedule-monitoringschedulename): String
  [MonitoringScheduleStatus](#cfn-sagemaker-monitoringschedule-monitoringschedulestatus): String
  [Tags](#cfn-sagemaker-monitoringschedule-tags): 
    - Tag
```

## Properties
<a name="aws-resource-sagemaker-monitoringschedule-properties"></a>

`EndpointName`  <a name="cfn-sagemaker-monitoringschedule-endpointname"></a>
The name of the endpoint using the monitoring schedule.  
*Required*: No  
*Type*: String  
*Pattern*: `^[a-zA-Z0-9](-*[a-zA-Z0-9])*`  
*Maximum*: `63`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`FailureReason`  <a name="cfn-sagemaker-monitoringschedule-failurereason"></a>
Contains the reason a monitoring job failed, if it failed.  
*Required*: No  
*Type*: String  
*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)

`LastMonitoringExecutionSummary`  <a name="cfn-sagemaker-monitoringschedule-lastmonitoringexecutionsummary"></a>
Describes metadata on the last execution to run, if there was one.  
*Required*: No  
*Type*: [MonitoringExecutionSummary](aws-properties-sagemaker-monitoringschedule-monitoringexecutionsummary.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`MonitoringScheduleConfig`  <a name="cfn-sagemaker-monitoringschedule-monitoringscheduleconfig"></a>
The configuration object that specifies the monitoring schedule and defines the monitoring job.  
*Required*: Yes  
*Type*: [MonitoringScheduleConfig](aws-properties-sagemaker-monitoringschedule-monitoringscheduleconfig.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`MonitoringScheduleName`  <a name="cfn-sagemaker-monitoringschedule-monitoringschedulename"></a>
The name of the monitoring schedule.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^[a-zA-Z0-9](-*[a-zA-Z0-9])*$`  
*Maximum*: `63`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`MonitoringScheduleStatus`  <a name="cfn-sagemaker-monitoringschedule-monitoringschedulestatus"></a>
The status of the monitoring schedule.  
*Required*: No  
*Type*: String  
*Allowed values*: `Pending | Failed | Scheduled | Stopped`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Tags`  <a name="cfn-sagemaker-monitoringschedule-tags"></a>
An array of key-value pairs to apply to this resource.  
For more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html).  
*Required*: No  
*Type*: Array of [Tag](aws-properties-sagemaker-monitoringschedule-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)

## Return values
<a name="aws-resource-sagemaker-monitoringschedule-return-values"></a>

### Ref
<a name="aws-resource-sagemaker-monitoringschedule-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 monitoring schedule.

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-monitoringschedule-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-monitoringschedule-return-values-fn--getatt-fn--getatt"></a>

`CreationTime`  <a name="CreationTime-fn::getatt"></a>
The time when the monitoring schedule was created.

`LastModifiedTime`  <a name="LastModifiedTime-fn::getatt"></a>
The last time that the monitoring schedule was modified.

`MonitoringScheduleArn`  <a name="MonitoringScheduleArn-fn::getatt"></a>
The Amazon Resource Name (ARN) of the monitoring schedule.

## Examples
<a name="aws-resource-sagemaker-monitoringschedule--examples"></a>

### SageMaker MonitoringSchedule Example
<a name="aws-resource-sagemaker-monitoringschedule--examples--SageMaker_MonitoringSchedule_Example"></a>

The following example creates a monitoring schedule for a SageMaker endpoint.

#### JSON
<a name="aws-resource-sagemaker-monitoringschedule--examples--SageMaker_MonitoringSchedule_Example--json"></a>

```
{
   "AWSTemplateFormatVersion": "2010-09-09",
   "Description": "Basic SageMaker Hosting entities to create a monitoring schedule",
   "Mappings": {
      "RegionMap": {
         "us-west-2": {
            "NullTransformer": "123456789012.dkr.ecr.us-west-2.amazonaws.com/mymodel:latest"
         },
         "us-east-2": {
            "NullTransformer": "123456789012.dkr.ecr.us-east-2.amazonaws.com/mymodel:latest"
         },
         "us-east-1": {
            "NullTransformer": "123456789012.dkr.ecr.us-east-1.amazonaws.com/mymodel:latest"
         },
         "eu-west-1": {
            "NullTransformer": "123456789012.dkr.ecr.eu-west-1.amazonaws.com/mymodel:latest"
         },
         "ap-northeast-1": {
            "NullTransformer": "123456789012.dkr.ecr.ap-northeast-1.amazonaws.com/mymodel:latest"
         },
         "ap-northeast-2": {
            "NullTransformer": "123456789012.dkr.ecr.ap-northeast-2.amazonaws.com/mymodel:latest"
         },
         "ap-southeast-2": {
            "NullTransformer": "123456789012.dkr.ecr.ap-southeast-2.amazonaws.com/mymodel:latest"
         },
         "eu-central-1": {
            "NullTransformer": "123456789012.dkr.ecr.eu-central-1.amazonaws.com/mymodel:latest"
         }
      }
   },
   "Resources": {
      "Endpoint": {
         "Type": "AWS::SageMaker::Endpoint",
         "Properties": {
            "EndpointConfigName": null
         }
      },
      "EndpointConfig": {
         "Type": "AWS::SageMaker::EndpointConfig",
         "Properties": {
            "ProductionVariants": [
               {
                  "InitialInstanceCount": 1,
                  "InitialVariantWeight": 1,
                  "InstanceType": "ml.t2.large",
                  "ModelName": null,
                  "VariantName": null
               }
            ]
         }
      },
      "Model": {
         "Type": "AWS::SageMaker::Model",
         "Properties": {
            "PrimaryContainer": {
               "Image": null
            },
            "ExecutionRoleArn": null
         }
      },
      "ExecutionRole": {
         "Type": "AWS::IAM::Role",
         "Properties": {
            "AssumeRolePolicyDocument": {
               "Version": "2012-10-17"		 	 	 ,
               "Statement": [
                  {
                     "Effect": "Allow",
                     "Principal": {
                        "Service": [
                           "sagemaker.amazonaws.com"
                        ]
                     },
                     "Action": [
                        "sts:AssumeRole"
                     ]
                  }
               ]
            },
            "Path": "/",
            "Policies": [
               {
                  "PolicyName": "root",
                  "PolicyDocument": {
                     "Version": "2012-10-17"		 	 	 ,
                     "Statement": [
                        {
                           "Effect": "Allow",
                           "Action": "*",
                           "Resource": "*"
                        }
                     ]
                  }
               }
            ]
         }
      },
      "MonitoringScheduleExecutionRole": {
         "Type": "AWS::IAM::Role",
         "Properties": {
            "AssumeRolePolicyDocument": {
               "Version": "2012-10-17"		 	 	 ,
               "Statement": [
                  {
                     "Effect": "Allow",
                     "Principal": {
                        "Service": [
                           "sagemaker.amazonaws.com"
                        ]
                     },
                     "Action": [
                        "sts:AssumeRole"
                     ]
                  }
               ]
            },
            "ManagedPolicyArns": [
               {
                  "Fn::Sub": "arn:${AWS::Partition}:iam::aws:policy/AmazonSageMakerFullAccess"
               },
               {
                  "Fn::Sub": "arn:${AWS::Partition}:iam::aws:policy/AmazonS3FullAccess"
               },
               {
                  "Fn::Sub": "arn:${AWS::Partition}:iam::aws:policy/AmazonEC2ContainerRegistryReadOnly"
               }
            ]
         }
      },
      "MonitoringSchedule": {
         "Type": "AWS::SageMaker::MonitoringSchedule",
         "Properties": {
            "MonitoringScheduleConfig": {
               "MonitoringJobDefinition": {
                  "MonitoringAppSpecification": {
                     "ImageUri": {
                        "Fn::Sub": "123456789012.dkr.ecr.${AWS::Partition}.amazonaws.com/sagemaker-model-monitor-analyzer:latest"
                     }
                  },
                  "MonitoringInputs": [
                     {
                        "EndpointInput": {
                           "EndpointName": {
                              "Fn::ImportValue": "CanaryEndpointName"
                           },
                           "LocalPath": "/opt/ml/processing/endpointdata"
                        }
                     }
                  ],
                  "MonitoringOutputConfig": {
                     "MonitoringOutputs": [
                        {
                           "S3Output": {
                              "LocalPath": "/opt/ml/processing/localpath",
                              "S3Uri": "s3://endpoint-data-capture/myEndpoint"
                           }
                        }
                     ]
                  },
                  "MonitoringResources": {
                     "ClusterConfig": {
                        "InstanceCount": 1,
                        "InstanceType": "ml.m5.large",
                        "VolumeSizeInGB": 50
                     }
                  },
                  "RoleArn": null
               },
               "ScheduleConfig": {
                  "ScheduleExpression": "cron(0 * ? * * *)"
               }
            },
            "MonitoringScheduleName": "BasicMonitoringSchedule"
         }
      }
   }
}
```

#### YAML
<a name="aws-resource-sagemaker-monitoringschedule--examples--SageMaker_MonitoringSchedule_Example--yaml"></a>

```
---
AWSTemplateFormatVersion: '2010-09-09'
Description: Basic SageMaker Hosting entities to create a monitoring schedule
 
Description: "Basic Hosting entities test.  We need models to create endpoint configs."
Mappings: 
  RegionMap: 
    "us-west-2":
      "NullTransformer": "123456789012.dkr.ecr.us-west-2.amazonaws.com/mymodel:latest"
    "us-east-2":
      "NullTransformer": "123456789012.dkr.ecr.us-east-2.amazonaws.com/mymodel:latest"
    "us-east-1":
      "NullTransformer": "123456789012.dkr.ecr.us-east-1.amazonaws.com/mymodel:latest"
    "eu-west-1":
      "NullTransformer": "123456789012.dkr.ecr.eu-west-1.amazonaws.com/mymodel:latest"
    "ap-northeast-1":
      "NullTransformer": "123456789012.dkr.ecr.ap-northeast-1.amazonaws.com/mymodel:latest"
    "ap-northeast-2":
      "NullTransformer": "123456789012.dkr.ecr.ap-northeast-2.amazonaws.com/mymodel:latest"
    "ap-southeast-2":
      "NullTransformer": "123456789012.dkr.ecr.ap-southeast-2.amazonaws.com/mymodel:latest"
    "eu-central-1":
      "NullTransformer": "123456789012.dkr.ecr.eu-central-1.amazonaws.com/mymodel:latest"
Resources:
  Endpoint:
    Type: "AWS::SageMaker::Endpoint"
    Properties:
      EndpointConfigName:
        !GetAtt EndpointConfig.EndpointConfigName
  EndpointConfig:
    Type: "AWS::SageMaker::EndpointConfig"
    Properties:
      ProductionVariants:
        - InitialInstanceCount: 1
          InitialVariantWeight: 1.0
          InstanceType: ml.t2.large
          ModelName: !GetAtt Model.ModelName
          VariantName: !GetAtt Model.ModelName
  Model:
    Type: "AWS::SageMaker::Model"
    Properties:
      PrimaryContainer:
        Image: !FindInMap [RegionMap, !Ref "AWS::Region", "NullTransformer"]
      ExecutionRoleArn: !GetAtt ExecutionRole.Arn
 
  ExecutionRole: 
    Type: "AWS::IAM::Role"
    Properties: 
      AssumeRolePolicyDocument: 
        Version: "2012-10-17"
        Statement: 
          - 
            Effect: "Allow"
            Principal: 
              Service: 
                - "sagemaker.amazonaws.com"
            Action: 
              - "sts:AssumeRole"
      Path: "/"
      Policies: 
        - 
          PolicyName: "root"
          PolicyDocument: 
            Version: "2012-10-17"
            Statement: 
              - 
                Effect: "Allow"
                Action: "*"
                Resource: "*"
 
  MonitoringScheduleExecutionRole:
    Type: "AWS::IAM::Role"
    Properties:
      AssumeRolePolicyDocument:
        Version: "2012-10-17"
        Statement:
          - Effect: "Allow"
            Principal:
              Service:
                - "sagemaker.amazonaws.com"
            Action:
              - "sts:AssumeRole"
      ManagedPolicyArns:
        - Fn::Sub: "arn:${AWS::Partition}:iam::aws:policy/AmazonSageMakerFullAccess"
        - Fn::Sub: "arn:${AWS::Partition}:iam::aws:policy/AmazonS3FullAccess"
        - Fn::Sub: "arn:${AWS::Partition}:iam::aws:policy/AmazonEC2ContainerRegistryReadOnly"
 
  MonitoringSchedule:
    Type: AWS::SageMaker::MonitoringSchedule
    Properties:
      MonitoringScheduleConfig:
        MonitoringJobDefinition:
          MonitoringAppSpecification:
            ImageUri: 
              Fn::Sub: "123456789012.dkr.ecr.${AWS::Partition}.amazonaws.com/sagemaker-model-monitor-analyzer:latest"
          MonitoringInputs:
            - EndpointInput:
                EndpointName:
                  Fn::ImportValue: CanaryEndpointName
                LocalPath: "/opt/ml/processing/endpointdata"
          MonitoringOutputConfig:
            MonitoringOutputs:
              - S3Output:
                  LocalPath: "/opt/ml/processing/localpath"
                  S3Uri: s3://endpoint-data-capture/myEndpoint
          MonitoringResources:
            ClusterConfig:
              InstanceCount: 1
              InstanceType: ml.m5.large
              VolumeSizeInGB: 50
          RoleArn: !GetAtt MonitoringScheduleExecutionRole.Arn
        ScheduleConfig:
          ScheduleExpression: cron(0 * ? * * *)
      MonitoringScheduleName: BasicMonitoringSchedule
```

# AWS::SageMaker::MonitoringSchedule BaselineConfig
<a name="aws-properties-sagemaker-monitoringschedule-baselineconfig"></a>

Baseline configuration used to validate that the data conforms to the specified constraints and statistics.

## Syntax
<a name="aws-properties-sagemaker-monitoringschedule-baselineconfig-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-monitoringschedule-baselineconfig-syntax.json"></a>

```
{
  "[ConstraintsResource](#cfn-sagemaker-monitoringschedule-baselineconfig-constraintsresource)" : ConstraintsResource,
  "[StatisticsResource](#cfn-sagemaker-monitoringschedule-baselineconfig-statisticsresource)" : StatisticsResource
}
```

### YAML
<a name="aws-properties-sagemaker-monitoringschedule-baselineconfig-syntax.yaml"></a>

```
  [ConstraintsResource](#cfn-sagemaker-monitoringschedule-baselineconfig-constraintsresource): 
    ConstraintsResource
  [StatisticsResource](#cfn-sagemaker-monitoringschedule-baselineconfig-statisticsresource): 
    StatisticsResource
```

## Properties
<a name="aws-properties-sagemaker-monitoringschedule-baselineconfig-properties"></a>

`ConstraintsResource`  <a name="cfn-sagemaker-monitoringschedule-baselineconfig-constraintsresource"></a>
The Amazon S3 URI for the constraints resource.  
*Required*: No  
*Type*: [ConstraintsResource](aws-properties-sagemaker-monitoringschedule-constraintsresource.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`StatisticsResource`  <a name="cfn-sagemaker-monitoringschedule-baselineconfig-statisticsresource"></a>
The baseline statistics file in Amazon S3 that the current monitoring job should be validated against.  
*Required*: No  
*Type*: [StatisticsResource](aws-properties-sagemaker-monitoringschedule-statisticsresource.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::MonitoringSchedule BatchTransformInput
<a name="aws-properties-sagemaker-monitoringschedule-batchtransforminput"></a>

Input object for the batch transform job.

## Syntax
<a name="aws-properties-sagemaker-monitoringschedule-batchtransforminput-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-monitoringschedule-batchtransforminput-syntax.json"></a>

```
{
  "[DataCapturedDestinationS3Uri](#cfn-sagemaker-monitoringschedule-batchtransforminput-datacaptureddestinations3uri)" : String,
  "[DatasetFormat](#cfn-sagemaker-monitoringschedule-batchtransforminput-datasetformat)" : DatasetFormat,
  "[ExcludeFeaturesAttribute](#cfn-sagemaker-monitoringschedule-batchtransforminput-excludefeaturesattribute)" : String,
  "[LocalPath](#cfn-sagemaker-monitoringschedule-batchtransforminput-localpath)" : String,
  "[S3DataDistributionType](#cfn-sagemaker-monitoringschedule-batchtransforminput-s3datadistributiontype)" : String,
  "[S3InputMode](#cfn-sagemaker-monitoringschedule-batchtransforminput-s3inputmode)" : String
}
```

### YAML
<a name="aws-properties-sagemaker-monitoringschedule-batchtransforminput-syntax.yaml"></a>

```
  [DataCapturedDestinationS3Uri](#cfn-sagemaker-monitoringschedule-batchtransforminput-datacaptureddestinations3uri): String
  [DatasetFormat](#cfn-sagemaker-monitoringschedule-batchtransforminput-datasetformat): 
    DatasetFormat
  [ExcludeFeaturesAttribute](#cfn-sagemaker-monitoringschedule-batchtransforminput-excludefeaturesattribute): String
  [LocalPath](#cfn-sagemaker-monitoringschedule-batchtransforminput-localpath): String
  [S3DataDistributionType](#cfn-sagemaker-monitoringschedule-batchtransforminput-s3datadistributiontype): String
  [S3InputMode](#cfn-sagemaker-monitoringschedule-batchtransforminput-s3inputmode): String
```

## Properties
<a name="aws-properties-sagemaker-monitoringschedule-batchtransforminput-properties"></a>

`DataCapturedDestinationS3Uri`  <a name="cfn-sagemaker-monitoringschedule-batchtransforminput-datacaptureddestinations3uri"></a>
The Amazon S3 location being used to capture the data.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^(https|s3)://([^/]+)/?(.*)$`  
*Maximum*: `512`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`DatasetFormat`  <a name="cfn-sagemaker-monitoringschedule-batchtransforminput-datasetformat"></a>
The dataset format for your batch transform job.  
*Required*: Yes  
*Type*: [DatasetFormat](aws-properties-sagemaker-monitoringschedule-datasetformat.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ExcludeFeaturesAttribute`  <a name="cfn-sagemaker-monitoringschedule-batchtransforminput-excludefeaturesattribute"></a>
The attributes of the input data to exclude from the analysis.  
*Required*: No  
*Type*: String  
*Maximum*: `100`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`LocalPath`  <a name="cfn-sagemaker-monitoringschedule-batchtransforminput-localpath"></a>
Path to the filesystem where the batch transform data is available to the container.  
*Required*: Yes  
*Type*: String  
*Pattern*: `.*`  
*Maximum*: `256`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`S3DataDistributionType`  <a name="cfn-sagemaker-monitoringschedule-batchtransforminput-s3datadistributiontype"></a>
Whether input data distributed in Amazon S3 is fully replicated or sharded by an S3 key. Defaults to `FullyReplicated`  
*Required*: No  
*Type*: String  
*Allowed values*: `FullyReplicated | ShardedByS3Key`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`S3InputMode`  <a name="cfn-sagemaker-monitoringschedule-batchtransforminput-s3inputmode"></a>
Whether the `Pipe` or `File` is used as the input mode for transferring data for the monitoring job. `Pipe` mode is recommended for large datasets. `File` mode is useful for small files that fit in memory. Defaults to `File`.  
*Required*: No  
*Type*: String  
*Allowed values*: `Pipe | File`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::SageMaker::MonitoringSchedule ClusterConfig
<a name="aws-properties-sagemaker-monitoringschedule-clusterconfig"></a>

Configuration for the cluster used to run model monitoring jobs.

## Syntax
<a name="aws-properties-sagemaker-monitoringschedule-clusterconfig-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-monitoringschedule-clusterconfig-syntax.json"></a>

```
{
  "[InstanceCount](#cfn-sagemaker-monitoringschedule-clusterconfig-instancecount)" : Integer,
  "[InstanceType](#cfn-sagemaker-monitoringschedule-clusterconfig-instancetype)" : String,
  "[VolumeKmsKeyId](#cfn-sagemaker-monitoringschedule-clusterconfig-volumekmskeyid)" : String,
  "[VolumeSizeInGB](#cfn-sagemaker-monitoringschedule-clusterconfig-volumesizeingb)" : Integer
}
```

### YAML
<a name="aws-properties-sagemaker-monitoringschedule-clusterconfig-syntax.yaml"></a>

```
  [InstanceCount](#cfn-sagemaker-monitoringschedule-clusterconfig-instancecount): Integer
  [InstanceType](#cfn-sagemaker-monitoringschedule-clusterconfig-instancetype): String
  [VolumeKmsKeyId](#cfn-sagemaker-monitoringschedule-clusterconfig-volumekmskeyid): String
  [VolumeSizeInGB](#cfn-sagemaker-monitoringschedule-clusterconfig-volumesizeingb): Integer
```

## Properties
<a name="aws-properties-sagemaker-monitoringschedule-clusterconfig-properties"></a>

`InstanceCount`  <a name="cfn-sagemaker-monitoringschedule-clusterconfig-instancecount"></a>
The number of ML compute instances to use in the model monitoring job. For distributed processing jobs, specify a value greater than 1. The default value is 1.  
*Required*: Yes  
*Type*: Integer  
*Minimum*: `1`  
*Maximum*: `100`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`InstanceType`  <a name="cfn-sagemaker-monitoringschedule-clusterconfig-instancetype"></a>
The ML compute instance type for the processing job.  
*Required*: Yes  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`VolumeKmsKeyId`  <a name="cfn-sagemaker-monitoringschedule-clusterconfig-volumekmskeyid"></a>
The AWS Key Management Service (AWS KMS) key that Amazon SageMaker uses to encrypt data on the storage volume attached to the ML compute instance(s) that run the model monitoring job.  
*Required*: No  
*Type*: String  
*Minimum*: `1`  
*Maximum*: `2048`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`VolumeSizeInGB`  <a name="cfn-sagemaker-monitoringschedule-clusterconfig-volumesizeingb"></a>
The size of the ML storage volume, in gigabytes, that you want to provision. You must specify sufficient ML storage for your scenario.  
*Required*: Yes  
*Type*: Integer  
*Minimum*: `1`  
*Maximum*: `16384`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::SageMaker::MonitoringSchedule ConstraintsResource
<a name="aws-properties-sagemaker-monitoringschedule-constraintsresource"></a>

The Amazon S3 URI for the constraints resource.

## Syntax
<a name="aws-properties-sagemaker-monitoringschedule-constraintsresource-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-monitoringschedule-constraintsresource-syntax.json"></a>

```
{
  "[S3Uri](#cfn-sagemaker-monitoringschedule-constraintsresource-s3uri)" : String
}
```

### YAML
<a name="aws-properties-sagemaker-monitoringschedule-constraintsresource-syntax.yaml"></a>

```
  [S3Uri](#cfn-sagemaker-monitoringschedule-constraintsresource-s3uri): String
```

## Properties
<a name="aws-properties-sagemaker-monitoringschedule-constraintsresource-properties"></a>

`S3Uri`  <a name="cfn-sagemaker-monitoringschedule-constraintsresource-s3uri"></a>
The Amazon S3 URI for the constraints resource.  
*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)

# AWS::SageMaker::MonitoringSchedule Csv
<a name="aws-properties-sagemaker-monitoringschedule-csv"></a>

The CSV dataset format configuration.

## Syntax
<a name="aws-properties-sagemaker-monitoringschedule-csv-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-monitoringschedule-csv-syntax.json"></a>

```
{
  "[Header](#cfn-sagemaker-monitoringschedule-csv-header)" : Boolean
}
```

### YAML
<a name="aws-properties-sagemaker-monitoringschedule-csv-syntax.yaml"></a>

```
  [Header](#cfn-sagemaker-monitoringschedule-csv-header): Boolean
```

## Properties
<a name="aws-properties-sagemaker-monitoringschedule-csv-properties"></a>

`Header`  <a name="cfn-sagemaker-monitoringschedule-csv-header"></a>
Indicates whether the CSV data has a header row.  
*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)

# AWS::SageMaker::MonitoringSchedule DatasetFormat
<a name="aws-properties-sagemaker-monitoringschedule-datasetformat"></a>

The format of the dataset used for the monitoring schedule.

## Syntax
<a name="aws-properties-sagemaker-monitoringschedule-datasetformat-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-monitoringschedule-datasetformat-syntax.json"></a>

```
{
  "[Csv](#cfn-sagemaker-monitoringschedule-datasetformat-csv)" : Csv,
  "[Json](#cfn-sagemaker-monitoringschedule-datasetformat-json)" : Json,
  "[Parquet](#cfn-sagemaker-monitoringschedule-datasetformat-parquet)" : Boolean
}
```

### YAML
<a name="aws-properties-sagemaker-monitoringschedule-datasetformat-syntax.yaml"></a>

```
  [Csv](#cfn-sagemaker-monitoringschedule-datasetformat-csv): 
    Csv
  [Json](#cfn-sagemaker-monitoringschedule-datasetformat-json): 
    Json
  [Parquet](#cfn-sagemaker-monitoringschedule-datasetformat-parquet): Boolean
```

## Properties
<a name="aws-properties-sagemaker-monitoringschedule-datasetformat-properties"></a>

`Csv`  <a name="cfn-sagemaker-monitoringschedule-datasetformat-csv"></a>
The CSV format configuration for the dataset.  
*Required*: No  
*Type*: [Csv](aws-properties-sagemaker-monitoringschedule-csv.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Json`  <a name="cfn-sagemaker-monitoringschedule-datasetformat-json"></a>
The JSON format configuration for the dataset.  
*Required*: No  
*Type*: [Json](aws-properties-sagemaker-monitoringschedule-json.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Parquet`  <a name="cfn-sagemaker-monitoringschedule-datasetformat-parquet"></a>
Indicates that the dataset is in Parquet format.  
*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)

# AWS::SageMaker::MonitoringSchedule EndpointInput
<a name="aws-properties-sagemaker-monitoringschedule-endpointinput"></a>

Input object for the endpoint

## Syntax
<a name="aws-properties-sagemaker-monitoringschedule-endpointinput-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-monitoringschedule-endpointinput-syntax.json"></a>

```
{
  "[EndpointName](#cfn-sagemaker-monitoringschedule-endpointinput-endpointname)" : String,
  "[ExcludeFeaturesAttribute](#cfn-sagemaker-monitoringschedule-endpointinput-excludefeaturesattribute)" : String,
  "[LocalPath](#cfn-sagemaker-monitoringschedule-endpointinput-localpath)" : String,
  "[S3DataDistributionType](#cfn-sagemaker-monitoringschedule-endpointinput-s3datadistributiontype)" : String,
  "[S3InputMode](#cfn-sagemaker-monitoringschedule-endpointinput-s3inputmode)" : String
}
```

### YAML
<a name="aws-properties-sagemaker-monitoringschedule-endpointinput-syntax.yaml"></a>

```
  [EndpointName](#cfn-sagemaker-monitoringschedule-endpointinput-endpointname): String
  [ExcludeFeaturesAttribute](#cfn-sagemaker-monitoringschedule-endpointinput-excludefeaturesattribute): String
  [LocalPath](#cfn-sagemaker-monitoringschedule-endpointinput-localpath): String
  [S3DataDistributionType](#cfn-sagemaker-monitoringschedule-endpointinput-s3datadistributiontype): String
  [S3InputMode](#cfn-sagemaker-monitoringschedule-endpointinput-s3inputmode): String
```

## Properties
<a name="aws-properties-sagemaker-monitoringschedule-endpointinput-properties"></a>

`EndpointName`  <a name="cfn-sagemaker-monitoringschedule-endpointinput-endpointname"></a>
An endpoint in customer's account which has enabled `DataCaptureConfig` enabled.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^[a-zA-Z0-9](-*[a-zA-Z0-9])*`  
*Maximum*: `63`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ExcludeFeaturesAttribute`  <a name="cfn-sagemaker-monitoringschedule-endpointinput-excludefeaturesattribute"></a>
The attributes of the input data to exclude from the analysis.  
*Required*: No  
*Type*: String  
*Maximum*: `100`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`LocalPath`  <a name="cfn-sagemaker-monitoringschedule-endpointinput-localpath"></a>
Path to the filesystem where the endpoint data is available to the container.  
*Required*: Yes  
*Type*: String  
*Pattern*: `.*`  
*Maximum*: `256`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`S3DataDistributionType`  <a name="cfn-sagemaker-monitoringschedule-endpointinput-s3datadistributiontype"></a>
Whether input data distributed in Amazon S3 is fully replicated or sharded by an Amazon S3 key. Defaults to `FullyReplicated`  
*Required*: No  
*Type*: String  
*Allowed values*: `FullyReplicated | ShardedByS3Key`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`S3InputMode`  <a name="cfn-sagemaker-monitoringschedule-endpointinput-s3inputmode"></a>
Whether the `Pipe` or `File` is used as the input mode for transferring data for the monitoring job. `Pipe` mode is recommended for large datasets. `File` mode is useful for small files that fit in memory. Defaults to `File`.  
*Required*: No  
*Type*: String  
*Allowed values*: `Pipe | File`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::SageMaker::MonitoringSchedule Json
<a name="aws-properties-sagemaker-monitoringschedule-json"></a>

The JSON dataset format configuration.

## Syntax
<a name="aws-properties-sagemaker-monitoringschedule-json-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-monitoringschedule-json-syntax.json"></a>

```
{
  "[Line](#cfn-sagemaker-monitoringschedule-json-line)" : Boolean
}
```

### YAML
<a name="aws-properties-sagemaker-monitoringschedule-json-syntax.yaml"></a>

```
  [Line](#cfn-sagemaker-monitoringschedule-json-line): Boolean
```

## Properties
<a name="aws-properties-sagemaker-monitoringschedule-json-properties"></a>

`Line`  <a name="cfn-sagemaker-monitoringschedule-json-line"></a>
Indicates whether the JSON data is in line-delimited format.  
*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)

# AWS::SageMaker::MonitoringSchedule MonitoringAppSpecification
<a name="aws-properties-sagemaker-monitoringschedule-monitoringappspecification"></a>

Container image configuration object for the monitoring job.

## Syntax
<a name="aws-properties-sagemaker-monitoringschedule-monitoringappspecification-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-monitoringschedule-monitoringappspecification-syntax.json"></a>

```
{
  "[ContainerArguments](#cfn-sagemaker-monitoringschedule-monitoringappspecification-containerarguments)" : [ String, ... ],
  "[ContainerEntrypoint](#cfn-sagemaker-monitoringschedule-monitoringappspecification-containerentrypoint)" : [ String, ... ],
  "[ImageUri](#cfn-sagemaker-monitoringschedule-monitoringappspecification-imageuri)" : String,
  "[PostAnalyticsProcessorSourceUri](#cfn-sagemaker-monitoringschedule-monitoringappspecification-postanalyticsprocessorsourceuri)" : String,
  "[RecordPreprocessorSourceUri](#cfn-sagemaker-monitoringschedule-monitoringappspecification-recordpreprocessorsourceuri)" : String
}
```

### YAML
<a name="aws-properties-sagemaker-monitoringschedule-monitoringappspecification-syntax.yaml"></a>

```
  [ContainerArguments](#cfn-sagemaker-monitoringschedule-monitoringappspecification-containerarguments): 
    - String
  [ContainerEntrypoint](#cfn-sagemaker-monitoringschedule-monitoringappspecification-containerentrypoint): 
    - String
  [ImageUri](#cfn-sagemaker-monitoringschedule-monitoringappspecification-imageuri): String
  [PostAnalyticsProcessorSourceUri](#cfn-sagemaker-monitoringschedule-monitoringappspecification-postanalyticsprocessorsourceuri): String
  [RecordPreprocessorSourceUri](#cfn-sagemaker-monitoringschedule-monitoringappspecification-recordpreprocessorsourceuri): String
```

## Properties
<a name="aws-properties-sagemaker-monitoringschedule-monitoringappspecification-properties"></a>

`ContainerArguments`  <a name="cfn-sagemaker-monitoringschedule-monitoringappspecification-containerarguments"></a>
An array of arguments for the container used to run the monitoring job.  
*Required*: No  
*Type*: Array of String  
*Maximum*: `50`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ContainerEntrypoint`  <a name="cfn-sagemaker-monitoringschedule-monitoringappspecification-containerentrypoint"></a>
Specifies the entrypoint for a container used to run the monitoring job.  
*Required*: No  
*Type*: Array of String  
*Minimum*: `1`  
*Maximum*: `256 | 100`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ImageUri`  <a name="cfn-sagemaker-monitoringschedule-monitoringappspecification-imageuri"></a>
The container image to be run by the monitoring job.  
*Required*: Yes  
*Type*: String  
*Pattern*: `.*`  
*Maximum*: `255`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`PostAnalyticsProcessorSourceUri`  <a name="cfn-sagemaker-monitoringschedule-monitoringappspecification-postanalyticsprocessorsourceuri"></a>
An Amazon S3 URI to a script that is called after analysis has been performed. Applicable only for the built-in (first party) containers.  
*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)

`RecordPreprocessorSourceUri`  <a name="cfn-sagemaker-monitoringschedule-monitoringappspecification-recordpreprocessorsourceuri"></a>
An Amazon S3 URI to a script that is called per row prior to running analysis. It can base64 decode the payload and convert it into a flattened JSON so that the built-in container can use the converted data. Applicable only for the built-in (first party) containers.  
*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)

# AWS::SageMaker::MonitoringSchedule MonitoringExecutionSummary
<a name="aws-properties-sagemaker-monitoringschedule-monitoringexecutionsummary"></a>

Summary of information about the last monitoring job to run.

## Syntax
<a name="aws-properties-sagemaker-monitoringschedule-monitoringexecutionsummary-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-monitoringschedule-monitoringexecutionsummary-syntax.json"></a>

```
{
  "[CreationTime](#cfn-sagemaker-monitoringschedule-monitoringexecutionsummary-creationtime)" : String,
  "[EndpointName](#cfn-sagemaker-monitoringschedule-monitoringexecutionsummary-endpointname)" : String,
  "[FailureReason](#cfn-sagemaker-monitoringschedule-monitoringexecutionsummary-failurereason)" : String,
  "[LastModifiedTime](#cfn-sagemaker-monitoringschedule-monitoringexecutionsummary-lastmodifiedtime)" : String,
  "[MonitoringExecutionStatus](#cfn-sagemaker-monitoringschedule-monitoringexecutionsummary-monitoringexecutionstatus)" : String,
  "[MonitoringScheduleName](#cfn-sagemaker-monitoringschedule-monitoringexecutionsummary-monitoringschedulename)" : String,
  "[ProcessingJobArn](#cfn-sagemaker-monitoringschedule-monitoringexecutionsummary-processingjobarn)" : String,
  "[ScheduledTime](#cfn-sagemaker-monitoringschedule-monitoringexecutionsummary-scheduledtime)" : String
}
```

### YAML
<a name="aws-properties-sagemaker-monitoringschedule-monitoringexecutionsummary-syntax.yaml"></a>

```
  [CreationTime](#cfn-sagemaker-monitoringschedule-monitoringexecutionsummary-creationtime): String
  [EndpointName](#cfn-sagemaker-monitoringschedule-monitoringexecutionsummary-endpointname): String
  [FailureReason](#cfn-sagemaker-monitoringschedule-monitoringexecutionsummary-failurereason): String
  [LastModifiedTime](#cfn-sagemaker-monitoringschedule-monitoringexecutionsummary-lastmodifiedtime): String
  [MonitoringExecutionStatus](#cfn-sagemaker-monitoringschedule-monitoringexecutionsummary-monitoringexecutionstatus): String
  [MonitoringScheduleName](#cfn-sagemaker-monitoringschedule-monitoringexecutionsummary-monitoringschedulename): String
  [ProcessingJobArn](#cfn-sagemaker-monitoringschedule-monitoringexecutionsummary-processingjobarn): String
  [ScheduledTime](#cfn-sagemaker-monitoringschedule-monitoringexecutionsummary-scheduledtime): String
```

## Properties
<a name="aws-properties-sagemaker-monitoringschedule-monitoringexecutionsummary-properties"></a>

`CreationTime`  <a name="cfn-sagemaker-monitoringschedule-monitoringexecutionsummary-creationtime"></a>
The time at which the monitoring job was created.  
*Required*: Yes  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`EndpointName`  <a name="cfn-sagemaker-monitoringschedule-monitoringexecutionsummary-endpointname"></a>
The name of the endpoint used to run the monitoring job.  
*Required*: No  
*Type*: String  
*Pattern*: `^[a-zA-Z0-9](-*[a-zA-Z0-9])*`  
*Maximum*: `63`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`FailureReason`  <a name="cfn-sagemaker-monitoringschedule-monitoringexecutionsummary-failurereason"></a>
Contains the reason a monitoring job failed, if it failed.  
*Required*: No  
*Type*: String  
*Maximum*: `1024`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`LastModifiedTime`  <a name="cfn-sagemaker-monitoringschedule-monitoringexecutionsummary-lastmodifiedtime"></a>
A timestamp that indicates the last time the monitoring job was modified.  
*Required*: Yes  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`MonitoringExecutionStatus`  <a name="cfn-sagemaker-monitoringschedule-monitoringexecutionsummary-monitoringexecutionstatus"></a>
The status of the monitoring job.  
*Required*: Yes  
*Type*: String  
*Allowed values*: `Pending | Completed | CompletedWithViolations | InProgress | Failed | Stopping | Stopped`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`MonitoringScheduleName`  <a name="cfn-sagemaker-monitoringschedule-monitoringexecutionsummary-monitoringschedulename"></a>
The name of the monitoring schedule.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^[a-zA-Z0-9](-*[a-zA-Z0-9])*$`  
*Maximum*: `63`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ProcessingJobArn`  <a name="cfn-sagemaker-monitoringschedule-monitoringexecutionsummary-processingjobarn"></a>
The Amazon Resource Name (ARN) of the monitoring job.  
*Required*: No  
*Type*: String  
*Pattern*: `aws[a-z\-]*:sagemaker:[a-z0-9\-]*:[0-9]{12}:processing-job/.*`  
*Maximum*: `256`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ScheduledTime`  <a name="cfn-sagemaker-monitoringschedule-monitoringexecutionsummary-scheduledtime"></a>
The time the monitoring job was scheduled.  
*Required*: Yes  
*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::MonitoringSchedule MonitoringInput
<a name="aws-properties-sagemaker-monitoringschedule-monitoringinput"></a>

The inputs for a monitoring job.

## Syntax
<a name="aws-properties-sagemaker-monitoringschedule-monitoringinput-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-monitoringschedule-monitoringinput-syntax.json"></a>

```
{
  "[BatchTransformInput](#cfn-sagemaker-monitoringschedule-monitoringinput-batchtransforminput)" : BatchTransformInput,
  "[EndpointInput](#cfn-sagemaker-monitoringschedule-monitoringinput-endpointinput)" : EndpointInput
}
```

### YAML
<a name="aws-properties-sagemaker-monitoringschedule-monitoringinput-syntax.yaml"></a>

```
  [BatchTransformInput](#cfn-sagemaker-monitoringschedule-monitoringinput-batchtransforminput): 
    BatchTransformInput
  [EndpointInput](#cfn-sagemaker-monitoringschedule-monitoringinput-endpointinput): 
    EndpointInput
```

## Properties
<a name="aws-properties-sagemaker-monitoringschedule-monitoringinput-properties"></a>

`BatchTransformInput`  <a name="cfn-sagemaker-monitoringschedule-monitoringinput-batchtransforminput"></a>
Input object for the batch transform job.  
*Required*: No  
*Type*: [BatchTransformInput](aws-properties-sagemaker-monitoringschedule-batchtransforminput.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`EndpointInput`  <a name="cfn-sagemaker-monitoringschedule-monitoringinput-endpointinput"></a>
The endpoint for a monitoring job.  
*Required*: No  
*Type*: [EndpointInput](aws-properties-sagemaker-monitoringschedule-endpointinput.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::MonitoringSchedule MonitoringJobDefinition
<a name="aws-properties-sagemaker-monitoringschedule-monitoringjobdefinition"></a>

Defines the monitoring job.

## Syntax
<a name="aws-properties-sagemaker-monitoringschedule-monitoringjobdefinition-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-monitoringschedule-monitoringjobdefinition-syntax.json"></a>

```
{
  "[BaselineConfig](#cfn-sagemaker-monitoringschedule-monitoringjobdefinition-baselineconfig)" : BaselineConfig,
  "[Environment](#cfn-sagemaker-monitoringschedule-monitoringjobdefinition-environment)" : {Key: Value, ...},
  "[MonitoringAppSpecification](#cfn-sagemaker-monitoringschedule-monitoringjobdefinition-monitoringappspecification)" : MonitoringAppSpecification,
  "[MonitoringInputs](#cfn-sagemaker-monitoringschedule-monitoringjobdefinition-monitoringinputs)" : [ MonitoringInput, ... ],
  "[MonitoringOutputConfig](#cfn-sagemaker-monitoringschedule-monitoringjobdefinition-monitoringoutputconfig)" : MonitoringOutputConfig,
  "[MonitoringResources](#cfn-sagemaker-monitoringschedule-monitoringjobdefinition-monitoringresources)" : MonitoringResources,
  "[NetworkConfig](#cfn-sagemaker-monitoringschedule-monitoringjobdefinition-networkconfig)" : NetworkConfig,
  "[RoleArn](#cfn-sagemaker-monitoringschedule-monitoringjobdefinition-rolearn)" : String,
  "[StoppingCondition](#cfn-sagemaker-monitoringschedule-monitoringjobdefinition-stoppingcondition)" : StoppingCondition
}
```

### YAML
<a name="aws-properties-sagemaker-monitoringschedule-monitoringjobdefinition-syntax.yaml"></a>

```
  [BaselineConfig](#cfn-sagemaker-monitoringschedule-monitoringjobdefinition-baselineconfig): 
    BaselineConfig
  [Environment](#cfn-sagemaker-monitoringschedule-monitoringjobdefinition-environment): 
    Key: Value
  [MonitoringAppSpecification](#cfn-sagemaker-monitoringschedule-monitoringjobdefinition-monitoringappspecification): 
    MonitoringAppSpecification
  [MonitoringInputs](#cfn-sagemaker-monitoringschedule-monitoringjobdefinition-monitoringinputs): 
    - MonitoringInput
  [MonitoringOutputConfig](#cfn-sagemaker-monitoringschedule-monitoringjobdefinition-monitoringoutputconfig): 
    MonitoringOutputConfig
  [MonitoringResources](#cfn-sagemaker-monitoringschedule-monitoringjobdefinition-monitoringresources): 
    MonitoringResources
  [NetworkConfig](#cfn-sagemaker-monitoringschedule-monitoringjobdefinition-networkconfig): 
    NetworkConfig
  [RoleArn](#cfn-sagemaker-monitoringschedule-monitoringjobdefinition-rolearn): String
  [StoppingCondition](#cfn-sagemaker-monitoringschedule-monitoringjobdefinition-stoppingcondition): 
    StoppingCondition
```

## Properties
<a name="aws-properties-sagemaker-monitoringschedule-monitoringjobdefinition-properties"></a>

`BaselineConfig`  <a name="cfn-sagemaker-monitoringschedule-monitoringjobdefinition-baselineconfig"></a>
Baseline configuration used to validate that the data conforms to the specified constraints and statistics  
*Required*: No  
*Type*: [BaselineConfig](aws-properties-sagemaker-monitoringschedule-baselineconfig.md)  
*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-monitoringschedule-monitoringjobdefinition-environment"></a>
Sets the environment variables in the Docker container.  
*Required*: No  
*Type*: Object of String  
*Pattern*: `[a-zA-Z_][a-zA-Z0-9_]*`  
*Minimum*: `1`  
*Maximum*: `256`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`MonitoringAppSpecification`  <a name="cfn-sagemaker-monitoringschedule-monitoringjobdefinition-monitoringappspecification"></a>
Configures the monitoring job to run a specified Docker container image.  
*Required*: Yes  
*Type*: [MonitoringAppSpecification](aws-properties-sagemaker-monitoringschedule-monitoringappspecification.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`MonitoringInputs`  <a name="cfn-sagemaker-monitoringschedule-monitoringjobdefinition-monitoringinputs"></a>
The array of inputs for the monitoring job. Currently we support monitoring an Amazon SageMaker AI Endpoint.  
*Required*: Yes  
*Type*: Array of [MonitoringInput](aws-properties-sagemaker-monitoringschedule-monitoringinput.md)  
*Minimum*: `1`  
*Maximum*: `1`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`MonitoringOutputConfig`  <a name="cfn-sagemaker-monitoringschedule-monitoringjobdefinition-monitoringoutputconfig"></a>
The array of outputs from the monitoring job to be uploaded to Amazon S3.  
*Required*: Yes  
*Type*: [MonitoringOutputConfig](aws-properties-sagemaker-monitoringschedule-monitoringoutputconfig.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`MonitoringResources`  <a name="cfn-sagemaker-monitoringschedule-monitoringjobdefinition-monitoringresources"></a>
Identifies the resources, ML compute instances, and ML storage volumes to deploy for a monitoring job. In distributed processing, you specify more than one instance.  
*Required*: Yes  
*Type*: [MonitoringResources](aws-properties-sagemaker-monitoringschedule-monitoringresources.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`NetworkConfig`  <a name="cfn-sagemaker-monitoringschedule-monitoringjobdefinition-networkconfig"></a>
Specifies networking options for an monitoring job.  
*Required*: No  
*Type*: [NetworkConfig](aws-properties-sagemaker-monitoringschedule-networkconfig.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`RoleArn`  <a name="cfn-sagemaker-monitoringschedule-monitoringjobdefinition-rolearn"></a>
The Amazon Resource Name (ARN) of an IAM role that Amazon SageMaker AI can assume to perform tasks on your behalf.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^arn:aws[a-z\-]*:iam::\d{12}:role/?[a-zA-Z_0-9+=,.@\-_/]+$`  
*Minimum*: `20`  
*Maximum*: `2048`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`StoppingCondition`  <a name="cfn-sagemaker-monitoringschedule-monitoringjobdefinition-stoppingcondition"></a>
Specifies a time limit for how long the monitoring job is allowed to run.  
*Required*: No  
*Type*: [StoppingCondition](aws-properties-sagemaker-monitoringschedule-stoppingcondition.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::MonitoringSchedule MonitoringOutput
<a name="aws-properties-sagemaker-monitoringschedule-monitoringoutput"></a>

The output object for a monitoring job.

## Syntax
<a name="aws-properties-sagemaker-monitoringschedule-monitoringoutput-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-monitoringschedule-monitoringoutput-syntax.json"></a>

```
{
  "[S3Output](#cfn-sagemaker-monitoringschedule-monitoringoutput-s3output)" : S3Output
}
```

### YAML
<a name="aws-properties-sagemaker-monitoringschedule-monitoringoutput-syntax.yaml"></a>

```
  [S3Output](#cfn-sagemaker-monitoringschedule-monitoringoutput-s3output): 
    S3Output
```

## Properties
<a name="aws-properties-sagemaker-monitoringschedule-monitoringoutput-properties"></a>

`S3Output`  <a name="cfn-sagemaker-monitoringschedule-monitoringoutput-s3output"></a>
The Amazon S3 storage location where the results of a monitoring job are saved.  
*Required*: Yes  
*Type*: [S3Output](aws-properties-sagemaker-monitoringschedule-s3output.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::MonitoringSchedule MonitoringOutputConfig
<a name="aws-properties-sagemaker-monitoringschedule-monitoringoutputconfig"></a>

The output configuration for monitoring jobs.

## Syntax
<a name="aws-properties-sagemaker-monitoringschedule-monitoringoutputconfig-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-monitoringschedule-monitoringoutputconfig-syntax.json"></a>

```
{
  "[KmsKeyId](#cfn-sagemaker-monitoringschedule-monitoringoutputconfig-kmskeyid)" : String,
  "[MonitoringOutputs](#cfn-sagemaker-monitoringschedule-monitoringoutputconfig-monitoringoutputs)" : [ MonitoringOutput, ... ]
}
```

### YAML
<a name="aws-properties-sagemaker-monitoringschedule-monitoringoutputconfig-syntax.yaml"></a>

```
  [KmsKeyId](#cfn-sagemaker-monitoringschedule-monitoringoutputconfig-kmskeyid): String
  [MonitoringOutputs](#cfn-sagemaker-monitoringschedule-monitoringoutputconfig-monitoringoutputs): 
    - MonitoringOutput
```

## Properties
<a name="aws-properties-sagemaker-monitoringschedule-monitoringoutputconfig-properties"></a>

`KmsKeyId`  <a name="cfn-sagemaker-monitoringschedule-monitoringoutputconfig-kmskeyid"></a>
The AWS Key Management Service (AWS KMS) key that Amazon SageMaker AI uses to encrypt the model artifacts at rest using Amazon S3 server-side encryption.  
*Required*: No  
*Type*: String  
*Pattern*: `.*`  
*Maximum*: `2048`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`MonitoringOutputs`  <a name="cfn-sagemaker-monitoringschedule-monitoringoutputconfig-monitoringoutputs"></a>
Monitoring outputs for monitoring jobs. This is where the output of the periodic monitoring jobs is uploaded.  
*Required*: Yes  
*Type*: Array of [MonitoringOutput](aws-properties-sagemaker-monitoringschedule-monitoringoutput.md)  
*Minimum*: `1`  
*Maximum*: `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::MonitoringSchedule MonitoringResources
<a name="aws-properties-sagemaker-monitoringschedule-monitoringresources"></a>

Identifies the resources to deploy for a monitoring job.

## Syntax
<a name="aws-properties-sagemaker-monitoringschedule-monitoringresources-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-monitoringschedule-monitoringresources-syntax.json"></a>

```
{
  "[ClusterConfig](#cfn-sagemaker-monitoringschedule-monitoringresources-clusterconfig)" : ClusterConfig
}
```

### YAML
<a name="aws-properties-sagemaker-monitoringschedule-monitoringresources-syntax.yaml"></a>

```
  [ClusterConfig](#cfn-sagemaker-monitoringschedule-monitoringresources-clusterconfig): 
    ClusterConfig
```

## Properties
<a name="aws-properties-sagemaker-monitoringschedule-monitoringresources-properties"></a>

`ClusterConfig`  <a name="cfn-sagemaker-monitoringschedule-monitoringresources-clusterconfig"></a>
The configuration for the cluster resources used to run the processing job.  
*Required*: Yes  
*Type*: [ClusterConfig](aws-properties-sagemaker-monitoringschedule-clusterconfig.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::MonitoringSchedule MonitoringScheduleConfig
<a name="aws-properties-sagemaker-monitoringschedule-monitoringscheduleconfig"></a>

Configures the monitoring schedule and defines the monitoring job.

## Syntax
<a name="aws-properties-sagemaker-monitoringschedule-monitoringscheduleconfig-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-monitoringschedule-monitoringscheduleconfig-syntax.json"></a>

```
{
  "[MonitoringJobDefinition](#cfn-sagemaker-monitoringschedule-monitoringscheduleconfig-monitoringjobdefinition)" : MonitoringJobDefinition,
  "[MonitoringJobDefinitionName](#cfn-sagemaker-monitoringschedule-monitoringscheduleconfig-monitoringjobdefinitionname)" : String,
  "[MonitoringType](#cfn-sagemaker-monitoringschedule-monitoringscheduleconfig-monitoringtype)" : String,
  "[ScheduleConfig](#cfn-sagemaker-monitoringschedule-monitoringscheduleconfig-scheduleconfig)" : ScheduleConfig
}
```

### YAML
<a name="aws-properties-sagemaker-monitoringschedule-monitoringscheduleconfig-syntax.yaml"></a>

```
  [MonitoringJobDefinition](#cfn-sagemaker-monitoringschedule-monitoringscheduleconfig-monitoringjobdefinition): 
    MonitoringJobDefinition
  [MonitoringJobDefinitionName](#cfn-sagemaker-monitoringschedule-monitoringscheduleconfig-monitoringjobdefinitionname): String
  [MonitoringType](#cfn-sagemaker-monitoringschedule-monitoringscheduleconfig-monitoringtype): String
  [ScheduleConfig](#cfn-sagemaker-monitoringschedule-monitoringscheduleconfig-scheduleconfig): 
    ScheduleConfig
```

## Properties
<a name="aws-properties-sagemaker-monitoringschedule-monitoringscheduleconfig-properties"></a>

`MonitoringJobDefinition`  <a name="cfn-sagemaker-monitoringschedule-monitoringscheduleconfig-monitoringjobdefinition"></a>
Defines the monitoring job.  
*Required*: No  
*Type*: [MonitoringJobDefinition](aws-properties-sagemaker-monitoringschedule-monitoringjobdefinition.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`MonitoringJobDefinitionName`  <a name="cfn-sagemaker-monitoringschedule-monitoringscheduleconfig-monitoringjobdefinitionname"></a>
The name of the monitoring job definition to schedule.  
*Required*: No  
*Type*: String  
*Pattern*: `^[a-zA-Z0-9](-*[a-zA-Z0-9])*$`  
*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)

`MonitoringType`  <a name="cfn-sagemaker-monitoringschedule-monitoringscheduleconfig-monitoringtype"></a>
The type of the monitoring job definition to schedule.  
*Required*: No  
*Type*: String  
*Allowed values*: `DataQuality | ModelQuality | ModelBias | ModelExplainability`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ScheduleConfig`  <a name="cfn-sagemaker-monitoringschedule-monitoringscheduleconfig-scheduleconfig"></a>
Configures the monitoring schedule.  
*Required*: No  
*Type*: [ScheduleConfig](aws-properties-sagemaker-monitoringschedule-scheduleconfig.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::MonitoringSchedule NetworkConfig
<a name="aws-properties-sagemaker-monitoringschedule-networkconfig"></a>

Networking options for a job, such as network traffic encryption between containers, whether to allow inbound and outbound network calls to and from containers, and the VPC subnets and security groups to use for VPC-enabled jobs.

## Syntax
<a name="aws-properties-sagemaker-monitoringschedule-networkconfig-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-monitoringschedule-networkconfig-syntax.json"></a>

```
{
  "[EnableInterContainerTrafficEncryption](#cfn-sagemaker-monitoringschedule-networkconfig-enableintercontainertrafficencryption)" : Boolean,
  "[EnableNetworkIsolation](#cfn-sagemaker-monitoringschedule-networkconfig-enablenetworkisolation)" : Boolean,
  "[VpcConfig](#cfn-sagemaker-monitoringschedule-networkconfig-vpcconfig)" : VpcConfig
}
```

### YAML
<a name="aws-properties-sagemaker-monitoringschedule-networkconfig-syntax.yaml"></a>

```
  [EnableInterContainerTrafficEncryption](#cfn-sagemaker-monitoringschedule-networkconfig-enableintercontainertrafficencryption): Boolean
  [EnableNetworkIsolation](#cfn-sagemaker-monitoringschedule-networkconfig-enablenetworkisolation): Boolean
  [VpcConfig](#cfn-sagemaker-monitoringschedule-networkconfig-vpcconfig): 
    VpcConfig
```

## Properties
<a name="aws-properties-sagemaker-monitoringschedule-networkconfig-properties"></a>

`EnableInterContainerTrafficEncryption`  <a name="cfn-sagemaker-monitoringschedule-networkconfig-enableintercontainertrafficencryption"></a>
Whether to encrypt all communications between distributed processing jobs. Choose `True` to encrypt communications. Encryption provides greater security for distributed processing jobs, but the processing might take longer.  
*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)

`EnableNetworkIsolation`  <a name="cfn-sagemaker-monitoringschedule-networkconfig-enablenetworkisolation"></a>
Whether to allow inbound and outbound network calls to and from the containers used for the processing job.  
*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)

`VpcConfig`  <a name="cfn-sagemaker-monitoringschedule-networkconfig-vpcconfig"></a>
Specifies a VPC that your training jobs and hosted models have access to. Control access to and from your training and model containers by configuring the VPC. For more information, see [Protect Endpoints by Using an Amazon Virtual Private Cloud](https://docs.aws.amazon.com/sagemaker/latest/dg/host-vpc.html) and [Protect Training Jobs by Using an Amazon Virtual Private Cloud](https://docs.aws.amazon.com/sagemaker/latest/dg/train-vpc.html).  
*Required*: No  
*Type*: [VpcConfig](aws-properties-sagemaker-monitoringschedule-vpcconfig.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::MonitoringSchedule S3Output
<a name="aws-properties-sagemaker-monitoringschedule-s3output"></a>

Information about where and how you want to store the results of a monitoring job.

## Syntax
<a name="aws-properties-sagemaker-monitoringschedule-s3output-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-monitoringschedule-s3output-syntax.json"></a>

```
{
  "[LocalPath](#cfn-sagemaker-monitoringschedule-s3output-localpath)" : String,
  "[S3UploadMode](#cfn-sagemaker-monitoringschedule-s3output-s3uploadmode)" : String,
  "[S3Uri](#cfn-sagemaker-monitoringschedule-s3output-s3uri)" : String
}
```

### YAML
<a name="aws-properties-sagemaker-monitoringschedule-s3output-syntax.yaml"></a>

```
  [LocalPath](#cfn-sagemaker-monitoringschedule-s3output-localpath): String
  [S3UploadMode](#cfn-sagemaker-monitoringschedule-s3output-s3uploadmode): String
  [S3Uri](#cfn-sagemaker-monitoringschedule-s3output-s3uri): String
```

## Properties
<a name="aws-properties-sagemaker-monitoringschedule-s3output-properties"></a>

`LocalPath`  <a name="cfn-sagemaker-monitoringschedule-s3output-localpath"></a>
The local path to the S3 storage location where SageMaker saves the results of a monitoring job. LocalPath is an absolute path for the output data.  
*Required*: Yes  
*Type*: String  
*Pattern*: `.*`  
*Maximum*: `256`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`S3UploadMode`  <a name="cfn-sagemaker-monitoringschedule-s3output-s3uploadmode"></a>
Whether to upload the results of the monitoring job continuously or after the job completes.  
*Required*: No  
*Type*: String  
*Allowed values*: `Continuous | EndOfJob`  
*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-monitoringschedule-s3output-s3uri"></a>
A URI that identifies the S3 storage location where SageMaker saves the results of a monitoring job.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^(https|s3)://([^/]+)/?(.*)$`  
*Maximum*: `512`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::SageMaker::MonitoringSchedule ScheduleConfig
<a name="aws-properties-sagemaker-monitoringschedule-scheduleconfig"></a>

Configuration details about the monitoring schedule.

## Syntax
<a name="aws-properties-sagemaker-monitoringschedule-scheduleconfig-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-monitoringschedule-scheduleconfig-syntax.json"></a>

```
{
  "[DataAnalysisEndTime](#cfn-sagemaker-monitoringschedule-scheduleconfig-dataanalysisendtime)" : String,
  "[DataAnalysisStartTime](#cfn-sagemaker-monitoringschedule-scheduleconfig-dataanalysisstarttime)" : String,
  "[ScheduleExpression](#cfn-sagemaker-monitoringschedule-scheduleconfig-scheduleexpression)" : String
}
```

### YAML
<a name="aws-properties-sagemaker-monitoringschedule-scheduleconfig-syntax.yaml"></a>

```
  [DataAnalysisEndTime](#cfn-sagemaker-monitoringschedule-scheduleconfig-dataanalysisendtime): String
  [DataAnalysisStartTime](#cfn-sagemaker-monitoringschedule-scheduleconfig-dataanalysisstarttime): String
  [ScheduleExpression](#cfn-sagemaker-monitoringschedule-scheduleconfig-scheduleexpression): String
```

## Properties
<a name="aws-properties-sagemaker-monitoringschedule-scheduleconfig-properties"></a>

`DataAnalysisEndTime`  <a name="cfn-sagemaker-monitoringschedule-scheduleconfig-dataanalysisendtime"></a>
Sets the end time for a monitoring job window. Express this time as an offset to the times that you schedule your monitoring jobs to run. You schedule monitoring jobs with the `ScheduleExpression` parameter. Specify this offset in ISO 8601 duration format. For example, if you want to end the window one hour before the start of each monitoring job, you would specify: `"-PT1H"`.  
The end time that you specify must not follow the start time that you specify by more than 24 hours. You specify the start time with the `DataAnalysisStartTime` parameter.  
If you set `ScheduleExpression` to `NOW`, this parameter is required.  
*Required*: No  
*Type*: String  
*Pattern*: `^.?P.*`  
*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)

`DataAnalysisStartTime`  <a name="cfn-sagemaker-monitoringschedule-scheduleconfig-dataanalysisstarttime"></a>
Sets the start time for a monitoring job window. Express this time as an offset to the times that you schedule your monitoring jobs to run. You schedule monitoring jobs with the `ScheduleExpression` parameter. Specify this offset in ISO 8601 duration format. For example, if you want to monitor the five hours of data in your dataset that precede the start of each monitoring job, you would specify: `"-PT5H"`.  
The start time that you specify must not precede the end time that you specify by more than 24 hours. You specify the end time with the `DataAnalysisEndTime` parameter.  
If you set `ScheduleExpression` to `NOW`, this parameter is required.  
*Required*: No  
*Type*: String  
*Pattern*: `^.?P.*`  
*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)

`ScheduleExpression`  <a name="cfn-sagemaker-monitoringschedule-scheduleconfig-scheduleexpression"></a>
A cron expression that describes details about the monitoring schedule.  
The supported cron expressions are:  
+ If you want to set the job to start every hour, use the following:

   `Hourly: cron(0 * ? * * *)` 
+ If you want to start the job daily:

   `cron(0 [00-23] ? * * *)` 
+ If you want to run the job one time, immediately, use the following keyword:

   `NOW` 
For example, the following are valid cron expressions:  
+ Daily at noon UTC: `cron(0 12 ? * * *)`
+ Daily at midnight UTC: `cron(0 0 ? * * *)`
To support running every 6, 12 hours, the following are also supported:  
 `cron(0 [00-23]/[01-24] ? * * *)`   
For example, the following are valid cron expressions:  
+ Every 12 hours, starting at 5pm UTC: `cron(0 17/12 ? * * *)`
+ Every two hours starting at midnight: `cron(0 0/2 ? * * *)`
+ Even though the cron expression is set to start at 5PM UTC, note that there could be a delay of 0-20 minutes from the actual requested time to run the execution. 
+ We recommend that if you would like a daily schedule, you do not provide this parameter. Amazon SageMaker AI will pick a time for running every day.
You can also specify the keyword `NOW` to run the monitoring job immediately, one time, without recurring.  
*Required*: Yes  
*Type*: String  
*Minimum*: `1`  
*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::MonitoringSchedule StatisticsResource
<a name="aws-properties-sagemaker-monitoringschedule-statisticsresource"></a>

The baseline statistics file in Amazon S3 that the current monitoring job should be validated against.

## Syntax
<a name="aws-properties-sagemaker-monitoringschedule-statisticsresource-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-monitoringschedule-statisticsresource-syntax.json"></a>

```
{
  "[S3Uri](#cfn-sagemaker-monitoringschedule-statisticsresource-s3uri)" : String
}
```

### YAML
<a name="aws-properties-sagemaker-monitoringschedule-statisticsresource-syntax.yaml"></a>

```
  [S3Uri](#cfn-sagemaker-monitoringschedule-statisticsresource-s3uri): String
```

## Properties
<a name="aws-properties-sagemaker-monitoringschedule-statisticsresource-properties"></a>

`S3Uri`  <a name="cfn-sagemaker-monitoringschedule-statisticsresource-s3uri"></a>
The S3 URI for the statistics resource.  
*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)

# AWS::SageMaker::MonitoringSchedule StoppingCondition
<a name="aws-properties-sagemaker-monitoringschedule-stoppingcondition"></a>

Specifies a limit to how long a job can run. When the job reaches the time limit, SageMaker ends the job. Use this API to cap costs.

To stop a training job, SageMaker sends the algorithm the `SIGTERM` signal, which delays job termination for 120 seconds. Algorithms can use this 120-second window to save the model artifacts, so the results of training are not lost. 

The training algorithms provided by SageMaker automatically save the intermediate results of a model training job when possible. This attempt to save artifacts is only a best effort case as model might not be in a state from which it can be saved. For example, if training has just started, the model might not be ready to save. When saved, this intermediate data is a valid model artifact. You can use it to create a model with `CreateModel`.

**Note**  
The Neural Topic Model (NTM) currently does not support saving intermediate model artifacts. When training NTMs, make sure that the maximum runtime is sufficient for the training job to complete.

## Syntax
<a name="aws-properties-sagemaker-monitoringschedule-stoppingcondition-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-monitoringschedule-stoppingcondition-syntax.json"></a>

```
{
  "[MaxRuntimeInSeconds](#cfn-sagemaker-monitoringschedule-stoppingcondition-maxruntimeinseconds)" : Integer
}
```

### YAML
<a name="aws-properties-sagemaker-monitoringschedule-stoppingcondition-syntax.yaml"></a>

```
  [MaxRuntimeInSeconds](#cfn-sagemaker-monitoringschedule-stoppingcondition-maxruntimeinseconds): Integer
```

## Properties
<a name="aws-properties-sagemaker-monitoringschedule-stoppingcondition-properties"></a>

`MaxRuntimeInSeconds`  <a name="cfn-sagemaker-monitoringschedule-stoppingcondition-maxruntimeinseconds"></a>
The maximum length of time, in seconds, that a training or compilation job can run before it is stopped.  
For compilation jobs, if the job does not complete during this time, a `TimeOut` error is generated. We recommend starting with 900 seconds and increasing as necessary based on your model.  
For all other jobs, if the job does not complete during this time, SageMaker ends the job. When `RetryStrategy` is specified in the job request, `MaxRuntimeInSeconds` specifies the maximum time for all of the attempts in total, not each individual attempt. The default value is 1 day. The maximum value is 28 days.  
The maximum time that a `TrainingJob` can run in total, including any time spent publishing metrics or archiving and uploading models after it has been stopped, is 30 days.  
*Required*: Yes  
*Type*: Integer  
*Minimum*: `1`  
*Maximum*: `86400`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::SageMaker::MonitoringSchedule Tag
<a name="aws-properties-sagemaker-monitoringschedule-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-monitoringschedule-tag-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-monitoringschedule-tag-syntax.json"></a>

```
{
  "[Key](#cfn-sagemaker-monitoringschedule-tag-key)" : String,
  "[Value](#cfn-sagemaker-monitoringschedule-tag-value)" : String
}
```

### YAML
<a name="aws-properties-sagemaker-monitoringschedule-tag-syntax.yaml"></a>

```
  [Key](#cfn-sagemaker-monitoringschedule-tag-key): String
  [Value](#cfn-sagemaker-monitoringschedule-tag-value): String
```

## Properties
<a name="aws-properties-sagemaker-monitoringschedule-tag-properties"></a>

`Key`  <a name="cfn-sagemaker-monitoringschedule-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-monitoringschedule-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::MonitoringSchedule VpcConfig
<a name="aws-properties-sagemaker-monitoringschedule-vpcconfig"></a>

Specifies an Amazon Virtual Private Cloud (VPC) that your SageMaker jobs, hosted models, and compute resources have access to. You can control access to and from your resources by configuring a VPC. For more information, see [Give SageMaker Access to Resources in your Amazon VPC](https://docs.aws.amazon.com/sagemaker/latest/dg/infrastructure-give-access.html). 

## Syntax
<a name="aws-properties-sagemaker-monitoringschedule-vpcconfig-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-monitoringschedule-vpcconfig-syntax.json"></a>

```
{
  "[SecurityGroupIds](#cfn-sagemaker-monitoringschedule-vpcconfig-securitygroupids)" : [ String, ... ],
  "[Subnets](#cfn-sagemaker-monitoringschedule-vpcconfig-subnets)" : [ String, ... ]
}
```

### YAML
<a name="aws-properties-sagemaker-monitoringschedule-vpcconfig-syntax.yaml"></a>

```
  [SecurityGroupIds](#cfn-sagemaker-monitoringschedule-vpcconfig-securitygroupids): 
    - String
  [Subnets](#cfn-sagemaker-monitoringschedule-vpcconfig-subnets): 
    - String
```

## Properties
<a name="aws-properties-sagemaker-monitoringschedule-vpcconfig-properties"></a>

`SecurityGroupIds`  <a name="cfn-sagemaker-monitoringschedule-vpcconfig-securitygroupids"></a>
The VPC security group IDs, in the form `sg-xxxxxxxx`. Specify the security groups for the VPC that is specified in the `Subnets` field.  
*Required*: Yes  
*Type*: Array of String  
*Minimum*: `1`  
*Maximum*: `32 | 5`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Subnets`  <a name="cfn-sagemaker-monitoringschedule-vpcconfig-subnets"></a>
The ID of the subnets in the VPC to which you want to connect your training job or model. For information about the availability of specific instance types, see [Supported Instance Types and Availability Zones](https://docs.aws.amazon.com/sagemaker/latest/dg/instance-types-az.html).  
*Required*: Yes  
*Type*: Array of String  
*Minimum*: `1`  
*Maximum*: `32 | 16`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::SageMaker::NotebookInstance
<a name="aws-resource-sagemaker-notebookinstance"></a>

The `AWS::SageMaker::NotebookInstance` resource creates an Amazon SageMaker notebook instance. A notebook instance is a machine learning (ML) compute instance running on a Jupyter notebook. For more information, see [Use Notebook Instances](https://docs.aws.amazon.com/sagemaker/latest/dg/nbi.html). 

## Syntax
<a name="aws-resource-sagemaker-notebookinstance-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-resource-sagemaker-notebookinstance-syntax.json"></a>

```
{
  "Type" : "AWS::SageMaker::NotebookInstance",
  "Properties" : {
      "[AcceleratorTypes](#cfn-sagemaker-notebookinstance-acceleratortypes)" : [ String, ... ],
      "[AdditionalCodeRepositories](#cfn-sagemaker-notebookinstance-additionalcoderepositories)" : [ String, ... ],
      "[DefaultCodeRepository](#cfn-sagemaker-notebookinstance-defaultcoderepository)" : String,
      "[DirectInternetAccess](#cfn-sagemaker-notebookinstance-directinternetaccess)" : String,
      "[InstanceMetadataServiceConfiguration](#cfn-sagemaker-notebookinstance-instancemetadataserviceconfiguration)" : InstanceMetadataServiceConfiguration,
      "[InstanceType](#cfn-sagemaker-notebookinstance-instancetype)" : String,
      "[KmsKeyId](#cfn-sagemaker-notebookinstance-kmskeyid)" : String,
      "[LifecycleConfigName](#cfn-sagemaker-notebookinstance-lifecycleconfigname)" : String,
      "[NotebookInstanceName](#cfn-sagemaker-notebookinstance-notebookinstancename)" : String,
      "[PlatformIdentifier](#cfn-sagemaker-notebookinstance-platformidentifier)" : String,
      "[RoleArn](#cfn-sagemaker-notebookinstance-rolearn)" : String,
      "[RootAccess](#cfn-sagemaker-notebookinstance-rootaccess)" : String,
      "[SecurityGroupIds](#cfn-sagemaker-notebookinstance-securitygroupids)" : [ String, ... ],
      "[SubnetId](#cfn-sagemaker-notebookinstance-subnetid)" : String,
      "[Tags](#cfn-sagemaker-notebookinstance-tags)" : [ Tag, ... ],
      "[VolumeSizeInGB](#cfn-sagemaker-notebookinstance-volumesizeingb)" : Integer
    }
}
```

### YAML
<a name="aws-resource-sagemaker-notebookinstance-syntax.yaml"></a>

```
Type: AWS::SageMaker::NotebookInstance
Properties:
  [AcceleratorTypes](#cfn-sagemaker-notebookinstance-acceleratortypes): 
    - String
  [AdditionalCodeRepositories](#cfn-sagemaker-notebookinstance-additionalcoderepositories): 
    - String
  [DefaultCodeRepository](#cfn-sagemaker-notebookinstance-defaultcoderepository): String
  [DirectInternetAccess](#cfn-sagemaker-notebookinstance-directinternetaccess): String
  [InstanceMetadataServiceConfiguration](#cfn-sagemaker-notebookinstance-instancemetadataserviceconfiguration): 
    InstanceMetadataServiceConfiguration
  [InstanceType](#cfn-sagemaker-notebookinstance-instancetype): String
  [KmsKeyId](#cfn-sagemaker-notebookinstance-kmskeyid): String
  [LifecycleConfigName](#cfn-sagemaker-notebookinstance-lifecycleconfigname): String
  [NotebookInstanceName](#cfn-sagemaker-notebookinstance-notebookinstancename): String
  [PlatformIdentifier](#cfn-sagemaker-notebookinstance-platformidentifier): String
  [RoleArn](#cfn-sagemaker-notebookinstance-rolearn): String
  [RootAccess](#cfn-sagemaker-notebookinstance-rootaccess): String
  [SecurityGroupIds](#cfn-sagemaker-notebookinstance-securitygroupids): 
    - String
  [SubnetId](#cfn-sagemaker-notebookinstance-subnetid): String
  [Tags](#cfn-sagemaker-notebookinstance-tags): 
    - Tag
  [VolumeSizeInGB](#cfn-sagemaker-notebookinstance-volumesizeingb): Integer
```

## Properties
<a name="aws-resource-sagemaker-notebookinstance-properties"></a>

`AcceleratorTypes`  <a name="cfn-sagemaker-notebookinstance-acceleratortypes"></a>
A list of Amazon Elastic Inference (EI) instance types to associate with the notebook instance. Currently, only one instance type can be associated with a notebook instance. For more information, see [Using Elastic Inference in Amazon SageMaker](https://docs.aws.amazon.com/sagemaker/latest/dg/ei.html).  
*Valid Values:*`ml.eia1.medium | ml.eia1.large | ml.eia1.xlarge | ml.eia2.medium | ml.eia2.large | ml.eia2.xlarge`.  
*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)

`AdditionalCodeRepositories`  <a name="cfn-sagemaker-notebookinstance-additionalcoderepositories"></a>
An array of up to three Git repositories associated with the notebook instance. These can be either the names of Git repositories stored as resources in your account, or the URL of Git repositories in [AWS CodeCommit](https://docs.aws.amazon.com/codecommit/latest/userguide/welcome.html) or in any other Git repository. These repositories are cloned at the same level as the default repository of your notebook instance. For more information, see [Associating Git Repositories with SageMaker AI Notebook Instances](https://docs.aws.amazon.com/sagemaker/latest/dg/nbi-git-repo.html).  
*Required*: No  
*Type*: Array of String  
*Minimum*: `0`  
*Maximum*: `3`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`DefaultCodeRepository`  <a name="cfn-sagemaker-notebookinstance-defaultcoderepository"></a>
The Git repository associated with the notebook instance as its default code repository. This can be either the name of a Git repository stored as a resource in your account, or the URL of a Git repository in [AWS CodeCommit](https://docs.aws.amazon.com/codecommit/latest/userguide/welcome.html) or in any other Git repository. When you open a notebook instance, it opens in the directory that contains this repository. For more information, see [Associating Git Repositories with SageMaker AI Notebook Instances](https://docs.aws.amazon.com/sagemaker/latest/dg/nbi-git-repo.html).  
*Required*: No  
*Type*: String  
*Pattern*: `https://([^/]+)/?(.*)$|^[a-zA-Z0-9](-*[a-zA-Z0-9])*`  
*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)

`DirectInternetAccess`  <a name="cfn-sagemaker-notebookinstance-directinternetaccess"></a>
Sets whether SageMaker AI provides internet access to the notebook instance. If you set this to `Disabled` this notebook instance is able to access resources only in your VPC, and is not be able to connect to SageMaker AI training and endpoint services unless you configure a NAT Gateway in your VPC.  
For more information, see [Notebook Instances Are Internet-Enabled by Default](https://docs.aws.amazon.com/sagemaker/latest/dg/appendix-additional-considerations.html#appendix-notebook-and-internet-access). You can set the value of this parameter to `Disabled` only if you set a value for the `SubnetId` parameter.  
*Required*: No  
*Type*: String  
*Allowed values*: `Enabled | Disabled`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`InstanceMetadataServiceConfiguration`  <a name="cfn-sagemaker-notebookinstance-instancemetadataserviceconfiguration"></a>
Information on the IMDS configuration of the notebook instance  
*Required*: No  
*Type*: [InstanceMetadataServiceConfiguration](aws-properties-sagemaker-notebookinstance-instancemetadataserviceconfiguration.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`InstanceType`  <a name="cfn-sagemaker-notebookinstance-instancetype"></a>
The type of ML compute instance to launch for the notebook instance.  
Expect some interruption of service if this parameter is changed as CloudFormation stops a notebook instance and starts it up again to update it.
*Required*: Yes  
*Type*: String  
*Allowed values*: `ml.t2.medium | ml.t2.large | ml.t2.xlarge | ml.t2.2xlarge | ml.t3.medium | ml.t3.large | ml.t3.xlarge | ml.t3.2xlarge | ml.m4.xlarge | ml.m4.2xlarge | ml.m4.4xlarge | ml.m4.10xlarge | ml.m4.16xlarge | ml.m5.xlarge | ml.m5.2xlarge | ml.m5.4xlarge | ml.m5.12xlarge | ml.m5.24xlarge | ml.m5d.large | ml.m5d.xlarge | ml.m5d.2xlarge | ml.m5d.4xlarge | ml.m5d.8xlarge | ml.m5d.12xlarge | ml.m5d.16xlarge | ml.m5d.24xlarge | ml.c4.xlarge | ml.c4.2xlarge | ml.c4.4xlarge | ml.c4.8xlarge | ml.c5.xlarge | ml.c5.2xlarge | ml.c5.4xlarge | ml.c5.9xlarge | ml.c5.18xlarge | ml.c5d.xlarge | ml.c5d.2xlarge | ml.c5d.4xlarge | ml.c5d.9xlarge | ml.c5d.18xlarge | ml.p2.xlarge | ml.p2.8xlarge | ml.p2.16xlarge | ml.p3.2xlarge | ml.p3.8xlarge | ml.p3.16xlarge | ml.p3dn.24xlarge | ml.g4dn.xlarge | ml.g4dn.2xlarge | ml.g4dn.4xlarge | ml.g4dn.8xlarge | ml.g4dn.12xlarge | ml.g4dn.16xlarge | ml.r5.large | ml.r5.xlarge | ml.r5.2xlarge | ml.r5.4xlarge | ml.r5.8xlarge | ml.r5.12xlarge | ml.r5.16xlarge | ml.r5.24xlarge | ml.g5.xlarge | ml.g5.2xlarge | ml.g5.4xlarge | ml.g5.8xlarge | ml.g5.16xlarge | ml.g5.12xlarge | ml.g5.24xlarge | ml.g5.48xlarge | ml.inf1.xlarge | ml.inf1.2xlarge | ml.inf1.6xlarge | ml.inf1.24xlarge | ml.trn1.2xlarge | ml.trn1.32xlarge | ml.trn1n.32xlarge | ml.inf2.xlarge | ml.inf2.8xlarge | ml.inf2.24xlarge | ml.inf2.48xlarge | ml.p4d.24xlarge | ml.p4de.24xlarge | ml.p5.48xlarge | ml.p6-b200.48xlarge | 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.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.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.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.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.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.m6id.large | ml.m6id.xlarge | ml.m6id.2xlarge | ml.m6id.4xlarge | ml.m6id.8xlarge | ml.m6id.12xlarge | ml.m6id.16xlarge | ml.m6id.24xlarge | ml.m6id.32xlarge | ml.c6id.large | ml.c6id.xlarge | ml.c6id.2xlarge | ml.c6id.4xlarge | ml.c6id.8xlarge | ml.c6id.12xlarge | ml.c6id.16xlarge | ml.c6id.24xlarge | ml.c6id.32xlarge | ml.r6id.large | ml.r6id.xlarge | ml.r6id.2xlarge | ml.r6id.4xlarge | ml.r6id.8xlarge | ml.r6id.12xlarge | ml.r6id.16xlarge | ml.r6id.24xlarge | ml.r6id.32xlarge | 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*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`KmsKeyId`  <a name="cfn-sagemaker-notebookinstance-kmskeyid"></a>
The Amazon Resource Name (ARN) of a AWS Key Management Service key that SageMaker AI uses to encrypt data on the storage volume attached to your notebook instance. The KMS key you provide must be enabled. For information, see [Enabling and Disabling Keys](https://docs.aws.amazon.com/kms/latest/developerguide/enabling-keys.html) in the *AWS Key Management Service Developer Guide*.  
*Required*: No  
*Type*: String  
*Pattern*: `[a-zA-Z0-9:/_-]*`  
*Minimum*: `0`  
*Maximum*: `2048`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`LifecycleConfigName`  <a name="cfn-sagemaker-notebookinstance-lifecycleconfigname"></a>
The name of a lifecycle configuration to associate with the notebook instance. For information about lifecycle configurations, see [Customize a Notebook Instance](https://docs.aws.amazon.com/sagemaker/latest/dg/notebook-lifecycle-config.html) in the *Amazon SageMaker Developer Guide*.  
*Required*: No  
*Type*: String  
*Pattern*: `[a-zA-Z0-9](-*[a-zA-Z0-9])*`  
*Minimum*: `0`  
*Maximum*: `63`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`NotebookInstanceName`  <a name="cfn-sagemaker-notebookinstance-notebookinstancename"></a>
The name of the new notebook instance.  
*Required*: No  
*Type*: String  
*Pattern*: `[a-zA-Z0-9](-*[a-zA-Z0-9])*`  
*Minimum*: `0`  
*Maximum*: `63`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`PlatformIdentifier`  <a name="cfn-sagemaker-notebookinstance-platformidentifier"></a>
The platform identifier of the notebook instance runtime environment. The default value is `notebook-al2-v2`.  
*Required*: No  
*Type*: String  
*Pattern*: `(notebook-al1-v1|notebook-al2-v1|notebook-al2-v2|notebook-al2-v3|notebook-al2023-v1)`  
*Minimum*: `0`  
*Maximum*: `20`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`RoleArn`  <a name="cfn-sagemaker-notebookinstance-rolearn"></a>
 When you send any requests to AWS resources from the notebook instance, SageMaker AI assumes this role to perform tasks on your behalf. You must grant this role necessary permissions so SageMaker AI can perform these tasks. The policy must allow the SageMaker AI service principal (sagemaker.amazonaws.com) permissions to assume this role. For more information, see [SageMaker AI Roles](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-roles.html).   
To be able to pass this role to SageMaker AI, the caller of this API must have the `iam:PassRole` permission.
*Required*: Yes  
*Type*: String  
*Pattern*: `arn:aws[a-z\-]*:iam::\d{12}:role/?[a-zA-Z_0-9+=,.@\-_/]+`  
*Minimum*: `20`  
*Maximum*: `2048`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`RootAccess`  <a name="cfn-sagemaker-notebookinstance-rootaccess"></a>
Whether root access is enabled or disabled for users of the notebook instance. The default value is `Enabled`.  
Lifecycle configurations need root access to be able to set up a notebook instance. Because of this, lifecycle configurations associated with a notebook instance always run with root access even if you disable root access for users.
*Required*: No  
*Type*: String  
*Allowed values*: `Enabled | Disabled`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`SecurityGroupIds`  <a name="cfn-sagemaker-notebookinstance-securitygroupids"></a>
The VPC security group IDs, in the form sg-xxxxxxxx. The security groups must be for the same VPC as specified in the subnet.   
*Required*: No  
*Type*: Array of String  
*Minimum*: `0`  
*Maximum*: `5`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`SubnetId`  <a name="cfn-sagemaker-notebookinstance-subnetid"></a>
The ID of the subnet in a VPC to which you would like to have a connectivity from your ML compute instance.   
*Required*: No  
*Type*: String  
*Pattern*: `[-0-9a-zA-Z]+`  
*Minimum*: `0`  
*Maximum*: `32`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`Tags`  <a name="cfn-sagemaker-notebookinstance-tags"></a>
A list of key-value pairs to apply to this resource.  
For more information, see [Resource Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) and [Using Cost Allocation Tags](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html#allocation-what).  
You can add tags later by using the `CreateTags` API.  
*Required*: No  
*Type*: Array of [Tag](aws-properties-sagemaker-notebookinstance-tag.md)  
*Minimum*: `0`  
*Maximum*: `50`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`VolumeSizeInGB`  <a name="cfn-sagemaker-notebookinstance-volumesizeingb"></a>
The size, in GB, of the ML storage volume to attach to the notebook instance. The default value is 5 GB.  
Expect some interruption of service if this parameter is changed as CloudFormation stops a notebook instance and starts it up again to update it.
*Required*: No  
*Type*: Integer  
*Minimum*: `5`  
*Maximum*: `16384`  
*Update requires*: [Some interruptions](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-some-interrupt)

## Return values
<a name="aws-resource-sagemaker-notebookinstance-return-values"></a>

### Ref
<a name="aws-resource-sagemaker-notebookinstance-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 notebook instance, such as `arn:aws:sagemaker:us-west-2:012345678901:notebook-instance/mynotebookinstance`.

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-notebookinstance-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-notebookinstance-return-values-fn--getatt-fn--getatt"></a>

`Id`  <a name="Id-fn::getatt"></a>
The name of the notebook instance.

`NotebookInstanceName`  <a name="NotebookInstanceName-fn::getatt"></a>
The name of the notebook instance, such as `MyNotebookInstance`.

## Examples
<a name="aws-resource-sagemaker-notebookinstance--examples"></a>

### SageMaker Notebook Instance Example
<a name="aws-resource-sagemaker-notebookinstance--examples--SageMaker_Notebook_Instance_Example"></a>

The following example creates a notebook instance.

#### JSON
<a name="aws-resource-sagemaker-notebookinstance--examples--SageMaker_Notebook_Instance_Example--json"></a>

```
{
    "Description": "Create Basic Notebook",
    "Resources": {
        "BasicNotebookInstance": {
            "Type": "AWS::SageMaker::NotebookInstance",
            "Properties": {
                "InstanceType": "ml.t2.large",
                "RoleArn": {
                    "Fn::GetAtt": [
                        "ExecutionRole",
                        "Arn"
                    ]
                }
            }
        },
        "ExecutionRole": {
            "Type": "AWS::IAM::Role",
            "Properties": {
                "AssumeRolePolicyDocument": {
                    "Version": "2012-10-17"		 	 	 ,
                    "Statement": [
                        {
                            "Effect": "Allow",
                            "Principal": {
                                "Service": [
                                    "sagemaker.amazonaws.com"
                                ]
                            },
                            "Action": [
                                "sts:AssumeRole"
                            ]
                        }
                    ]
                },
                "Path": "/",
                "ManagedPolicyArns": [
                    {
                        "Fn::Sub": "arn:${AWS::Partition}:iam::aws:policy/AmazonSageMakerFullAccess"
                    }
                ]
            }
        }
    },
    "Outputs": {
        "BasicNotebookInstanceId": {
            "Value": {
                "Ref": "BasicNotebookInstance"
            }
        }
    }
}
```

#### YAML
<a name="aws-resource-sagemaker-notebookinstance--examples--SageMaker_Notebook_Instance_Example--yaml"></a>

```
Description: "Create basic notebook instance"
Resources:
  BasicNotebookInstance:
    Type: "AWS::SageMaker::NotebookInstance"
    Properties:
      InstanceType: "ml.t2.large"
      RoleArn: !GetAtt ExecutionRole.Arn
  ExecutionRole: 
    Type: "AWS::IAM::Role"
    Properties: 
      AssumeRolePolicyDocument: 
        Version: "2012-10-17"
        Statement: 
          - 
            Effect: "Allow"
            Principal: 
              Service: 
                - "sagemaker.amazonaws.com"
            Action: 
              - "sts:AssumeRole"
      Path: "/"
      ManagedPolicyArns:
        - !Sub "arn:${AWS::Partition}:iam::aws:policy/AmazonSageMakerFullAccess"
Outputs:
  BasicNotebookInstanceId:
    Value: !Ref BasicNotebookInstance
```

# AWS::SageMaker::NotebookInstance InstanceMetadataServiceConfiguration
<a name="aws-properties-sagemaker-notebookinstance-instancemetadataserviceconfiguration"></a>

Information on the IMDS configuration of the notebook instance

## Syntax
<a name="aws-properties-sagemaker-notebookinstance-instancemetadataserviceconfiguration-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-notebookinstance-instancemetadataserviceconfiguration-syntax.json"></a>

```
{
  "[MinimumInstanceMetadataServiceVersion](#cfn-sagemaker-notebookinstance-instancemetadataserviceconfiguration-minimuminstancemetadataserviceversion)" : String
}
```

### YAML
<a name="aws-properties-sagemaker-notebookinstance-instancemetadataserviceconfiguration-syntax.yaml"></a>

```
  [MinimumInstanceMetadataServiceVersion](#cfn-sagemaker-notebookinstance-instancemetadataserviceconfiguration-minimuminstancemetadataserviceversion): String
```

## Properties
<a name="aws-properties-sagemaker-notebookinstance-instancemetadataserviceconfiguration-properties"></a>

`MinimumInstanceMetadataServiceVersion`  <a name="cfn-sagemaker-notebookinstance-instancemetadataserviceconfiguration-minimuminstancemetadataserviceversion"></a>
Indicates the minimum IMDS version that the notebook instance supports. When passed as part of `CreateNotebookInstance`, if no value is selected, then it defaults to IMDSv1. This means that both IMDSv1 and IMDSv2 are supported. If passed as part of `UpdateNotebookInstance`, there is no default.  
*Required*: Yes  
*Type*: String  
*Pattern*: `1|2`  
*Minimum*: `0`  
*Maximum*: `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::NotebookInstance Tag
<a name="aws-properties-sagemaker-notebookinstance-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-notebookinstance-tag-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-notebookinstance-tag-syntax.json"></a>

```
{
  "[Key](#cfn-sagemaker-notebookinstance-tag-key)" : String,
  "[Value](#cfn-sagemaker-notebookinstance-tag-value)" : String
}
```

### YAML
<a name="aws-properties-sagemaker-notebookinstance-tag-syntax.yaml"></a>

```
  [Key](#cfn-sagemaker-notebookinstance-tag-key): String
  [Value](#cfn-sagemaker-notebookinstance-tag-value): String
```

## Properties
<a name="aws-properties-sagemaker-notebookinstance-tag-properties"></a>

`Key`  <a name="cfn-sagemaker-notebookinstance-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-notebookinstance-tag-value"></a>
The tag value.  
*Required*: Yes  
*Type*: String  
*Pattern*: `([\p{L}\p{Z}\p{N}_.:/=+\-@]*)`  
*Minimum*: `0`  
*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::NotebookInstanceLifecycleConfig
<a name="aws-resource-sagemaker-notebookinstancelifecycleconfig"></a>

The `AWS::SageMaker::NotebookInstanceLifecycleConfig` resource creates shell scripts that run when you create and/or start a notebook instance. For information about notebook instance lifecycle configurations, see [Customize a Notebook Instance](https://docs.aws.amazon.com/sagemaker/latest/dg/notebook-lifecycle-config.html) in the *Amazon SageMaker Developer Guide*.

## Syntax
<a name="aws-resource-sagemaker-notebookinstancelifecycleconfig-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-resource-sagemaker-notebookinstancelifecycleconfig-syntax.json"></a>

```
{
  "Type" : "AWS::SageMaker::NotebookInstanceLifecycleConfig",
  "Properties" : {
      "[NotebookInstanceLifecycleConfigName](#cfn-sagemaker-notebookinstancelifecycleconfig-notebookinstancelifecycleconfigname)" : String,
      "[OnCreate](#cfn-sagemaker-notebookinstancelifecycleconfig-oncreate)" : [ NotebookInstanceLifecycleHook, ... ],
      "[OnStart](#cfn-sagemaker-notebookinstancelifecycleconfig-onstart)" : [ NotebookInstanceLifecycleHook, ... ]
    }
}
```

### YAML
<a name="aws-resource-sagemaker-notebookinstancelifecycleconfig-syntax.yaml"></a>

```
Type: AWS::SageMaker::NotebookInstanceLifecycleConfig
Properties:
  [NotebookInstanceLifecycleConfigName](#cfn-sagemaker-notebookinstancelifecycleconfig-notebookinstancelifecycleconfigname): String
  [OnCreate](#cfn-sagemaker-notebookinstancelifecycleconfig-oncreate): 
    - NotebookInstanceLifecycleHook
  [OnStart](#cfn-sagemaker-notebookinstancelifecycleconfig-onstart): 
    - NotebookInstanceLifecycleHook
```

## Properties
<a name="aws-resource-sagemaker-notebookinstancelifecycleconfig-properties"></a>

`NotebookInstanceLifecycleConfigName`  <a name="cfn-sagemaker-notebookinstancelifecycleconfig-notebookinstancelifecycleconfigname"></a>
The name of the lifecycle configuration.  
*Required*: No  
*Type*: String  
*Pattern*: `[a-zA-Z0-9](-*[a-zA-Z0-9])*`  
*Minimum*: `0`  
*Maximum*: `63`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`OnCreate`  <a name="cfn-sagemaker-notebookinstancelifecycleconfig-oncreate"></a>
A shell script that runs only once, when you create a notebook instance. The shell script must be a base64-encoded string.  
*Required*: No  
*Type*: Array of [NotebookInstanceLifecycleHook](aws-properties-sagemaker-notebookinstancelifecycleconfig-notebookinstancelifecyclehook.md)  
*Minimum*: `0`  
*Maximum*: `1`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`OnStart`  <a name="cfn-sagemaker-notebookinstancelifecycleconfig-onstart"></a>
A shell script that runs every time you start a notebook instance, including when you create the notebook instance. The shell script must be a base64-encoded string.  
*Required*: No  
*Type*: Array of [NotebookInstanceLifecycleHook](aws-properties-sagemaker-notebookinstancelifecycleconfig-notebookinstancelifecyclehook.md)  
*Minimum*: `0`  
*Maximum*: `1`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

## Return values
<a name="aws-resource-sagemaker-notebookinstancelifecycleconfig-return-values"></a>

### Ref
<a name="aws-resource-sagemaker-notebookinstancelifecycleconfig-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 endpoint configuration, such as `arn:aws:sagemaker:us-west-2:012345678901:notebook-instance-lifecycle-config/mylifecycleconfig`

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-notebookinstancelifecycleconfig-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-notebookinstancelifecycleconfig-return-values-fn--getatt-fn--getatt"></a>

`Id`  <a name="Id-fn::getatt"></a>
The name of the notebook instance lifecycle configuration.

`NotebookInstanceLifecycleConfigName`  <a name="NotebookInstanceLifecycleConfigName-fn::getatt"></a>
The name of the lifecycle configuration, such as `MyLifecycleConfig`.

## Examples
<a name="aws-resource-sagemaker-notebookinstancelifecycleconfig--examples"></a>

### SageMaker NotebookInstanceLifecycleConfig Example
<a name="aws-resource-sagemaker-notebookinstancelifecycleconfig--examples--SageMaker_NotebookInstanceLifecycleConfig_Example"></a>

The following example creates a notebook instance with an associated lifecycle configuration.

#### JSON
<a name="aws-resource-sagemaker-notebookinstancelifecycleconfig--examples--SageMaker_NotebookInstanceLifecycleConfig_Example--json"></a>

```
{
  "Description": "Basic NotebookInstance test",
  "Resources": {
    "BasicNotebookInstance": {
      "Type": "AWS::SageMaker::NotebookInstance",
      "Properties": {
        "InstanceType": "ml.t2.medium",
        "RoleArn": { "Fn::GetAtt" : [ "ExecutionRole", "Arn" ] },
        "LifecycleConfigName": { "Fn::GetAtt" : [ "BasicNotebookInstanceLifecycleConfig", "NotebookInstanceLifecycleConfigName" ] }
    },
    "BasicNotebookInstanceLifecycleConfig": {
      "Type": "AWS::SageMaker::NotebookInstanceLifecycleConfig",
      "Properties": {
        "OnStart": [
          {
            "Content": {
              "Fn::Base64": "echo 'hello'"
            }
          }
        ]
      }
    },
    "ExecutionRole": {
      "Type": "AWS::IAM::Role",
      "Properties": {
        "AssumeRolePolicyDocument": {
          "Version": "2012-10-17"		 	 	 ,
          "Statement": [
            {
              "Effect": "Allow",
              "Principal": {
                "Service": [
                  "sagemaker.amazonaws.com"
                ]
              },
              "Action": [
                "sts:AssumeRole"
              ]
            }
          ]
        },
        "Path": "/",
        "Policies": [
          {
            "PolicyName": "root",
            "PolicyDocument": {
              "Version": "2012-10-17"		 	 	 ,
              "Statement": [
                {
                  "Effect": "Allow",
                  "Action": "*",
                  "Resource": "*"
                }
              ]
            }
          }
        ]
      }
    }
  },
  "Outputs": {
    "BasicNotebookInstanceId": {
      "Value": { "Ref" : "BasicNotebookInstance" }
    },
    "BasicNotebookInstanceLifecycleConfigId": {
      "Value": { "Ref" : "BasicNotebookInstanceLifecycleConfig" }
    }
  }
}
}
```

#### YAML
<a name="aws-resource-sagemaker-notebookinstancelifecycleconfig--examples--SageMaker_NotebookInstanceLifecycleConfig_Example--yaml"></a>

```
Description: "Basic NotebookInstance test"
Resources:
  BasicNotebookInstance:
    Type: "AWS::SageMaker::NotebookInstance"
    Properties:
      InstanceType: "ml.t2.medium"
      RoleArn: !GetAtt ExecutionRole.Arn
      LifecycleConfigName: !GetAtt BasicNotebookInstanceLifecycleConfig.NotebookInstanceLifecycleConfigName
  BasicNotebookInstanceLifecycleConfig:
    Type: "AWS::SageMaker::NotebookInstanceLifecycleConfig"
    Properties:
      OnStart:
        - Content:
            Fn::Base64: "echo 'hello'"
  ExecutionRole: 
    Type: "AWS::IAM::Role"
    Properties: 
      AssumeRolePolicyDocument: 
        Version: "2012-10-17"
        Statement: 
          - 
            Effect: "Allow"
            Principal: 
              Service: 
                - "sagemaker.amazonaws.com"
            Action: 
              - "sts:AssumeRole"
      Path: "/"
      Policies: 
        - 
          PolicyName: "root"
          PolicyDocument: 
            Version: "2012-10-17"
            Statement: 
              - 
                Effect: "Allow"
                Action: "*"
                Resource: "*"
Outputs:
  BasicNotebookInstanceId:
    Value: !Ref BasicNotebookInstance
  BasicNotebookInstanceLifecycleConfigId:
    Value: !Ref BasicNotebookInstanceLifecycleConfig
```

# AWS::SageMaker::NotebookInstanceLifecycleConfig NotebookInstanceLifecycleHook
<a name="aws-properties-sagemaker-notebookinstancelifecycleconfig-notebookinstancelifecyclehook"></a>

Specifies the notebook instance lifecycle configuration script. Each lifecycle configuration script has a limit of 16384 characters.

## Syntax
<a name="aws-properties-sagemaker-notebookinstancelifecycleconfig-notebookinstancelifecyclehook-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-notebookinstancelifecycleconfig-notebookinstancelifecyclehook-syntax.json"></a>

```
{
  "[Content](#cfn-sagemaker-notebookinstancelifecycleconfig-notebookinstancelifecyclehook-content)" : String
}
```

### YAML
<a name="aws-properties-sagemaker-notebookinstancelifecycleconfig-notebookinstancelifecyclehook-syntax.yaml"></a>

```
  [Content](#cfn-sagemaker-notebookinstancelifecycleconfig-notebookinstancelifecyclehook-content): String
```

## Properties
<a name="aws-properties-sagemaker-notebookinstancelifecycleconfig-notebookinstancelifecyclehook-properties"></a>

`Content`  <a name="cfn-sagemaker-notebookinstancelifecycleconfig-notebookinstancelifecyclehook-content"></a>
A base64-encoded string that contains a shell script for a notebook instance lifecycle configuration.  
*Required*: No  
*Type*: String  
*Pattern*: `[\S\s]+`  
*Minimum*: `1`  
*Maximum*: `16384`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::SageMaker::PartnerApp
<a name="aws-resource-sagemaker-partnerapp"></a>

The `AWS::SageMaker::PartnerApp` resource creates an Amazon SageMaker Partner AI App. For more information, see [Partner AI Apps](https://docs.aws.amazon.com/sagemaker/latest/dg/partner-apps.html).

## Syntax
<a name="aws-resource-sagemaker-partnerapp-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-resource-sagemaker-partnerapp-syntax.json"></a>

```
{
  "Type" : "AWS::SageMaker::PartnerApp",
  "Properties" : {
      "[ApplicationConfig](#cfn-sagemaker-partnerapp-applicationconfig)" : PartnerAppConfig,
      "[AppVersion](#cfn-sagemaker-partnerapp-appversion)" : String,
      "[AuthType](#cfn-sagemaker-partnerapp-authtype)" : String,
      "[EnableAutoMinorVersionUpgrade](#cfn-sagemaker-partnerapp-enableautominorversionupgrade)" : Boolean,
      "[EnableIamSessionBasedIdentity](#cfn-sagemaker-partnerapp-enableiamsessionbasedidentity)" : Boolean,
      "[ExecutionRoleArn](#cfn-sagemaker-partnerapp-executionrolearn)" : String,
      "[KmsKeyId](#cfn-sagemaker-partnerapp-kmskeyid)" : String,
      "[MaintenanceConfig](#cfn-sagemaker-partnerapp-maintenanceconfig)" : PartnerAppMaintenanceConfig,
      "[Name](#cfn-sagemaker-partnerapp-name)" : String,
      "[Tags](#cfn-sagemaker-partnerapp-tags)" : [ Tag, ... ],
      "[Tier](#cfn-sagemaker-partnerapp-tier)" : String,
      "[Type](#cfn-sagemaker-partnerapp-type)" : String
    }
}
```

### YAML
<a name="aws-resource-sagemaker-partnerapp-syntax.yaml"></a>

```
Type: AWS::SageMaker::PartnerApp
Properties:
  [ApplicationConfig](#cfn-sagemaker-partnerapp-applicationconfig): 
    PartnerAppConfig
  [AppVersion](#cfn-sagemaker-partnerapp-appversion): String
  [AuthType](#cfn-sagemaker-partnerapp-authtype): String
  [EnableAutoMinorVersionUpgrade](#cfn-sagemaker-partnerapp-enableautominorversionupgrade): Boolean
  [EnableIamSessionBasedIdentity](#cfn-sagemaker-partnerapp-enableiamsessionbasedidentity): Boolean
  [ExecutionRoleArn](#cfn-sagemaker-partnerapp-executionrolearn): String
  [KmsKeyId](#cfn-sagemaker-partnerapp-kmskeyid): String
  [MaintenanceConfig](#cfn-sagemaker-partnerapp-maintenanceconfig): 
    PartnerAppMaintenanceConfig
  [Name](#cfn-sagemaker-partnerapp-name): String
  [Tags](#cfn-sagemaker-partnerapp-tags): 
    - Tag
  [Tier](#cfn-sagemaker-partnerapp-tier): String
  [Type](#cfn-sagemaker-partnerapp-type): String
```

## Properties
<a name="aws-resource-sagemaker-partnerapp-properties"></a>

`ApplicationConfig`  <a name="cfn-sagemaker-partnerapp-applicationconfig"></a>
Configuration settings for the Partner AI App.  
*Required*: No  
*Type*: [PartnerAppConfig](aws-properties-sagemaker-partnerapp-partnerappconfig.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`AppVersion`  <a name="cfn-sagemaker-partnerapp-appversion"></a>
The version of the Partner AI App. This property allows you to specify a particular version of the application to deploy.  
*Required*: No  
*Type*: String  
*Minimum*: `1`  
*Maximum*: `64`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`AuthType`  <a name="cfn-sagemaker-partnerapp-authtype"></a>
Defines the authentication type used for the Partner AI App.  
*Required*: Yes  
*Type*: String  
*Allowed values*: `IAM`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`EnableAutoMinorVersionUpgrade`  <a name="cfn-sagemaker-partnerapp-enableautominorversionupgrade"></a>
When set to `TRUE`, the SageMaker Partner AI App is automatically upgraded to the latest minor version during the next scheduled maintenance window, if one is available. Default is `FALSE`.  
*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)

`EnableIamSessionBasedIdentity`  <a name="cfn-sagemaker-partnerapp-enableiamsessionbasedidentity"></a>
Enables IAM Session based Identity for PartnerApp.  
*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)

`ExecutionRoleArn`  <a name="cfn-sagemaker-partnerapp-executionrolearn"></a>
The Amazon Resource Name (ARN) of the IAM role of the user.  
*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)

`KmsKeyId`  <a name="cfn-sagemaker-partnerapp-kmskeyid"></a>
The AWS KMS customer managed key used to encrypt the data associated with the PartnerApp.  
*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)

`MaintenanceConfig`  <a name="cfn-sagemaker-partnerapp-maintenanceconfig"></a>
A collection of settings that specify the maintenance schedule for the PartnerApp.  
*Required*: No  
*Type*: [PartnerAppMaintenanceConfig](aws-properties-sagemaker-partnerapp-partnerappmaintenanceconfig.md)  
*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-partnerapp-name"></a>
The name of the Partner AI App. This name must be unique within your account and region.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^[a-zA-Z0-9]+`  
*Minimum*: `1`  
*Maximum*: `256`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`Tags`  <a name="cfn-sagemaker-partnerapp-tags"></a>
A list of tags to apply to the PartnerApp.  
*Required*: No  
*Type*: Array of [Tag](aws-properties-sagemaker-partnerapp-tag.md)  
*Minimum*: `0`  
*Maximum*: `50`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Tier`  <a name="cfn-sagemaker-partnerapp-tier"></a>
Specifies the tier or level of the Partner AI App. The tier size impacts the speed and capabilities of the application. For more information, see [Set up Partner AI Apps](https://docs.aws.amazon.com/sagemaker/latest/dg/partner-app-onboard.html).  
*Required*: Yes  
*Type*: String  
*Minimum*: `1`  
*Maximum*: `64`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Type`  <a name="cfn-sagemaker-partnerapp-type"></a>
Specifies the type of Partner AI App being created.  
*Required*: Yes  
*Type*: String  
*Allowed values*: `lakera-guard | comet | deepchecks-llm-evaluation | fiddler`  
*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-partnerapp-return-values"></a>

### Ref
<a name="aws-resource-sagemaker-partnerapp-return-values-ref"></a>

### Fn::GetAtt
<a name="aws-resource-sagemaker-partnerapp-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-partnerapp-return-values-fn--getatt-fn--getatt"></a>

`Arn`  <a name="Arn-fn::getatt"></a>
The Amazon Resource Name (ARN) of the Partner AI App.

`BaseUrl`  <a name="BaseUrl-fn::getatt"></a>
The AppServerUrl based on app and account-info.

`CurrentVersionEolDate`  <a name="CurrentVersionEolDate-fn::getatt"></a>
The end-of-life date for the current version of the Partner AI App.

# AWS::SageMaker::PartnerApp PartnerAppConfig
<a name="aws-properties-sagemaker-partnerapp-partnerappconfig"></a>

A collection of configuration settings for the PartnerApp.

## Syntax
<a name="aws-properties-sagemaker-partnerapp-partnerappconfig-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-partnerapp-partnerappconfig-syntax.json"></a>

```
{
  "[AdminUsers](#cfn-sagemaker-partnerapp-partnerappconfig-adminusers)" : [ String, ... ],
  "[Arguments](#cfn-sagemaker-partnerapp-partnerappconfig-arguments)" : {Key: Value, ...}
}
```

### YAML
<a name="aws-properties-sagemaker-partnerapp-partnerappconfig-syntax.yaml"></a>

```
  [AdminUsers](#cfn-sagemaker-partnerapp-partnerappconfig-adminusers): 
    - String
  [Arguments](#cfn-sagemaker-partnerapp-partnerappconfig-arguments): 
    Key: Value
```

## Properties
<a name="aws-properties-sagemaker-partnerapp-partnerappconfig-properties"></a>

`AdminUsers`  <a name="cfn-sagemaker-partnerapp-partnerappconfig-adminusers"></a>
A list of users that will have administrative access to the Partner AI App.  
*Required*: No  
*Type*: Array of String  
*Minimum*: `0`  
*Maximum*: `5`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Arguments`  <a name="cfn-sagemaker-partnerapp-partnerappconfig-arguments"></a>
Additional arguments passed to the Partner AI App during initialization or runtime.  
*Required*: No  
*Type*: Object of String  
*Pattern*: `^(?!\s*$).{1,256}$`  
*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::PartnerApp PartnerAppMaintenanceConfig
<a name="aws-properties-sagemaker-partnerapp-partnerappmaintenanceconfig"></a>

A collection of settings that specify the maintenance schedule for the PartnerApp.

## Syntax
<a name="aws-properties-sagemaker-partnerapp-partnerappmaintenanceconfig-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-partnerapp-partnerappmaintenanceconfig-syntax.json"></a>

```
{
  "[MaintenanceWindowStart](#cfn-sagemaker-partnerapp-partnerappmaintenanceconfig-maintenancewindowstart)" : String
}
```

### YAML
<a name="aws-properties-sagemaker-partnerapp-partnerappmaintenanceconfig-syntax.yaml"></a>

```
  [MaintenanceWindowStart](#cfn-sagemaker-partnerapp-partnerappmaintenanceconfig-maintenancewindowstart): String
```

## Properties
<a name="aws-properties-sagemaker-partnerapp-partnerappmaintenanceconfig-properties"></a>

`MaintenanceWindowStart`  <a name="cfn-sagemaker-partnerapp-partnerappmaintenanceconfig-maintenancewindowstart"></a>
The maintenance window start day and time for the PartnerApp.  
*Required*: Yes  
*Type*: String  
*Pattern*: `(Mon|Tue|Wed|Thu|Fri|Sat|Sun):([01]\d|2[0-3]):([0-5]\d)`  
*Maximum*: `9`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::SageMaker::PartnerApp Tag
<a name="aws-properties-sagemaker-partnerapp-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-partnerapp-tag-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-partnerapp-tag-syntax.json"></a>

```
{
  "[Key](#cfn-sagemaker-partnerapp-tag-key)" : String,
  "[Value](#cfn-sagemaker-partnerapp-tag-value)" : String
}
```

### YAML
<a name="aws-properties-sagemaker-partnerapp-tag-syntax.yaml"></a>

```
  [Key](#cfn-sagemaker-partnerapp-tag-key): String
  [Value](#cfn-sagemaker-partnerapp-tag-value): String
```

## Properties
<a name="aws-properties-sagemaker-partnerapp-tag-properties"></a>

`Key`  <a name="cfn-sagemaker-partnerapp-tag-key"></a>
The tag key. Tag keys must be unique per resource.  
*Required*: Yes  
*Type*: String  
*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-partnerapp-tag-value"></a>
The tag value.  
*Required*: Yes  
*Type*: String  
*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)

# AWS::SageMaker::Pipeline
<a name="aws-resource-sagemaker-pipeline"></a>

The `AWS::SageMaker::Pipeline` resource creates shell scripts that run when you create and/or start a SageMaker Pipeline. For information about SageMaker Pipelines, see [SageMaker Pipelines](https://docs.aws.amazon.com/sagemaker/latest/dg/pipelines.html) in the *Amazon SageMaker Developer Guide*.

## Syntax
<a name="aws-resource-sagemaker-pipeline-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-resource-sagemaker-pipeline-syntax.json"></a>

```
{
  "Type" : "AWS::SageMaker::Pipeline",
  "Properties" : {
      "[ParallelismConfiguration](#cfn-sagemaker-pipeline-parallelismconfiguration)" : ParallelismConfiguration,
      "[PipelineDefinition](#cfn-sagemaker-pipeline-pipelinedefinition)" : PipelineDefinition,
      "[PipelineDescription](#cfn-sagemaker-pipeline-pipelinedescription)" : String,
      "[PipelineDisplayName](#cfn-sagemaker-pipeline-pipelinedisplayname)" : String,
      "[PipelineName](#cfn-sagemaker-pipeline-pipelinename)" : String,
      "[RoleArn](#cfn-sagemaker-pipeline-rolearn)" : String,
      "[Tags](#cfn-sagemaker-pipeline-tags)" : [ Tag, ... ]
    }
}
```

### YAML
<a name="aws-resource-sagemaker-pipeline-syntax.yaml"></a>

```
Type: AWS::SageMaker::Pipeline
Properties:
  [ParallelismConfiguration](#cfn-sagemaker-pipeline-parallelismconfiguration): 
    ParallelismConfiguration
  [PipelineDefinition](#cfn-sagemaker-pipeline-pipelinedefinition): 
    PipelineDefinition
  [PipelineDescription](#cfn-sagemaker-pipeline-pipelinedescription): String
  [PipelineDisplayName](#cfn-sagemaker-pipeline-pipelinedisplayname): String
  [PipelineName](#cfn-sagemaker-pipeline-pipelinename): String
  [RoleArn](#cfn-sagemaker-pipeline-rolearn): String
  [Tags](#cfn-sagemaker-pipeline-tags): 
    - Tag
```

## Properties
<a name="aws-resource-sagemaker-pipeline-properties"></a>

`ParallelismConfiguration`  <a name="cfn-sagemaker-pipeline-parallelismconfiguration"></a>
The parallelism configuration applied to the pipeline.  
*Required*: No  
*Type*: [ParallelismConfiguration](aws-properties-sagemaker-pipeline-parallelismconfiguration.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`PipelineDefinition`  <a name="cfn-sagemaker-pipeline-pipelinedefinition"></a>
The definition of the pipeline. This can be either a JSON string or an Amazon S3 location.  
*Required*: Yes  
*Type*: [PipelineDefinition](aws-properties-sagemaker-pipeline-pipelinedefinition.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`PipelineDescription`  <a name="cfn-sagemaker-pipeline-pipelinedescription"></a>
The description of the pipeline.  
*Required*: No  
*Type*: String  
*Minimum*: `0`  
*Maximum*: `3072`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`PipelineDisplayName`  <a name="cfn-sagemaker-pipeline-pipelinedisplayname"></a>
The display name of the pipeline.  
*Required*: No  
*Type*: String  
*Pattern*: `^[a-zA-Z0-9](-*[a-zA-Z0-9])*`  
*Minimum*: `1`  
*Maximum*: `256`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`PipelineName`  <a name="cfn-sagemaker-pipeline-pipelinename"></a>
The name of the pipeline.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^[a-zA-Z0-9](-*[a-zA-Z0-9])*`  
*Minimum*: `1`  
*Maximum*: `256`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`RoleArn`  <a name="cfn-sagemaker-pipeline-rolearn"></a>
The Amazon Resource Name (ARN) of the IAM role used to execute the pipeline.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^arn:aws[a-z\-]*:iam::\d{12}:role/?[a-zA-Z_0-9+=,.@\-_/]+$`  
*Minimum*: `20`  
*Maximum*: `2048`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Tags`  <a name="cfn-sagemaker-pipeline-tags"></a>
The tags of the pipeline.  
*Required*: No  
*Type*: Array of [Tag](aws-properties-sagemaker-pipeline-tag.md)  
*Minimum*: `0`  
*Maximum*: `50`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

## Return values
<a name="aws-resource-sagemaker-pipeline-return-values"></a>

### Ref
<a name="aws-resource-sagemaker-pipeline-return-values-ref"></a>

When you pass the logical ID of this resource to the intrinsic `Ref` function, `Ref` returns the PipelineName of the pipeline. 

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).

## Examples
<a name="aws-resource-sagemaker-pipeline--examples"></a>

### SageMaker Pipeline Example
<a name="aws-resource-sagemaker-pipeline--examples--SageMaker_Pipeline_Example"></a>

The following example creates a Pipeline with an associated lifecycle configuration.

#### JSON
<a name="aws-resource-sagemaker-pipeline--examples--SageMaker_Pipeline_Example--json"></a>

```
# Pipeline definition given as a JSON string { "Resources": {
            "MyPipeline": { "Type": "AWS::SageMaker::Pipeline", "Properties": { "PipelineName":
            "<pipeline-name>" "PipelineDisplayName": "<pipeline-display-name>",
            "PipelineDescription": "<pipeline-description>", "PipelineDefinition": {
            "PipelineDefinitionBody":
               "{\"Version\":\"2020-12-01\",\"Parameters\":[{\"Name\":\"InputDataSource\",\"DefaultValue\":\"\"},{\"Name\":\"InstanceCount\",\"Type\":\"Integer\",\"DefaultValue\":1}],\"Steps\":[{\"Name\":\"Training1\",\"Type\":\"Training\",\"Arguments\":{\"InputDataConfig\":[{\"DataSource\":{\"S3DataSource\":{\"S3Uri\":{\"Get\":\"Parameters.InputDataSource\"}}}}],\"OutputDataConfig\":{\"S3OutputPath\":\"s3://amzn-s3-demo-bucket/\"},\"ResourceConfig\":{\"InstanceType\":\"ml.m5.large\",\"InstanceCount\":{\"Get\":\"Parameters.InstanceCount\"},\"VolumeSizeInGB\":1024}}}]}"
            }, "RoleArn": "arn:aws:iam::<account-id>:root" } } } }
```

#### JSON
<a name="aws-resource-sagemaker-pipeline--examples--SageMaker_Pipeline_Example--json"></a>

```
# Pipeline definition given as an S3 string { "Resources": {
            "MyPipeline": { "Type": "AWS::SageMaker::Pipeline", "Properties": { "PipelineName":
            "<pipeline-name>", "PipelineDisplayName": "<pipeline-display-name>",
            "PipelineDescription": "<pipeline-description>", "PipelineDefinition": {
            "PipelineDefinitionS3Location": { "Bucket": "<S3-bucket-location>", "Key":
            "<S3-bucket-key>" } }, "RoleArn": "arn:aws:iam::<account-id>:root" } } }
            }
```

#### YAML
<a name="aws-resource-sagemaker-pipeline--examples--SageMaker_Pipeline_Example--yaml"></a>

```
# Pipeline definition given as a JSON string Resources:
            MyPipeline: Type: AWS::SageMaker::Pipeline Properties: PipelineName:
            "<pipeline-name>" PipelineDisplayName: "<pipeline-display-name>"
            PipelineDescription: "<pipeline-description>" PipelineDefinition:
            PipelineDefinitionBody:
               "{\"Version\":\"2020-12-01\",\"Parameters\":[{\"Name\":\"InputDataSource\",\"DefaultValue\":\"\"},{\"Name\":\"InstanceCount\",\"Type\":\"Integer\",\"DefaultValue\":1}],\"Steps\":[{\"Name\":\"Training1\",\"Type\":\"Training\",\"Arguments\":{\"InputDataConfig\":[{\"DataSource\":{\"S3DataSource\":{\"S3Uri\":{\"Get\":\"Parameters.InputDataSource\"}}}}],\"OutputDataConfig\":{\"S3OutputPath\":\"s3://amzn-s3-demo-bucket/\"},\"ResourceConfig\":{\"InstanceType\":\"ml.m5.large\",\"InstanceCount\":{\"Get\":\"Parameters.InstanceCount\"},\"VolumeSizeInGB\":1024}}}]}"
            RoleArn: "arn:aws:iam::<account-id>:root"
```

#### YAML
<a name="aws-resource-sagemaker-pipeline--examples--SageMaker_Pipeline_Example--yaml"></a>

```
# Pipeline definition given as an S3 location Resources:
            MyPipeline: Type: AWS::SageMaker::Pipeline Properties: PipelineName:
            "<pipeline-name>" PipelineDisplayName:"<pipeline-display-name>"
            PipelineDescription: "<pipeline-description>" PipelineDefinition:
            PipelineDefinitionS3Location: Bucket: "<S3-bucket-location>" Key:
            "<S3-bucket-key>" RoleArn: "arn:aws:iam::<account-id>:root"
```

# AWS::SageMaker::Pipeline ParallelismConfiguration
<a name="aws-properties-sagemaker-pipeline-parallelismconfiguration"></a>

Configuration that controls the parallelism of the pipeline. By default, the parallelism configuration specified applies to all executions of the pipeline unless overridden.

## Syntax
<a name="aws-properties-sagemaker-pipeline-parallelismconfiguration-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-pipeline-parallelismconfiguration-syntax.json"></a>

```
{
  "[MaxParallelExecutionSteps](#cfn-sagemaker-pipeline-parallelismconfiguration-maxparallelexecutionsteps)" : Integer
}
```

### YAML
<a name="aws-properties-sagemaker-pipeline-parallelismconfiguration-syntax.yaml"></a>

```
  [MaxParallelExecutionSteps](#cfn-sagemaker-pipeline-parallelismconfiguration-maxparallelexecutionsteps): Integer
```

## Properties
<a name="aws-properties-sagemaker-pipeline-parallelismconfiguration-properties"></a>

`MaxParallelExecutionSteps`  <a name="cfn-sagemaker-pipeline-parallelismconfiguration-maxparallelexecutionsteps"></a>
The max number of steps that can be executed in parallel.   
*Required*: Yes  
*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)

# AWS::SageMaker::Pipeline PipelineDefinition
<a name="aws-properties-sagemaker-pipeline-pipelinedefinition"></a>

The definition of the pipeline. This can be either a JSON string or an Amazon S3 location.

## Syntax
<a name="aws-properties-sagemaker-pipeline-pipelinedefinition-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-pipeline-pipelinedefinition-syntax.json"></a>

```
{
  "[PipelineDefinitionBody](#cfn-sagemaker-pipeline-pipelinedefinition-pipelinedefinitionbody)" : String,
  "[PipelineDefinitionS3Location](#cfn-sagemaker-pipeline-pipelinedefinition-pipelinedefinitions3location)" : S3Location
}
```

### YAML
<a name="aws-properties-sagemaker-pipeline-pipelinedefinition-syntax.yaml"></a>

```
  [PipelineDefinitionBody](#cfn-sagemaker-pipeline-pipelinedefinition-pipelinedefinitionbody): String
  [PipelineDefinitionS3Location](#cfn-sagemaker-pipeline-pipelinedefinition-pipelinedefinitions3location): 
    S3Location
```

## Properties
<a name="aws-properties-sagemaker-pipeline-pipelinedefinition-properties"></a>

`PipelineDefinitionBody`  <a name="cfn-sagemaker-pipeline-pipelinedefinition-pipelinedefinitionbody"></a>
The [JSON pipeline definition](https://aws-sagemaker-mlops.github.io/sagemaker-model-building-pipeline-definition-JSON-schema/) of the pipeline.  
*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)

`PipelineDefinitionS3Location`  <a name="cfn-sagemaker-pipeline-pipelinedefinition-pipelinedefinitions3location"></a>
The location of the pipeline definition stored in Amazon S3. If specified, SageMaker retrieves the pipeline definition from this location.  
*Required*: No  
*Type*: [S3Location](aws-properties-sagemaker-pipeline-s3location.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::Pipeline S3Location
<a name="aws-properties-sagemaker-pipeline-s3location"></a>

The location of the pipeline definition stored in Amazon S3. If specified, SageMaker will retrieve the pipeline definition from this location.

## Syntax
<a name="aws-properties-sagemaker-pipeline-s3location-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-pipeline-s3location-syntax.json"></a>

```
{
  "[Bucket](#cfn-sagemaker-pipeline-s3location-bucket)" : String,
  "[ETag](#cfn-sagemaker-pipeline-s3location-etag)" : String,
  "[Key](#cfn-sagemaker-pipeline-s3location-key)" : String,
  "[Version](#cfn-sagemaker-pipeline-s3location-version)" : String
}
```

### YAML
<a name="aws-properties-sagemaker-pipeline-s3location-syntax.yaml"></a>

```
  [Bucket](#cfn-sagemaker-pipeline-s3location-bucket): String
  [ETag](#cfn-sagemaker-pipeline-s3location-etag): String
  [Key](#cfn-sagemaker-pipeline-s3location-key): String
  [Version](#cfn-sagemaker-pipeline-s3location-version): String
```

## Properties
<a name="aws-properties-sagemaker-pipeline-s3location-properties"></a>

`Bucket`  <a name="cfn-sagemaker-pipeline-s3location-bucket"></a>
The name of the S3 bucket.  
*Required*: Yes  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ETag`  <a name="cfn-sagemaker-pipeline-s3location-etag"></a>
A file checksum of the pipeline definition file.  
*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)

`Key`  <a name="cfn-sagemaker-pipeline-s3location-key"></a>
The object key (or key name) which uniquely identifies the object in an S3 bucket.  
*Required*: Yes  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Version`  <a name="cfn-sagemaker-pipeline-s3location-version"></a>
The version ID of the pipeline definition file. If not specified, Amazon SageMaker will retrieve the latest version.  
*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::Pipeline Tag
<a name="aws-properties-sagemaker-pipeline-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-pipeline-tag-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-pipeline-tag-syntax.json"></a>

```
{
  "[Key](#cfn-sagemaker-pipeline-tag-key)" : String,
  "[Value](#cfn-sagemaker-pipeline-tag-value)" : String
}
```

### YAML
<a name="aws-properties-sagemaker-pipeline-tag-syntax.yaml"></a>

```
  [Key](#cfn-sagemaker-pipeline-tag-key): String
  [Value](#cfn-sagemaker-pipeline-tag-value): String
```

## Properties
<a name="aws-properties-sagemaker-pipeline-tag-properties"></a>

`Key`  <a name="cfn-sagemaker-pipeline-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-pipeline-tag-value"></a>
The tag value.  
*Required*: Yes  
*Type*: String  
*Pattern*: `([\p{L}\p{Z}\p{N}_.:/=+\-@]*)`  
*Minimum*: `0`  
*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::ProcessingJob
<a name="aws-resource-sagemaker-processingjob"></a>

An Amazon SageMaker processing job that is used to analyze data and evaluate models. For more information, see [Process Data and Evaluate Models](https://docs.aws.amazon.com/sagemaker/latest/dg/processing-job.html).

Also, note the following details specific to processing jobs created using CloudFormation stacks:
+ When you delete a CloudFormation stack with a processing job resource, the processing job is stopped using the [StopProcessingJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_StopProcessingJob.html) API but not deleted. Any tags associated with the processing job are deleted using the [DeleteTags](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DeleteTags.html) API.
+ If any part of your CloudFormation stack deployment fails and a rollback initiates, processing jobs with a specified `ProcessingJobName` value might cause the stack to become stuck in a failed state. This occurs because during a rollback, CloudFormation attempts to recreate the stack resources. Processing job names must be unique, so when CloudFormation attempts to recreate a processing job using the already defined name, this results in an `AlreadyExists` error. To prevent this, we recommend that you don't specify the optional `ProcessingJobName` property, thereby allowing SageMaker to auto-generate a unique name for your processing job. This ensures successful stack rollbacks when necessary. If you must use custom job names, you have to manually modify the `ProcessingJobName` and redeploy the stack to recover from a failed rollback.

## Syntax
<a name="aws-resource-sagemaker-processingjob-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-resource-sagemaker-processingjob-syntax.json"></a>

```
{
  "Type" : "AWS::SageMaker::ProcessingJob",
  "Properties" : {
      "[AppSpecification](#cfn-sagemaker-processingjob-appspecification)" : AppSpecification,
      "[Environment](#cfn-sagemaker-processingjob-environment)" : {Key: Value, ...},
      "[ExperimentConfig](#cfn-sagemaker-processingjob-experimentconfig)" : ExperimentConfig,
      "[NetworkConfig](#cfn-sagemaker-processingjob-networkconfig)" : NetworkConfig,
      "[ProcessingInputs](#cfn-sagemaker-processingjob-processinginputs)" : [ ProcessingInputsObject, ... ],
      "[ProcessingJobName](#cfn-sagemaker-processingjob-processingjobname)" : String,
      "[ProcessingOutputConfig](#cfn-sagemaker-processingjob-processingoutputconfig)" : ProcessingOutputConfig,
      "[ProcessingResources](#cfn-sagemaker-processingjob-processingresources)" : ProcessingResources,
      "[RoleArn](#cfn-sagemaker-processingjob-rolearn)" : String,
      "[StoppingCondition](#cfn-sagemaker-processingjob-stoppingcondition)" : StoppingCondition,
      "[Tags](#cfn-sagemaker-processingjob-tags)" : [ Tag, ... ]
    }
}
```

### YAML
<a name="aws-resource-sagemaker-processingjob-syntax.yaml"></a>

```
Type: AWS::SageMaker::ProcessingJob
Properties:
  [AppSpecification](#cfn-sagemaker-processingjob-appspecification): 
    AppSpecification
  [Environment](#cfn-sagemaker-processingjob-environment): 
    Key: Value
  [ExperimentConfig](#cfn-sagemaker-processingjob-experimentconfig): 
    ExperimentConfig
  [NetworkConfig](#cfn-sagemaker-processingjob-networkconfig): 
    NetworkConfig
  [ProcessingInputs](#cfn-sagemaker-processingjob-processinginputs): 
    - ProcessingInputsObject
  [ProcessingJobName](#cfn-sagemaker-processingjob-processingjobname): String
  [ProcessingOutputConfig](#cfn-sagemaker-processingjob-processingoutputconfig): 
    ProcessingOutputConfig
  [ProcessingResources](#cfn-sagemaker-processingjob-processingresources): 
    ProcessingResources
  [RoleArn](#cfn-sagemaker-processingjob-rolearn): String
  [StoppingCondition](#cfn-sagemaker-processingjob-stoppingcondition): 
    StoppingCondition
  [Tags](#cfn-sagemaker-processingjob-tags): 
    - Tag
```

## Properties
<a name="aws-resource-sagemaker-processingjob-properties"></a>

`AppSpecification`  <a name="cfn-sagemaker-processingjob-appspecification"></a>
Configuration to run a processing job in a specified container image.  
*Required*: Yes  
*Type*: [AppSpecification](aws-properties-sagemaker-processingjob-appspecification.md)  
*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-processingjob-environment"></a>
Sets the environment variables in the Docker container.  
*Required*: No  
*Type*: Object of String  
*Pattern*: `[a-zA-Z_][a-zA-Z0-9_]*`  
*Maximum*: `256`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`ExperimentConfig`  <a name="cfn-sagemaker-processingjob-experimentconfig"></a>
Associates a SageMaker job as a trial component with an experiment and trial. Specified when you call the [CreateProcessingJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateProcessingJob.html) API.  
*Required*: No  
*Type*: [ExperimentConfig](aws-properties-sagemaker-processingjob-experimentconfig.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`NetworkConfig`  <a name="cfn-sagemaker-processingjob-networkconfig"></a>
Networking options for a job, such as network traffic encryption between containers, whether to allow inbound and outbound network calls to and from containers, and the VPC subnets and security groups to use for VPC-enabled jobs.  
*Required*: No  
*Type*: [NetworkConfig](aws-properties-sagemaker-processingjob-networkconfig.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`ProcessingInputs`  <a name="cfn-sagemaker-processingjob-processinginputs"></a>
List of input configurations for the processing job.  
*Required*: No  
*Type*: Array of [ProcessingInputsObject](aws-properties-sagemaker-processingjob-processinginputsobject.md)  
*Minimum*: `0`  
*Maximum*: `10`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`ProcessingJobName`  <a name="cfn-sagemaker-processingjob-processingjobname"></a>
The name of the processing job. If you don't provide a job name, then a unique name is automatically created for the job.  
*Required*: No  
*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)

`ProcessingOutputConfig`  <a name="cfn-sagemaker-processingjob-processingoutputconfig"></a>
Contains information about the output location for the compiled model and the target device that the model runs on. `TargetDevice` and `TargetPlatform` are mutually exclusive, so you need to choose one between the two to specify your target device or platform. If you cannot find your device you want to use from the `TargetDevice` list, use `TargetPlatform` to describe the platform of your edge device and `CompilerOptions` if there are specific settings that are required or recommended to use for particular TargetPlatform.  
*Required*: No  
*Type*: [ProcessingOutputConfig](aws-properties-sagemaker-processingjob-processingoutputconfig.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`ProcessingResources`  <a name="cfn-sagemaker-processingjob-processingresources"></a>
Identifies the resources, ML compute instances, and ML storage volumes to deploy for a processing job. In distributed training, you specify more than one instance.  
*Required*: Yes  
*Type*: [ProcessingResources](aws-properties-sagemaker-processingjob-processingresources.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`RoleArn`  <a name="cfn-sagemaker-processingjob-rolearn"></a>
The ARN of the role used to create the processing job.  
*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)

`StoppingCondition`  <a name="cfn-sagemaker-processingjob-stoppingcondition"></a>
Configures conditions under which the processing job should be stopped, such as how long the processing job has been running. After the condition is met, the processing job is stopped.  
*Required*: No  
*Type*: [StoppingCondition](aws-properties-sagemaker-processingjob-stoppingcondition.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`Tags`  <a name="cfn-sagemaker-processingjob-tags"></a>
An array of key-value pairs. For more information, see [Using Cost Allocation Tags](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html#allocation-whatURL) in the *AWS Billing and Cost Management User Guide*.  
*Required*: No  
*Type*: Array of [Tag](aws-properties-sagemaker-processingjob-tag.md)  
*Maximum*: `50`  
*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-processingjob-return-values"></a>

### Ref
<a name="aws-resource-sagemaker-processingjob-return-values-ref"></a>

### Fn::GetAtt
<a name="aws-resource-sagemaker-processingjob-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-processingjob-return-values-fn--getatt-fn--getatt"></a>

`AutoMLJobArn`  <a name="AutoMLJobArn-fn::getatt"></a>
The Amazon Resource Name (ARN) of the AutoML job associated with this processing job.

`CreationTime`  <a name="CreationTime-fn::getatt"></a>
The time the processing job was created.

`ExitMessage`  <a name="ExitMessage-fn::getatt"></a>
A string, up to one KB in size, that contains metadata from the processing container when the processing job exits.

`FailureReason`  <a name="FailureReason-fn::getatt"></a>
A string, up to one KB in size, that contains the reason a processing job failed, if it failed.

`LastModifiedTime`  <a name="LastModifiedTime-fn::getatt"></a>
The time the processing job was last modified.

`MonitoringScheduleArn`  <a name="MonitoringScheduleArn-fn::getatt"></a>
The ARN of a monitoring schedule for an endpoint associated with this processing job.

`ProcessingEndTime`  <a name="ProcessingEndTime-fn::getatt"></a>
The time that the processing job ended.

`ProcessingJobArn`  <a name="ProcessingJobArn-fn::getatt"></a>
The ARN of the processing job.

`ProcessingJobStatus`  <a name="ProcessingJobStatus-fn::getatt"></a>
The status of the processing job.

`ProcessingStartTime`  <a name="ProcessingStartTime-fn::getatt"></a>
The time that the processing job started.

`TrainingJobArn`  <a name="TrainingJobArn-fn::getatt"></a>
The ARN of the training job associated with this processing job.

# AWS::SageMaker::ProcessingJob AppSpecification
<a name="aws-properties-sagemaker-processingjob-appspecification"></a>

Configuration to run a processing job in a specified container image.

## Syntax
<a name="aws-properties-sagemaker-processingjob-appspecification-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-processingjob-appspecification-syntax.json"></a>

```
{
  "[ContainerArguments](#cfn-sagemaker-processingjob-appspecification-containerarguments)" : [ String, ... ],
  "[ContainerEntrypoint](#cfn-sagemaker-processingjob-appspecification-containerentrypoint)" : [ String, ... ],
  "[ImageUri](#cfn-sagemaker-processingjob-appspecification-imageuri)" : String
}
```

### YAML
<a name="aws-properties-sagemaker-processingjob-appspecification-syntax.yaml"></a>

```
  [ContainerArguments](#cfn-sagemaker-processingjob-appspecification-containerarguments): 
    - String
  [ContainerEntrypoint](#cfn-sagemaker-processingjob-appspecification-containerentrypoint): 
    - String
  [ImageUri](#cfn-sagemaker-processingjob-appspecification-imageuri): String
```

## Properties
<a name="aws-properties-sagemaker-processingjob-appspecification-properties"></a>

`ContainerArguments`  <a name="cfn-sagemaker-processingjob-appspecification-containerarguments"></a>
The arguments for a container used to run a processing job.  
*Required*: No  
*Type*: Array of String  
*Minimum*: `0 | 0`  
*Maximum*: `256 | 100`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`ContainerEntrypoint`  <a name="cfn-sagemaker-processingjob-appspecification-containerentrypoint"></a>
The entrypoint for a container used to run a processing job.  
*Required*: No  
*Type*: Array of String  
*Minimum*: `0 | 0`  
*Maximum*: `256 | 100`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`ImageUri`  <a name="cfn-sagemaker-processingjob-appspecification-imageuri"></a>
The container image to be run by the processing job.  
*Required*: Yes  
*Type*: String  
*Pattern*: `.*`  
*Minimum*: `0`  
*Maximum*: `256`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::SageMaker::ProcessingJob AthenaDatasetDefinition
<a name="aws-properties-sagemaker-processingjob-athenadatasetdefinition"></a>

Configuration for Athena Dataset Definition input.

## Syntax
<a name="aws-properties-sagemaker-processingjob-athenadatasetdefinition-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-processingjob-athenadatasetdefinition-syntax.json"></a>

```
{
  "[Catalog](#cfn-sagemaker-processingjob-athenadatasetdefinition-catalog)" : String,
  "[Database](#cfn-sagemaker-processingjob-athenadatasetdefinition-database)" : String,
  "[KmsKeyId](#cfn-sagemaker-processingjob-athenadatasetdefinition-kmskeyid)" : String,
  "[OutputCompression](#cfn-sagemaker-processingjob-athenadatasetdefinition-outputcompression)" : String,
  "[OutputFormat](#cfn-sagemaker-processingjob-athenadatasetdefinition-outputformat)" : String,
  "[OutputS3Uri](#cfn-sagemaker-processingjob-athenadatasetdefinition-outputs3uri)" : String,
  "[QueryString](#cfn-sagemaker-processingjob-athenadatasetdefinition-querystring)" : String,
  "[WorkGroup](#cfn-sagemaker-processingjob-athenadatasetdefinition-workgroup)" : String
}
```

### YAML
<a name="aws-properties-sagemaker-processingjob-athenadatasetdefinition-syntax.yaml"></a>

```
  [Catalog](#cfn-sagemaker-processingjob-athenadatasetdefinition-catalog): String
  [Database](#cfn-sagemaker-processingjob-athenadatasetdefinition-database): String
  [KmsKeyId](#cfn-sagemaker-processingjob-athenadatasetdefinition-kmskeyid): String
  [OutputCompression](#cfn-sagemaker-processingjob-athenadatasetdefinition-outputcompression): String
  [OutputFormat](#cfn-sagemaker-processingjob-athenadatasetdefinition-outputformat): String
  [OutputS3Uri](#cfn-sagemaker-processingjob-athenadatasetdefinition-outputs3uri): String
  [QueryString](#cfn-sagemaker-processingjob-athenadatasetdefinition-querystring): 
    String
  [WorkGroup](#cfn-sagemaker-processingjob-athenadatasetdefinition-workgroup): String
```

## Properties
<a name="aws-properties-sagemaker-processingjob-athenadatasetdefinition-properties"></a>

`Catalog`  <a name="cfn-sagemaker-processingjob-athenadatasetdefinition-catalog"></a>
The name of the data catalog used in Athena query execution.  
*Required*: Yes  
*Type*: String  
*Maximum*: `256`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`Database`  <a name="cfn-sagemaker-processingjob-athenadatasetdefinition-database"></a>
The name of the database used in the Athena query execution.  
*Required*: Yes  
*Type*: String  
*Pattern*: `.*`  
*Maximum*: `255`  
*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-processingjob-athenadatasetdefinition-kmskeyid"></a>
The AWS Key Management Service (AWS KMS) key that Amazon SageMaker uses to encrypt data generated from an Athena query execution.  
*Required*: No  
*Type*: String  
*Pattern*: `[a-zA-Z0-9:/_-]*`  
*Minimum*: `0`  
*Maximum*: `2048`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`OutputCompression`  <a name="cfn-sagemaker-processingjob-athenadatasetdefinition-outputcompression"></a>
The compression used for Athena query results.  
*Required*: No  
*Type*: String  
*Allowed values*: `GZIP | SNAPPY | ZLIB`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`OutputFormat`  <a name="cfn-sagemaker-processingjob-athenadatasetdefinition-outputformat"></a>
The data storage format for Athena query results.  
*Required*: Yes  
*Type*: String  
*Allowed values*: `PARQUET | AVRO | ORC | JSON | TEXTFILE`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`OutputS3Uri`  <a name="cfn-sagemaker-processingjob-athenadatasetdefinition-outputs3uri"></a>
The location in Amazon S3 where Athena query results are stored.  
*Required*: Yes  
*Type*: String  
*Pattern*: `(https|s3)://([^/]+)/?(.*)`  
*Minimum*: `0`  
*Maximum*: `1024`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`QueryString`  <a name="cfn-sagemaker-processingjob-athenadatasetdefinition-querystring"></a>
The SQL query statements, to be executed.  
*Required*: Yes  
*Type*: String  
*Pattern*: `[\s\S]+`  
*Maximum*: `4096`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`WorkGroup`  <a name="cfn-sagemaker-processingjob-athenadatasetdefinition-workgroup"></a>
The name of the workgroup in which the Athena query is being started.  
*Required*: No  
*Type*: String  
*Pattern*: `[a-zA-Z0-9._-]+`  
*Maximum*: `128`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::SageMaker::ProcessingJob ClusterConfig
<a name="aws-properties-sagemaker-processingjob-clusterconfig"></a>

Configuration for the cluster used to run a processing job.

## Syntax
<a name="aws-properties-sagemaker-processingjob-clusterconfig-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-processingjob-clusterconfig-syntax.json"></a>

```
{
  "[InstanceCount](#cfn-sagemaker-processingjob-clusterconfig-instancecount)" : Integer,
  "[InstanceType](#cfn-sagemaker-processingjob-clusterconfig-instancetype)" : String,
  "[VolumeKmsKeyId](#cfn-sagemaker-processingjob-clusterconfig-volumekmskeyid)" : String,
  "[VolumeSizeInGB](#cfn-sagemaker-processingjob-clusterconfig-volumesizeingb)" : Integer
}
```

### YAML
<a name="aws-properties-sagemaker-processingjob-clusterconfig-syntax.yaml"></a>

```
  [InstanceCount](#cfn-sagemaker-processingjob-clusterconfig-instancecount): Integer
  [InstanceType](#cfn-sagemaker-processingjob-clusterconfig-instancetype): String
  [VolumeKmsKeyId](#cfn-sagemaker-processingjob-clusterconfig-volumekmskeyid): String
  [VolumeSizeInGB](#cfn-sagemaker-processingjob-clusterconfig-volumesizeingb): Integer
```

## Properties
<a name="aws-properties-sagemaker-processingjob-clusterconfig-properties"></a>

`InstanceCount`  <a name="cfn-sagemaker-processingjob-clusterconfig-instancecount"></a>
The number of ML compute instances to use in the processing job. For distributed processing jobs, specify a value greater than 1. The default value is 1.  
*Required*: Yes  
*Type*: Integer  
*Minimum*: `1`  
*Maximum*: `100`  
*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-processingjob-clusterconfig-instancetype"></a>
The ML compute instance type for the processing job.  
*Required*: Yes  
*Type*: String  
*Allowed values*: `ml.t3.medium | ml.t3.large | ml.t3.xlarge | ml.t3.2xlarge | 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.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.r5.large | ml.r5.xlarge | ml.r5.2xlarge | ml.r5.4xlarge | ml.r5.8xlarge | ml.r5.12xlarge | ml.r5.16xlarge | ml.r5.24xlarge | 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.16xlarge | ml.g5.12xlarge | ml.g5.24xlarge | ml.g5.48xlarge | ml.r5d.large | ml.r5d.xlarge | ml.r5d.2xlarge | ml.r5d.4xlarge | ml.r5d.8xlarge | ml.r5d.12xlarge | ml.r5d.16xlarge | ml.r5d.24xlarge | ml.g6.xlarge | ml.g6.2xlarge | ml.g6.4xlarge | ml.g6.8xlarge | ml.g6.12xlarge | ml.g6.16xlarge | ml.g6.24xlarge | ml.g6.48xlarge | ml.g6e.xlarge | ml.g6e.2xlarge | ml.g6e.4xlarge | ml.g6e.8xlarge | ml.g6e.12xlarge | ml.g6e.16xlarge | ml.g6e.24xlarge | ml.g6e.48xlarge | 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.xlarge | ml.c6i.2xlarge | ml.c6i.4xlarge | ml.c6i.8xlarge | ml.c6i.12xlarge | ml.c6i.16xlarge | ml.c6i.24xlarge | ml.c6i.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`  
*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-processingjob-clusterconfig-volumekmskeyid"></a>
The AWS Key Management Service (AWS KMS) key that Amazon SageMaker uses to encrypt data on the storage volume attached to the ML compute instance(s) that run the processing 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).
*Required*: No  
*Type*: String  
*Pattern*: `[a-zA-Z0-9:/_-]*`  
*Minimum*: `0`  
*Maximum*: `2048`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`VolumeSizeInGB`  <a name="cfn-sagemaker-processingjob-clusterconfig-volumesizeingb"></a>
The size of the ML storage volume in gigabytes that you want to provision. You must specify sufficient ML storage for your scenario.  
Certain Nitro-based instances include local storage with a fixed total size, dependent on the instance type. When using these instances for processing, Amazon SageMaker mounts the local instance storage instead of Amazon EBS gp2 storage. You can't request a `VolumeSizeInGB` greater than the total size of the local instance storage.  
For a list of instance types that support local instance storage, including the total size per instance type, see [Instance Store Volumes](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html#instance-store-volumes).
*Required*: Yes  
*Type*: Integer  
*Minimum*: `1`  
*Maximum*: `16384`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::SageMaker::ProcessingJob DatasetDefinition
<a name="aws-properties-sagemaker-processingjob-datasetdefinition"></a>

Configuration for Dataset Definition inputs. The Dataset Definition input must specify exactly one of either `AthenaDatasetDefinition` or `RedshiftDatasetDefinition` types.

## Syntax
<a name="aws-properties-sagemaker-processingjob-datasetdefinition-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-processingjob-datasetdefinition-syntax.json"></a>

```
{
  "[AthenaDatasetDefinition](#cfn-sagemaker-processingjob-datasetdefinition-athenadatasetdefinition)" : AthenaDatasetDefinition,
  "[DataDistributionType](#cfn-sagemaker-processingjob-datasetdefinition-datadistributiontype)" : String,
  "[InputMode](#cfn-sagemaker-processingjob-datasetdefinition-inputmode)" : String,
  "[LocalPath](#cfn-sagemaker-processingjob-datasetdefinition-localpath)" : String,
  "[RedshiftDatasetDefinition](#cfn-sagemaker-processingjob-datasetdefinition-redshiftdatasetdefinition)" : RedshiftDatasetDefinition
}
```

### YAML
<a name="aws-properties-sagemaker-processingjob-datasetdefinition-syntax.yaml"></a>

```
  [AthenaDatasetDefinition](#cfn-sagemaker-processingjob-datasetdefinition-athenadatasetdefinition): 
    AthenaDatasetDefinition
  [DataDistributionType](#cfn-sagemaker-processingjob-datasetdefinition-datadistributiontype): String
  [InputMode](#cfn-sagemaker-processingjob-datasetdefinition-inputmode): String
  [LocalPath](#cfn-sagemaker-processingjob-datasetdefinition-localpath): String
  [RedshiftDatasetDefinition](#cfn-sagemaker-processingjob-datasetdefinition-redshiftdatasetdefinition): 
    RedshiftDatasetDefinition
```

## Properties
<a name="aws-properties-sagemaker-processingjob-datasetdefinition-properties"></a>

`AthenaDatasetDefinition`  <a name="cfn-sagemaker-processingjob-datasetdefinition-athenadatasetdefinition"></a>
Configuration for Athena Dataset Definition input.  
*Required*: No  
*Type*: [AthenaDatasetDefinition](aws-properties-sagemaker-processingjob-athenadatasetdefinition.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`DataDistributionType`  <a name="cfn-sagemaker-processingjob-datasetdefinition-datadistributiontype"></a>
Whether the generated dataset is `FullyReplicated` or `ShardedByS3Key` (default).  
*Required*: No  
*Type*: String  
*Allowed values*: `FullyReplicated | ShardedByS3Key`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`InputMode`  <a name="cfn-sagemaker-processingjob-datasetdefinition-inputmode"></a>
Whether to use `File` or `Pipe` input mode. In `File` (default) mode, Amazon SageMaker copies the data from the input source onto the local Amazon Elastic Block Store (Amazon EBS) volumes before starting your training algorithm. This is the most commonly used input mode. In `Pipe` mode, Amazon SageMaker streams input data from the source directly to your algorithm without using the EBS volume.  
*Required*: No  
*Type*: String  
*Allowed values*: `File | Pipe`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`LocalPath`  <a name="cfn-sagemaker-processingjob-datasetdefinition-localpath"></a>
The local path where you want Amazon SageMaker to download the Dataset Definition inputs to run a processing job. `LocalPath` is an absolute path to the input data. This is a required parameter when `AppManaged` is `False` (default).  
*Required*: No  
*Type*: String  
*Pattern*: `.*`  
*Minimum*: `0`  
*Maximum*: `256`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`RedshiftDatasetDefinition`  <a name="cfn-sagemaker-processingjob-datasetdefinition-redshiftdatasetdefinition"></a>
Configuration for Redshift Dataset Definition input.  
*Required*: No  
*Type*: [RedshiftDatasetDefinition](aws-properties-sagemaker-processingjob-redshiftdatasetdefinition.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::SageMaker::ProcessingJob ExperimentConfig
<a name="aws-properties-sagemaker-processingjob-experimentconfig"></a>

Associates a SageMaker job as a trial component with an experiment and trial. Specified when you call the [CreateProcessingJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateProcessingJob.html) API.

## Syntax
<a name="aws-properties-sagemaker-processingjob-experimentconfig-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-processingjob-experimentconfig-syntax.json"></a>

```
{
  "[ExperimentName](#cfn-sagemaker-processingjob-experimentconfig-experimentname)" : String,
  "[RunName](#cfn-sagemaker-processingjob-experimentconfig-runname)" : String,
  "[TrialComponentDisplayName](#cfn-sagemaker-processingjob-experimentconfig-trialcomponentdisplayname)" : String,
  "[TrialName](#cfn-sagemaker-processingjob-experimentconfig-trialname)" : String
}
```

### YAML
<a name="aws-properties-sagemaker-processingjob-experimentconfig-syntax.yaml"></a>

```
  [ExperimentName](#cfn-sagemaker-processingjob-experimentconfig-experimentname): String
  [RunName](#cfn-sagemaker-processingjob-experimentconfig-runname): String
  [TrialComponentDisplayName](#cfn-sagemaker-processingjob-experimentconfig-trialcomponentdisplayname): String
  [TrialName](#cfn-sagemaker-processingjob-experimentconfig-trialname): String
```

## Properties
<a name="aws-properties-sagemaker-processingjob-experimentconfig-properties"></a>

`ExperimentName`  <a name="cfn-sagemaker-processingjob-experimentconfig-experimentname"></a>
The name of an existing experiment to associate with the trial component.  
*Required*: No  
*Type*: String  
*Pattern*: `[a-zA-Z0-9](-*[a-zA-Z0-9]){0,119}`  
*Maximum*: `120`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`RunName`  <a name="cfn-sagemaker-processingjob-experimentconfig-runname"></a>
The name of the experiment run to associate with the trial component.  
*Required*: No  
*Type*: String  
*Pattern*: `[a-zA-Z0-9](-*[a-zA-Z0-9]){0,119}`  
*Maximum*: `120`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`TrialComponentDisplayName`  <a name="cfn-sagemaker-processingjob-experimentconfig-trialcomponentdisplayname"></a>
The display name for the trial component. If this key isn't specified, the display name is the trial component name.  
*Required*: No  
*Type*: String  
*Pattern*: `[a-zA-Z0-9](-*[a-zA-Z0-9]){0,119}`  
*Maximum*: `120`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`TrialName`  <a name="cfn-sagemaker-processingjob-experimentconfig-trialname"></a>
The name of an existing trial to associate the trial component with. If not specified, a new trial is created.  
*Required*: No  
*Type*: String  
*Pattern*: `[a-zA-Z0-9](-*[a-zA-Z0-9]){0,119}`  
*Maximum*: `120`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::SageMaker::ProcessingJob FeatureStoreOutput
<a name="aws-properties-sagemaker-processingjob-featurestoreoutput"></a>

Configuration for processing job outputs in Amazon SageMaker Feature Store.

## Syntax
<a name="aws-properties-sagemaker-processingjob-featurestoreoutput-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-processingjob-featurestoreoutput-syntax.json"></a>

```
{
  "[FeatureGroupName](#cfn-sagemaker-processingjob-featurestoreoutput-featuregroupname)" : String
}
```

### YAML
<a name="aws-properties-sagemaker-processingjob-featurestoreoutput-syntax.yaml"></a>

```
  [FeatureGroupName](#cfn-sagemaker-processingjob-featurestoreoutput-featuregroupname): String
```

## Properties
<a name="aws-properties-sagemaker-processingjob-featurestoreoutput-properties"></a>

`FeatureGroupName`  <a name="cfn-sagemaker-processingjob-featurestoreoutput-featuregroupname"></a>
The name of the Amazon SageMaker FeatureGroup to use as the destination for processing job output. Note that your processing script is responsible for putting records into your Feature Store.  
*Required*: Yes  
*Type*: String  
*Pattern*: `[a-zA-Z0-9]([_-]*[a-zA-Z0-9]){0,63}`  
*Maximum*: `64`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::SageMaker::ProcessingJob NetworkConfig
<a name="aws-properties-sagemaker-processingjob-networkconfig"></a>

Networking options for a job, such as network traffic encryption between containers, whether to allow inbound and outbound network calls to and from containers, and the VPC subnets and security groups to use for VPC-enabled jobs.

## Syntax
<a name="aws-properties-sagemaker-processingjob-networkconfig-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-processingjob-networkconfig-syntax.json"></a>

```
{
  "[EnableInterContainerTrafficEncryption](#cfn-sagemaker-processingjob-networkconfig-enableintercontainertrafficencryption)" : Boolean,
  "[EnableNetworkIsolation](#cfn-sagemaker-processingjob-networkconfig-enablenetworkisolation)" : Boolean,
  "[VpcConfig](#cfn-sagemaker-processingjob-networkconfig-vpcconfig)" : VpcConfig
}
```

### YAML
<a name="aws-properties-sagemaker-processingjob-networkconfig-syntax.yaml"></a>

```
  [EnableInterContainerTrafficEncryption](#cfn-sagemaker-processingjob-networkconfig-enableintercontainertrafficencryption): Boolean
  [EnableNetworkIsolation](#cfn-sagemaker-processingjob-networkconfig-enablenetworkisolation): Boolean
  [VpcConfig](#cfn-sagemaker-processingjob-networkconfig-vpcconfig): 
    VpcConfig
```

## Properties
<a name="aws-properties-sagemaker-processingjob-networkconfig-properties"></a>

`EnableInterContainerTrafficEncryption`  <a name="cfn-sagemaker-processingjob-networkconfig-enableintercontainertrafficencryption"></a>
Whether to encrypt all communications between distributed processing jobs. Choose `True` to encrypt communications. Encryption provides greater security for distributed processing jobs, but the processing might take longer.  
*Required*: No  
*Type*: Boolean  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`EnableNetworkIsolation`  <a name="cfn-sagemaker-processingjob-networkconfig-enablenetworkisolation"></a>
Whether to allow inbound and outbound network calls to and from the containers used for the processing job.  
*Required*: No  
*Type*: Boolean  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`VpcConfig`  <a name="cfn-sagemaker-processingjob-networkconfig-vpcconfig"></a>
Specifies an Amazon Virtual Private Cloud (VPC) that your SageMaker jobs, hosted models, and compute resources have access to. You can control access to and from your resources by configuring a VPC. For more information, see [Give SageMaker Access to Resources in your Amazon VPC](https://docs.aws.amazon.com/sagemaker/latest/dg/infrastructure-give-access.html).   
*Required*: No  
*Type*: [VpcConfig](aws-properties-sagemaker-processingjob-vpcconfig.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::SageMaker::ProcessingJob ProcessingInputsObject
<a name="aws-properties-sagemaker-processingjob-processinginputsobject"></a>

The inputs for a processing job. The processing input must specify exactly one of either `S3Input` or `DatasetDefinition` types.

## Syntax
<a name="aws-properties-sagemaker-processingjob-processinginputsobject-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-processingjob-processinginputsobject-syntax.json"></a>

```
{
  "[AppManaged](#cfn-sagemaker-processingjob-processinginputsobject-appmanaged)" : Boolean,
  "[DatasetDefinition](#cfn-sagemaker-processingjob-processinginputsobject-datasetdefinition)" : DatasetDefinition,
  "[InputName](#cfn-sagemaker-processingjob-processinginputsobject-inputname)" : String,
  "[S3Input](#cfn-sagemaker-processingjob-processinginputsobject-s3input)" : S3Input
}
```

### YAML
<a name="aws-properties-sagemaker-processingjob-processinginputsobject-syntax.yaml"></a>

```
  [AppManaged](#cfn-sagemaker-processingjob-processinginputsobject-appmanaged): Boolean
  [DatasetDefinition](#cfn-sagemaker-processingjob-processinginputsobject-datasetdefinition): 
    DatasetDefinition
  [InputName](#cfn-sagemaker-processingjob-processinginputsobject-inputname): String
  [S3Input](#cfn-sagemaker-processingjob-processinginputsobject-s3input): 
    S3Input
```

## Properties
<a name="aws-properties-sagemaker-processingjob-processinginputsobject-properties"></a>

`AppManaged`  <a name="cfn-sagemaker-processingjob-processinginputsobject-appmanaged"></a>
When `True`, input operations such as data download are managed natively by the processing job application. When `False` (default), input operations are managed by Amazon SageMaker.  
*Required*: No  
*Type*: Boolean  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`DatasetDefinition`  <a name="cfn-sagemaker-processingjob-processinginputsobject-datasetdefinition"></a>
Configuration for Dataset Definition inputs. The Dataset Definition input must specify exactly one of either `AthenaDatasetDefinition` or `RedshiftDatasetDefinition` types.  
*Required*: No  
*Type*: [DatasetDefinition](aws-properties-sagemaker-processingjob-datasetdefinition.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`InputName`  <a name="cfn-sagemaker-processingjob-processinginputsobject-inputname"></a>
The name for the processing job input.  
*Required*: Yes  
*Type*: String  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`S3Input`  <a name="cfn-sagemaker-processingjob-processinginputsobject-s3input"></a>
Configuration for downloading input data from Amazon S3 into the processing container.  
*Required*: No  
*Type*: [S3Input](aws-properties-sagemaker-processingjob-s3input.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::SageMaker::ProcessingJob ProcessingOutputConfig
<a name="aws-properties-sagemaker-processingjob-processingoutputconfig"></a>

Configuration for uploading output from the processing container.

## Syntax
<a name="aws-properties-sagemaker-processingjob-processingoutputconfig-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-processingjob-processingoutputconfig-syntax.json"></a>

```
{
  "[KmsKeyId](#cfn-sagemaker-processingjob-processingoutputconfig-kmskeyid)" : String,
  "[Outputs](#cfn-sagemaker-processingjob-processingoutputconfig-outputs)" : [ ProcessingOutputsObject, ... ]
}
```

### YAML
<a name="aws-properties-sagemaker-processingjob-processingoutputconfig-syntax.yaml"></a>

```
  [KmsKeyId](#cfn-sagemaker-processingjob-processingoutputconfig-kmskeyid): String
  [Outputs](#cfn-sagemaker-processingjob-processingoutputconfig-outputs): 
    - ProcessingOutputsObject
```

## Properties
<a name="aws-properties-sagemaker-processingjob-processingoutputconfig-properties"></a>

`KmsKeyId`  <a name="cfn-sagemaker-processingjob-processingoutputconfig-kmskeyid"></a>
The AWS Key Management Service (AWS KMS) key that Amazon SageMaker uses to encrypt the processing job output. `KmsKeyId` can be an ID of a KMS key, ARN of a KMS key, or alias of a KMS key. The `KmsKeyId` is applied to all outputs.  
*Required*: No  
*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)

`Outputs`  <a name="cfn-sagemaker-processingjob-processingoutputconfig-outputs"></a>
An array of outputs configuring the data to upload from the processing container.  
*Required*: Yes  
*Type*: Array of [ProcessingOutputsObject](aws-properties-sagemaker-processingjob-processingoutputsobject.md)  
*Maximum*: `10`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::SageMaker::ProcessingJob ProcessingOutputsObject
<a name="aws-properties-sagemaker-processingjob-processingoutputsobject"></a>

Describes the results of a processing job. The processing output must specify exactly one of either `S3Output` or `FeatureStoreOutput` types.

## Syntax
<a name="aws-properties-sagemaker-processingjob-processingoutputsobject-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-processingjob-processingoutputsobject-syntax.json"></a>

```
{
  "[AppManaged](#cfn-sagemaker-processingjob-processingoutputsobject-appmanaged)" : Boolean,
  "[FeatureStoreOutput](#cfn-sagemaker-processingjob-processingoutputsobject-featurestoreoutput)" : FeatureStoreOutput,
  "[OutputName](#cfn-sagemaker-processingjob-processingoutputsobject-outputname)" : String,
  "[S3Output](#cfn-sagemaker-processingjob-processingoutputsobject-s3output)" : S3Output
}
```

### YAML
<a name="aws-properties-sagemaker-processingjob-processingoutputsobject-syntax.yaml"></a>

```
  [AppManaged](#cfn-sagemaker-processingjob-processingoutputsobject-appmanaged): Boolean
  [FeatureStoreOutput](#cfn-sagemaker-processingjob-processingoutputsobject-featurestoreoutput): 
    FeatureStoreOutput
  [OutputName](#cfn-sagemaker-processingjob-processingoutputsobject-outputname): String
  [S3Output](#cfn-sagemaker-processingjob-processingoutputsobject-s3output): 
    S3Output
```

## Properties
<a name="aws-properties-sagemaker-processingjob-processingoutputsobject-properties"></a>

`AppManaged`  <a name="cfn-sagemaker-processingjob-processingoutputsobject-appmanaged"></a>
When `True`, output operations such as data upload are managed natively by the processing job application. When `False` (default), output operations are managed by Amazon SageMaker.  
*Required*: No  
*Type*: Boolean  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`FeatureStoreOutput`  <a name="cfn-sagemaker-processingjob-processingoutputsobject-featurestoreoutput"></a>
Configuration for processing job outputs in Amazon SageMaker Feature Store.  
*Required*: No  
*Type*: [FeatureStoreOutput](aws-properties-sagemaker-processingjob-featurestoreoutput.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`OutputName`  <a name="cfn-sagemaker-processingjob-processingoutputsobject-outputname"></a>
The name for the processing job output.  
*Required*: Yes  
*Type*: String  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`S3Output`  <a name="cfn-sagemaker-processingjob-processingoutputsobject-s3output"></a>
Configuration for uploading output data to Amazon S3 from the processing container.  
*Required*: No  
*Type*: [S3Output](aws-properties-sagemaker-processingjob-s3output.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::SageMaker::ProcessingJob ProcessingResources
<a name="aws-properties-sagemaker-processingjob-processingresources"></a>

Identifies the resources, ML compute instances, and ML storage volumes to deploy for a processing job. In distributed training, you specify more than one instance.

## Syntax
<a name="aws-properties-sagemaker-processingjob-processingresources-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-processingjob-processingresources-syntax.json"></a>

```
{
  "[ClusterConfig](#cfn-sagemaker-processingjob-processingresources-clusterconfig)" : ClusterConfig
}
```

### YAML
<a name="aws-properties-sagemaker-processingjob-processingresources-syntax.yaml"></a>

```
  [ClusterConfig](#cfn-sagemaker-processingjob-processingresources-clusterconfig): 
    ClusterConfig
```

## Properties
<a name="aws-properties-sagemaker-processingjob-processingresources-properties"></a>

`ClusterConfig`  <a name="cfn-sagemaker-processingjob-processingresources-clusterconfig"></a>
The configuration for the resources in a cluster used to run the processing job.  
*Required*: Yes  
*Type*: [ClusterConfig](aws-properties-sagemaker-processingjob-clusterconfig.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::SageMaker::ProcessingJob RedshiftDatasetDefinition
<a name="aws-properties-sagemaker-processingjob-redshiftdatasetdefinition"></a>

Configuration for Redshift Dataset Definition input.

## Syntax
<a name="aws-properties-sagemaker-processingjob-redshiftdatasetdefinition-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-processingjob-redshiftdatasetdefinition-syntax.json"></a>

```
{
  "[ClusterId](#cfn-sagemaker-processingjob-redshiftdatasetdefinition-clusterid)" : String,
  "[ClusterRoleArn](#cfn-sagemaker-processingjob-redshiftdatasetdefinition-clusterrolearn)" : String,
  "[Database](#cfn-sagemaker-processingjob-redshiftdatasetdefinition-database)" : String,
  "[DbUser](#cfn-sagemaker-processingjob-redshiftdatasetdefinition-dbuser)" : String,
  "[KmsKeyId](#cfn-sagemaker-processingjob-redshiftdatasetdefinition-kmskeyid)" : String,
  "[OutputCompression](#cfn-sagemaker-processingjob-redshiftdatasetdefinition-outputcompression)" : String,
  "[OutputFormat](#cfn-sagemaker-processingjob-redshiftdatasetdefinition-outputformat)" : String,
  "[OutputS3Uri](#cfn-sagemaker-processingjob-redshiftdatasetdefinition-outputs3uri)" : String,
  "[QueryString](#cfn-sagemaker-processingjob-redshiftdatasetdefinition-querystring)" : String
}
```

### YAML
<a name="aws-properties-sagemaker-processingjob-redshiftdatasetdefinition-syntax.yaml"></a>

```
  [ClusterId](#cfn-sagemaker-processingjob-redshiftdatasetdefinition-clusterid): String
  [ClusterRoleArn](#cfn-sagemaker-processingjob-redshiftdatasetdefinition-clusterrolearn): String
  [Database](#cfn-sagemaker-processingjob-redshiftdatasetdefinition-database): String
  [DbUser](#cfn-sagemaker-processingjob-redshiftdatasetdefinition-dbuser): String
  [KmsKeyId](#cfn-sagemaker-processingjob-redshiftdatasetdefinition-kmskeyid): String
  [OutputCompression](#cfn-sagemaker-processingjob-redshiftdatasetdefinition-outputcompression): String
  [OutputFormat](#cfn-sagemaker-processingjob-redshiftdatasetdefinition-outputformat): String
  [OutputS3Uri](#cfn-sagemaker-processingjob-redshiftdatasetdefinition-outputs3uri): String
  [QueryString](#cfn-sagemaker-processingjob-redshiftdatasetdefinition-querystring): 
    String
```

## Properties
<a name="aws-properties-sagemaker-processingjob-redshiftdatasetdefinition-properties"></a>

`ClusterId`  <a name="cfn-sagemaker-processingjob-redshiftdatasetdefinition-clusterid"></a>
The Redshift cluster Identifier.  
*Required*: Yes  
*Type*: String  
*Pattern*: `.*`  
*Maximum*: `63`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`ClusterRoleArn`  <a name="cfn-sagemaker-processingjob-redshiftdatasetdefinition-clusterrolearn"></a>
The IAM role attached to your Redshift cluster that Amazon SageMaker uses to generate datasets.  
*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)

`Database`  <a name="cfn-sagemaker-processingjob-redshiftdatasetdefinition-database"></a>
The name of the Redshift database used in Redshift query execution.  
*Required*: Yes  
*Type*: String  
*Pattern*: `.*`  
*Maximum*: `64`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`DbUser`  <a name="cfn-sagemaker-processingjob-redshiftdatasetdefinition-dbuser"></a>
The database user name used in Redshift query execution.  
*Required*: Yes  
*Type*: String  
*Pattern*: `.*`  
*Maximum*: `128`  
*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-processingjob-redshiftdatasetdefinition-kmskeyid"></a>
The AWS Key Management Service (AWS KMS) key that Amazon SageMaker uses to encrypt data from a Redshift execution.  
*Required*: No  
*Type*: String  
*Pattern*: `[a-zA-Z0-9:/_-]*`  
*Minimum*: `0`  
*Maximum*: `2048`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`OutputCompression`  <a name="cfn-sagemaker-processingjob-redshiftdatasetdefinition-outputcompression"></a>
The compression used for Redshift query results.  
*Required*: No  
*Type*: String  
*Allowed values*: `None | GZIP | SNAPPY | ZSTD | BZIP2`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`OutputFormat`  <a name="cfn-sagemaker-processingjob-redshiftdatasetdefinition-outputformat"></a>
The data storage format for Redshift query results.  
*Required*: Yes  
*Type*: String  
*Allowed values*: `PARQUET | CSV`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`OutputS3Uri`  <a name="cfn-sagemaker-processingjob-redshiftdatasetdefinition-outputs3uri"></a>
The location in Amazon S3 where the Redshift query results are stored.  
*Required*: Yes  
*Type*: String  
*Pattern*: `(https|s3)://([^/]+)/?(.*)`  
*Minimum*: `0`  
*Maximum*: `1024`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`QueryString`  <a name="cfn-sagemaker-processingjob-redshiftdatasetdefinition-querystring"></a>
The SQL query statements to be executed.  
*Required*: Yes  
*Type*: String  
*Pattern*: `[\s\S]+`  
*Maximum*: `4096`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::SageMaker::ProcessingJob S3Input
<a name="aws-properties-sagemaker-processingjob-s3input"></a>

Configuration for downloading input data from Amazon S3 into the processing container.

## Syntax
<a name="aws-properties-sagemaker-processingjob-s3input-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-processingjob-s3input-syntax.json"></a>

```
{
  "[LocalPath](#cfn-sagemaker-processingjob-s3input-localpath)" : String,
  "[S3CompressionType](#cfn-sagemaker-processingjob-s3input-s3compressiontype)" : String,
  "[S3DataDistributionType](#cfn-sagemaker-processingjob-s3input-s3datadistributiontype)" : String,
  "[S3DataType](#cfn-sagemaker-processingjob-s3input-s3datatype)" : String,
  "[S3InputMode](#cfn-sagemaker-processingjob-s3input-s3inputmode)" : String,
  "[S3Uri](#cfn-sagemaker-processingjob-s3input-s3uri)" : String
}
```

### YAML
<a name="aws-properties-sagemaker-processingjob-s3input-syntax.yaml"></a>

```
  [LocalPath](#cfn-sagemaker-processingjob-s3input-localpath): String
  [S3CompressionType](#cfn-sagemaker-processingjob-s3input-s3compressiontype): String
  [S3DataDistributionType](#cfn-sagemaker-processingjob-s3input-s3datadistributiontype): String
  [S3DataType](#cfn-sagemaker-processingjob-s3input-s3datatype): String
  [S3InputMode](#cfn-sagemaker-processingjob-s3input-s3inputmode): String
  [S3Uri](#cfn-sagemaker-processingjob-s3input-s3uri): String
```

## Properties
<a name="aws-properties-sagemaker-processingjob-s3input-properties"></a>

`LocalPath`  <a name="cfn-sagemaker-processingjob-s3input-localpath"></a>
The local path in your container where you want Amazon SageMaker to write input data to. `LocalPath` is an absolute path to the input data and must begin with `/opt/ml/processing/`. `LocalPath` is a required parameter when `AppManaged` is `False` (default).  
*Required*: No  
*Type*: String  
*Pattern*: `.*`  
*Minimum*: `0`  
*Maximum*: `256`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`S3CompressionType`  <a name="cfn-sagemaker-processingjob-s3input-s3compressiontype"></a>
Whether to GZIP-decompress the data in Amazon S3 as it is streamed into the processing container. `Gzip` can only be used when `Pipe` mode is specified as the `S3InputMode`. In `Pipe` mode, Amazon SageMaker streams input data from the source directly to your container without using the EBS volume.  
*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)

`S3DataDistributionType`  <a name="cfn-sagemaker-processingjob-s3input-s3datadistributiontype"></a>
Whether to distribute the data from Amazon S3 to all processing instances with `FullyReplicated`, or whether the data from Amazon S3 is sharded by Amazon S3 key, downloading one shard of data to each processing instance.  
*Required*: No  
*Type*: String  
*Allowed values*: `FullyReplicated | ShardedByS3Key`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`S3DataType`  <a name="cfn-sagemaker-processingjob-s3input-s3datatype"></a>
Whether you use an `S3Prefix` or a `ManifestFile` for the data type. If you choose `S3Prefix`, `S3Uri` identifies a key name prefix. Amazon SageMaker uses all objects with the specified key name prefix for the processing job. If you choose `ManifestFile`, `S3Uri` identifies an object that is a manifest file containing a list of object keys that you want Amazon SageMaker to use for the processing job.  
*Required*: Yes  
*Type*: String  
*Allowed values*: `ManifestFile | S3Prefix`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`S3InputMode`  <a name="cfn-sagemaker-processingjob-s3input-s3inputmode"></a>
Whether to use `File` or `Pipe` input mode. In File mode, Amazon SageMaker copies the data from the input source onto the local ML storage volume before starting your processing container. This is the most commonly used input mode. In `Pipe` mode, Amazon SageMaker streams input data from the source directly to your processing container into named pipes without using the ML storage volume.  
*Required*: No  
*Type*: String  
*Allowed values*: `File | Pipe`  
*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-processingjob-s3input-s3uri"></a>
The URI of the Amazon S3 prefix Amazon SageMaker downloads data required to run a processing job.  
*Required*: Yes  
*Type*: String  
*Pattern*: `(https|s3)://([^/]+)/?(.*)`  
*Minimum*: `0`  
*Maximum*: `1024`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::SageMaker::ProcessingJob S3Output
<a name="aws-properties-sagemaker-processingjob-s3output"></a>

Configuration for uploading output data to Amazon S3 from the processing container.

## Syntax
<a name="aws-properties-sagemaker-processingjob-s3output-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-processingjob-s3output-syntax.json"></a>

```
{
  "[LocalPath](#cfn-sagemaker-processingjob-s3output-localpath)" : String,
  "[S3UploadMode](#cfn-sagemaker-processingjob-s3output-s3uploadmode)" : String,
  "[S3Uri](#cfn-sagemaker-processingjob-s3output-s3uri)" : String
}
```

### YAML
<a name="aws-properties-sagemaker-processingjob-s3output-syntax.yaml"></a>

```
  [LocalPath](#cfn-sagemaker-processingjob-s3output-localpath): String
  [S3UploadMode](#cfn-sagemaker-processingjob-s3output-s3uploadmode): String
  [S3Uri](#cfn-sagemaker-processingjob-s3output-s3uri): String
```

## Properties
<a name="aws-properties-sagemaker-processingjob-s3output-properties"></a>

`LocalPath`  <a name="cfn-sagemaker-processingjob-s3output-localpath"></a>
The local path of a directory where you want Amazon SageMaker to upload its contents to Amazon S3. `LocalPath` is an absolute path to a directory containing output files. This directory will be created by the platform and exist when your container's entrypoint is invoked.  
*Required*: No  
*Type*: String  
*Pattern*: `.*`  
*Minimum*: `0`  
*Maximum*: `256`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`S3UploadMode`  <a name="cfn-sagemaker-processingjob-s3output-s3uploadmode"></a>
Whether to upload the results of the processing job continuously or after the job completes.  
*Required*: Yes  
*Type*: String  
*Allowed values*: `Continuous | EndOfJob`  
*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-processingjob-s3output-s3uri"></a>
The URI of the Amazon S3 prefix Amazon SageMaker downloads data required to run a processing job.  
*Required*: Yes  
*Type*: String  
*Pattern*: `(https|s3)://([^/]+)/?(.*)`  
*Minimum*: `0`  
*Maximum*: `1024`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::SageMaker::ProcessingJob StoppingCondition
<a name="aws-properties-sagemaker-processingjob-stoppingcondition"></a>

Configures conditions under which the processing job should be stopped, such as how long the processing job has been running. After the condition is met, the processing job is stopped.

## Syntax
<a name="aws-properties-sagemaker-processingjob-stoppingcondition-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-processingjob-stoppingcondition-syntax.json"></a>

```
{
  "[MaxRuntimeInSeconds](#cfn-sagemaker-processingjob-stoppingcondition-maxruntimeinseconds)" : Integer
}
```

### YAML
<a name="aws-properties-sagemaker-processingjob-stoppingcondition-syntax.yaml"></a>

```
  [MaxRuntimeInSeconds](#cfn-sagemaker-processingjob-stoppingcondition-maxruntimeinseconds): Integer
```

## Properties
<a name="aws-properties-sagemaker-processingjob-stoppingcondition-properties"></a>

`MaxRuntimeInSeconds`  <a name="cfn-sagemaker-processingjob-stoppingcondition-maxruntimeinseconds"></a>
The maximum length of time, in seconds, that a training or compilation job can run before it is stopped.  
For compilation jobs, if the job does not complete during this time, a `TimeOut` error is generated. We recommend starting with 900 seconds and increasing as necessary based on your model.  
For all other jobs, if the job does not complete during this time, SageMaker ends the job. When `RetryStrategy` is specified in the job request, `MaxRuntimeInSeconds` specifies the maximum time for all of the attempts in total, not each individual attempt. The default value is 1 day. The maximum value is 28 days.  
The maximum time that a `TrainingJob` can run in total, including any time spent publishing metrics or archiving and uploading models after it has been stopped, is 30 days.  
*Required*: Yes  
*Type*: Integer  
*Minimum*: `1`  
*Maximum*: `777600`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::SageMaker::ProcessingJob Tag
<a name="aws-properties-sagemaker-processingjob-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-processingjob-tag-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-processingjob-tag-syntax.json"></a>

```
{
  "[Key](#cfn-sagemaker-processingjob-tag-key)" : String,
  "[Value](#cfn-sagemaker-processingjob-tag-value)" : String
}
```

### YAML
<a name="aws-properties-sagemaker-processingjob-tag-syntax.yaml"></a>

```
  [Key](#cfn-sagemaker-processingjob-tag-key): String
  [Value](#cfn-sagemaker-processingjob-tag-value): String
```

## Properties
<a name="aws-properties-sagemaker-processingjob-tag-properties"></a>

`Key`  <a name="cfn-sagemaker-processingjob-tag-key"></a>
The tag key. Tag keys must be unique per resource.  
*Required*: Yes  
*Type*: String  
*Pattern*: `([\p{L}\p{Z}\p{N}_.:/=+\-@]*)`  
*Maximum*: `128`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`Value`  <a name="cfn-sagemaker-processingjob-tag-value"></a>
The tag value.  
*Required*: Yes  
*Type*: String  
*Pattern*: `([\p{L}\p{Z}\p{N}_.:/=+\-@]*)`  
*Maximum*: `256`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::SageMaker::ProcessingJob VpcConfig
<a name="aws-properties-sagemaker-processingjob-vpcconfig"></a>

Specifies an Amazon Virtual Private Cloud (VPC) that your SageMaker jobs, hosted models, and compute resources have access to. You can control access to and from your resources by configuring a VPC. For more information, see [Give SageMaker Access to Resources in your Amazon VPC](https://docs.aws.amazon.com/sagemaker/latest/dg/infrastructure-give-access.html). 

## Syntax
<a name="aws-properties-sagemaker-processingjob-vpcconfig-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-processingjob-vpcconfig-syntax.json"></a>

```
{
  "[SecurityGroupIds](#cfn-sagemaker-processingjob-vpcconfig-securitygroupids)" : [ String, ... ],
  "[Subnets](#cfn-sagemaker-processingjob-vpcconfig-subnets)" : [ String, ... ]
}
```

### YAML
<a name="aws-properties-sagemaker-processingjob-vpcconfig-syntax.yaml"></a>

```
  [SecurityGroupIds](#cfn-sagemaker-processingjob-vpcconfig-securitygroupids): 
    - String
  [Subnets](#cfn-sagemaker-processingjob-vpcconfig-subnets): 
    - String
```

## Properties
<a name="aws-properties-sagemaker-processingjob-vpcconfig-properties"></a>

`SecurityGroupIds`  <a name="cfn-sagemaker-processingjob-vpcconfig-securitygroupids"></a>
The VPC security group IDs, in the form `sg-xxxxxxxx`. Specify the security groups for the VPC that is specified in the `Subnets` field.  
*Required*: Yes  
*Type*: Array of String  
*Minimum*: `0 | 0`  
*Maximum*: `32 | 5`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`Subnets`  <a name="cfn-sagemaker-processingjob-vpcconfig-subnets"></a>
The ID of the subnets in the VPC to which you want to connect your training job or model. For information about the availability of specific instance types, see [Supported Instance Types and Availability Zones](https://docs.aws.amazon.com/sagemaker/latest/dg/instance-types-az.html).  
*Required*: Yes  
*Type*: Array of String  
*Minimum*: `0 | 0`  
*Maximum*: `32 | 16`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::SageMaker::Project
<a name="aws-resource-sagemaker-project"></a>

Creates a machine learning (ML) project that can contain one or more templates that set up an ML pipeline from training to deploying an approved model.

## Syntax
<a name="aws-resource-sagemaker-project-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-resource-sagemaker-project-syntax.json"></a>

```
{
  "Type" : "AWS::SageMaker::Project",
  "Properties" : {
      "[ProjectDescription](#cfn-sagemaker-project-projectdescription)" : String,
      "[ProjectName](#cfn-sagemaker-project-projectname)" : String,
      "[ServiceCatalogProvisionedProductDetails](#cfn-sagemaker-project-servicecatalogprovisionedproductdetails)" : ServiceCatalogProvisionedProductDetails,
      "[ServiceCatalogProvisioningDetails](#cfn-sagemaker-project-servicecatalogprovisioningdetails)" : ServiceCatalogProvisioningDetails,
      "[Tags](#cfn-sagemaker-project-tags)" : [ Tag, ... ],
      "[TemplateProviderDetails](#cfn-sagemaker-project-templateproviderdetails)" : [ TemplateProviderDetail, ... ]
    }
}
```

### YAML
<a name="aws-resource-sagemaker-project-syntax.yaml"></a>

```
Type: AWS::SageMaker::Project
Properties:
  [ProjectDescription](#cfn-sagemaker-project-projectdescription): String
  [ProjectName](#cfn-sagemaker-project-projectname): String
  [ServiceCatalogProvisionedProductDetails](#cfn-sagemaker-project-servicecatalogprovisionedproductdetails): 
    ServiceCatalogProvisionedProductDetails
  [ServiceCatalogProvisioningDetails](#cfn-sagemaker-project-servicecatalogprovisioningdetails): 
    ServiceCatalogProvisioningDetails
  [Tags](#cfn-sagemaker-project-tags): 
    - Tag
  [TemplateProviderDetails](#cfn-sagemaker-project-templateproviderdetails): 
    - TemplateProviderDetail
```

## Properties
<a name="aws-resource-sagemaker-project-properties"></a>

`ProjectDescription`  <a name="cfn-sagemaker-project-projectdescription"></a>
The description of the project.  
*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)

`ProjectName`  <a name="cfn-sagemaker-project-projectname"></a>
The name of the project.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^[a-zA-Z0-9](-*[a-zA-Z0-9])*$`  
*Minimum*: `1`  
*Maximum*: `32`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`ServiceCatalogProvisionedProductDetails`  <a name="cfn-sagemaker-project-servicecatalogprovisionedproductdetails"></a>
Details of a provisioned service catalog product. For information about service catalog, see [What is AWS Service Catalog](https://docs.aws.amazon.com/servicecatalog/latest/adminguide/introduction.html).  
*Required*: No  
*Type*: [ServiceCatalogProvisionedProductDetails](aws-properties-sagemaker-project-servicecatalogprovisionedproductdetails.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ServiceCatalogProvisioningDetails`  <a name="cfn-sagemaker-project-servicecatalogprovisioningdetails"></a>
The product ID and provisioning artifact ID to provision a service catalog. For information, see [What is AWS Service Catalog](https://docs.aws.amazon.com/servicecatalog/latest/adminguide/introduction.html).  
*Required*: No  
*Type*: [ServiceCatalogProvisioningDetails](aws-properties-sagemaker-project-servicecatalogprovisioningdetails.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`Tags`  <a name="cfn-sagemaker-project-tags"></a>
A list of key-value pairs to apply to this resource.  
For more information, see [Resource Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) and [Using Cost Allocation Tags](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html#allocation-what) in the *AWS Billing and Cost Management User Guide*.  
*Required*: No  
*Type*: Array of [Tag](aws-properties-sagemaker-project-tag.md)  
*Maximum*: `40`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`TemplateProviderDetails`  <a name="cfn-sagemaker-project-templateproviderdetails"></a>
 An array of template providers associated with the project.   
*Required*: No  
*Type*: Array of [TemplateProviderDetail](aws-properties-sagemaker-project-templateproviderdetail.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)

## Return values
<a name="aws-resource-sagemaker-project-return-values"></a>

### Ref
<a name="aws-resource-sagemaker-project-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 Project.

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-project-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-project-return-values-fn--getatt-fn--getatt"></a>

`CreationTime`  <a name="CreationTime-fn::getatt"></a>
The time that the project was created.

`ProjectArn`  <a name="ProjectArn-fn::getatt"></a>
The Amazon Resource Name (ARN) of the project.

`ProjectId`  <a name="ProjectId-fn::getatt"></a>
The ID of the project. This ID is prepended to all entities associated with this project.

`ProjectStatus`  <a name="ProjectStatus-fn::getatt"></a>
The status of the project.

## Examples
<a name="aws-resource-sagemaker-project--examples"></a>

### SageMaker Project Example
<a name="aws-resource-sagemaker-project--examples--SageMaker_Project_Example"></a>

The following example creates a SageMaker Project.

#### JSON
<a name="aws-resource-sagemaker-project--examples--SageMaker_Project_Example--json"></a>

```
{
   "Description": "AWS SageMaker Project basic template",
   "Resources": {
      "SampleProject": {
         "Type": "AWS::SageMaker::Project",
         "Properties": {
            "ProjectName": "project1",
            "ProjectDescription": "Project Description",
            "ServiceCatalogProvisioningDetails": {
               "ProductId": "prod-53ibyqbj2cgmo",
               "ProvisioningArtifactId": "pa-sm4pjfuzictpe"
            }
         }
      }
   }
}
```

#### YAML
<a name="aws-resource-sagemaker-project--examples--SageMaker_Project_Example--yaml"></a>

```
---
Description: AWS SageMaker Project basic template

Resources:

  SampleProject:
    Type: AWS::SageMaker::Project
    Properties:
      ProjectName: "SampleProject"
      ProjectDescription: "Project Description"
      ServiceCatalogProvisioningDetails:
        ProductId: "prod-53ibyqbj2cgmo"
        ProvisioningArtifactId: "pa-sm4pjfuzictpe"
```

# AWS::SageMaker::Project CfnStackParameter
<a name="aws-properties-sagemaker-project-cfnstackparameter"></a>

 A key-value pair representing a parameter used in the CloudFormation stack. 

## Syntax
<a name="aws-properties-sagemaker-project-cfnstackparameter-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-project-cfnstackparameter-syntax.json"></a>

```
{
  "[Key](#cfn-sagemaker-project-cfnstackparameter-key)" : String,
  "[Value](#cfn-sagemaker-project-cfnstackparameter-value)" : String
}
```

### YAML
<a name="aws-properties-sagemaker-project-cfnstackparameter-syntax.yaml"></a>

```
  [Key](#cfn-sagemaker-project-cfnstackparameter-key): String
  [Value](#cfn-sagemaker-project-cfnstackparameter-value): String
```

## Properties
<a name="aws-properties-sagemaker-project-cfnstackparameter-properties"></a>

`Key`  <a name="cfn-sagemaker-project-cfnstackparameter-key"></a>
 The name of the CloudFormation parameter.   
*Required*: Yes  
*Type*: String  
*Minimum*: `1`  
*Maximum*: `255`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`Value`  <a name="cfn-sagemaker-project-cfnstackparameter-value"></a>
 The value of the CloudFormation parameter.   
*Required*: Yes  
*Type*: String  
*Maximum*: `4096`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::SageMaker::Project CfnTemplateProviderDetail
<a name="aws-properties-sagemaker-project-cfntemplateproviderdetail"></a>

 Details about a CloudFormation template provider configuration and associated provisioning information. 

## Syntax
<a name="aws-properties-sagemaker-project-cfntemplateproviderdetail-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-project-cfntemplateproviderdetail-syntax.json"></a>

```
{
  "[Parameters](#cfn-sagemaker-project-cfntemplateproviderdetail-parameters)" : [ CfnStackParameter, ... ],
  "[RoleARN](#cfn-sagemaker-project-cfntemplateproviderdetail-rolearn)" : String,
  "[TemplateName](#cfn-sagemaker-project-cfntemplateproviderdetail-templatename)" : String,
  "[TemplateURL](#cfn-sagemaker-project-cfntemplateproviderdetail-templateurl)" : String
}
```

### YAML
<a name="aws-properties-sagemaker-project-cfntemplateproviderdetail-syntax.yaml"></a>

```
  [Parameters](#cfn-sagemaker-project-cfntemplateproviderdetail-parameters): 
    - CfnStackParameter
  [RoleARN](#cfn-sagemaker-project-cfntemplateproviderdetail-rolearn): String
  [TemplateName](#cfn-sagemaker-project-cfntemplateproviderdetail-templatename): String
  [TemplateURL](#cfn-sagemaker-project-cfntemplateproviderdetail-templateurl): String
```

## Properties
<a name="aws-properties-sagemaker-project-cfntemplateproviderdetail-properties"></a>

`Parameters`  <a name="cfn-sagemaker-project-cfntemplateproviderdetail-parameters"></a>
 An array of CloudFormation stack parameters.  
*Required*: No  
*Type*: Array of [CfnStackParameter](aws-properties-sagemaker-project-cfnstackparameter.md)  
*Minimum*: `0`  
*Maximum*: `180`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`RoleARN`  <a name="cfn-sagemaker-project-cfntemplateproviderdetail-rolearn"></a>
 The IAM role used by CloudFormation to create the stack.   
*Required*: No  
*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)

`TemplateName`  <a name="cfn-sagemaker-project-cfntemplateproviderdetail-templatename"></a>
 The unique identifier of the template within the project.   
*Required*: Yes  
*Type*: String  
*Pattern*: `(?=.{1,32}$)[a-zA-Z0-9](-*[a-zA-Z0-9])*`  
*Minimum*: `1`  
*Maximum*: `32`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`TemplateURL`  <a name="cfn-sagemaker-project-cfntemplateproviderdetail-templateurl"></a>
 The Amazon S3 URL of the CloudFormation template.   
*Required*: Yes  
*Type*: String  
*Pattern*: `(?=.{1,1024}$)(https)://([^/]+)/(.+)`  
*Minimum*: `1`  
*Maximum*: `1024`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::SageMaker::Project ProvisioningParameter
<a name="aws-properties-sagemaker-project-provisioningparameter"></a>

A key value pair used when you provision a project as a service catalog product. For information, see [What is AWS Service Catalog](https://docs.aws.amazon.com/servicecatalog/latest/adminguide/introduction.html).

## Syntax
<a name="aws-properties-sagemaker-project-provisioningparameter-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-project-provisioningparameter-syntax.json"></a>

```
{
  "[Key](#cfn-sagemaker-project-provisioningparameter-key)" : String,
  "[Value](#cfn-sagemaker-project-provisioningparameter-value)" : String
}
```

### YAML
<a name="aws-properties-sagemaker-project-provisioningparameter-syntax.yaml"></a>

```
  [Key](#cfn-sagemaker-project-provisioningparameter-key): String
  [Value](#cfn-sagemaker-project-provisioningparameter-value): String
```

## Properties
<a name="aws-properties-sagemaker-project-provisioningparameter-properties"></a>

`Key`  <a name="cfn-sagemaker-project-provisioningparameter-key"></a>
The key that identifies a provisioning parameter.  
*Required*: Yes  
*Type*: String  
*Pattern*: `.*`  
*Minimum*: `1`  
*Maximum*: `1000`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`Value`  <a name="cfn-sagemaker-project-provisioningparameter-value"></a>
The value of the provisioning parameter.  
*Required*: Yes  
*Type*: String  
*Pattern*: `.*`  
*Maximum*: `4096`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::SageMaker::Project ServiceCatalogProvisionedProductDetails
<a name="aws-properties-sagemaker-project-servicecatalogprovisionedproductdetails"></a>

Details of a provisioned service catalog product. For information about service catalog, see [What is AWS Service Catalog](https://docs.aws.amazon.com/servicecatalog/latest/adminguide/introduction.html).

## Syntax
<a name="aws-properties-sagemaker-project-servicecatalogprovisionedproductdetails-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-project-servicecatalogprovisionedproductdetails-syntax.json"></a>

```
{
  "[ProvisionedProductId](#cfn-sagemaker-project-servicecatalogprovisionedproductdetails-provisionedproductid)" : String,
  "[ProvisionedProductStatusMessage](#cfn-sagemaker-project-servicecatalogprovisionedproductdetails-provisionedproductstatusmessage)" : String
}
```

### YAML
<a name="aws-properties-sagemaker-project-servicecatalogprovisionedproductdetails-syntax.yaml"></a>

```
  [ProvisionedProductId](#cfn-sagemaker-project-servicecatalogprovisionedproductdetails-provisionedproductid): String
  [ProvisionedProductStatusMessage](#cfn-sagemaker-project-servicecatalogprovisionedproductdetails-provisionedproductstatusmessage): String
```

## Properties
<a name="aws-properties-sagemaker-project-servicecatalogprovisionedproductdetails-properties"></a>

`ProvisionedProductId`  <a name="cfn-sagemaker-project-servicecatalogprovisionedproductdetails-provisionedproductid"></a>
The ID of the provisioned product.  
*Required*: No  
*Type*: String  
*Pattern*: `^[a-zA-Z0-9](-*[a-zA-Z0-9])*$`  
*Maximum*: `100`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ProvisionedProductStatusMessage`  <a name="cfn-sagemaker-project-servicecatalogprovisionedproductdetails-provisionedproductstatusmessage"></a>
The current status of the product.  
+ `AVAILABLE` - Stable state, ready to perform any operation. The most recent operation succeeded and completed.
+ `UNDER_CHANGE` - Transitive state. Operations performed might not have valid results. Wait for an AVAILABLE status before performing operations.
+ `TAINTED` - Stable state, ready to perform any operation. The stack has completed the requested operation but is not exactly what was requested. For example, a request to update to a new version failed and the stack rolled back to the current version.
+ `ERROR` - An unexpected error occurred. The provisioned product exists but the stack is not running. For example, CloudFormation received a parameter value that was not valid and could not launch the stack.
+ `PLAN_IN_PROGRESS` - Transitive state. The plan operations were performed to provision a new product, but resources have not yet been created. After reviewing the list of resources to be created, execute the plan. Wait for an AVAILABLE status before performing operations.
*Required*: No  
*Type*: String  
*Pattern*: `.*`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::SageMaker::Project ServiceCatalogProvisioningDetails
<a name="aws-properties-sagemaker-project-servicecatalogprovisioningdetails"></a>

Details that you specify to provision a service catalog product. For information about service catalog, see [What is AWS Service Catalog](https://docs.aws.amazon.com/servicecatalog/latest/adminguide/introduction.html).

## Syntax
<a name="aws-properties-sagemaker-project-servicecatalogprovisioningdetails-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-project-servicecatalogprovisioningdetails-syntax.json"></a>

```
{
  "[PathId](#cfn-sagemaker-project-servicecatalogprovisioningdetails-pathid)" : String,
  "[ProductId](#cfn-sagemaker-project-servicecatalogprovisioningdetails-productid)" : String,
  "[ProvisioningArtifactId](#cfn-sagemaker-project-servicecatalogprovisioningdetails-provisioningartifactid)" : String,
  "[ProvisioningParameters](#cfn-sagemaker-project-servicecatalogprovisioningdetails-provisioningparameters)" : [ ProvisioningParameter, ... ]
}
```

### YAML
<a name="aws-properties-sagemaker-project-servicecatalogprovisioningdetails-syntax.yaml"></a>

```
  [PathId](#cfn-sagemaker-project-servicecatalogprovisioningdetails-pathid): String
  [ProductId](#cfn-sagemaker-project-servicecatalogprovisioningdetails-productid): String
  [ProvisioningArtifactId](#cfn-sagemaker-project-servicecatalogprovisioningdetails-provisioningartifactid): String
  [ProvisioningParameters](#cfn-sagemaker-project-servicecatalogprovisioningdetails-provisioningparameters): 
    - ProvisioningParameter
```

## Properties
<a name="aws-properties-sagemaker-project-servicecatalogprovisioningdetails-properties"></a>

`PathId`  <a name="cfn-sagemaker-project-servicecatalogprovisioningdetails-pathid"></a>
The path identifier of the product. This value is optional if the product has a default path, and required if the product has more than one path.   
*Required*: No  
*Type*: String  
*Pattern*: `^[a-zA-Z0-9](-*[a-zA-Z0-9])*$`  
*Maximum*: `100`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`ProductId`  <a name="cfn-sagemaker-project-servicecatalogprovisioningdetails-productid"></a>
The ID of the product to provision.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^[a-zA-Z0-9](-*[a-zA-Z0-9])*$`  
*Maximum*: `100`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`ProvisioningArtifactId`  <a name="cfn-sagemaker-project-servicecatalogprovisioningdetails-provisioningartifactid"></a>
The ID of the provisioning artifact.  
*Required*: No  
*Type*: String  
*Pattern*: `^[a-zA-Z0-9](-*[a-zA-Z0-9])*$`  
*Maximum*: `100`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`ProvisioningParameters`  <a name="cfn-sagemaker-project-servicecatalogprovisioningdetails-provisioningparameters"></a>
A list of key value pairs that you specify when you provision a product.  
*Required*: No  
*Type*: Array of [ProvisioningParameter](aws-properties-sagemaker-project-provisioningparameter.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::SageMaker::Project Tag
<a name="aws-properties-sagemaker-project-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-project-tag-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-project-tag-syntax.json"></a>

```
{
  "[Key](#cfn-sagemaker-project-tag-key)" : String,
  "[Value](#cfn-sagemaker-project-tag-value)" : String
}
```

### YAML
<a name="aws-properties-sagemaker-project-tag-syntax.yaml"></a>

```
  [Key](#cfn-sagemaker-project-tag-key): String
  [Value](#cfn-sagemaker-project-tag-value): String
```

## Properties
<a name="aws-properties-sagemaker-project-tag-properties"></a>

`Key`  <a name="cfn-sagemaker-project-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*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`Value`  <a name="cfn-sagemaker-project-tag-value"></a>
The tag value.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^([\p{L}\p{Z}\p{N}_.:/=+\-@]*)$`  
*Maximum*: `256`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::SageMaker::Project TemplateProviderDetail
<a name="aws-properties-sagemaker-project-templateproviderdetail"></a>

 Details about a template provider configuration and associated provisioning information. 

## Syntax
<a name="aws-properties-sagemaker-project-templateproviderdetail-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-project-templateproviderdetail-syntax.json"></a>

```
{
  "[CfnTemplateProviderDetail](#cfn-sagemaker-project-templateproviderdetail-cfntemplateproviderdetail)" : CfnTemplateProviderDetail
}
```

### YAML
<a name="aws-properties-sagemaker-project-templateproviderdetail-syntax.yaml"></a>

```
  [CfnTemplateProviderDetail](#cfn-sagemaker-project-templateproviderdetail-cfntemplateproviderdetail): 
    CfnTemplateProviderDetail
```

## Properties
<a name="aws-properties-sagemaker-project-templateproviderdetail-properties"></a>

`CfnTemplateProviderDetail`  <a name="cfn-sagemaker-project-templateproviderdetail-cfntemplateproviderdetail"></a>
 Details about a CloudFormation template provider configuration and associated provisioning information.   
*Required*: No  
*Type*: [CfnTemplateProviderDetail](aws-properties-sagemaker-project-cfntemplateproviderdetail.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::SageMaker::Space
<a name="aws-resource-sagemaker-space"></a>

Creates a private space or a space used for real time collaboration in a domain.

## Syntax
<a name="aws-resource-sagemaker-space-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-resource-sagemaker-space-syntax.json"></a>

```
{
  "Type" : "AWS::SageMaker::Space",
  "Properties" : {
      "[DomainId](#cfn-sagemaker-space-domainid)" : String,
      "[OwnershipSettings](#cfn-sagemaker-space-ownershipsettings)" : OwnershipSettings,
      "[SpaceDisplayName](#cfn-sagemaker-space-spacedisplayname)" : String,
      "[SpaceName](#cfn-sagemaker-space-spacename)" : String,
      "[SpaceSettings](#cfn-sagemaker-space-spacesettings)" : SpaceSettings,
      "[SpaceSharingSettings](#cfn-sagemaker-space-spacesharingsettings)" : SpaceSharingSettings,
      "[Tags](#cfn-sagemaker-space-tags)" : [ Tag, ... ]
    }
}
```

### YAML
<a name="aws-resource-sagemaker-space-syntax.yaml"></a>

```
Type: AWS::SageMaker::Space
Properties:
  [DomainId](#cfn-sagemaker-space-domainid): String
  [OwnershipSettings](#cfn-sagemaker-space-ownershipsettings): 
    OwnershipSettings
  [SpaceDisplayName](#cfn-sagemaker-space-spacedisplayname): String
  [SpaceName](#cfn-sagemaker-space-spacename): String
  [SpaceSettings](#cfn-sagemaker-space-spacesettings): 
    SpaceSettings
  [SpaceSharingSettings](#cfn-sagemaker-space-spacesharingsettings): 
    SpaceSharingSettings
  [Tags](#cfn-sagemaker-space-tags): 
    - Tag
```

## Properties
<a name="aws-resource-sagemaker-space-properties"></a>

`DomainId`  <a name="cfn-sagemaker-space-domainid"></a>
The ID of the associated domain.  
*Required*: Yes  
*Type*: String  
*Minimum*: `1`  
*Maximum*: `63`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`OwnershipSettings`  <a name="cfn-sagemaker-space-ownershipsettings"></a>
The collection of ownership settings for a space.  
*Required*: No  
*Type*: [OwnershipSettings](aws-properties-sagemaker-space-ownershipsettings.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`SpaceDisplayName`  <a name="cfn-sagemaker-space-spacedisplayname"></a>
The name of the space that appears in the Studio UI.  
*Required*: No  
*Type*: String  
*Pattern*: `^(?!\s*$).+`  
*Maximum*: `64`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`SpaceName`  <a name="cfn-sagemaker-space-spacename"></a>
The name of the space.  
*Required*: Yes  
*Type*: String  
*Minimum*: `1`  
*Maximum*: `63`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`SpaceSettings`  <a name="cfn-sagemaker-space-spacesettings"></a>
A collection of space settings.  
*Required*: No  
*Type*: [SpaceSettings](aws-properties-sagemaker-space-spacesettings.md)  
*Minimum*: `0`  
*Maximum*: `50`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`SpaceSharingSettings`  <a name="cfn-sagemaker-space-spacesharingsettings"></a>
A collection of space sharing settings.  
*Required*: No  
*Type*: [SpaceSharingSettings](aws-properties-sagemaker-space-spacesharingsettings.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`Tags`  <a name="cfn-sagemaker-space-tags"></a>
An array of key-value pairs to apply to this resource.  
For more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html).  
*Required*: No  
*Type*: Array of [Tag](aws-properties-sagemaker-space-tag.md)  
*Minimum*: `0`  
*Maximum*: `50`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

## Return values
<a name="aws-resource-sagemaker-space-return-values"></a>

### Ref
<a name="aws-resource-sagemaker-space-return-values-ref"></a>

When you pass the logical ID of this resource to the intrinsic `Ref` function, `Ref` returns the ID of the domain that the space is associated with and the name of the space.

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-space-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-space-return-values-fn--getatt-fn--getatt"></a>

`SpaceArn`  <a name="SpaceArn-fn::getatt"></a>
The space's Amazon Resource Name (ARN).

`Url`  <a name="Url-fn::getatt"></a>
Returns the URL of the space. If the space is created with AWS IAM Identity Center (Successor to AWS Single Sign-On) authentication, users can navigate to the URL after appending the respective redirect parameter for the application type to be federated through AWS IAM Identity Center.   
The following application types are supported:  
+ Studio Classic: `&redirect=JupyterServer`
+ JupyterLab: `&redirect=JupyterLab`
+ Code Editor, based on Code-OSS, Visual Studio Code - Open Source: `&redirect=CodeEditor`

# AWS::SageMaker::Space CodeRepository
<a name="aws-properties-sagemaker-space-coderepository"></a>

A Git repository that SageMaker AI automatically displays to users for cloning in the JupyterServer application.

## Syntax
<a name="aws-properties-sagemaker-space-coderepository-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-space-coderepository-syntax.json"></a>

```
{
  "[RepositoryUrl](#cfn-sagemaker-space-coderepository-repositoryurl)" : String
}
```

### YAML
<a name="aws-properties-sagemaker-space-coderepository-syntax.yaml"></a>

```
  [RepositoryUrl](#cfn-sagemaker-space-coderepository-repositoryurl): String
```

## Properties
<a name="aws-properties-sagemaker-space-coderepository-properties"></a>

`RepositoryUrl`  <a name="cfn-sagemaker-space-coderepository-repositoryurl"></a>
The URL of the Git repository.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^https://([.\-_a-zA-Z0-9]+/?){3,1016}$`  
*Maximum*: `256`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::SageMaker::Space CustomFileSystem
<a name="aws-properties-sagemaker-space-customfilesystem"></a>

A file system, created by you, that you assign to a user profile or space for an Amazon SageMaker AI Domain. Permitted users can access this file system in Amazon SageMaker AI Studio.

## Syntax
<a name="aws-properties-sagemaker-space-customfilesystem-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-space-customfilesystem-syntax.json"></a>

```
{
  "[EFSFileSystem](#cfn-sagemaker-space-customfilesystem-efsfilesystem)" : EFSFileSystem,
  "[FSxLustreFileSystem](#cfn-sagemaker-space-customfilesystem-fsxlustrefilesystem)" : FSxLustreFileSystem,
  "[S3FileSystem](#cfn-sagemaker-space-customfilesystem-s3filesystem)" : S3FileSystem
}
```

### YAML
<a name="aws-properties-sagemaker-space-customfilesystem-syntax.yaml"></a>

```
  [EFSFileSystem](#cfn-sagemaker-space-customfilesystem-efsfilesystem): 
    EFSFileSystem
  [FSxLustreFileSystem](#cfn-sagemaker-space-customfilesystem-fsxlustrefilesystem): 
    FSxLustreFileSystem
  [S3FileSystem](#cfn-sagemaker-space-customfilesystem-s3filesystem): 
    S3FileSystem
```

## Properties
<a name="aws-properties-sagemaker-space-customfilesystem-properties"></a>

`EFSFileSystem`  <a name="cfn-sagemaker-space-customfilesystem-efsfilesystem"></a>
A custom file system in Amazon EFS.  
*Required*: No  
*Type*: [EFSFileSystem](aws-properties-sagemaker-space-efsfilesystem.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`FSxLustreFileSystem`  <a name="cfn-sagemaker-space-customfilesystem-fsxlustrefilesystem"></a>
A custom file system in Amazon FSx for Lustre.  
*Required*: No  
*Type*: [FSxLustreFileSystem](aws-properties-sagemaker-space-fsxlustrefilesystem.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`S3FileSystem`  <a name="cfn-sagemaker-space-customfilesystem-s3filesystem"></a>
A custom file system in Amazon S3. This is only supported in Amazon SageMaker Unified Studio.  
*Required*: No  
*Type*: [S3FileSystem](aws-properties-sagemaker-space-s3filesystem.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::Space CustomImage
<a name="aws-properties-sagemaker-space-customimage"></a>

A custom SageMaker AI image. For more information, see [Bring your own SageMaker AI image](https://docs.aws.amazon.com/sagemaker/latest/dg/studio-byoi.html).

## Syntax
<a name="aws-properties-sagemaker-space-customimage-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-space-customimage-syntax.json"></a>

```
{
  "[AppImageConfigName](#cfn-sagemaker-space-customimage-appimageconfigname)" : String,
  "[ImageName](#cfn-sagemaker-space-customimage-imagename)" : String,
  "[ImageVersionNumber](#cfn-sagemaker-space-customimage-imageversionnumber)" : Integer
}
```

### YAML
<a name="aws-properties-sagemaker-space-customimage-syntax.yaml"></a>

```
  [AppImageConfigName](#cfn-sagemaker-space-customimage-appimageconfigname): String
  [ImageName](#cfn-sagemaker-space-customimage-imagename): String
  [ImageVersionNumber](#cfn-sagemaker-space-customimage-imageversionnumber): Integer
```

## Properties
<a name="aws-properties-sagemaker-space-customimage-properties"></a>

`AppImageConfigName`  <a name="cfn-sagemaker-space-customimage-appimageconfigname"></a>
The name of the AppImageConfig.  
*Required*: Yes  
*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)

`ImageName`  <a name="cfn-sagemaker-space-customimage-imagename"></a>
The name of the CustomImage. Must be unique to your account.  
*Required*: Yes  
*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)

`ImageVersionNumber`  <a name="cfn-sagemaker-space-customimage-imageversionnumber"></a>
The version number of the CustomImage.  
*Required*: No  
*Type*: Integer  
*Minimum*: `0`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::SageMaker::Space EbsStorageSettings
<a name="aws-properties-sagemaker-space-ebsstoragesettings"></a>

A collection of EBS storage settings that apply to both private and shared spaces.

## Syntax
<a name="aws-properties-sagemaker-space-ebsstoragesettings-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-space-ebsstoragesettings-syntax.json"></a>

```
{
  "[EbsVolumeSizeInGb](#cfn-sagemaker-space-ebsstoragesettings-ebsvolumesizeingb)" : Integer
}
```

### YAML
<a name="aws-properties-sagemaker-space-ebsstoragesettings-syntax.yaml"></a>

```
  [EbsVolumeSizeInGb](#cfn-sagemaker-space-ebsstoragesettings-ebsvolumesizeingb): Integer
```

## Properties
<a name="aws-properties-sagemaker-space-ebsstoragesettings-properties"></a>

`EbsVolumeSizeInGb`  <a name="cfn-sagemaker-space-ebsstoragesettings-ebsvolumesizeingb"></a>
The size of an EBS storage volume for a space.  
*Required*: Yes  
*Type*: Integer  
*Minimum*: `5`  
*Maximum*: `16384`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::SageMaker::Space EFSFileSystem
<a name="aws-properties-sagemaker-space-efsfilesystem"></a>

A file system, created by you in Amazon EFS, that you assign to a user profile or space for an Amazon SageMaker AI Domain. Permitted users can access this file system in Amazon SageMaker AI Studio.

## Syntax
<a name="aws-properties-sagemaker-space-efsfilesystem-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-space-efsfilesystem-syntax.json"></a>

```
{
  "[FileSystemId](#cfn-sagemaker-space-efsfilesystem-filesystemid)" : String
}
```

### YAML
<a name="aws-properties-sagemaker-space-efsfilesystem-syntax.yaml"></a>

```
  [FileSystemId](#cfn-sagemaker-space-efsfilesystem-filesystemid): String
```

## Properties
<a name="aws-properties-sagemaker-space-efsfilesystem-properties"></a>

`FileSystemId`  <a name="cfn-sagemaker-space-efsfilesystem-filesystemid"></a>
The ID of your Amazon EFS file system.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^(fs-[0-9a-f]{8,})$`  
*Minimum*: `11`  
*Maximum*: `21`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::SageMaker::Space FSxLustreFileSystem
<a name="aws-properties-sagemaker-space-fsxlustrefilesystem"></a>

A custom file system in Amazon FSx for Lustre.

## Syntax
<a name="aws-properties-sagemaker-space-fsxlustrefilesystem-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-space-fsxlustrefilesystem-syntax.json"></a>

```
{
  "[FileSystemId](#cfn-sagemaker-space-fsxlustrefilesystem-filesystemid)" : String
}
```

### YAML
<a name="aws-properties-sagemaker-space-fsxlustrefilesystem-syntax.yaml"></a>

```
  [FileSystemId](#cfn-sagemaker-space-fsxlustrefilesystem-filesystemid): String
```

## Properties
<a name="aws-properties-sagemaker-space-fsxlustrefilesystem-properties"></a>

`FileSystemId`  <a name="cfn-sagemaker-space-fsxlustrefilesystem-filesystemid"></a>
Amazon FSx for Lustre file system ID.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^(fs-[0-9a-f]{8,})$`  
*Minimum*: `11`  
*Maximum*: `21`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::SageMaker::Space JupyterServerAppSettings
<a name="aws-properties-sagemaker-space-jupyterserverappsettings"></a>

The JupyterServer app settings.

## Syntax
<a name="aws-properties-sagemaker-space-jupyterserverappsettings-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-space-jupyterserverappsettings-syntax.json"></a>

```
{
  "[DefaultResourceSpec](#cfn-sagemaker-space-jupyterserverappsettings-defaultresourcespec)" : ResourceSpec,
  "[LifecycleConfigArns](#cfn-sagemaker-space-jupyterserverappsettings-lifecycleconfigarns)" : [ String, ... ]
}
```

### YAML
<a name="aws-properties-sagemaker-space-jupyterserverappsettings-syntax.yaml"></a>

```
  [DefaultResourceSpec](#cfn-sagemaker-space-jupyterserverappsettings-defaultresourcespec): 
    ResourceSpec
  [LifecycleConfigArns](#cfn-sagemaker-space-jupyterserverappsettings-lifecycleconfigarns): 
    - String
```

## Properties
<a name="aws-properties-sagemaker-space-jupyterserverappsettings-properties"></a>

`DefaultResourceSpec`  <a name="cfn-sagemaker-space-jupyterserverappsettings-defaultresourcespec"></a>
The default instance type and the Amazon Resource Name (ARN) of the default SageMaker AI image used by the JupyterServer app. If you use the `LifecycleConfigArns` parameter, then this parameter is also required.  
*Required*: No  
*Type*: [ResourceSpec](aws-properties-sagemaker-space-resourcespec.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`LifecycleConfigArns`  <a name="cfn-sagemaker-space-jupyterserverappsettings-lifecycleconfigarns"></a>
 The Amazon Resource Name (ARN) of the Lifecycle Configurations attached to the JupyterServerApp. If you use this parameter, the `DefaultResourceSpec` parameter is also required.  
To remove a Lifecycle Config, you must set `LifecycleConfigArns` to an empty list.
*Required*: No  
*Type*: Array of String  
*Minimum*: `0`  
*Maximum*: `30`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::SageMaker::Space KernelGatewayAppSettings
<a name="aws-properties-sagemaker-space-kernelgatewayappsettings"></a>

The KernelGateway app settings.

## Syntax
<a name="aws-properties-sagemaker-space-kernelgatewayappsettings-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-space-kernelgatewayappsettings-syntax.json"></a>

```
{
  "[CustomImages](#cfn-sagemaker-space-kernelgatewayappsettings-customimages)" : [ CustomImage, ... ],
  "[DefaultResourceSpec](#cfn-sagemaker-space-kernelgatewayappsettings-defaultresourcespec)" : ResourceSpec,
  "[LifecycleConfigArns](#cfn-sagemaker-space-kernelgatewayappsettings-lifecycleconfigarns)" : [ String, ... ]
}
```

### YAML
<a name="aws-properties-sagemaker-space-kernelgatewayappsettings-syntax.yaml"></a>

```
  [CustomImages](#cfn-sagemaker-space-kernelgatewayappsettings-customimages): 
    - CustomImage
  [DefaultResourceSpec](#cfn-sagemaker-space-kernelgatewayappsettings-defaultresourcespec): 
    ResourceSpec
  [LifecycleConfigArns](#cfn-sagemaker-space-kernelgatewayappsettings-lifecycleconfigarns): 
    - String
```

## Properties
<a name="aws-properties-sagemaker-space-kernelgatewayappsettings-properties"></a>

`CustomImages`  <a name="cfn-sagemaker-space-kernelgatewayappsettings-customimages"></a>
A list of custom SageMaker AI images that are configured to run as a KernelGateway app.  
The maximum number of custom images are as follows.  
+ On a domain level: 200
+ On a space level: 5
+ On a user profile level: 5
*Required*: No  
*Type*: Array of [CustomImage](aws-properties-sagemaker-space-customimage.md)  
*Minimum*: `0`  
*Maximum*: `30`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`DefaultResourceSpec`  <a name="cfn-sagemaker-space-kernelgatewayappsettings-defaultresourcespec"></a>
The default instance type and the Amazon Resource Name (ARN) of the default SageMaker AI image used by the KernelGateway app.  
The Amazon SageMaker AI Studio UI does not use the default instance type value set here. The default instance type set here is used when Apps are created using the AWS CLI or CloudFormation and the instance type parameter value is not passed.
*Required*: No  
*Type*: [ResourceSpec](aws-properties-sagemaker-space-resourcespec.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`LifecycleConfigArns`  <a name="cfn-sagemaker-space-kernelgatewayappsettings-lifecycleconfigarns"></a>
 The Amazon Resource Name (ARN) of the Lifecycle Configurations attached to the the user profile or domain.  
To remove a Lifecycle Config, you must set `LifecycleConfigArns` to an empty list.
*Required*: No  
*Type*: Array of String  
*Minimum*: `0`  
*Maximum*: `30`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::SageMaker::Space OwnershipSettings
<a name="aws-properties-sagemaker-space-ownershipsettings"></a>

The collection of ownership settings for a space.

## Syntax
<a name="aws-properties-sagemaker-space-ownershipsettings-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-space-ownershipsettings-syntax.json"></a>

```
{
  "[OwnerUserProfileName](#cfn-sagemaker-space-ownershipsettings-owneruserprofilename)" : String
}
```

### YAML
<a name="aws-properties-sagemaker-space-ownershipsettings-syntax.yaml"></a>

```
  [OwnerUserProfileName](#cfn-sagemaker-space-ownershipsettings-owneruserprofilename): String
```

## Properties
<a name="aws-properties-sagemaker-space-ownershipsettings-properties"></a>

`OwnerUserProfileName`  <a name="cfn-sagemaker-space-ownershipsettings-owneruserprofilename"></a>
The user profile who is the owner of the space.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}`  
*Maximum*: `63`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::SageMaker::Space ResourceSpec
<a name="aws-properties-sagemaker-space-resourcespec"></a>

Specifies the ARN's of a SageMaker AI image and SageMaker AI image version, and the instance type that the version runs on.

**Note**  
When both `SageMakerImageVersionArn` and `SageMakerImageArn` are passed, `SageMakerImageVersionArn` is used. Any updates to `SageMakerImageArn` will not take effect if `SageMakerImageVersionArn` already exists in the `ResourceSpec` because `SageMakerImageVersionArn` always takes precedence. To clear the value set for `SageMakerImageVersionArn`, pass `None` as the value.

## Syntax
<a name="aws-properties-sagemaker-space-resourcespec-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-space-resourcespec-syntax.json"></a>

```
{
  "[InstanceType](#cfn-sagemaker-space-resourcespec-instancetype)" : String,
  "[LifecycleConfigArn](#cfn-sagemaker-space-resourcespec-lifecycleconfigarn)" : String,
  "[SageMakerImageArn](#cfn-sagemaker-space-resourcespec-sagemakerimagearn)" : String,
  "[SageMakerImageVersionArn](#cfn-sagemaker-space-resourcespec-sagemakerimageversionarn)" : String
}
```

### YAML
<a name="aws-properties-sagemaker-space-resourcespec-syntax.yaml"></a>

```
  [InstanceType](#cfn-sagemaker-space-resourcespec-instancetype): String
  [LifecycleConfigArn](#cfn-sagemaker-space-resourcespec-lifecycleconfigarn): String
  [SageMakerImageArn](#cfn-sagemaker-space-resourcespec-sagemakerimagearn): String
  [SageMakerImageVersionArn](#cfn-sagemaker-space-resourcespec-sagemakerimageversionarn): String
```

## Properties
<a name="aws-properties-sagemaker-space-resourcespec-properties"></a>

`InstanceType`  <a name="cfn-sagemaker-space-resourcespec-instancetype"></a>
The instance type that the image version runs on.  
**JupyterServer apps** only support the `system` value.  
For **KernelGateway apps**, the `system` value is translated to `ml.t3.medium`. KernelGateway apps also support all other values for available instance types.
*Required*: No  
*Type*: String  
*Allowed values*: `system | ml.t3.micro | ml.t3.small | ml.t3.medium | ml.t3.large | ml.t3.xlarge | ml.t3.2xlarge | ml.m5.large | ml.m5.xlarge | ml.m5.2xlarge | ml.m5.4xlarge | ml.m5.8xlarge | ml.m5.12xlarge | ml.m5.16xlarge | ml.m5.24xlarge | ml.c5.large | ml.c5.xlarge | ml.c5.2xlarge | ml.c5.4xlarge | ml.c5.9xlarge | ml.c5.12xlarge | ml.c5.18xlarge | ml.c5.24xlarge | ml.p3.2xlarge | ml.p3.8xlarge | ml.p3.16xlarge | ml.g4dn.xlarge | ml.g4dn.2xlarge | ml.g4dn.4xlarge | ml.g4dn.8xlarge | ml.g4dn.12xlarge | ml.g4dn.16xlarge | ml.r5.large | ml.r5.xlarge | ml.r5.2xlarge | ml.r5.4xlarge | ml.r5.8xlarge | ml.r5.12xlarge | ml.r5.16xlarge | ml.r5.24xlarge | ml.p3dn.24xlarge | ml.m5d.large | ml.m5d.xlarge | ml.m5d.2xlarge | ml.m5d.4xlarge | ml.m5d.8xlarge | ml.m5d.12xlarge | ml.m5d.16xlarge | ml.m5d.24xlarge | 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.p4d.24xlarge | ml.p4de.24xlarge | ml.geospatial.interactive | ml.trn1.2xlarge | ml.trn1.32xlarge | ml.trn1n.32xlarge`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`LifecycleConfigArn`  <a name="cfn-sagemaker-space-resourcespec-lifecycleconfigarn"></a>
 The Amazon Resource Name (ARN) of the Lifecycle Configuration attached to the Resource.  
*Required*: No  
*Type*: String  
*Pattern*: `arn:aws[a-z\-]*:sagemaker:[a-z0-9\-]*:[0-9]{12}:studio-lifecycle-config/.*`  
*Maximum*: `256`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`SageMakerImageArn`  <a name="cfn-sagemaker-space-resourcespec-sagemakerimagearn"></a>
The ARN of the SageMaker AI image that the image version belongs to.  
*Required*: No  
*Type*: String  
*Pattern*: `^arn:aws(-[\w]+)*:sagemaker:.+:[0-9]{12}:image/[a-z0-9]([-.]?[a-z0-9])*$`  
*Maximum*: `256`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`SageMakerImageVersionArn`  <a name="cfn-sagemaker-space-resourcespec-sagemakerimageversionarn"></a>
The ARN of the image version created on the instance. To clear the value set for `SageMakerImageVersionArn`, pass `None` as the value.  
*Required*: No  
*Type*: String  
*Pattern*: `^arn:aws(-[\w]+)*:sagemaker:.+:[0-9]{12}:image-version/[a-z0-9]([-.]?[a-z0-9])*/[0-9]+$`  
*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::Space S3FileSystem
<a name="aws-properties-sagemaker-space-s3filesystem"></a>

A custom file system in Amazon S3. This is only supported in Amazon SageMaker Unified Studio.

## Syntax
<a name="aws-properties-sagemaker-space-s3filesystem-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-space-s3filesystem-syntax.json"></a>

```
{
  "[S3Uri](#cfn-sagemaker-space-s3filesystem-s3uri)" : String
}
```

### YAML
<a name="aws-properties-sagemaker-space-s3filesystem-syntax.yaml"></a>

```
  [S3Uri](#cfn-sagemaker-space-s3filesystem-s3uri): String
```

## Properties
<a name="aws-properties-sagemaker-space-s3filesystem-properties"></a>

`S3Uri`  <a name="cfn-sagemaker-space-s3filesystem-s3uri"></a>
The Amazon S3 URI that specifies the location in S3 where files are stored, which is mounted within the Studio environment. For example: `s3://<bucket-name>/<prefix>/`.  
*Required*: No  
*Type*: String  
*Pattern*: `(s3)://([^/]+)/?(.*)`  
*Minimum*: `0`  
*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::Space SpaceAppLifecycleManagement
<a name="aws-properties-sagemaker-space-spaceapplifecyclemanagement"></a>

Settings that are used to configure and manage the lifecycle of Amazon SageMaker Studio applications in a space.

## Syntax
<a name="aws-properties-sagemaker-space-spaceapplifecyclemanagement-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-space-spaceapplifecyclemanagement-syntax.json"></a>

```
{
  "[IdleSettings](#cfn-sagemaker-space-spaceapplifecyclemanagement-idlesettings)" : SpaceIdleSettings
}
```

### YAML
<a name="aws-properties-sagemaker-space-spaceapplifecyclemanagement-syntax.yaml"></a>

```
  [IdleSettings](#cfn-sagemaker-space-spaceapplifecyclemanagement-idlesettings): 
    SpaceIdleSettings
```

## Properties
<a name="aws-properties-sagemaker-space-spaceapplifecyclemanagement-properties"></a>

`IdleSettings`  <a name="cfn-sagemaker-space-spaceapplifecyclemanagement-idlesettings"></a>
Settings related to idle shutdown of Studio applications.  
*Required*: No  
*Type*: [SpaceIdleSettings](aws-properties-sagemaker-space-spaceidlesettings.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::Space SpaceCodeEditorAppSettings
<a name="aws-properties-sagemaker-space-spacecodeeditorappsettings"></a>

The application settings for a Code Editor space.

## Syntax
<a name="aws-properties-sagemaker-space-spacecodeeditorappsettings-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-space-spacecodeeditorappsettings-syntax.json"></a>

```
{
  "[AppLifecycleManagement](#cfn-sagemaker-space-spacecodeeditorappsettings-applifecyclemanagement)" : SpaceAppLifecycleManagement,
  "[DefaultResourceSpec](#cfn-sagemaker-space-spacecodeeditorappsettings-defaultresourcespec)" : ResourceSpec
}
```

### YAML
<a name="aws-properties-sagemaker-space-spacecodeeditorappsettings-syntax.yaml"></a>

```
  [AppLifecycleManagement](#cfn-sagemaker-space-spacecodeeditorappsettings-applifecyclemanagement): 
    SpaceAppLifecycleManagement
  [DefaultResourceSpec](#cfn-sagemaker-space-spacecodeeditorappsettings-defaultresourcespec): 
    ResourceSpec
```

## Properties
<a name="aws-properties-sagemaker-space-spacecodeeditorappsettings-properties"></a>

`AppLifecycleManagement`  <a name="cfn-sagemaker-space-spacecodeeditorappsettings-applifecyclemanagement"></a>
Settings that are used to configure and manage the lifecycle of CodeEditor applications in a space.  
*Required*: No  
*Type*: [SpaceAppLifecycleManagement](aws-properties-sagemaker-space-spaceapplifecyclemanagement.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`DefaultResourceSpec`  <a name="cfn-sagemaker-space-spacecodeeditorappsettings-defaultresourcespec"></a>
Specifies the ARNs of a SageMaker image and SageMaker image version, and the instance type that the version runs on.  
*Required*: No  
*Type*: [ResourceSpec](aws-properties-sagemaker-space-resourcespec.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::Space SpaceIdleSettings
<a name="aws-properties-sagemaker-space-spaceidlesettings"></a>

Settings related to idle shutdown of Studio applications in a space.

## Syntax
<a name="aws-properties-sagemaker-space-spaceidlesettings-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-space-spaceidlesettings-syntax.json"></a>

```
{
  "[IdleTimeoutInMinutes](#cfn-sagemaker-space-spaceidlesettings-idletimeoutinminutes)" : Integer
}
```

### YAML
<a name="aws-properties-sagemaker-space-spaceidlesettings-syntax.yaml"></a>

```
  [IdleTimeoutInMinutes](#cfn-sagemaker-space-spaceidlesettings-idletimeoutinminutes): Integer
```

## Properties
<a name="aws-properties-sagemaker-space-spaceidlesettings-properties"></a>

`IdleTimeoutInMinutes`  <a name="cfn-sagemaker-space-spaceidlesettings-idletimeoutinminutes"></a>
The time that SageMaker waits after the application becomes idle before shutting it down.  
*Required*: No  
*Type*: Integer  
*Minimum*: `60`  
*Maximum*: `525600`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::SageMaker::Space SpaceJupyterLabAppSettings
<a name="aws-properties-sagemaker-space-spacejupyterlabappsettings"></a>

The settings for the JupyterLab application within a space.

## Syntax
<a name="aws-properties-sagemaker-space-spacejupyterlabappsettings-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-space-spacejupyterlabappsettings-syntax.json"></a>

```
{
  "[AppLifecycleManagement](#cfn-sagemaker-space-spacejupyterlabappsettings-applifecyclemanagement)" : SpaceAppLifecycleManagement,
  "[CodeRepositories](#cfn-sagemaker-space-spacejupyterlabappsettings-coderepositories)" : [ CodeRepository, ... ],
  "[DefaultResourceSpec](#cfn-sagemaker-space-spacejupyterlabappsettings-defaultresourcespec)" : ResourceSpec
}
```

### YAML
<a name="aws-properties-sagemaker-space-spacejupyterlabappsettings-syntax.yaml"></a>

```
  [AppLifecycleManagement](#cfn-sagemaker-space-spacejupyterlabappsettings-applifecyclemanagement): 
    SpaceAppLifecycleManagement
  [CodeRepositories](#cfn-sagemaker-space-spacejupyterlabappsettings-coderepositories): 
    - CodeRepository
  [DefaultResourceSpec](#cfn-sagemaker-space-spacejupyterlabappsettings-defaultresourcespec): 
    ResourceSpec
```

## Properties
<a name="aws-properties-sagemaker-space-spacejupyterlabappsettings-properties"></a>

`AppLifecycleManagement`  <a name="cfn-sagemaker-space-spacejupyterlabappsettings-applifecyclemanagement"></a>
Settings that are used to configure and manage the lifecycle of JupyterLab applications in a space.  
*Required*: No  
*Type*: [SpaceAppLifecycleManagement](aws-properties-sagemaker-space-spaceapplifecyclemanagement.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`CodeRepositories`  <a name="cfn-sagemaker-space-spacejupyterlabappsettings-coderepositories"></a>
A list of Git repositories that SageMaker automatically displays to users for cloning in the JupyterLab application.  
*Required*: No  
*Type*: Array of [CodeRepository](aws-properties-sagemaker-space-coderepository.md)  
*Minimum*: `0`  
*Maximum*: `30`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`DefaultResourceSpec`  <a name="cfn-sagemaker-space-spacejupyterlabappsettings-defaultresourcespec"></a>
Specifies the ARNs of a SageMaker image and SageMaker image version, and the instance type that the version runs on.  
*Required*: No  
*Type*: [ResourceSpec](aws-properties-sagemaker-space-resourcespec.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::Space SpaceSettings
<a name="aws-properties-sagemaker-space-spacesettings"></a>

A collection of space settings.

## Syntax
<a name="aws-properties-sagemaker-space-spacesettings-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-space-spacesettings-syntax.json"></a>

```
{
  "[AppType](#cfn-sagemaker-space-spacesettings-apptype)" : String,
  "[CodeEditorAppSettings](#cfn-sagemaker-space-spacesettings-codeeditorappsettings)" : SpaceCodeEditorAppSettings,
  "[CustomFileSystems](#cfn-sagemaker-space-spacesettings-customfilesystems)" : [ CustomFileSystem, ... ],
  "[JupyterLabAppSettings](#cfn-sagemaker-space-spacesettings-jupyterlabappsettings)" : SpaceJupyterLabAppSettings,
  "[JupyterServerAppSettings](#cfn-sagemaker-space-spacesettings-jupyterserverappsettings)" : JupyterServerAppSettings,
  "[KernelGatewayAppSettings](#cfn-sagemaker-space-spacesettings-kernelgatewayappsettings)" : KernelGatewayAppSettings,
  "[RemoteAccess](#cfn-sagemaker-space-spacesettings-remoteaccess)" : String,
  "[SpaceManagedResources](#cfn-sagemaker-space-spacesettings-spacemanagedresources)" : String,
  "[SpaceStorageSettings](#cfn-sagemaker-space-spacesettings-spacestoragesettings)" : SpaceStorageSettings
}
```

### YAML
<a name="aws-properties-sagemaker-space-spacesettings-syntax.yaml"></a>

```
  [AppType](#cfn-sagemaker-space-spacesettings-apptype): String
  [CodeEditorAppSettings](#cfn-sagemaker-space-spacesettings-codeeditorappsettings): 
    SpaceCodeEditorAppSettings
  [CustomFileSystems](#cfn-sagemaker-space-spacesettings-customfilesystems): 
    - CustomFileSystem
  [JupyterLabAppSettings](#cfn-sagemaker-space-spacesettings-jupyterlabappsettings): 
    SpaceJupyterLabAppSettings
  [JupyterServerAppSettings](#cfn-sagemaker-space-spacesettings-jupyterserverappsettings): 
    JupyterServerAppSettings
  [KernelGatewayAppSettings](#cfn-sagemaker-space-spacesettings-kernelgatewayappsettings): 
    KernelGatewayAppSettings
  [RemoteAccess](#cfn-sagemaker-space-spacesettings-remoteaccess): String
  [SpaceManagedResources](#cfn-sagemaker-space-spacesettings-spacemanagedresources): String
  [SpaceStorageSettings](#cfn-sagemaker-space-spacesettings-spacestoragesettings): 
    SpaceStorageSettings
```

## Properties
<a name="aws-properties-sagemaker-space-spacesettings-properties"></a>

`AppType`  <a name="cfn-sagemaker-space-spacesettings-apptype"></a>
The type of app created within the space.  
If using the [ UpdateSpace](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateSpace.html) API, you can't change the app type of your space by specifying a different value for this field.  
*Required*: No  
*Type*: String  
*Allowed values*: `JupyterServer | KernelGateway | TensorBoard | RStudioServerPro | RSessionGateway | JupyterLab | CodeEditor`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`CodeEditorAppSettings`  <a name="cfn-sagemaker-space-spacesettings-codeeditorappsettings"></a>
The Code Editor application settings.  
*Required*: No  
*Type*: [SpaceCodeEditorAppSettings](aws-properties-sagemaker-space-spacecodeeditorappsettings.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`CustomFileSystems`  <a name="cfn-sagemaker-space-spacesettings-customfilesystems"></a>
A file system, created by you, that you assign to a space for an Amazon SageMaker AI Domain. Permitted users can access this file system in Amazon SageMaker AI Studio.  
*Required*: No  
*Type*: Array of [CustomFileSystem](aws-properties-sagemaker-space-customfilesystem.md)  
*Minimum*: `0`  
*Maximum*: `1`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`JupyterLabAppSettings`  <a name="cfn-sagemaker-space-spacesettings-jupyterlabappsettings"></a>
The settings for the JupyterLab application.  
*Required*: No  
*Type*: [SpaceJupyterLabAppSettings](aws-properties-sagemaker-space-spacejupyterlabappsettings.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`JupyterServerAppSettings`  <a name="cfn-sagemaker-space-spacesettings-jupyterserverappsettings"></a>
The JupyterServer app settings.  
*Required*: No  
*Type*: [JupyterServerAppSettings](aws-properties-sagemaker-space-jupyterserverappsettings.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`KernelGatewayAppSettings`  <a name="cfn-sagemaker-space-spacesettings-kernelgatewayappsettings"></a>
The KernelGateway app settings.  
*Required*: No  
*Type*: [KernelGatewayAppSettings](aws-properties-sagemaker-space-kernelgatewayappsettings.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`RemoteAccess`  <a name="cfn-sagemaker-space-spacesettings-remoteaccess"></a>
A setting that enables or disables remote access for a SageMaker space. When enabled, this allows you to connect to the remote space from your local IDE.  
*Required*: No  
*Type*: String  
*Allowed values*: `ENABLED | DISABLED`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`SpaceManagedResources`  <a name="cfn-sagemaker-space-spacesettings-spacemanagedresources"></a>
If you enable this option, SageMaker AI creates the following resources on your behalf when you create the space:  
+ The user profile that possesses the space.
+ The app that the space contains.
*Required*: No  
*Type*: String  
*Allowed values*: `ENABLED | DISABLED`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`SpaceStorageSettings`  <a name="cfn-sagemaker-space-spacesettings-spacestoragesettings"></a>
The storage settings for a space.  
*Required*: No  
*Type*: [SpaceStorageSettings](aws-properties-sagemaker-space-spacestoragesettings.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::Space SpaceSharingSettings
<a name="aws-properties-sagemaker-space-spacesharingsettings"></a>

A collection of space sharing settings.

## Syntax
<a name="aws-properties-sagemaker-space-spacesharingsettings-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-space-spacesharingsettings-syntax.json"></a>

```
{
  "[SharingType](#cfn-sagemaker-space-spacesharingsettings-sharingtype)" : String
}
```

### YAML
<a name="aws-properties-sagemaker-space-spacesharingsettings-syntax.yaml"></a>

```
  [SharingType](#cfn-sagemaker-space-spacesharingsettings-sharingtype): String
```

## Properties
<a name="aws-properties-sagemaker-space-spacesharingsettings-properties"></a>

`SharingType`  <a name="cfn-sagemaker-space-spacesharingsettings-sharingtype"></a>
Specifies the sharing type of the space.  
*Required*: Yes  
*Type*: String  
*Allowed values*: `Private | Shared`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::SageMaker::Space SpaceStorageSettings
<a name="aws-properties-sagemaker-space-spacestoragesettings"></a>

The storage settings for a space.

## Syntax
<a name="aws-properties-sagemaker-space-spacestoragesettings-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-space-spacestoragesettings-syntax.json"></a>

```
{
  "[EbsStorageSettings](#cfn-sagemaker-space-spacestoragesettings-ebsstoragesettings)" : EbsStorageSettings
}
```

### YAML
<a name="aws-properties-sagemaker-space-spacestoragesettings-syntax.yaml"></a>

```
  [EbsStorageSettings](#cfn-sagemaker-space-spacestoragesettings-ebsstoragesettings): 
    EbsStorageSettings
```

## Properties
<a name="aws-properties-sagemaker-space-spacestoragesettings-properties"></a>

`EbsStorageSettings`  <a name="cfn-sagemaker-space-spacestoragesettings-ebsstoragesettings"></a>
A collection of EBS storage settings for a space.  
*Required*: No  
*Type*: [EbsStorageSettings](aws-properties-sagemaker-space-ebsstoragesettings.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::Space Tag
<a name="aws-properties-sagemaker-space-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-space-tag-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-space-tag-syntax.json"></a>

```
{
  "[Key](#cfn-sagemaker-space-tag-key)" : String,
  "[Value](#cfn-sagemaker-space-tag-value)" : String
}
```

### YAML
<a name="aws-properties-sagemaker-space-tag-syntax.yaml"></a>

```
  [Key](#cfn-sagemaker-space-tag-key): String
  [Value](#cfn-sagemaker-space-tag-value): String
```

## Properties
<a name="aws-properties-sagemaker-space-tag-properties"></a>

`Key`  <a name="cfn-sagemaker-space-tag-key"></a>
The tag key. Tag keys must be unique per resource.  
*Required*: Yes  
*Type*: String  
*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-space-tag-value"></a>
The tag value.  
*Required*: Yes  
*Type*: String  
*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)

# AWS::SageMaker::StudioLifecycleConfig
<a name="aws-resource-sagemaker-studiolifecycleconfig"></a>

Creates a new Amazon SageMaker AI Studio Lifecycle Configuration.

## Syntax
<a name="aws-resource-sagemaker-studiolifecycleconfig-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-resource-sagemaker-studiolifecycleconfig-syntax.json"></a>

```
{
  "Type" : "AWS::SageMaker::StudioLifecycleConfig",
  "Properties" : {
      "[StudioLifecycleConfigAppType](#cfn-sagemaker-studiolifecycleconfig-studiolifecycleconfigapptype)" : String,
      "[StudioLifecycleConfigContent](#cfn-sagemaker-studiolifecycleconfig-studiolifecycleconfigcontent)" : String,
      "[StudioLifecycleConfigName](#cfn-sagemaker-studiolifecycleconfig-studiolifecycleconfigname)" : String,
      "[Tags](#cfn-sagemaker-studiolifecycleconfig-tags)" : [ Tag, ... ]
    }
}
```

### YAML
<a name="aws-resource-sagemaker-studiolifecycleconfig-syntax.yaml"></a>

```
Type: AWS::SageMaker::StudioLifecycleConfig
Properties:
  [StudioLifecycleConfigAppType](#cfn-sagemaker-studiolifecycleconfig-studiolifecycleconfigapptype): String
  [StudioLifecycleConfigContent](#cfn-sagemaker-studiolifecycleconfig-studiolifecycleconfigcontent): String
  [StudioLifecycleConfigName](#cfn-sagemaker-studiolifecycleconfig-studiolifecycleconfigname): String
  [Tags](#cfn-sagemaker-studiolifecycleconfig-tags): 
    - Tag
```

## Properties
<a name="aws-resource-sagemaker-studiolifecycleconfig-properties"></a>

`StudioLifecycleConfigAppType`  <a name="cfn-sagemaker-studiolifecycleconfig-studiolifecycleconfigapptype"></a>
The App type to which the Lifecycle Configuration is attached.  
*Required*: Yes  
*Type*: String  
*Allowed values*: `JupyterServer | KernelGateway | CodeEditor | JupyterLab`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`StudioLifecycleConfigContent`  <a name="cfn-sagemaker-studiolifecycleconfig-studiolifecycleconfigcontent"></a>
The content of your Amazon SageMaker AI Studio Lifecycle Configuration script. This content must be base64 encoded.  
*Required*: Yes  
*Type*: String  
*Pattern*: `[\S\s]+`  
*Minimum*: `1`  
*Maximum*: `16384`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`StudioLifecycleConfigName`  <a name="cfn-sagemaker-studiolifecycleconfig-studiolifecycleconfigname"></a>
The name of the Amazon SageMaker AI Studio Lifecycle Configuration.  
*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)

`Tags`  <a name="cfn-sagemaker-studiolifecycleconfig-tags"></a>
Tags to be associated with the Lifecycle Configuration. Each tag consists of a key and an optional value. Tag keys must be unique per resource. Tags are searchable using the Search API.   
*Required*: No  
*Type*: Array of [Tag](aws-properties-sagemaker-studiolifecycleconfig-tag.md)  
*Minimum*: `0`  
*Maximum*: `50`  
*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-studiolifecycleconfig-return-values"></a>

### Ref
<a name="aws-resource-sagemaker-studiolifecycleconfig-return-values-ref"></a>

### Fn::GetAtt
<a name="aws-resource-sagemaker-studiolifecycleconfig-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-studiolifecycleconfig-return-values-fn--getatt-fn--getatt"></a>

`StudioLifecycleConfigArn`  <a name="StudioLifecycleConfigArn-fn::getatt"></a>
 The Amazon Resource Name (ARN) of the Lifecycle Configuration.

# AWS::SageMaker::StudioLifecycleConfig Tag
<a name="aws-properties-sagemaker-studiolifecycleconfig-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-studiolifecycleconfig-tag-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-studiolifecycleconfig-tag-syntax.json"></a>

```
{
  "[Key](#cfn-sagemaker-studiolifecycleconfig-tag-key)" : String,
  "[Value](#cfn-sagemaker-studiolifecycleconfig-tag-value)" : String
}
```

### YAML
<a name="aws-properties-sagemaker-studiolifecycleconfig-tag-syntax.yaml"></a>

```
  [Key](#cfn-sagemaker-studiolifecycleconfig-tag-key): String
  [Value](#cfn-sagemaker-studiolifecycleconfig-tag-value): String
```

## Properties
<a name="aws-properties-sagemaker-studiolifecycleconfig-tag-properties"></a>

`Key`  <a name="cfn-sagemaker-studiolifecycleconfig-tag-key"></a>
The tag key. Tag keys must be unique per resource.  
*Required*: Yes  
*Type*: String  
*Minimum*: `1`  
*Maximum*: `128`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`Value`  <a name="cfn-sagemaker-studiolifecycleconfig-tag-value"></a>
The tag value.  
*Required*: Yes  
*Type*: String  
*Minimum*: `1`  
*Maximum*: `128`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::SageMaker::UserProfile
<a name="aws-resource-sagemaker-userprofile"></a>

Creates a user profile. A user profile represents a single user within a domain, and is the main way to reference a "person" for the purposes of sharing, reporting, and other user-oriented features. This entity is created when a user onboards to Amazon SageMaker Studio. If an administrator invites a person by email or imports them from IAM Identity Center, a user profile is automatically created. A user profile is the primary holder of settings for an individual user and has a reference to the user's private Amazon Elastic File System (EFS) home directory. 

**Note**  
If you're using IAM Identity Center authentication, a user in IAM Identity Center, or a group in IAM Identity Center containing that user, must be assigned to the Amazon SageMaker Studio application from the IAM Identity Center Console to create a user profile. For more information about application assignment, see [Assign user access](https://docs.aws.amazon.com/singlesignon/latest/userguide/assignuserstoapp.html). After assignment is complete, a user profile can be created for that user in IAM Identity Center with AWS CloudFormation. 

## Syntax
<a name="aws-resource-sagemaker-userprofile-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-resource-sagemaker-userprofile-syntax.json"></a>

```
{
  "Type" : "AWS::SageMaker::UserProfile",
  "Properties" : {
      "[DomainId](#cfn-sagemaker-userprofile-domainid)" : String,
      "[SingleSignOnUserIdentifier](#cfn-sagemaker-userprofile-singlesignonuseridentifier)" : String,
      "[SingleSignOnUserValue](#cfn-sagemaker-userprofile-singlesignonuservalue)" : String,
      "[Tags](#cfn-sagemaker-userprofile-tags)" : [ Tag, ... ],
      "[UserProfileName](#cfn-sagemaker-userprofile-userprofilename)" : String,
      "[UserSettings](#cfn-sagemaker-userprofile-usersettings)" : UserSettings
    }
}
```

### YAML
<a name="aws-resource-sagemaker-userprofile-syntax.yaml"></a>

```
Type: AWS::SageMaker::UserProfile
Properties:
  [DomainId](#cfn-sagemaker-userprofile-domainid): String
  [SingleSignOnUserIdentifier](#cfn-sagemaker-userprofile-singlesignonuseridentifier): String
  [SingleSignOnUserValue](#cfn-sagemaker-userprofile-singlesignonuservalue): String
  [Tags](#cfn-sagemaker-userprofile-tags): 
    - Tag
  [UserProfileName](#cfn-sagemaker-userprofile-userprofilename): String
  [UserSettings](#cfn-sagemaker-userprofile-usersettings): 
    UserSettings
```

## Properties
<a name="aws-resource-sagemaker-userprofile-properties"></a>

`DomainId`  <a name="cfn-sagemaker-userprofile-domainid"></a>
The domain ID.  
*Required*: Yes  
*Type*: String  
*Minimum*: `1`  
*Maximum*: `63`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`SingleSignOnUserIdentifier`  <a name="cfn-sagemaker-userprofile-singlesignonuseridentifier"></a>
A specifier for the type of value specified in SingleSignOnUserValue. Currently, the only supported value is "UserName". If the Domain's AuthMode is IAM Identity Center, this field is required. If the Domain's AuthMode is not IAM Identity Center, this field cannot be specified.  
*Required*: No  
*Type*: String  
*Pattern*: `UserName`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`SingleSignOnUserValue`  <a name="cfn-sagemaker-userprofile-singlesignonuservalue"></a>
The username of the associated AWS Single Sign-On User for this UserProfile. If the Domain's AuthMode is IAM Identity Center, this field is required, and must match a valid username of a user in your directory. If the Domain's AuthMode is not IAM Identity Center, this field cannot be specified.  
*Required*: No  
*Type*: String  
*Minimum*: `1`  
*Maximum*: `256`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`Tags`  <a name="cfn-sagemaker-userprofile-tags"></a>
An array of key-value pairs to apply to this resource.  
Tags that you specify for the User Profile are also added to all apps that the User Profile launches.  
For more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html).  
*Required*: No  
*Type*: Array of [Tag](aws-properties-sagemaker-userprofile-tag.md)  
*Minimum*: `0`  
*Maximum*: `50`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`UserProfileName`  <a name="cfn-sagemaker-userprofile-userprofilename"></a>
The user profile name.  
*Required*: Yes  
*Type*: String  
*Minimum*: `1`  
*Maximum*: `63`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`UserSettings`  <a name="cfn-sagemaker-userprofile-usersettings"></a>
A collection of settings that apply to users of Amazon SageMaker Studio.  
*Required*: No  
*Type*: [UserSettings](aws-properties-sagemaker-userprofile-usersettings.md)  
*Minimum*: `0`  
*Maximum*: `50`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

## Return values
<a name="aws-resource-sagemaker-userprofile-return-values"></a>

### Ref
<a name="aws-resource-sagemaker-userprofile-return-values-ref"></a>

When you pass the logical ID of this resource to the intrinsic `Ref` function, `Ref` returns the Domain ID and the user profile name, such as `d-xxxxxxxxxxxx` and `my-user-profile`, respectively.

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-userprofile-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-userprofile-return-values-fn--getatt-fn--getatt"></a>

`UserProfileArn`  <a name="UserProfileArn-fn::getatt"></a>
The Amazon Resource Name (ARN) of the user profile, such as `arn:aws:sagemaker:region:account-id:user-profile/domain-id/user-profile-name`.

# AWS::SageMaker::UserProfile AppLifecycleManagement
<a name="aws-properties-sagemaker-userprofile-applifecyclemanagement"></a>

Settings that are used to configure and manage the lifecycle of Amazon SageMaker Studio applications.

## Syntax
<a name="aws-properties-sagemaker-userprofile-applifecyclemanagement-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-userprofile-applifecyclemanagement-syntax.json"></a>

```
{
  "[IdleSettings](#cfn-sagemaker-userprofile-applifecyclemanagement-idlesettings)" : IdleSettings
}
```

### YAML
<a name="aws-properties-sagemaker-userprofile-applifecyclemanagement-syntax.yaml"></a>

```
  [IdleSettings](#cfn-sagemaker-userprofile-applifecyclemanagement-idlesettings): 
    IdleSettings
```

## Properties
<a name="aws-properties-sagemaker-userprofile-applifecyclemanagement-properties"></a>

`IdleSettings`  <a name="cfn-sagemaker-userprofile-applifecyclemanagement-idlesettings"></a>
Settings related to idle shutdown of Studio applications.  
*Required*: No  
*Type*: [IdleSettings](aws-properties-sagemaker-userprofile-idlesettings.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::UserProfile CodeEditorAppSettings
<a name="aws-properties-sagemaker-userprofile-codeeditorappsettings"></a>

The Code Editor application settings.

For more information about Code Editor, see [Get started with Code Editor in Amazon SageMaker](https://docs.aws.amazon.com/sagemaker/latest/dg/code-editor.html).

## Syntax
<a name="aws-properties-sagemaker-userprofile-codeeditorappsettings-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-userprofile-codeeditorappsettings-syntax.json"></a>

```
{
  "[AppLifecycleManagement](#cfn-sagemaker-userprofile-codeeditorappsettings-applifecyclemanagement)" : AppLifecycleManagement,
  "[BuiltInLifecycleConfigArn](#cfn-sagemaker-userprofile-codeeditorappsettings-builtinlifecycleconfigarn)" : String,
  "[CustomImages](#cfn-sagemaker-userprofile-codeeditorappsettings-customimages)" : [ CustomImage, ... ],
  "[DefaultResourceSpec](#cfn-sagemaker-userprofile-codeeditorappsettings-defaultresourcespec)" : ResourceSpec,
  "[LifecycleConfigArns](#cfn-sagemaker-userprofile-codeeditorappsettings-lifecycleconfigarns)" : [ String, ... ]
}
```

### YAML
<a name="aws-properties-sagemaker-userprofile-codeeditorappsettings-syntax.yaml"></a>

```
  [AppLifecycleManagement](#cfn-sagemaker-userprofile-codeeditorappsettings-applifecyclemanagement): 
    AppLifecycleManagement
  [BuiltInLifecycleConfigArn](#cfn-sagemaker-userprofile-codeeditorappsettings-builtinlifecycleconfigarn): String
  [CustomImages](#cfn-sagemaker-userprofile-codeeditorappsettings-customimages): 
    - CustomImage
  [DefaultResourceSpec](#cfn-sagemaker-userprofile-codeeditorappsettings-defaultresourcespec): 
    ResourceSpec
  [LifecycleConfigArns](#cfn-sagemaker-userprofile-codeeditorappsettings-lifecycleconfigarns): 
    - String
```

## Properties
<a name="aws-properties-sagemaker-userprofile-codeeditorappsettings-properties"></a>

`AppLifecycleManagement`  <a name="cfn-sagemaker-userprofile-codeeditorappsettings-applifecyclemanagement"></a>
Settings that are used to configure and manage the lifecycle of CodeEditor applications.  
*Required*: No  
*Type*: [AppLifecycleManagement](aws-properties-sagemaker-userprofile-applifecyclemanagement.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`BuiltInLifecycleConfigArn`  <a name="cfn-sagemaker-userprofile-codeeditorappsettings-builtinlifecycleconfigarn"></a>
The lifecycle configuration that runs before the default lifecycle configuration. It can override changes made in the default lifecycle configuration.  
*Required*: No  
*Type*: String  
*Pattern*: `^(arn:aws[a-z\-]*:sagemaker:[a-z0-9\-]*:[0-9]{12}:studio-lifecycle-config/.*|None)$`  
*Maximum*: `256`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`CustomImages`  <a name="cfn-sagemaker-userprofile-codeeditorappsettings-customimages"></a>
A list of custom SageMaker images that are configured to run as a Code Editor app.  
*Required*: No  
*Type*: Array of [CustomImage](aws-properties-sagemaker-userprofile-customimage.md)  
*Minimum*: `0`  
*Maximum*: `200`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`DefaultResourceSpec`  <a name="cfn-sagemaker-userprofile-codeeditorappsettings-defaultresourcespec"></a>
The default instance type and the Amazon Resource Name (ARN) of the default SageMaker image used by the Code Editor app.  
*Required*: No  
*Type*: [ResourceSpec](aws-properties-sagemaker-userprofile-resourcespec.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`LifecycleConfigArns`  <a name="cfn-sagemaker-userprofile-codeeditorappsettings-lifecycleconfigarns"></a>
The Amazon Resource Name (ARN) of the Code Editor application lifecycle configuration.  
*Required*: No  
*Type*: Array of String  
*Minimum*: `0`  
*Maximum*: `30`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::SageMaker::UserProfile CodeRepository
<a name="aws-properties-sagemaker-userprofile-coderepository"></a>

A Git repository that SageMaker AI automatically displays to users for cloning in the JupyterServer application.

## Syntax
<a name="aws-properties-sagemaker-userprofile-coderepository-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-userprofile-coderepository-syntax.json"></a>

```
{
  "[RepositoryUrl](#cfn-sagemaker-userprofile-coderepository-repositoryurl)" : String
}
```

### YAML
<a name="aws-properties-sagemaker-userprofile-coderepository-syntax.yaml"></a>

```
  [RepositoryUrl](#cfn-sagemaker-userprofile-coderepository-repositoryurl): String
```

## Properties
<a name="aws-properties-sagemaker-userprofile-coderepository-properties"></a>

`RepositoryUrl`  <a name="cfn-sagemaker-userprofile-coderepository-repositoryurl"></a>
The URL of the Git repository.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^https://([.\-_a-zA-Z0-9]+/?){3,1016}$`  
*Maximum*: `256`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::SageMaker::UserProfile CustomFileSystemConfig
<a name="aws-properties-sagemaker-userprofile-customfilesystemconfig"></a>

The settings for assigning a custom file system to a user profile or space for an Amazon SageMaker AI Domain. Permitted users can access this file system in Amazon SageMaker AI Studio.

## Syntax
<a name="aws-properties-sagemaker-userprofile-customfilesystemconfig-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-userprofile-customfilesystemconfig-syntax.json"></a>

```
{
  "[EFSFileSystemConfig](#cfn-sagemaker-userprofile-customfilesystemconfig-efsfilesystemconfig)" : EFSFileSystemConfig,
  "[FSxLustreFileSystemConfig](#cfn-sagemaker-userprofile-customfilesystemconfig-fsxlustrefilesystemconfig)" : FSxLustreFileSystemConfig,
  "[S3FileSystemConfig](#cfn-sagemaker-userprofile-customfilesystemconfig-s3filesystemconfig)" : S3FileSystemConfig
}
```

### YAML
<a name="aws-properties-sagemaker-userprofile-customfilesystemconfig-syntax.yaml"></a>

```
  [EFSFileSystemConfig](#cfn-sagemaker-userprofile-customfilesystemconfig-efsfilesystemconfig): 
    EFSFileSystemConfig
  [FSxLustreFileSystemConfig](#cfn-sagemaker-userprofile-customfilesystemconfig-fsxlustrefilesystemconfig): 
    FSxLustreFileSystemConfig
  [S3FileSystemConfig](#cfn-sagemaker-userprofile-customfilesystemconfig-s3filesystemconfig): 
    S3FileSystemConfig
```

## Properties
<a name="aws-properties-sagemaker-userprofile-customfilesystemconfig-properties"></a>

`EFSFileSystemConfig`  <a name="cfn-sagemaker-userprofile-customfilesystemconfig-efsfilesystemconfig"></a>
The settings for a custom Amazon EFS file system.  
*Required*: No  
*Type*: [EFSFileSystemConfig](aws-properties-sagemaker-userprofile-efsfilesystemconfig.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`FSxLustreFileSystemConfig`  <a name="cfn-sagemaker-userprofile-customfilesystemconfig-fsxlustrefilesystemconfig"></a>
The settings for a custom Amazon FSx for Lustre file system.  
*Required*: No  
*Type*: [FSxLustreFileSystemConfig](aws-properties-sagemaker-userprofile-fsxlustrefilesystemconfig.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`S3FileSystemConfig`  <a name="cfn-sagemaker-userprofile-customfilesystemconfig-s3filesystemconfig"></a>
Configuration settings for a custom Amazon S3 file system.  
*Required*: No  
*Type*: [S3FileSystemConfig](aws-properties-sagemaker-userprofile-s3filesystemconfig.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::UserProfile CustomImage
<a name="aws-properties-sagemaker-userprofile-customimage"></a>

A custom SageMaker AI image. For more information, see [Bring your own SageMaker AI image](https://docs.aws.amazon.com/sagemaker/latest/dg/studio-byoi.html).

## Syntax
<a name="aws-properties-sagemaker-userprofile-customimage-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-userprofile-customimage-syntax.json"></a>

```
{
  "[AppImageConfigName](#cfn-sagemaker-userprofile-customimage-appimageconfigname)" : String,
  "[ImageName](#cfn-sagemaker-userprofile-customimage-imagename)" : String,
  "[ImageVersionNumber](#cfn-sagemaker-userprofile-customimage-imageversionnumber)" : Integer
}
```

### YAML
<a name="aws-properties-sagemaker-userprofile-customimage-syntax.yaml"></a>

```
  [AppImageConfigName](#cfn-sagemaker-userprofile-customimage-appimageconfigname): String
  [ImageName](#cfn-sagemaker-userprofile-customimage-imagename): String
  [ImageVersionNumber](#cfn-sagemaker-userprofile-customimage-imageversionnumber): Integer
```

## Properties
<a name="aws-properties-sagemaker-userprofile-customimage-properties"></a>

`AppImageConfigName`  <a name="cfn-sagemaker-userprofile-customimage-appimageconfigname"></a>
The name of the AppImageConfig.  
*Required*: Yes  
*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)

`ImageName`  <a name="cfn-sagemaker-userprofile-customimage-imagename"></a>
The name of the CustomImage. Must be unique to your account.  
*Required*: Yes  
*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)

`ImageVersionNumber`  <a name="cfn-sagemaker-userprofile-customimage-imageversionnumber"></a>
The version number of the CustomImage.  
*Required*: No  
*Type*: Integer  
*Minimum*: `0`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::SageMaker::UserProfile CustomPosixUserConfig
<a name="aws-properties-sagemaker-userprofile-customposixuserconfig"></a>

Details about the POSIX identity that is used for file system operations.

## Syntax
<a name="aws-properties-sagemaker-userprofile-customposixuserconfig-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-userprofile-customposixuserconfig-syntax.json"></a>

```
{
  "[Gid](#cfn-sagemaker-userprofile-customposixuserconfig-gid)" : Integer,
  "[Uid](#cfn-sagemaker-userprofile-customposixuserconfig-uid)" : Integer
}
```

### YAML
<a name="aws-properties-sagemaker-userprofile-customposixuserconfig-syntax.yaml"></a>

```
  [Gid](#cfn-sagemaker-userprofile-customposixuserconfig-gid): Integer
  [Uid](#cfn-sagemaker-userprofile-customposixuserconfig-uid): Integer
```

## Properties
<a name="aws-properties-sagemaker-userprofile-customposixuserconfig-properties"></a>

`Gid`  <a name="cfn-sagemaker-userprofile-customposixuserconfig-gid"></a>
The POSIX group ID.  
*Required*: Yes  
*Type*: Integer  
*Minimum*: `1001`  
*Maximum*: `4000000`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Uid`  <a name="cfn-sagemaker-userprofile-customposixuserconfig-uid"></a>
The POSIX user ID.  
*Required*: Yes  
*Type*: Integer  
*Minimum*: `10000`  
*Maximum*: `4000000`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::SageMaker::UserProfile DefaultEbsStorageSettings
<a name="aws-properties-sagemaker-userprofile-defaultebsstoragesettings"></a>

A collection of default EBS storage settings that apply to spaces created within a domain or user profile.

## Syntax
<a name="aws-properties-sagemaker-userprofile-defaultebsstoragesettings-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-userprofile-defaultebsstoragesettings-syntax.json"></a>

```
{
  "[DefaultEbsVolumeSizeInGb](#cfn-sagemaker-userprofile-defaultebsstoragesettings-defaultebsvolumesizeingb)" : Integer,
  "[MaximumEbsVolumeSizeInGb](#cfn-sagemaker-userprofile-defaultebsstoragesettings-maximumebsvolumesizeingb)" : Integer
}
```

### YAML
<a name="aws-properties-sagemaker-userprofile-defaultebsstoragesettings-syntax.yaml"></a>

```
  [DefaultEbsVolumeSizeInGb](#cfn-sagemaker-userprofile-defaultebsstoragesettings-defaultebsvolumesizeingb): Integer
  [MaximumEbsVolumeSizeInGb](#cfn-sagemaker-userprofile-defaultebsstoragesettings-maximumebsvolumesizeingb): Integer
```

## Properties
<a name="aws-properties-sagemaker-userprofile-defaultebsstoragesettings-properties"></a>

`DefaultEbsVolumeSizeInGb`  <a name="cfn-sagemaker-userprofile-defaultebsstoragesettings-defaultebsvolumesizeingb"></a>
The default size of the EBS storage volume for a space.  
*Required*: Yes  
*Type*: Integer  
*Minimum*: `5`  
*Maximum*: `16384`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`MaximumEbsVolumeSizeInGb`  <a name="cfn-sagemaker-userprofile-defaultebsstoragesettings-maximumebsvolumesizeingb"></a>
The maximum size of the EBS storage volume for a space.  
*Required*: Yes  
*Type*: Integer  
*Minimum*: `5`  
*Maximum*: `16384`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::SageMaker::UserProfile DefaultSpaceStorageSettings
<a name="aws-properties-sagemaker-userprofile-defaultspacestoragesettings"></a>

The default storage settings for a space.

## Syntax
<a name="aws-properties-sagemaker-userprofile-defaultspacestoragesettings-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-userprofile-defaultspacestoragesettings-syntax.json"></a>

```
{
  "[DefaultEbsStorageSettings](#cfn-sagemaker-userprofile-defaultspacestoragesettings-defaultebsstoragesettings)" : DefaultEbsStorageSettings
}
```

### YAML
<a name="aws-properties-sagemaker-userprofile-defaultspacestoragesettings-syntax.yaml"></a>

```
  [DefaultEbsStorageSettings](#cfn-sagemaker-userprofile-defaultspacestoragesettings-defaultebsstoragesettings): 
    DefaultEbsStorageSettings
```

## Properties
<a name="aws-properties-sagemaker-userprofile-defaultspacestoragesettings-properties"></a>

`DefaultEbsStorageSettings`  <a name="cfn-sagemaker-userprofile-defaultspacestoragesettings-defaultebsstoragesettings"></a>
The default EBS storage settings for a space.  
*Required*: No  
*Type*: [DefaultEbsStorageSettings](aws-properties-sagemaker-userprofile-defaultebsstoragesettings.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::UserProfile EFSFileSystemConfig
<a name="aws-properties-sagemaker-userprofile-efsfilesystemconfig"></a>

The settings for assigning a custom Amazon EFS file system to a user profile or space for an Amazon SageMaker AI Domain.

## Syntax
<a name="aws-properties-sagemaker-userprofile-efsfilesystemconfig-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-userprofile-efsfilesystemconfig-syntax.json"></a>

```
{
  "[FileSystemId](#cfn-sagemaker-userprofile-efsfilesystemconfig-filesystemid)" : String,
  "[FileSystemPath](#cfn-sagemaker-userprofile-efsfilesystemconfig-filesystempath)" : String
}
```

### YAML
<a name="aws-properties-sagemaker-userprofile-efsfilesystemconfig-syntax.yaml"></a>

```
  [FileSystemId](#cfn-sagemaker-userprofile-efsfilesystemconfig-filesystemid): String
  [FileSystemPath](#cfn-sagemaker-userprofile-efsfilesystemconfig-filesystempath): String
```

## Properties
<a name="aws-properties-sagemaker-userprofile-efsfilesystemconfig-properties"></a>

`FileSystemId`  <a name="cfn-sagemaker-userprofile-efsfilesystemconfig-filesystemid"></a>
The ID of your Amazon EFS file system.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^(fs-[0-9a-f]{8,})$`  
*Minimum*: `11`  
*Maximum*: `21`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`FileSystemPath`  <a name="cfn-sagemaker-userprofile-efsfilesystemconfig-filesystempath"></a>
The path to the file system directory that is accessible in Amazon SageMaker AI Studio. Permitted users can access only this directory and below.  
*Required*: No  
*Type*: String  
*Pattern*: `^\/\S*$`  
*Minimum*: `1`  
*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::UserProfile FSxLustreFileSystemConfig
<a name="aws-properties-sagemaker-userprofile-fsxlustrefilesystemconfig"></a>

The settings for assigning a custom Amazon FSx for Lustre file system to a user profile or space for an Amazon SageMaker Domain.

## Syntax
<a name="aws-properties-sagemaker-userprofile-fsxlustrefilesystemconfig-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-userprofile-fsxlustrefilesystemconfig-syntax.json"></a>

```
{
  "[FileSystemId](#cfn-sagemaker-userprofile-fsxlustrefilesystemconfig-filesystemid)" : String,
  "[FileSystemPath](#cfn-sagemaker-userprofile-fsxlustrefilesystemconfig-filesystempath)" : String
}
```

### YAML
<a name="aws-properties-sagemaker-userprofile-fsxlustrefilesystemconfig-syntax.yaml"></a>

```
  [FileSystemId](#cfn-sagemaker-userprofile-fsxlustrefilesystemconfig-filesystemid): String
  [FileSystemPath](#cfn-sagemaker-userprofile-fsxlustrefilesystemconfig-filesystempath): String
```

## Properties
<a name="aws-properties-sagemaker-userprofile-fsxlustrefilesystemconfig-properties"></a>

`FileSystemId`  <a name="cfn-sagemaker-userprofile-fsxlustrefilesystemconfig-filesystemid"></a>
The globally unique, 17-digit, ID of the file system, assigned by Amazon FSx for Lustre.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^(fs-[0-9a-f]{8,})$`  
*Minimum*: `11`  
*Maximum*: `21`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`FileSystemPath`  <a name="cfn-sagemaker-userprofile-fsxlustrefilesystemconfig-filesystempath"></a>
The path to the file system directory that is accessible in Amazon SageMaker Studio. Permitted users can access only this directory and below.  
*Required*: No  
*Type*: String  
*Pattern*: `^\/\S*$`  
*Minimum*: `1`  
*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::UserProfile HiddenSageMakerImage
<a name="aws-properties-sagemaker-userprofile-hiddensagemakerimage"></a>

The SageMaker images that are hidden from the Studio user interface. You must specify the SageMaker image name and version aliases.

## Syntax
<a name="aws-properties-sagemaker-userprofile-hiddensagemakerimage-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-userprofile-hiddensagemakerimage-syntax.json"></a>

```
{
  "[SageMakerImageName](#cfn-sagemaker-userprofile-hiddensagemakerimage-sagemakerimagename)" : String,
  "[VersionAliases](#cfn-sagemaker-userprofile-hiddensagemakerimage-versionaliases)" : [ String, ... ]
}
```

### YAML
<a name="aws-properties-sagemaker-userprofile-hiddensagemakerimage-syntax.yaml"></a>

```
  [SageMakerImageName](#cfn-sagemaker-userprofile-hiddensagemakerimage-sagemakerimagename): String
  [VersionAliases](#cfn-sagemaker-userprofile-hiddensagemakerimage-versionaliases): 
    - String
```

## Properties
<a name="aws-properties-sagemaker-userprofile-hiddensagemakerimage-properties"></a>

`SageMakerImageName`  <a name="cfn-sagemaker-userprofile-hiddensagemakerimage-sagemakerimagename"></a>
 The SageMaker image name that you are hiding from the Studio user interface.   
*Required*: No  
*Type*: String  
*Allowed values*: `sagemaker_distribution`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`VersionAliases`  <a name="cfn-sagemaker-userprofile-hiddensagemakerimage-versionaliases"></a>
 The version aliases you are hiding from the Studio user interface.   
*Required*: No  
*Type*: Array of String  
*Minimum*: `1`  
*Maximum*: `128 | 20`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::SageMaker::UserProfile IdleSettings
<a name="aws-properties-sagemaker-userprofile-idlesettings"></a>

Settings related to idle shutdown of Studio applications.

## Syntax
<a name="aws-properties-sagemaker-userprofile-idlesettings-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-userprofile-idlesettings-syntax.json"></a>

```
{
  "[IdleTimeoutInMinutes](#cfn-sagemaker-userprofile-idlesettings-idletimeoutinminutes)" : Integer,
  "[LifecycleManagement](#cfn-sagemaker-userprofile-idlesettings-lifecyclemanagement)" : String,
  "[MaxIdleTimeoutInMinutes](#cfn-sagemaker-userprofile-idlesettings-maxidletimeoutinminutes)" : Integer,
  "[MinIdleTimeoutInMinutes](#cfn-sagemaker-userprofile-idlesettings-minidletimeoutinminutes)" : Integer
}
```

### YAML
<a name="aws-properties-sagemaker-userprofile-idlesettings-syntax.yaml"></a>

```
  [IdleTimeoutInMinutes](#cfn-sagemaker-userprofile-idlesettings-idletimeoutinminutes): Integer
  [LifecycleManagement](#cfn-sagemaker-userprofile-idlesettings-lifecyclemanagement): String
  [MaxIdleTimeoutInMinutes](#cfn-sagemaker-userprofile-idlesettings-maxidletimeoutinminutes): Integer
  [MinIdleTimeoutInMinutes](#cfn-sagemaker-userprofile-idlesettings-minidletimeoutinminutes): Integer
```

## Properties
<a name="aws-properties-sagemaker-userprofile-idlesettings-properties"></a>

`IdleTimeoutInMinutes`  <a name="cfn-sagemaker-userprofile-idlesettings-idletimeoutinminutes"></a>
The time that SageMaker waits after the application becomes idle before shutting it down.  
*Required*: No  
*Type*: Integer  
*Minimum*: `60`  
*Maximum*: `525600`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`LifecycleManagement`  <a name="cfn-sagemaker-userprofile-idlesettings-lifecyclemanagement"></a>
Indicates whether idle shutdown is activated for the application type.  
*Required*: No  
*Type*: String  
*Allowed values*: `ENABLED | DISABLED`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`MaxIdleTimeoutInMinutes`  <a name="cfn-sagemaker-userprofile-idlesettings-maxidletimeoutinminutes"></a>
The maximum value in minutes that custom idle shutdown can be set to by the user.  
*Required*: No  
*Type*: Integer  
*Minimum*: `60`  
*Maximum*: `525600`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`MinIdleTimeoutInMinutes`  <a name="cfn-sagemaker-userprofile-idlesettings-minidletimeoutinminutes"></a>
The minimum value in minutes that custom idle shutdown can be set to by the user.  
*Required*: No  
*Type*: Integer  
*Minimum*: `60`  
*Maximum*: `525600`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::SageMaker::UserProfile JupyterLabAppSettings
<a name="aws-properties-sagemaker-userprofile-jupyterlabappsettings"></a>

The settings for the JupyterLab application.

## Syntax
<a name="aws-properties-sagemaker-userprofile-jupyterlabappsettings-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-userprofile-jupyterlabappsettings-syntax.json"></a>

```
{
  "[AppLifecycleManagement](#cfn-sagemaker-userprofile-jupyterlabappsettings-applifecyclemanagement)" : AppLifecycleManagement,
  "[BuiltInLifecycleConfigArn](#cfn-sagemaker-userprofile-jupyterlabappsettings-builtinlifecycleconfigarn)" : String,
  "[CodeRepositories](#cfn-sagemaker-userprofile-jupyterlabappsettings-coderepositories)" : [ CodeRepository, ... ],
  "[CustomImages](#cfn-sagemaker-userprofile-jupyterlabappsettings-customimages)" : [ CustomImage, ... ],
  "[DefaultResourceSpec](#cfn-sagemaker-userprofile-jupyterlabappsettings-defaultresourcespec)" : ResourceSpec,
  "[LifecycleConfigArns](#cfn-sagemaker-userprofile-jupyterlabappsettings-lifecycleconfigarns)" : [ String, ... ]
}
```

### YAML
<a name="aws-properties-sagemaker-userprofile-jupyterlabappsettings-syntax.yaml"></a>

```
  [AppLifecycleManagement](#cfn-sagemaker-userprofile-jupyterlabappsettings-applifecyclemanagement): 
    AppLifecycleManagement
  [BuiltInLifecycleConfigArn](#cfn-sagemaker-userprofile-jupyterlabappsettings-builtinlifecycleconfigarn): String
  [CodeRepositories](#cfn-sagemaker-userprofile-jupyterlabappsettings-coderepositories): 
    - CodeRepository
  [CustomImages](#cfn-sagemaker-userprofile-jupyterlabappsettings-customimages): 
    - CustomImage
  [DefaultResourceSpec](#cfn-sagemaker-userprofile-jupyterlabappsettings-defaultresourcespec): 
    ResourceSpec
  [LifecycleConfigArns](#cfn-sagemaker-userprofile-jupyterlabappsettings-lifecycleconfigarns): 
    - String
```

## Properties
<a name="aws-properties-sagemaker-userprofile-jupyterlabappsettings-properties"></a>

`AppLifecycleManagement`  <a name="cfn-sagemaker-userprofile-jupyterlabappsettings-applifecyclemanagement"></a>
Indicates whether idle shutdown is activated for JupyterLab applications.  
*Required*: No  
*Type*: [AppLifecycleManagement](aws-properties-sagemaker-userprofile-applifecyclemanagement.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`BuiltInLifecycleConfigArn`  <a name="cfn-sagemaker-userprofile-jupyterlabappsettings-builtinlifecycleconfigarn"></a>
The lifecycle configuration that runs before the default lifecycle configuration. It can override changes made in the default lifecycle configuration.  
*Required*: No  
*Type*: String  
*Pattern*: `^(arn:aws[a-z\-]*:sagemaker:[a-z0-9\-]*:[0-9]{12}:studio-lifecycle-config/.*|None)$`  
*Maximum*: `256`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`CodeRepositories`  <a name="cfn-sagemaker-userprofile-jupyterlabappsettings-coderepositories"></a>
A list of Git repositories that SageMaker automatically displays to users for cloning in the JupyterLab application.  
*Required*: No  
*Type*: Array of [CodeRepository](aws-properties-sagemaker-userprofile-coderepository.md)  
*Minimum*: `0`  
*Maximum*: `30`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`CustomImages`  <a name="cfn-sagemaker-userprofile-jupyterlabappsettings-customimages"></a>
A list of custom SageMaker images that are configured to run as a JupyterLab app.  
*Required*: No  
*Type*: Array of [CustomImage](aws-properties-sagemaker-userprofile-customimage.md)  
*Minimum*: `0`  
*Maximum*: `200`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`DefaultResourceSpec`  <a name="cfn-sagemaker-userprofile-jupyterlabappsettings-defaultresourcespec"></a>
The default instance type and the Amazon Resource Name (ARN) of the default SageMaker image used by the JupyterLab app.  
*Required*: No  
*Type*: [ResourceSpec](aws-properties-sagemaker-userprofile-resourcespec.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`LifecycleConfigArns`  <a name="cfn-sagemaker-userprofile-jupyterlabappsettings-lifecycleconfigarns"></a>
The Amazon Resource Name (ARN) of the lifecycle configurations attached to the user profile or domain. To remove a lifecycle config, you must set `LifecycleConfigArns` to an empty list.  
*Required*: No  
*Type*: Array of String  
*Minimum*: `0`  
*Maximum*: `30`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::SageMaker::UserProfile JupyterServerAppSettings
<a name="aws-properties-sagemaker-userprofile-jupyterserverappsettings"></a>

The JupyterServer app settings.

## Syntax
<a name="aws-properties-sagemaker-userprofile-jupyterserverappsettings-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-userprofile-jupyterserverappsettings-syntax.json"></a>

```
{
  "[DefaultResourceSpec](#cfn-sagemaker-userprofile-jupyterserverappsettings-defaultresourcespec)" : ResourceSpec,
  "[LifecycleConfigArns](#cfn-sagemaker-userprofile-jupyterserverappsettings-lifecycleconfigarns)" : [ String, ... ]
}
```

### YAML
<a name="aws-properties-sagemaker-userprofile-jupyterserverappsettings-syntax.yaml"></a>

```
  [DefaultResourceSpec](#cfn-sagemaker-userprofile-jupyterserverappsettings-defaultresourcespec): 
    ResourceSpec
  [LifecycleConfigArns](#cfn-sagemaker-userprofile-jupyterserverappsettings-lifecycleconfigarns): 
    - String
```

## Properties
<a name="aws-properties-sagemaker-userprofile-jupyterserverappsettings-properties"></a>

`DefaultResourceSpec`  <a name="cfn-sagemaker-userprofile-jupyterserverappsettings-defaultresourcespec"></a>
The default instance type and the Amazon Resource Name (ARN) of the default SageMaker image used by the JupyterServer app.  
*Required*: No  
*Type*: [ResourceSpec](aws-properties-sagemaker-userprofile-resourcespec.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`LifecycleConfigArns`  <a name="cfn-sagemaker-userprofile-jupyterserverappsettings-lifecycleconfigarns"></a>
 The Amazon Resource Name (ARN) of the Lifecycle Configurations attached to the JupyterServerApp. If you use this parameter, the `DefaultResourceSpec` parameter is also required.  
To remove a Lifecycle Config, you must set `LifecycleConfigArns` to an empty list.
*Required*: No  
*Type*: Array of String  
*Minimum*: `0`  
*Maximum*: `30`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::SageMaker::UserProfile KernelGatewayAppSettings
<a name="aws-properties-sagemaker-userprofile-kernelgatewayappsettings"></a>

The KernelGateway app settings.

## Syntax
<a name="aws-properties-sagemaker-userprofile-kernelgatewayappsettings-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-userprofile-kernelgatewayappsettings-syntax.json"></a>

```
{
  "[CustomImages](#cfn-sagemaker-userprofile-kernelgatewayappsettings-customimages)" : [ CustomImage, ... ],
  "[DefaultResourceSpec](#cfn-sagemaker-userprofile-kernelgatewayappsettings-defaultresourcespec)" : ResourceSpec,
  "[LifecycleConfigArns](#cfn-sagemaker-userprofile-kernelgatewayappsettings-lifecycleconfigarns)" : [ String, ... ]
}
```

### YAML
<a name="aws-properties-sagemaker-userprofile-kernelgatewayappsettings-syntax.yaml"></a>

```
  [CustomImages](#cfn-sagemaker-userprofile-kernelgatewayappsettings-customimages): 
    - CustomImage
  [DefaultResourceSpec](#cfn-sagemaker-userprofile-kernelgatewayappsettings-defaultresourcespec): 
    ResourceSpec
  [LifecycleConfigArns](#cfn-sagemaker-userprofile-kernelgatewayappsettings-lifecycleconfigarns): 
    - String
```

## Properties
<a name="aws-properties-sagemaker-userprofile-kernelgatewayappsettings-properties"></a>

`CustomImages`  <a name="cfn-sagemaker-userprofile-kernelgatewayappsettings-customimages"></a>
A list of custom SageMaker AI images that are configured to run as a KernelGateway app.  
The maximum number of custom images are as follows.  
+ On a domain level: 200
+ On a space level: 5
+ On a user profile level: 5
*Required*: No  
*Type*: Array of [CustomImage](aws-properties-sagemaker-userprofile-customimage.md)  
*Minimum*: `0`  
*Maximum*: `30`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`DefaultResourceSpec`  <a name="cfn-sagemaker-userprofile-kernelgatewayappsettings-defaultresourcespec"></a>
The default instance type and the Amazon Resource Name (ARN) of the default SageMaker AI image used by the KernelGateway app.  
The Amazon SageMaker AI Studio UI does not use the default instance type value set here. The default instance type set here is used when Apps are created using the AWS CLI or CloudFormation and the instance type parameter value is not passed.
*Required*: No  
*Type*: [ResourceSpec](aws-properties-sagemaker-userprofile-resourcespec.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`LifecycleConfigArns`  <a name="cfn-sagemaker-userprofile-kernelgatewayappsettings-lifecycleconfigarns"></a>
 The Amazon Resource Name (ARN) of the Lifecycle Configurations attached to the the user profile or domain.  
To remove a Lifecycle Config, you must set `LifecycleConfigArns` to an empty list.
*Required*: No  
*Type*: Array of String  
*Minimum*: `0`  
*Maximum*: `30`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::SageMaker::UserProfile ResourceSpec
<a name="aws-properties-sagemaker-userprofile-resourcespec"></a>

Specifies the ARN's of a SageMaker AI image and SageMaker AI image version, and the instance type that the version runs on.

**Note**  
When both `SageMakerImageVersionArn` and `SageMakerImageArn` are passed, `SageMakerImageVersionArn` is used. Any updates to `SageMakerImageArn` will not take effect if `SageMakerImageVersionArn` already exists in the `ResourceSpec` because `SageMakerImageVersionArn` always takes precedence. To clear the value set for `SageMakerImageVersionArn`, pass `None` as the value.

## Syntax
<a name="aws-properties-sagemaker-userprofile-resourcespec-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-userprofile-resourcespec-syntax.json"></a>

```
{
  "[InstanceType](#cfn-sagemaker-userprofile-resourcespec-instancetype)" : String,
  "[LifecycleConfigArn](#cfn-sagemaker-userprofile-resourcespec-lifecycleconfigarn)" : String,
  "[SageMakerImageArn](#cfn-sagemaker-userprofile-resourcespec-sagemakerimagearn)" : String,
  "[SageMakerImageVersionArn](#cfn-sagemaker-userprofile-resourcespec-sagemakerimageversionarn)" : String
}
```

### YAML
<a name="aws-properties-sagemaker-userprofile-resourcespec-syntax.yaml"></a>

```
  [InstanceType](#cfn-sagemaker-userprofile-resourcespec-instancetype): String
  [LifecycleConfigArn](#cfn-sagemaker-userprofile-resourcespec-lifecycleconfigarn): String
  [SageMakerImageArn](#cfn-sagemaker-userprofile-resourcespec-sagemakerimagearn): String
  [SageMakerImageVersionArn](#cfn-sagemaker-userprofile-resourcespec-sagemakerimageversionarn): String
```

## Properties
<a name="aws-properties-sagemaker-userprofile-resourcespec-properties"></a>

`InstanceType`  <a name="cfn-sagemaker-userprofile-resourcespec-instancetype"></a>
The instance type that the image version runs on.  
**JupyterServer apps** only support the `system` value.  
For **KernelGateway apps**, the `system` value is translated to `ml.t3.medium`. KernelGateway apps also support all other values for available instance types.
*Required*: No  
*Type*: String  
*Allowed values*: `system | ml.t3.micro | ml.t3.small | ml.t3.medium | ml.t3.large | ml.t3.xlarge | ml.t3.2xlarge | ml.m5.large | ml.m5.xlarge | ml.m5.2xlarge | ml.m5.4xlarge | ml.m5.8xlarge | ml.m5.12xlarge | ml.m5.16xlarge | ml.m5.24xlarge | ml.m5d.large | ml.m5d.xlarge | ml.m5d.2xlarge | ml.m5d.4xlarge | ml.m5d.8xlarge | ml.m5d.12xlarge | ml.m5d.16xlarge | ml.m5d.24xlarge | ml.c5.large | ml.c5.xlarge | ml.c5.2xlarge | ml.c5.4xlarge | ml.c5.9xlarge | ml.c5.12xlarge | ml.c5.18xlarge | ml.c5.24xlarge | ml.p3.2xlarge | ml.p3.8xlarge | ml.p3.16xlarge | ml.p3dn.24xlarge | ml.g4dn.xlarge | ml.g4dn.2xlarge | ml.g4dn.4xlarge | ml.g4dn.8xlarge | ml.g4dn.12xlarge | ml.g4dn.16xlarge | ml.r5.large | ml.r5.xlarge | ml.r5.2xlarge | ml.r5.4xlarge | ml.r5.8xlarge | ml.r5.12xlarge | ml.r5.16xlarge | ml.r5.24xlarge | 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.g6.xlarge | ml.g6.2xlarge | ml.g6.4xlarge | ml.g6.8xlarge | ml.g6.12xlarge | ml.g6.16xlarge | ml.g6.24xlarge | ml.g6.48xlarge | ml.g6e.xlarge | ml.g6e.2xlarge | ml.g6e.4xlarge | ml.g6e.8xlarge | ml.g6e.12xlarge | ml.g6e.16xlarge | ml.g6e.24xlarge | ml.g6e.48xlarge | ml.geospatial.interactive | ml.p4d.24xlarge | ml.p4de.24xlarge | ml.trn1.2xlarge | ml.trn1.32xlarge | ml.trn1n.32xlarge | ml.p5.48xlarge | ml.p5e.48xlarge | ml.p5en.48xlarge | 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.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.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.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.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.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.m6id.large | ml.m6id.xlarge | ml.m6id.2xlarge | ml.m6id.4xlarge | ml.m6id.8xlarge | ml.m6id.12xlarge | ml.m6id.16xlarge | ml.m6id.24xlarge | ml.m6id.32xlarge | ml.c6id.large | ml.c6id.xlarge | ml.c6id.2xlarge | ml.c6id.4xlarge | ml.c6id.8xlarge | ml.c6id.12xlarge | ml.c6id.16xlarge | ml.c6id.24xlarge | ml.c6id.32xlarge | ml.r6id.large | ml.r6id.xlarge | ml.r6id.2xlarge | ml.r6id.4xlarge | ml.r6id.8xlarge | ml.r6id.12xlarge | ml.r6id.16xlarge | ml.r6id.24xlarge | ml.r6id.32xlarge`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`LifecycleConfigArn`  <a name="cfn-sagemaker-userprofile-resourcespec-lifecycleconfigarn"></a>
 The Amazon Resource Name (ARN) of the Lifecycle Configuration attached to the Resource.  
*Required*: No  
*Type*: String  
*Pattern*: `^(arn:aws[a-z\-]*:sagemaker:[a-z0-9\-]*:[0-9]{12}:studio-lifecycle-config/.*|None)$`  
*Maximum*: `256`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`SageMakerImageArn`  <a name="cfn-sagemaker-userprofile-resourcespec-sagemakerimagearn"></a>
The ARN of the SageMaker AI image that the image version belongs to.  
*Required*: No  
*Type*: String  
*Pattern*: `^arn:aws(-[\w]+)*:sagemaker:.+:[0-9]{12}:image/[a-z0-9]([-.]?[a-z0-9])*$`  
*Maximum*: `256`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`SageMakerImageVersionArn`  <a name="cfn-sagemaker-userprofile-resourcespec-sagemakerimageversionarn"></a>
The ARN of the image version created on the instance. To clear the value set for `SageMakerImageVersionArn`, pass `None` as the value.  
*Required*: No  
*Type*: String  
*Pattern*: `^arn:aws(-[\w]+)*:sagemaker:.+:[0-9]{12}:image-version/[a-z0-9]([-.]?[a-z0-9])*/[0-9]+$`  
*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::UserProfile RStudioServerProAppSettings
<a name="aws-properties-sagemaker-userprofile-rstudioserverproappsettings"></a>

A collection of settings that configure user interaction with the `RStudioServerPro` app.

## Syntax
<a name="aws-properties-sagemaker-userprofile-rstudioserverproappsettings-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-userprofile-rstudioserverproappsettings-syntax.json"></a>

```
{
  "[AccessStatus](#cfn-sagemaker-userprofile-rstudioserverproappsettings-accessstatus)" : String,
  "[UserGroup](#cfn-sagemaker-userprofile-rstudioserverproappsettings-usergroup)" : String
}
```

### YAML
<a name="aws-properties-sagemaker-userprofile-rstudioserverproappsettings-syntax.yaml"></a>

```
  [AccessStatus](#cfn-sagemaker-userprofile-rstudioserverproappsettings-accessstatus): String
  [UserGroup](#cfn-sagemaker-userprofile-rstudioserverproappsettings-usergroup): String
```

## Properties
<a name="aws-properties-sagemaker-userprofile-rstudioserverproappsettings-properties"></a>

`AccessStatus`  <a name="cfn-sagemaker-userprofile-rstudioserverproappsettings-accessstatus"></a>
Indicates whether the current user has access to the `RStudioServerPro` app.  
*Required*: No  
*Type*: String  
*Allowed values*: `ENABLED | DISABLED`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`UserGroup`  <a name="cfn-sagemaker-userprofile-rstudioserverproappsettings-usergroup"></a>
The level of permissions that the user has within the `RStudioServerPro` app. This value defaults to `User`. The `Admin` value allows the user access to the RStudio Administrative Dashboard.  
*Required*: No  
*Type*: String  
*Allowed values*: `R_STUDIO_ADMIN | R_STUDIO_USER`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::SageMaker::UserProfile S3FileSystemConfig
<a name="aws-properties-sagemaker-userprofile-s3filesystemconfig"></a>

Configuration for the custom Amazon S3 file system.

## Syntax
<a name="aws-properties-sagemaker-userprofile-s3filesystemconfig-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-userprofile-s3filesystemconfig-syntax.json"></a>

```
{
  "[MountPath](#cfn-sagemaker-userprofile-s3filesystemconfig-mountpath)" : String,
  "[S3Uri](#cfn-sagemaker-userprofile-s3filesystemconfig-s3uri)" : String
}
```

### YAML
<a name="aws-properties-sagemaker-userprofile-s3filesystemconfig-syntax.yaml"></a>

```
  [MountPath](#cfn-sagemaker-userprofile-s3filesystemconfig-mountpath): String
  [S3Uri](#cfn-sagemaker-userprofile-s3filesystemconfig-s3uri): String
```

## Properties
<a name="aws-properties-sagemaker-userprofile-s3filesystemconfig-properties"></a>

`MountPath`  <a name="cfn-sagemaker-userprofile-s3filesystemconfig-mountpath"></a>
The file system path where the Amazon S3 storage location will be mounted within the Amazon SageMaker Studio environment.  
*Required*: No  
*Type*: String  
*Minimum*: `0`  
*Maximum*: `1024`  
*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-userprofile-s3filesystemconfig-s3uri"></a>
The Amazon S3 URI of the S3 file system configuration.  
*Required*: No  
*Type*: String  
*Pattern*: `(s3)://([^/]+)/?(.*)`  
*Minimum*: `0`  
*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::UserProfile SharingSettings
<a name="aws-properties-sagemaker-userprofile-sharingsettings"></a>

Specifies options when sharing an Amazon SageMaker Studio notebook. These settings are specified as part of `DefaultUserSettings` when the [CreateDomain](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateDomain.html) API is called, and as part of `UserSettings` when the [CreateUserProfile](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateUserProfile.html) API is called.

## Syntax
<a name="aws-properties-sagemaker-userprofile-sharingsettings-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-userprofile-sharingsettings-syntax.json"></a>

```
{
  "[NotebookOutputOption](#cfn-sagemaker-userprofile-sharingsettings-notebookoutputoption)" : String,
  "[S3KmsKeyId](#cfn-sagemaker-userprofile-sharingsettings-s3kmskeyid)" : String,
  "[S3OutputPath](#cfn-sagemaker-userprofile-sharingsettings-s3outputpath)" : String
}
```

### YAML
<a name="aws-properties-sagemaker-userprofile-sharingsettings-syntax.yaml"></a>

```
  [NotebookOutputOption](#cfn-sagemaker-userprofile-sharingsettings-notebookoutputoption): String
  [S3KmsKeyId](#cfn-sagemaker-userprofile-sharingsettings-s3kmskeyid): String
  [S3OutputPath](#cfn-sagemaker-userprofile-sharingsettings-s3outputpath): String
```

## Properties
<a name="aws-properties-sagemaker-userprofile-sharingsettings-properties"></a>

`NotebookOutputOption`  <a name="cfn-sagemaker-userprofile-sharingsettings-notebookoutputoption"></a>
Whether to include the notebook cell output when sharing the notebook. The default is `Disabled`.  
*Required*: No  
*Type*: String  
*Allowed values*: `Allowed | Disabled`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`S3KmsKeyId`  <a name="cfn-sagemaker-userprofile-sharingsettings-s3kmskeyid"></a>
When `NotebookOutputOption` is `Allowed`, the AWS Key Management Service (KMS) encryption key ID used to encrypt the notebook cell output in the Amazon S3 bucket.  
*Required*: No  
*Type*: String  
*Pattern*: `.*`  
*Maximum*: `2048`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`S3OutputPath`  <a name="cfn-sagemaker-userprofile-sharingsettings-s3outputpath"></a>
When `NotebookOutputOption` is `Allowed`, the Amazon S3 bucket used to store the shared notebook snapshots.  
*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)

# AWS::SageMaker::UserProfile StudioWebPortalSettings
<a name="aws-properties-sagemaker-userprofile-studiowebportalsettings"></a>

Studio settings. If these settings are applied on a user level, they take priority over the settings applied on a domain level.

## Syntax
<a name="aws-properties-sagemaker-userprofile-studiowebportalsettings-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-userprofile-studiowebportalsettings-syntax.json"></a>

```
{
  "[HiddenAppTypes](#cfn-sagemaker-userprofile-studiowebportalsettings-hiddenapptypes)" : [ String, ... ],
  "[HiddenInstanceTypes](#cfn-sagemaker-userprofile-studiowebportalsettings-hiddeninstancetypes)" : [ String, ... ],
  "[HiddenMlTools](#cfn-sagemaker-userprofile-studiowebportalsettings-hiddenmltools)" : [ String, ... ],
  "[HiddenSageMakerImageVersionAliases](#cfn-sagemaker-userprofile-studiowebportalsettings-hiddensagemakerimageversionaliases)" : [ HiddenSageMakerImage, ... ]
}
```

### YAML
<a name="aws-properties-sagemaker-userprofile-studiowebportalsettings-syntax.yaml"></a>

```
  [HiddenAppTypes](#cfn-sagemaker-userprofile-studiowebportalsettings-hiddenapptypes): 
    - String
  [HiddenInstanceTypes](#cfn-sagemaker-userprofile-studiowebportalsettings-hiddeninstancetypes): 
    - String
  [HiddenMlTools](#cfn-sagemaker-userprofile-studiowebportalsettings-hiddenmltools): 
    - String
  [HiddenSageMakerImageVersionAliases](#cfn-sagemaker-userprofile-studiowebportalsettings-hiddensagemakerimageversionaliases): 
    - HiddenSageMakerImage
```

## Properties
<a name="aws-properties-sagemaker-userprofile-studiowebportalsettings-properties"></a>

`HiddenAppTypes`  <a name="cfn-sagemaker-userprofile-studiowebportalsettings-hiddenapptypes"></a>
The [Applications supported in Studio](https://docs.aws.amazon.com/sagemaker/latest/dg/studio-updated-apps.html) that are hidden from the Studio left navigation pane.  
*Required*: No  
*Type*: Array of String  
*Minimum*: `0`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`HiddenInstanceTypes`  <a name="cfn-sagemaker-userprofile-studiowebportalsettings-hiddeninstancetypes"></a>
 The instance types you are hiding from the Studio user interface.   
*Required*: No  
*Type*: Array of String  
*Minimum*: `0`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`HiddenMlTools`  <a name="cfn-sagemaker-userprofile-studiowebportalsettings-hiddenmltools"></a>
The machine learning tools that are hidden from the Studio left navigation pane.  
*Required*: No  
*Type*: Array of String  
*Minimum*: `0`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`HiddenSageMakerImageVersionAliases`  <a name="cfn-sagemaker-userprofile-studiowebportalsettings-hiddensagemakerimageversionaliases"></a>
 The version aliases you are hiding from the Studio user interface.   
*Required*: No  
*Type*: Array of [HiddenSageMakerImage](aws-properties-sagemaker-userprofile-hiddensagemakerimage.md)  
*Minimum*: `0`  
*Maximum*: `5`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::SageMaker::UserProfile Tag
<a name="aws-properties-sagemaker-userprofile-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-userprofile-tag-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-userprofile-tag-syntax.json"></a>

```
{
  "[Key](#cfn-sagemaker-userprofile-tag-key)" : String,
  "[Value](#cfn-sagemaker-userprofile-tag-value)" : String
}
```

### YAML
<a name="aws-properties-sagemaker-userprofile-tag-syntax.yaml"></a>

```
  [Key](#cfn-sagemaker-userprofile-tag-key): String
  [Value](#cfn-sagemaker-userprofile-tag-value): String
```

## Properties
<a name="aws-properties-sagemaker-userprofile-tag-properties"></a>

`Key`  <a name="cfn-sagemaker-userprofile-tag-key"></a>
The tag key. Tag keys must be unique per resource.  
*Required*: Yes  
*Type*: String  
*Minimum*: `1`  
*Maximum*: `128`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`Value`  <a name="cfn-sagemaker-userprofile-tag-value"></a>
The tag value.  
*Required*: Yes  
*Type*: String  
*Minimum*: `1`  
*Maximum*: `128`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::SageMaker::UserProfile UserSettings
<a name="aws-properties-sagemaker-userprofile-usersettings"></a>

A collection of settings that apply to users of Amazon SageMaker Studio. These settings are specified when the [CreateUserProfile](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateUserProfile.html) API is called, and as `DefaultUserSettings` when the [CreateDomain](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateDomain.html) API is called.

`SecurityGroups` is aggregated when specified in both calls. For all other settings in `UserSettings`, the values specified in `CreateUserProfile` take precedence over those specified in `CreateDomain`.

## Syntax
<a name="aws-properties-sagemaker-userprofile-usersettings-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-userprofile-usersettings-syntax.json"></a>

```
{
  "[AutoMountHomeEFS](#cfn-sagemaker-userprofile-usersettings-automounthomeefs)" : String,
  "[CodeEditorAppSettings](#cfn-sagemaker-userprofile-usersettings-codeeditorappsettings)" : CodeEditorAppSettings,
  "[CustomFileSystemConfigs](#cfn-sagemaker-userprofile-usersettings-customfilesystemconfigs)" : [ CustomFileSystemConfig, ... ],
  "[CustomPosixUserConfig](#cfn-sagemaker-userprofile-usersettings-customposixuserconfig)" : CustomPosixUserConfig,
  "[DefaultLandingUri](#cfn-sagemaker-userprofile-usersettings-defaultlandinguri)" : String,
  "[ExecutionRole](#cfn-sagemaker-userprofile-usersettings-executionrole)" : String,
  "[JupyterLabAppSettings](#cfn-sagemaker-userprofile-usersettings-jupyterlabappsettings)" : JupyterLabAppSettings,
  "[JupyterServerAppSettings](#cfn-sagemaker-userprofile-usersettings-jupyterserverappsettings)" : JupyterServerAppSettings,
  "[KernelGatewayAppSettings](#cfn-sagemaker-userprofile-usersettings-kernelgatewayappsettings)" : KernelGatewayAppSettings,
  "[RStudioServerProAppSettings](#cfn-sagemaker-userprofile-usersettings-rstudioserverproappsettings)" : RStudioServerProAppSettings,
  "[SecurityGroups](#cfn-sagemaker-userprofile-usersettings-securitygroups)" : [ String, ... ],
  "[SharingSettings](#cfn-sagemaker-userprofile-usersettings-sharingsettings)" : SharingSettings,
  "[SpaceStorageSettings](#cfn-sagemaker-userprofile-usersettings-spacestoragesettings)" : DefaultSpaceStorageSettings,
  "[StudioWebPortal](#cfn-sagemaker-userprofile-usersettings-studiowebportal)" : String,
  "[StudioWebPortalSettings](#cfn-sagemaker-userprofile-usersettings-studiowebportalsettings)" : StudioWebPortalSettings
}
```

### YAML
<a name="aws-properties-sagemaker-userprofile-usersettings-syntax.yaml"></a>

```
  [AutoMountHomeEFS](#cfn-sagemaker-userprofile-usersettings-automounthomeefs): String
  [CodeEditorAppSettings](#cfn-sagemaker-userprofile-usersettings-codeeditorappsettings): 
    CodeEditorAppSettings
  [CustomFileSystemConfigs](#cfn-sagemaker-userprofile-usersettings-customfilesystemconfigs): 
    - CustomFileSystemConfig
  [CustomPosixUserConfig](#cfn-sagemaker-userprofile-usersettings-customposixuserconfig): 
    CustomPosixUserConfig
  [DefaultLandingUri](#cfn-sagemaker-userprofile-usersettings-defaultlandinguri): String
  [ExecutionRole](#cfn-sagemaker-userprofile-usersettings-executionrole): String
  [JupyterLabAppSettings](#cfn-sagemaker-userprofile-usersettings-jupyterlabappsettings): 
    JupyterLabAppSettings
  [JupyterServerAppSettings](#cfn-sagemaker-userprofile-usersettings-jupyterserverappsettings): 
    JupyterServerAppSettings
  [KernelGatewayAppSettings](#cfn-sagemaker-userprofile-usersettings-kernelgatewayappsettings): 
    KernelGatewayAppSettings
  [RStudioServerProAppSettings](#cfn-sagemaker-userprofile-usersettings-rstudioserverproappsettings): 
    RStudioServerProAppSettings
  [SecurityGroups](#cfn-sagemaker-userprofile-usersettings-securitygroups): 
    - String
  [SharingSettings](#cfn-sagemaker-userprofile-usersettings-sharingsettings): 
    SharingSettings
  [SpaceStorageSettings](#cfn-sagemaker-userprofile-usersettings-spacestoragesettings): 
    DefaultSpaceStorageSettings
  [StudioWebPortal](#cfn-sagemaker-userprofile-usersettings-studiowebportal): String
  [StudioWebPortalSettings](#cfn-sagemaker-userprofile-usersettings-studiowebportalsettings): 
    StudioWebPortalSettings
```

## Properties
<a name="aws-properties-sagemaker-userprofile-usersettings-properties"></a>

`AutoMountHomeEFS`  <a name="cfn-sagemaker-userprofile-usersettings-automounthomeefs"></a>
Indicates whether auto-mounting of an EFS volume is supported for the user profile. The `DefaultAsDomain` value is only supported for user profiles. Do not use the `DefaultAsDomain` value when setting this parameter for a domain.  
SageMaker applies this setting only to private spaces that the user creates in the domain. SageMaker doesn't apply this setting to shared spaces.  
*Required*: No  
*Type*: String  
*Allowed values*: `Enabled | Disabled | DefaultAsDomain`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`CodeEditorAppSettings`  <a name="cfn-sagemaker-userprofile-usersettings-codeeditorappsettings"></a>
The Code Editor application settings.  
SageMaker applies these settings only to private spaces that the user creates in the domain. SageMaker doesn't apply these settings to shared spaces.  
*Required*: No  
*Type*: [CodeEditorAppSettings](aws-properties-sagemaker-userprofile-codeeditorappsettings.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`CustomFileSystemConfigs`  <a name="cfn-sagemaker-userprofile-usersettings-customfilesystemconfigs"></a>
The settings for assigning a custom file system to a user profile. Permitted users can access this file system in Amazon SageMaker AI Studio.  
SageMaker applies these settings only to private spaces that the user creates in the domain. SageMaker doesn't apply these settings to shared spaces.  
*Required*: No  
*Type*: Array of [CustomFileSystemConfig](aws-properties-sagemaker-userprofile-customfilesystemconfig.md)  
*Minimum*: `0`  
*Maximum*: `2`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`CustomPosixUserConfig`  <a name="cfn-sagemaker-userprofile-usersettings-customposixuserconfig"></a>
Details about the POSIX identity that is used for file system operations.  
SageMaker applies these settings only to private spaces that the user creates in the domain. SageMaker doesn't apply these settings to shared spaces.  
*Required*: No  
*Type*: [CustomPosixUserConfig](aws-properties-sagemaker-userprofile-customposixuserconfig.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`DefaultLandingUri`  <a name="cfn-sagemaker-userprofile-usersettings-defaultlandinguri"></a>
The default experience that the user is directed to when accessing the domain. The supported values are:  
+ `studio::`: Indicates that Studio is the default experience. This value can only be passed if `StudioWebPortal` is set to `ENABLED`.
+ `app:JupyterServer:`: Indicates that Studio Classic is the default experience.
*Required*: No  
*Type*: String  
*Maximum*: `1023`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ExecutionRole`  <a name="cfn-sagemaker-userprofile-usersettings-executionrole"></a>
The execution role for the user.  
SageMaker applies this setting only to private spaces that the user creates in the domain. SageMaker doesn't apply this setting to shared spaces.  
*Required*: No  
*Type*: String  
*Pattern*: `^arn:aws[a-z\-]*:iam::\d{12}:role/?[a-zA-Z_0-9+=,.@\-_/]+$`  
*Minimum*: `20`  
*Maximum*: `2048`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`JupyterLabAppSettings`  <a name="cfn-sagemaker-userprofile-usersettings-jupyterlabappsettings"></a>
The settings for the JupyterLab application.  
SageMaker applies these settings only to private spaces that the user creates in the domain. SageMaker doesn't apply these settings to shared spaces.  
*Required*: No  
*Type*: [JupyterLabAppSettings](aws-properties-sagemaker-userprofile-jupyterlabappsettings.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`JupyterServerAppSettings`  <a name="cfn-sagemaker-userprofile-usersettings-jupyterserverappsettings"></a>
The Jupyter server's app settings.  
*Required*: No  
*Type*: [JupyterServerAppSettings](aws-properties-sagemaker-userprofile-jupyterserverappsettings.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`KernelGatewayAppSettings`  <a name="cfn-sagemaker-userprofile-usersettings-kernelgatewayappsettings"></a>
The kernel gateway app settings.  
*Required*: No  
*Type*: [KernelGatewayAppSettings](aws-properties-sagemaker-userprofile-kernelgatewayappsettings.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`RStudioServerProAppSettings`  <a name="cfn-sagemaker-userprofile-usersettings-rstudioserverproappsettings"></a>
A collection of settings that configure user interaction with the `RStudioServerPro` app.  
*Required*: No  
*Type*: [RStudioServerProAppSettings](aws-properties-sagemaker-userprofile-rstudioserverproappsettings.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`SecurityGroups`  <a name="cfn-sagemaker-userprofile-usersettings-securitygroups"></a>
The security groups for the Amazon Virtual Private Cloud (VPC) that the domain uses for communication.  
Optional when the `CreateDomain.AppNetworkAccessType` parameter is set to `PublicInternetOnly`.  
Required when the `CreateDomain.AppNetworkAccessType` parameter is set to `VpcOnly`, unless specified as part of the `DefaultUserSettings` for the domain.  
Amazon SageMaker AI adds a security group to allow NFS traffic from Amazon SageMaker AI Studio. Therefore, the number of security groups that you can specify is one less than the maximum number shown.  
SageMaker applies these settings only to private spaces that the user creates in the domain. SageMaker doesn't apply these settings to shared spaces.  
*Required*: No  
*Type*: Array of String  
*Minimum*: `0`  
*Maximum*: `32 | 5`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`SharingSettings`  <a name="cfn-sagemaker-userprofile-usersettings-sharingsettings"></a>
Specifies options for sharing Amazon SageMaker AI Studio notebooks.  
*Required*: No  
*Type*: [SharingSettings](aws-properties-sagemaker-userprofile-sharingsettings.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`SpaceStorageSettings`  <a name="cfn-sagemaker-userprofile-usersettings-spacestoragesettings"></a>
The storage settings for a space.  
SageMaker applies these settings only to private spaces that the user creates in the domain. SageMaker doesn't apply these settings to shared spaces.  
*Required*: No  
*Type*: [DefaultSpaceStorageSettings](aws-properties-sagemaker-userprofile-defaultspacestoragesettings.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`StudioWebPortal`  <a name="cfn-sagemaker-userprofile-usersettings-studiowebportal"></a>
Whether the user can access Studio. If this value is set to `DISABLED`, the user cannot access Studio, even if that is the default experience for the domain.  
*Required*: No  
*Type*: String  
*Allowed values*: `ENABLED | DISABLED`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`StudioWebPortalSettings`  <a name="cfn-sagemaker-userprofile-usersettings-studiowebportalsettings"></a>
Studio settings. If these settings are applied on a user level, they take priority over the settings applied on a domain level.  
*Required*: No  
*Type*: [StudioWebPortalSettings](aws-properties-sagemaker-userprofile-studiowebportalsettings.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::Workteam
<a name="aws-resource-sagemaker-workteam"></a>

Creates a new work team for labeling your data. A work team is defined by one or more Amazon Cognito user pools. You must first create the user pools before you can create a work team.

You cannot create more than 25 work teams in an account and region.

## Syntax
<a name="aws-resource-sagemaker-workteam-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-resource-sagemaker-workteam-syntax.json"></a>

```
{
  "Type" : "AWS::SageMaker::Workteam",
  "Properties" : {
      "[Description](#cfn-sagemaker-workteam-description)" : String,
      "[MemberDefinitions](#cfn-sagemaker-workteam-memberdefinitions)" : [ MemberDefinition, ... ],
      "[NotificationConfiguration](#cfn-sagemaker-workteam-notificationconfiguration)" : NotificationConfiguration,
      "[Tags](#cfn-sagemaker-workteam-tags)" : [ Tag, ... ],
      "[WorkforceName](#cfn-sagemaker-workteam-workforcename)" : String,
      "[WorkteamName](#cfn-sagemaker-workteam-workteamname)" : String
    }
}
```

### YAML
<a name="aws-resource-sagemaker-workteam-syntax.yaml"></a>

```
Type: AWS::SageMaker::Workteam
Properties:
  [Description](#cfn-sagemaker-workteam-description): String
  [MemberDefinitions](#cfn-sagemaker-workteam-memberdefinitions): 
    - MemberDefinition
  [NotificationConfiguration](#cfn-sagemaker-workteam-notificationconfiguration): 
    NotificationConfiguration
  [Tags](#cfn-sagemaker-workteam-tags): 
    - Tag
  [WorkforceName](#cfn-sagemaker-workteam-workforcename): String
  [WorkteamName](#cfn-sagemaker-workteam-workteamname): String
```

## Properties
<a name="aws-resource-sagemaker-workteam-properties"></a>

`Description`  <a name="cfn-sagemaker-workteam-description"></a>
A description of the work team.  
*Required*: No  
*Type*: String  
*Pattern*: `.+`  
*Minimum*: `1`  
*Maximum*: `200`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`MemberDefinitions`  <a name="cfn-sagemaker-workteam-memberdefinitions"></a>
A list of `MemberDefinition` objects that contains objects that identify the workers that make up the work team.   
Workforces can be created using Amazon Cognito or your own OIDC Identity Provider (IdP). For private workforces created using Amazon Cognito use `CognitoMemberDefinition`. For workforces created using your own OIDC identity provider (IdP) use `OidcMemberDefinition`.  
*Required*: No  
*Type*: Array of [MemberDefinition](aws-properties-sagemaker-workteam-memberdefinition.md)  
*Minimum*: `1`  
*Maximum*: `10`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`NotificationConfiguration`  <a name="cfn-sagemaker-workteam-notificationconfiguration"></a>
Configures SNS notifications of available or expiring work items for work teams.  
*Required*: No  
*Type*: [NotificationConfiguration](aws-properties-sagemaker-workteam-notificationconfiguration.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Tags`  <a name="cfn-sagemaker-workteam-tags"></a>
An array of key-value pairs.  
*Required*: No  
*Type*: Array of [Tag](aws-properties-sagemaker-workteam-tag.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`WorkforceName`  <a name="cfn-sagemaker-workteam-workforcename"></a>
The name of the workforce.  
*Required*: No  
*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)

`WorkteamName`  <a name="cfn-sagemaker-workteam-workteamname"></a>
The name of the work team.  
*Required*: No  
*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)

## Return values
<a name="aws-resource-sagemaker-workteam-return-values"></a>

### Ref
<a name="aws-resource-sagemaker-workteam-return-values-ref"></a>

### Fn::GetAtt
<a name="aws-resource-sagemaker-workteam-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-workteam-return-values-fn--getatt-fn--getatt"></a>

`Id`  <a name="Id-fn::getatt"></a>
The name of the work team.

`WorkteamName`  <a name="WorkteamName-fn::getatt"></a>
The name of the work team.

# AWS::SageMaker::Workteam CognitoMemberDefinition
<a name="aws-properties-sagemaker-workteam-cognitomemberdefinition"></a>

Identifies a Amazon Cognito user group. A user group can be used in on or more work teams.

## Syntax
<a name="aws-properties-sagemaker-workteam-cognitomemberdefinition-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-workteam-cognitomemberdefinition-syntax.json"></a>

```
{
  "[CognitoClientId](#cfn-sagemaker-workteam-cognitomemberdefinition-cognitoclientid)" : String,
  "[CognitoUserGroup](#cfn-sagemaker-workteam-cognitomemberdefinition-cognitousergroup)" : String,
  "[CognitoUserPool](#cfn-sagemaker-workteam-cognitomemberdefinition-cognitouserpool)" : String
}
```

### YAML
<a name="aws-properties-sagemaker-workteam-cognitomemberdefinition-syntax.yaml"></a>

```
  [CognitoClientId](#cfn-sagemaker-workteam-cognitomemberdefinition-cognitoclientid): String
  [CognitoUserGroup](#cfn-sagemaker-workteam-cognitomemberdefinition-cognitousergroup): String
  [CognitoUserPool](#cfn-sagemaker-workteam-cognitomemberdefinition-cognitouserpool): String
```

## Properties
<a name="aws-properties-sagemaker-workteam-cognitomemberdefinition-properties"></a>

`CognitoClientId`  <a name="cfn-sagemaker-workteam-cognitomemberdefinition-cognitoclientid"></a>
An identifier for an application client. You must create the app client ID using Amazon Cognito.  
*Required*: Yes  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`CognitoUserGroup`  <a name="cfn-sagemaker-workteam-cognitomemberdefinition-cognitousergroup"></a>
An identifier for a user group.  
*Required*: Yes  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`CognitoUserPool`  <a name="cfn-sagemaker-workteam-cognitomemberdefinition-cognitouserpool"></a>
An identifier for a user pool. The user pool must be in the same region as the service that you are calling.  
*Required*: Yes  
*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::Workteam MemberDefinition
<a name="aws-properties-sagemaker-workteam-memberdefinition"></a>

Defines an Amazon Cognito or your own OIDC IdP user group that is part of a work team.

## Syntax
<a name="aws-properties-sagemaker-workteam-memberdefinition-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-workteam-memberdefinition-syntax.json"></a>

```
{
  "[CognitoMemberDefinition](#cfn-sagemaker-workteam-memberdefinition-cognitomemberdefinition)" : CognitoMemberDefinition,
  "[OidcMemberDefinition](#cfn-sagemaker-workteam-memberdefinition-oidcmemberdefinition)" : OidcMemberDefinition
}
```

### YAML
<a name="aws-properties-sagemaker-workteam-memberdefinition-syntax.yaml"></a>

```
  [CognitoMemberDefinition](#cfn-sagemaker-workteam-memberdefinition-cognitomemberdefinition): 
    CognitoMemberDefinition
  [OidcMemberDefinition](#cfn-sagemaker-workteam-memberdefinition-oidcmemberdefinition): 
    OidcMemberDefinition
```

## Properties
<a name="aws-properties-sagemaker-workteam-memberdefinition-properties"></a>

`CognitoMemberDefinition`  <a name="cfn-sagemaker-workteam-memberdefinition-cognitomemberdefinition"></a>
The Amazon Cognito user group that is part of the work team.  
*Required*: No  
*Type*: [CognitoMemberDefinition](aws-properties-sagemaker-workteam-cognitomemberdefinition.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`OidcMemberDefinition`  <a name="cfn-sagemaker-workteam-memberdefinition-oidcmemberdefinition"></a>
A list user groups that exist in your OIDC Identity Provider (IdP). One to ten groups can be used to create a single private work team. When you add a user group to the list of `Groups`, you can add that user group to one or more private work teams. If you add a user group to a private work team, all workers in that user group are added to the work team.  
*Required*: No  
*Type*: [OidcMemberDefinition](aws-properties-sagemaker-workteam-oidcmemberdefinition.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::Workteam NotificationConfiguration
<a name="aws-properties-sagemaker-workteam-notificationconfiguration"></a>

Configures Amazon SNS notifications of available or expiring work items for work teams.

## Syntax
<a name="aws-properties-sagemaker-workteam-notificationconfiguration-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-workteam-notificationconfiguration-syntax.json"></a>

```
{
  "[NotificationTopicArn](#cfn-sagemaker-workteam-notificationconfiguration-notificationtopicarn)" : String
}
```

### YAML
<a name="aws-properties-sagemaker-workteam-notificationconfiguration-syntax.yaml"></a>

```
  [NotificationTopicArn](#cfn-sagemaker-workteam-notificationconfiguration-notificationtopicarn): String
```

## Properties
<a name="aws-properties-sagemaker-workteam-notificationconfiguration-properties"></a>

`NotificationTopicArn`  <a name="cfn-sagemaker-workteam-notificationconfiguration-notificationtopicarn"></a>
The ARN for the Amazon SNS topic to which notifications should be published.  
*Required*: Yes  
*Type*: String  
*Pattern*: `arn:aws[a-z\-]*:sns:[a-z0-9\-]*:[0-9]{12}:[a-zA-Z0-9_.-]*`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::SageMaker::Workteam OidcMemberDefinition
<a name="aws-properties-sagemaker-workteam-oidcmemberdefinition"></a>

A list of user groups that exist in your OIDC Identity Provider (IdP). One to ten groups can be used to create a single private work team. When you add a user group to the list of `Groups`, you can add that user group to one or more private work teams. If you add a user group to a private work team, all workers in that user group are added to the work team.

## Syntax
<a name="aws-properties-sagemaker-workteam-oidcmemberdefinition-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-workteam-oidcmemberdefinition-syntax.json"></a>

```
{
  "[OidcGroups](#cfn-sagemaker-workteam-oidcmemberdefinition-oidcgroups)" : [ String, ... ]
}
```

### YAML
<a name="aws-properties-sagemaker-workteam-oidcmemberdefinition-syntax.yaml"></a>

```
  [OidcGroups](#cfn-sagemaker-workteam-oidcmemberdefinition-oidcgroups): 
    - String
```

## Properties
<a name="aws-properties-sagemaker-workteam-oidcmemberdefinition-properties"></a>

`OidcGroups`  <a name="cfn-sagemaker-workteam-oidcmemberdefinition-oidcgroups"></a>
A list of OpenID Connect (OIDC) groups for the work team member definition.  
*Required*: Yes  
*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)

# AWS::SageMaker::Workteam Tag
<a name="aws-properties-sagemaker-workteam-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-workteam-tag-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-sagemaker-workteam-tag-syntax.json"></a>

```
{
  "[Key](#cfn-sagemaker-workteam-tag-key)" : String,
  "[Value](#cfn-sagemaker-workteam-tag-value)" : String
}
```

### YAML
<a name="aws-properties-sagemaker-workteam-tag-syntax.yaml"></a>

```
  [Key](#cfn-sagemaker-workteam-tag-key): String
  [Value](#cfn-sagemaker-workteam-tag-value): String
```

## Properties
<a name="aws-properties-sagemaker-workteam-tag-properties"></a>

`Key`  <a name="cfn-sagemaker-workteam-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-workteam-tag-value"></a>
The tag value.  
*Required*: Yes  
*Type*: String  
*Pattern*: `([\p{L}\p{Z}\p{N}_.:/=+\-@]*)`  
*Minimum*: `0`  
*Maximum*: `256`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)