

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::Personalize::Solution
<a name="aws-resource-personalize-solution"></a>

**Important**  
By default, all new solutions use automatic training. With automatic training, you incur training costs while your solution is active. To avoid unnecessary costs, when you are finished you can [update the solution](https://docs.aws.amazon.com/personalize/latest/dg/API_UpdateSolution.html) to turn off automatic training. For information about training costs, see [Amazon Personalize pricing](https://aws.amazon.com/personalize/pricing/).

An object that provides information about a solution. A solution includes the custom recipe, customized parameters, and trained models (Solution Versions) that Amazon Personalize uses to generate recommendations. 

After you create a solution, you can’t change its configuration. If you need to make changes, you can [clone the solution](https://docs.aws.amazon.com/personalize/latest/dg/cloning-solution.html) with the Amazon Personalize console or create a new one.

## Syntax
<a name="aws-resource-personalize-solution-syntax"></a>

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

### JSON
<a name="aws-resource-personalize-solution-syntax.json"></a>

```
{
  "Type" : "AWS::Personalize::Solution",
  "Properties" : {
      "[DatasetGroupArn](#cfn-personalize-solution-datasetgrouparn)" : String,
      "[EventType](#cfn-personalize-solution-eventtype)" : String,
      "[Name](#cfn-personalize-solution-name)" : String,
      "[PerformAutoML](#cfn-personalize-solution-performautoml)" : Boolean,
      "[PerformHPO](#cfn-personalize-solution-performhpo)" : Boolean,
      "[RecipeArn](#cfn-personalize-solution-recipearn)" : String,
      "[SolutionConfig](#cfn-personalize-solution-solutionconfig)" : SolutionConfig
    }
}
```

### YAML
<a name="aws-resource-personalize-solution-syntax.yaml"></a>

```
Type: AWS::Personalize::Solution
Properties:
  [DatasetGroupArn](#cfn-personalize-solution-datasetgrouparn): String
  [EventType](#cfn-personalize-solution-eventtype): String
  [Name](#cfn-personalize-solution-name): String
  [PerformAutoML](#cfn-personalize-solution-performautoml): Boolean
  [PerformHPO](#cfn-personalize-solution-performhpo): Boolean
  [RecipeArn](#cfn-personalize-solution-recipearn): String
  [SolutionConfig](#cfn-personalize-solution-solutionconfig): 
    SolutionConfig
```

## Properties
<a name="aws-resource-personalize-solution-properties"></a>

`DatasetGroupArn`  <a name="cfn-personalize-solution-datasetgrouparn"></a>
The Amazon Resource Name (ARN) of the dataset group that provides the training data.  
*Required*: Yes  
*Type*: String  
*Pattern*: `arn:([a-z\d-]+):personalize:.*:.*:.+`  
*Maximum*: `256`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`EventType`  <a name="cfn-personalize-solution-eventtype"></a>
The event type (for example, 'click' or 'like') that is used for training the model. If no `eventType` is provided, Amazon Personalize uses all interactions for training with equal weight regardless of type.  
*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)

`Name`  <a name="cfn-personalize-solution-name"></a>
The name of the solution.  
*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)

`PerformAutoML`  <a name="cfn-personalize-solution-performautoml"></a>
We don't recommend enabling automated machine learning. Instead, match your use case to the available Amazon Personalize recipes. For more information, see [Determining your use case.](https://docs.aws.amazon.com/personalize/latest/dg/determining-use-case.html)
When true, Amazon Personalize performs a search for the best USER\$1PERSONALIZATION recipe from the list specified in the solution configuration (`recipeArn` must not be specified). When false (the default), Amazon Personalize uses `recipeArn` for training.  
*Required*: No  
*Type*: Boolean  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`PerformHPO`  <a name="cfn-personalize-solution-performhpo"></a>
Whether to perform hyperparameter optimization (HPO) on the chosen recipe. The default 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)

