

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

# AWS::SageMaker::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)