This is the new AWS CloudFormation Template Reference Guide. Please update your bookmarks and links. For help getting started with CloudFormation, see the AWS CloudFormation User Guide.
AWS::Personalize::Solution
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 to turn off automatic training. 
           For information about training
  costs, see Amazon 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 with the Amazon Personalize console or create a new one.
Syntax
To declare this entity in your AWS CloudFormation template, use the following syntax:
JSON
{ "Type" : "AWS::Personalize::Solution", "Properties" : { "DatasetGroupArn" :String, "EventType" :String, "Name" :String, "PerformAutoML" :Boolean, "PerformHPO" :Boolean, "RecipeArn" :String, "SolutionConfig" :SolutionConfig} }
YAML
Type: AWS::Personalize::Solution Properties: DatasetGroupArn:StringEventType:StringName:StringPerformAutoML:BooleanPerformHPO:BooleanRecipeArn:StringSolutionConfig:SolutionConfig
Properties
- DatasetGroupArn
- 
                    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: 256Update requires: Replacement 
- EventType
- 
                    The event type (for example, 'click' or 'like') that is used for training the model. If no eventTypeis provided, Amazon Personalize uses all interactions for training with equal weight regardless of type.Required: No Type: String Maximum: 256Update requires: Replacement 
- Name
- 
                    The name of the solution. Required: Yes Type: String Pattern: ^[a-zA-Z0-9][a-zA-Z0-9\-_]*Minimum: 1Maximum: 63Update requires: Replacement 
- PerformAutoML
- 
                    ImportantWe 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. When true, Amazon Personalize performs a search for the best USER_PERSONALIZATION recipe from the list specified in the solution configuration ( recipeArnmust not be specified). When false (the default), Amazon Personalize usesrecipeArnfor training.Required: No Type: Boolean Update requires: Replacement 
- PerformHPO
- 
                    Whether to perform hyperparameter optimization (HPO) on the chosen recipe. The default is false.Required: No Type: Boolean Update requires: Replacement 
- RecipeArn
- 
                    The ARN of the recipe used to create the solution. This is required when performAutoMLis false.Required: No Type: String Pattern: arn:([a-z\d-]+):personalize:.*:.*:.+Maximum: 256Update requires: Replacement 
- SolutionConfig
- 
                    Describes the configuration properties for the solution. Required: No Type: SolutionConfig Update requires: Replacement 
Return values
Ref
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 Ref.
Fn::GetAtt
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 Fn::GetAtt.
- SolutionArn
- 
                            The Amazon Resource Name (ARN) of the solution. 
Examples
Creating a solution
The following example creates an Amazon Personalize solution with the User-Personalization recipe and an event value threshold.
JSON
{ "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
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'