`RecipeArn`  <a name="cfn-personalize-solution-recipearn"></a>
The ARN of the recipe used to create the solution. This is required when `performAutoML` is false.  
*Required*: No  
*Type*: String  
*Pattern*: `arn:([a-z\d-]+):personalize:.*:.*:.+`  
*Maximum*: `256`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`SolutionConfig`  <a name="cfn-personalize-solution-solutionconfig"></a>
Describes the configuration properties for the solution.  
*Required*: No  
*Type*: [SolutionConfig](aws-properties-personalize-solution-solutionconfig.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-personalize-solution-return-values"></a>

### Ref
<a name="aws-resource-personalize-solution-return-values-ref"></a>

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

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

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

## Examples
<a name="aws-resource-personalize-solution--examples"></a>



### Creating a solution
<a name="aws-resource-personalize-solution--examples--Creating_a_solution"></a>

The following example creates an Amazon Personalize solution with the User-Personalization recipe and an event value threshold.

#### JSON
<a name="aws-resource-personalize-solution--examples--Creating_a_solution--json"></a>

```
{
    "AWSTemplateFormatVersion": "2010-09-09",
    "Resources": {
        "MySolution": {
            "Type": "AWS::Personalize::Solution",
            "Properties": {
               "Name": "my-solution-name",
               "DatasetGroupArn": "arn:aws:personalize:us-west-2:123456789012:dataset-group/my-dataset-group-name",
               "RecipeArn": "arn:aws:personalize:::recipe/aws-user-personalization",
               "SolutionConfig": {
                  "EventValueThreshold" : ".05"
                }
            }
         }
    }
}
```

#### YAML
<a name="aws-resource-personalize-solution--examples--Creating_a_solution--yaml"></a>

```
AWSTemplateFormatVersion: 2010-09-09
Resources:
  MySolution:
    Type: 'AWS::Personalize::Solution'
    Properties:
      Name: my-solution-name
      DatasetGroupArn: >-
        arn:aws:personalize:us-west-2:123456789012:dataset-group/my-dataset-group-name
      RecipeArn: 'arn:aws:personalize:::recipe/aws-user-personalization'
      SolutionConfig:
        EventValueThreshold: '.05'
```

# AWS::Personalize::Solution AlgorithmHyperParameterRanges
<a name="aws-properties-personalize-solution-algorithmhyperparameterranges"></a>

Specifies the hyperparameters and their ranges. Hyperparameters can be categorical, continuous, or integer-valued.

## Syntax
<a name="aws-properties-personalize-solution-algorithmhyperparameterranges-syntax"></a>

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

### JSON
<a name="aws-properties-personalize-solution-algorithmhyperparameterranges-syntax.json"></a>

```
{
  "[CategoricalHyperParameterRanges](#cfn-personalize-solution-algorithmhyperparameterranges-categoricalhyperparameterranges)" : [ CategoricalHyperParameterRange, ... ],
  "[ContinuousHyperParameterRanges](#cfn-personalize-solution-algorithmhyperparameterranges-continuoushyperparameterranges)" : [ ContinuousHyperParameterRange, ... ],
  "[IntegerHyperParameterRanges](#cfn-personalize-solution-algorithmhyperparameterranges-integerhyperparameterranges)" : [ IntegerHyperParameterRange, ... ]
}
```

### YAML
<a name="aws-properties-personalize-solution-algorithmhyperparameterranges-syntax.yaml"></a>

```
  [CategoricalHyperParameterRanges](#cfn-personalize-solution-algorithmhyperparameterranges-categoricalhyperparameterranges): 
    - CategoricalHyperParameterRange
  [ContinuousHyperParameterRanges](#cfn-personalize-solution-algorithmhyperparameterranges-continuoushyperparameterranges): 
    - ContinuousHyperParameterRange
  [IntegerHyperParameterRanges](#cfn-personalize-solution-algorithmhyperparameterranges-integerhyperparameterranges): 
    - IntegerHyperParameterRange
```

## Properties
<a name="aws-properties-personalize-solution-algorithmhyperparameterranges-properties"></a>

`CategoricalHyperParameterRanges`  <a name="cfn-personalize-solution-algorithmhyperparameterranges-categoricalhyperparameterranges"></a>
Provides the name and range of a categorical hyperparameter.  
*Required*: No  
*Type*: Array of [CategoricalHyperParameterRange](aws-properties-personalize-solution-categoricalhyperparameterrange.md)  
*Maximum*: `100`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`ContinuousHyperParameterRanges`  <a name="cfn-personalize-solution-algorithmhyperparameterranges-continuoushyperparameterranges"></a>
Provides the name and range of a continuous hyperparameter.  
*Required*: No  
*Type*: Array of [ContinuousHyperParameterRange](aws-properties-personalize-solution-continuoushyperparameterrange.md)  
*Maximum*: `100`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`IntegerHyperParameterRanges`  <a name="cfn-personalize-solution-algorithmhyperparameterranges-integerhyperparameterranges"></a>
Provides the name and range of an integer-valued hyperparameter.  
*Required*: No  
*Type*: Array of [IntegerHyperParameterRange](aws-properties-personalize-solution-integerhyperparameterrange.md)  
*Maximum*: `100`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::Personalize::Solution AutoMLConfig
<a name="aws-properties-personalize-solution-automlconfig"></a>

When the solution performs AutoML (`performAutoML` is true in [CreateSolution](https://docs.aws.amazon.com/personalize/latest/dg/API_CreateSolution.html)), Amazon Personalize determines which recipe, from the specified list, optimizes the given metric. Amazon Personalize then uses that recipe for the solution.

## Syntax
<a name="aws-properties-personalize-solution-automlconfig-syntax"></a>

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

### JSON
<a name="aws-properties-personalize-solution-automlconfig-syntax.json"></a>

```
{
  "[MetricName](#cfn-personalize-solution-automlconfig-metricname)" : String,
  "[RecipeList](#cfn-personalize-solution-automlconfig-recipelist)" : [ String, ... ]
}
```

### YAML
<a name="aws-properties-personalize-solution-automlconfig-syntax.yaml"></a>

```
  [MetricName](#cfn-personalize-solution-automlconfig-metricname): String
  [RecipeList](#cfn-personalize-solution-automlconfig-recipelist): 
    - String
```

## Properties
<a name="aws-properties-personalize-solution-automlconfig-properties"></a>

`MetricName`  <a name="cfn-personalize-solution-automlconfig-metricname"></a>
The metric to optimize.  
*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)

`RecipeList`  <a name="cfn-personalize-solution-automlconfig-recipelist"></a>
The list of candidate recipes.  
*Required*: No  
*Type*: Array of String  
*Maximum*: `256 | 100`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::Personalize::Solution CategoricalHyperParameterRange
<a name="aws-properties-personalize-solution-categoricalhyperparameterrange"></a>

Provides the name and range of a categorical hyperparameter.

## Syntax
<a name="aws-properties-personalize-solution-categoricalhyperparameterrange-syntax"></a>

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

### JSON
<a name="aws-properties-personalize-solution-categoricalhyperparameterrange-syntax.json"></a>

```
{
  "[Name](#cfn-personalize-solution-categoricalhyperparameterrange-name)" : String,
  "[Values](#cfn-personalize-solution-categoricalhyperparameterrange-values)" : [ String, ... ]
}
```

### YAML
<a name="aws-properties-personalize-solution-categoricalhyperparameterrange-syntax.yaml"></a>

```
  [Name](#cfn-personalize-solution-categoricalhyperparameterrange-name): String
  [Values](#cfn-personalize-solution-categoricalhyperparameterrange-values): 
    - String
```

## Properties
<a name="aws-properties-personalize-solution-categoricalhyperparameterrange-properties"></a>

`Name`  <a name="cfn-personalize-solution-categoricalhyperparameterrange-name"></a>
The name of the hyperparameter.  
*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)

`Values`  <a name="cfn-personalize-solution-categoricalhyperparameterrange-values"></a>
A list of the categories for the hyperparameter.  
*Required*: No  
*Type*: Array of String  
*Maximum*: `1000 | 100`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::Personalize::Solution ContinuousHyperParameterRange
<a name="aws-properties-personalize-solution-continuoushyperparameterrange"></a>

Provides the name and range of a continuous hyperparameter.

## Syntax
<a name="aws-properties-personalize-solution-continuoushyperparameterrange-syntax"></a>

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

### JSON
<a name="aws-properties-personalize-solution-continuoushyperparameterrange-syntax.json"></a>

```
{
  "[MaxValue](#cfn-personalize-solution-continuoushyperparameterrange-maxvalue)" : Number,
  "[MinValue](#cfn-personalize-solution-continuoushyperparameterrange-minvalue)" : Number,
  "[Name](#cfn-personalize-solution-continuoushyperparameterrange-name)" : String
}
```

### YAML
<a name="aws-properties-personalize-solution-continuoushyperparameterrange-syntax.yaml"></a>

```
  [MaxValue](#cfn-personalize-solution-continuoushyperparameterrange-maxvalue): Number
  [MinValue](#cfn-personalize-solution-continuoushyperparameterrange-minvalue): Number
  [Name](#cfn-personalize-solution-continuoushyperparameterrange-name): String
```

## Properties
<a name="aws-properties-personalize-solution-continuoushyperparameterrange-properties"></a>

`MaxValue`  <a name="cfn-personalize-solution-continuoushyperparameterrange-maxvalue"></a>
The maximum allowable value for the hyperparameter.  
*Required*: No  
*Type*: Number  
*Minimum*: `-1000000`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`MinValue`  <a name="cfn-personalize-solution-continuoushyperparameterrange-minvalue"></a>
The minimum allowable value for the hyperparameter.  
*Required*: No  
*Type*: Number  
*Minimum*: `-1000000`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`Name`  <a name="cfn-personalize-solution-continuoushyperparameterrange-name"></a>
The name of the hyperparameter.  
*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)

