[ aws . personalize ]



Trains or retrains an active solution in a Custom dataset group. A solution is created using the CreateSolution operation and must be in the ACTIVE state before calling CreateSolutionVersion . A new version of the solution is created every time you call this operation.


A solution version can be in one of the following states:







To get the status of the version, call DescribeSolutionVersion . Wait until the status shows as ACTIVE before calling CreateCampaign .

If the status shows as CREATE FAILED, the response includes a failureReason key, which describes why the job failed.

Related APIs

See also: AWS API Documentation

See ‘aws help’ for descriptions of global parameters.


--solution-arn <value>
[--training-mode <value>]
[--tags <value>]
[--cli-input-json | --cli-input-yaml]
[--generate-cli-skeleton <value>]


--solution-arn (string)

The Amazon Resource Name (ARN) of the solution containing the training configuration information.

--training-mode (string)

The scope of training to be performed when creating the solution version. The FULL option trains the solution version based on the entirety of the input solution’s training data, while the UPDATE option processes only the data that has changed in comparison to the input solution. Choose UPDATE when you want to incrementally update your solution version instead of creating an entirely new one.


The UPDATE option can only be used when you already have an active solution version created from the input solution using the FULL option and the input solution was trained with the User-Personalization recipe or the HRNN-Coldstart recipe.

Possible values:

  • FULL


--tags (list)

A list of tags to apply to the solution version.


The optional metadata that you apply to resources to help you categorize and organize them. Each tag consists of a key and an optional value, both of which you define. For more information see Tagging Personalize resources .

tagKey -> (string)

One part of a key-value pair that makes up a tag. A key is a general label that acts like a category for more specific tag values.

tagValue -> (string)

The optional part of a key-value pair that makes up a tag. A value acts as a descriptor within a tag category (key).

Shorthand Syntax:

tagKey=string,tagValue=string ...

JSON Syntax:

    "tagKey": "string",
    "tagValue": "string"

--cli-input-json | --cli-input-yaml (string) Reads arguments from the JSON string provided. The JSON string follows the format provided by --generate-cli-skeleton. If other arguments are provided on the command line, those values will override the JSON-provided values. It is not possible to pass arbitrary binary values using a JSON-provided value as the string will be taken literally. This may not be specified along with --cli-input-yaml.

--generate-cli-skeleton (string) Prints a JSON skeleton to standard output without sending an API request. If provided with no value or the value input, prints a sample input JSON that can be used as an argument for --cli-input-json. Similarly, if provided yaml-input it will print a sample input YAML that can be used with --cli-input-yaml. If provided with the value output, it validates the command inputs and returns a sample output JSON for that command.

See ‘aws help’ for descriptions of global parameters.


solutionVersionArn -> (string)

The ARN of the new solution version.