

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