# AWS::Personalize::Solution HpoConfig
<a name="aws-properties-personalize-solution-hpoconfig"></a>

Describes the properties for hyperparameter optimization (HPO).

## Syntax
<a name="aws-properties-personalize-solution-hpoconfig-syntax"></a>

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

### JSON
<a name="aws-properties-personalize-solution-hpoconfig-syntax.json"></a>

```
{
  "[AlgorithmHyperParameterRanges](#cfn-personalize-solution-hpoconfig-algorithmhyperparameterranges)" : AlgorithmHyperParameterRanges,
  "[HpoObjective](#cfn-personalize-solution-hpoconfig-hpoobjective)" : HpoObjective,
  "[HpoResourceConfig](#cfn-personalize-solution-hpoconfig-hporesourceconfig)" : HpoResourceConfig
}
```

### YAML
<a name="aws-properties-personalize-solution-hpoconfig-syntax.yaml"></a>

```
  [AlgorithmHyperParameterRanges](#cfn-personalize-solution-hpoconfig-algorithmhyperparameterranges): 
    AlgorithmHyperParameterRanges
  [HpoObjective](#cfn-personalize-solution-hpoconfig-hpoobjective): 
    HpoObjective
  [HpoResourceConfig](#cfn-personalize-solution-hpoconfig-hporesourceconfig): 
    HpoResourceConfig
```

