Creates a launch of a given feature. Before you create a launch, you must create the feature to use for the launch.
You can use a launch to safely validate new features by serving them to a specified percentage of your users while you roll out the feature. You can monitor the performance of the new feature to help you decide when to ramp up traffic to more users. This helps you reduce risk and identify unintended consequences before you fully launch the feature.
Don’t use this operation to update an existing launch. Instead, use UpdateLaunch .
See also: AWS API Documentation
See ‘aws help’ for descriptions of global parameters.
create-launch
[--description <value>]
--groups <value>
[--metric-monitors <value>]
--name <value>
--project <value>
[--randomization-salt <value>]
[--scheduled-splits-config <value>]
[--tags <value>]
[--cli-input-json | --cli-input-yaml]
[--generate-cli-skeleton <value>]
--description
(string)
An optional description for the launch.
--groups
(list)
An array of structures that contains the feature and variations that are to be used for the launch.
(structure)
A structure that defines one launch group in a launch. A launch group is a variation of the feature that you are including in the launch.
description -> (string)
A description of the launch group.
feature -> (string)
The feature that this launch is using.
name -> (string)
A name for this launch group.
variation -> (string)
The feature variation to use for this launch group.
Shorthand Syntax:
description=string,feature=string,name=string,variation=string ...
JSON Syntax:
[
{
"description": "string",
"feature": "string",
"name": "string",
"variation": "string"
}
...
]
--metric-monitors
(list)
An array of structures that define the metrics that will be used to monitor the launch performance.
(structure)
A structure that defines a metric to be used to monitor performance of the variations during a launch.
metricDefinition -> (structure)
A structure that defines the metric.
entityIdKey -> (string)
The entity, such as a user or session, that does an action that causes a metric value to be recorded. An example is
userDetails.userID
.eventPattern -> (string)
The EventBridge event pattern that defines how the metric is recorded.
For more information about EventBridge event patterns, see Amazon EventBridge event patterns .
name -> (string)
A name for the metric.
unitLabel -> (string)
A label for the units that the metric is measuring.
valueKey -> (string)
The value that is tracked to produce the metric.
Shorthand Syntax:
metricDefinition={entityIdKey=string,eventPattern=string,name=string,unitLabel=string,valueKey=string} ...
JSON Syntax:
[
{
"metricDefinition": {
"entityIdKey": "string",
"eventPattern": "string",
"name": "string",
"unitLabel": "string",
"valueKey": "string"
}
}
...
]
--name
(string)
The name for the new launch.
--project
(string)
The name or ARN of the project that you want to create the launch in.
--randomization-salt
(string)
When Evidently assigns a particular user session to a launch, it must use a randomization ID to determine which variation the user session is served. This randomization ID is a combination of the entity ID and
randomizationSalt
. If you omitrandomizationSalt
, Evidently uses the launch name as therandomizationsSalt
.
--scheduled-splits-config
(structure)
An array of structures that define the traffic allocation percentages among the feature variations during each step of the launch.
steps -> (list)
An array of structures that define the traffic allocation percentages among the feature variations during each step of the launch. This also defines the start time of each step.
(structure)
This structure defines the traffic allocation percentages among the feature variations during one step of a launch, and the start time of that step.
groupWeights -> (map)
The traffic allocation percentages among the feature variations during one step of a launch. This is a set of key-value pairs. The keys are variation names. The values represent the percentage of traffic to allocate to that variation during this step.
key -> (string)
value -> (long)
startTime -> (timestamp)
The date and time that this step of the launch starts.
Shorthand Syntax:
steps=[{groupWeights={KeyName1=long,KeyName2=long},startTime=timestamp},{groupWeights={KeyName1=long,KeyName2=long},startTime=timestamp}]
JSON Syntax:
{
"steps": [
{
"groupWeights": {"string": long
...},
"startTime": timestamp
}
...
]
}
--tags
(map)
Assigns one or more tags (key-value pairs) to the launch.
Tags can help you organize and categorize your resources. You can also use them to scope user permissions by granting a user permission to access or change only resources with certain tag values.
Tags don’t have any semantic meaning to Amazon Web Services and are interpreted strictly as strings of characters.
<p>You can associate as many as 50 tags with a launch.</p> <p>For more information, see <a href="https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html">Tagging Amazon Web Services resources</a>.</p>
key -> (string)value -> (string)
Shorthand Syntax:
KeyName1=string,KeyName2=string
JSON Syntax:
{"string": "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.
launch -> (structure)
A structure that contains the configuration of the launch that was created.
arn -> (string)
The ARN of the launch.
createdTime -> (timestamp)
The date and time that the launch is created.
description -> (string)
The description of the launch.
execution -> (structure)
A structure that contains information about the start and end times of the launch.
endedTime -> (timestamp)
The date and time that the launch ended.
startedTime -> (timestamp)
The date and time that the launch started.
groups -> (list)
An array of structures that define the feature variations that are being used in the launch.
(structure)
A structure that defines one launch group in a launch. A launch group is a variation of the feature that you are including in the launch.
description -> (string)
A description of the launch group.
featureVariations -> (map)
The feature variation for this launch group. This is a key-value pair.
key -> (string)
value -> (string)
name -> (string)
The name of the launch group.
lastUpdatedTime -> (timestamp)
The date and time that the launch was most recently updated.
metricMonitors -> (list)
An array of structures that define the metrics that are being used to monitor the launch performance.
(structure)
A structure that defines a metric to be used to monitor performance of the variations during a launch.
metricDefinition -> (structure)
A structure that defines the metric.
entityIdKey -> (string)
The entity, such as a user or session, that does an action that causes a metric value to be recorded.
eventPattern -> (string)
The EventBridge event pattern that defines how the metric is recorded.
For more information about EventBridge event patterns, see Amazon EventBridge event patterns .
name -> (string)
The name of the metric.
unitLabel -> (string)
The label for the units that the metric is measuring.
valueKey -> (string)
The value that is tracked to produce the metric.
name -> (string)
The name of the launch.
project -> (string)
The name or ARN of the project that contains the launch.
randomizationSalt -> (string)
This value is used when Evidently assigns a particular user session to the launch, to help create a randomization ID to determine which variation the user session is served. This randomization ID is a combination of the entity ID and
randomizationSalt
.scheduledSplitsDefinition -> (structure)
An array of structures that define the traffic allocation percentages among the feature variations during each step of the launch.
steps -> (list)
An array of structures that define the traffic allocation percentages among the feature variations during each step of the launch. This also defines the start time of each step.
(structure)
This structure defines the traffic allocation percentages among the feature variations during one step of a launch, and the start time of that step.
groupWeights -> (map)
The traffic allocation percentages among the feature variations during one step of a launch. This is a set of key-value pairs. The keys are variation names. The values represent the percentage of traffic to allocate to that variation during this step.
key -> (string)
value -> (long)
startTime -> (timestamp)
The date and time that this step of the launch starts.
status -> (string)
The current state of the launch.
statusReason -> (string)
If the launch was stopped, this is the string that was entered by the person who stopped the launch, to explain why it was stopped.
tags -> (map)
The list of tag keys and values associated with this launch.
key -> (string)
value -> (string)
type -> (string)
The type of launch.