## Properties
<a name="aws-properties-personalize-solution-hpoconfig-properties"></a>

`AlgorithmHyperParameterRanges`  <a name="cfn-personalize-solution-hpoconfig-algorithmhyperparameterranges"></a>
The hyperparameters and their allowable ranges.  
*Required*: No  
*Type*: [AlgorithmHyperParameterRanges](aws-properties-personalize-solution-algorithmhyperparameterranges.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`HpoObjective`  <a name="cfn-personalize-solution-hpoconfig-hpoobjective"></a>
The metric to optimize during HPO.  
Amazon Personalize doesn't support configuring the `hpoObjective` at this time.
*Required*: No  
*Type*: [HpoObjective](aws-properties-personalize-solution-hpoobjective.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`HpoResourceConfig`  <a name="cfn-personalize-solution-hpoconfig-hporesourceconfig"></a>
Describes the resource configuration for HPO.  
*Required*: No  
*Type*: [HpoResourceConfig](aws-properties-personalize-solution-hporesourceconfig.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::Personalize::Solution HpoObjective
<a name="aws-properties-personalize-solution-hpoobjective"></a>

The metric to optimize during hyperparameter optimization (HPO).

**Note**  
Amazon Personalize doesn't support configuring the `hpoObjective` at this time.

## Syntax
<a name="aws-properties-personalize-solution-hpoobjective-syntax"></a>

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

### JSON
<a name="aws-properties-personalize-solution-hpoobjective-syntax.json"></a>

```
{
  "[MetricName](#cfn-personalize-solution-hpoobjective-metricname)" : String,
  "[MetricRegex](#cfn-personalize-solution-hpoobjective-metricregex)" : String,
  "[Type](#cfn-personalize-solution-hpoobjective-type)" : String
}
```

### YAML
<a name="aws-properties-personalize-solution-hpoobjective-syntax.yaml"></a>

```
  [MetricName](#cfn-personalize-solution-hpoobjective-metricname): String
  [MetricRegex](#cfn-personalize-solution-hpoobjective-metricregex): String
  [Type](#cfn-personalize-solution-hpoobjective-type): String
```

## Properties
<a name="aws-properties-personalize-solution-hpoobjective-properties"></a>

`MetricName`  <a name="cfn-personalize-solution-hpoobjective-metricname"></a>
The name of the metric.  
*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)

`MetricRegex`  <a name="cfn-personalize-solution-hpoobjective-metricregex"></a>
A regular expression for finding the metric in the training job logs.  
*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)

`Type`  <a name="cfn-personalize-solution-hpoobjective-type"></a>
The type of the metric. Valid values are `Maximize` and `Minimize`.  
*Required*: No  
*Type*: String  
*Allowed values*: `Maximize | Minimize`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::Personalize::Solution HpoResourceConfig
<a name="aws-properties-personalize-solution-hporesourceconfig"></a>

Describes the resource configuration for hyperparameter optimization (HPO).

## Syntax
<a name="aws-properties-personalize-solution-hporesourceconfig-syntax"></a>

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

### JSON
<a name="aws-properties-personalize-solution-hporesourceconfig-syntax.json"></a>

```
{
  "[MaxNumberOfTrainingJobs](#cfn-personalize-solution-hporesourceconfig-maxnumberoftrainingjobs)" : String,
  "[MaxParallelTrainingJobs](#cfn-personalize-solution-hporesourceconfig-maxparalleltrainingjobs)" : String
}
```

### YAML
<a name="aws-properties-personalize-solution-hporesourceconfig-syntax.yaml"></a>

```
  [MaxNumberOfTrainingJobs](#cfn-personalize-solution-hporesourceconfig-maxnumberoftrainingjobs): String
  [MaxParallelTrainingJobs](#cfn-personalize-solution-hporesourceconfig-maxparalleltrainingjobs): String
```

## Properties
<a name="aws-properties-personalize-solution-hporesourceconfig-properties"></a>

`MaxNumberOfTrainingJobs`  <a name="cfn-personalize-solution-hporesourceconfig-maxnumberoftrainingjobs"></a>
The maximum number of training jobs when you create a solution version. The maximum value for `maxNumberOfTrainingJobs` is `40`.  
*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)

`MaxParallelTrainingJobs`  <a name="cfn-personalize-solution-hporesourceconfig-maxparalleltrainingjobs"></a>
The maximum number of parallel training jobs when you create a solution version. The maximum value for `maxParallelTrainingJobs` is `10`.  
*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)

# AWS::Personalize::Solution IntegerHyperParameterRange
<a name="aws-properties-personalize-solution-integerhyperparameterrange"></a>

Provides the name and range of an integer-valued hyperparameter.

## Syntax
<a name="aws-properties-personalize-solution-integerhyperparameterrange-syntax"></a>

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

### JSON
<a name="aws-properties-personalize-solution-integerhyperparameterrange-syntax.json"></a>

```
{
  "[MaxValue](#cfn-personalize-solution-integerhyperparameterrange-maxvalue)" : Integer,
  "[MinValue](#cfn-personalize-solution-integerhyperparameterrange-minvalue)" : Integer,
  "[Name](#cfn-personalize-solution-integerhyperparameterrange-name)" : String
}
```

### YAML
<a name="aws-properties-personalize-solution-integerhyperparameterrange-syntax.yaml"></a>

```
  [MaxValue](#cfn-personalize-solution-integerhyperparameterrange-maxvalue): Integer
  [MinValue](#cfn-personalize-solution-integerhyperparameterrange-minvalue): Integer
  [Name](#cfn-personalize-solution-integerhyperparameterrange-name): String
```

## Properties
<a name="aws-properties-personalize-solution-integerhyperparameterrange-properties"></a>

`MaxValue`  <a name="cfn-personalize-solution-integerhyperparameterrange-maxvalue"></a>
The maximum allowable value for the hyperparameter.  
*Required*: No  
*Type*: Integer  
*Maximum*: `1000000`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`MinValue`  <a name="cfn-personalize-solution-integerhyperparameterrange-minvalue"></a>
The minimum allowable value for the hyperparameter.  
*Required*: No  
*Type*: Integer  
*Minimum*: `-1000000`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`Name`  <a name="cfn-personalize-solution-integerhyperparameterrange-name"></a>
The name of the hyperparameter.  
*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)

# AWS::Personalize::Solution SolutionConfig
<a name="aws-properties-personalize-solution-solutionconfig"></a>

Describes the configuration properties for the solution.

## Syntax
<a name="aws-properties-personalize-solution-solutionconfig-syntax"></a>

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

### JSON
<a name="aws-properties-personalize-solution-solutionconfig-syntax.json"></a>

```
{
  "[AlgorithmHyperParameters](#cfn-personalize-solution-solutionconfig-algorithmhyperparameters)" : {Key: Value, ...},
  "[AutoMLConfig](#cfn-personalize-solution-solutionconfig-automlconfig)" : AutoMLConfig,
  "[EventValueThreshold](#cfn-personalize-solution-solutionconfig-eventvaluethreshold)" : String,
  "[FeatureTransformationParameters](#cfn-personalize-solution-solutionconfig-featuretransformationparameters)" : {Key: Value, ...},
  "[HpoConfig](#cfn-personalize-solution-solutionconfig-hpoconfig)" : HpoConfig
}
```

### YAML
<a name="aws-properties-personalize-solution-solutionconfig-syntax.yaml"></a>

```
  [AlgorithmHyperParameters](#cfn-personalize-solution-solutionconfig-algorithmhyperparameters): 
    Key: Value
  [AutoMLConfig](#cfn-personalize-solution-solutionconfig-automlconfig): 
    AutoMLConfig
  [EventValueThreshold](#cfn-personalize-solution-solutionconfig-eventvaluethreshold): String
  [FeatureTransformationParameters](#cfn-personalize-solution-solutionconfig-featuretransformationparameters): 
    Key: Value
  [HpoConfig](#cfn-personalize-solution-solutionconfig-hpoconfig): 
    HpoConfig
```

## Properties
<a name="aws-properties-personalize-solution-solutionconfig-properties"></a>

`AlgorithmHyperParameters`  <a name="cfn-personalize-solution-solutionconfig-algorithmhyperparameters"></a>
Lists the algorithm hyperparameters and their values.  
*Required*: No  
*Type*: Object of String  
*Pattern*: `.{1,}`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`AutoMLConfig`  <a name="cfn-personalize-solution-solutionconfig-automlconfig"></a>
The [AutoMLConfig](https://docs.aws.amazon.com/personalize/latest/dg/API_AutoMLConfig.html) object containing a list of recipes to search when AutoML is performed.  
*Required*: No  
*Type*: [AutoMLConfig](aws-properties-personalize-solution-automlconfig.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`EventValueThreshold`  <a name="cfn-personalize-solution-solutionconfig-eventvaluethreshold"></a>
Only events with a value greater than or equal to this threshold are used for training a model.  
*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)

`FeatureTransformationParameters`  <a name="cfn-personalize-solution-solutionconfig-featuretransformationparameters"></a>
Lists the feature transformation parameters.  
*Required*: No  
*Type*: Object of String  
*Pattern*: `.{1,}`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`HpoConfig`  <a name="cfn-personalize-solution-solutionconfig-hpoconfig"></a>
Describes the properties for hyperparameter optimization (HPO).  
*Required*: No  
*Type*: [HpoConfig](aws-properties-personalize-solution-hpoconfig.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)