Launch Args
Provides a CloudWatch Evidently Launch resource.
Example Usage
Basic
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.evidently.Launch;
import com.pulumi.aws.evidently.LaunchArgs;
import com.pulumi.aws.evidently.inputs.LaunchGroupArgs;
import com.pulumi.aws.evidently.inputs.LaunchScheduledSplitsConfigArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var example = new Launch("example", LaunchArgs.builder()
.project(aws_evidently_project.example().name())
.groups(LaunchGroupArgs.builder()
.feature(aws_evidently_feature.example().name())
.name("Variation1")
.variation("Variation1")
.build())
.scheduledSplitsConfig(LaunchScheduledSplitsConfigArgs.builder()
.steps(LaunchScheduledSplitsConfigStepArgs.builder()
.groupWeights(Map.of("Variation1", 0))
.startTime("2024-01-07 01:43:59+00:00")
.build())
.build())
.build());
}
}
With description
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.evidently.Launch;
import com.pulumi.aws.evidently.LaunchArgs;
import com.pulumi.aws.evidently.inputs.LaunchGroupArgs;
import com.pulumi.aws.evidently.inputs.LaunchScheduledSplitsConfigArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var example = new Launch("example", LaunchArgs.builder()
.project(aws_evidently_project.example().name())
.description("example description")
.groups(LaunchGroupArgs.builder()
.feature(aws_evidently_feature.example().name())
.name("Variation1")
.variation("Variation1")
.build())
.scheduledSplitsConfig(LaunchScheduledSplitsConfigArgs.builder()
.steps(LaunchScheduledSplitsConfigStepArgs.builder()
.groupWeights(Map.of("Variation1", 0))
.startTime("2024-01-07 01:43:59+00:00")
.build())
.build())
.build());
}
}
With multiple groups
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.evidently.Launch;
import com.pulumi.aws.evidently.LaunchArgs;
import com.pulumi.aws.evidently.inputs.LaunchGroupArgs;
import com.pulumi.aws.evidently.inputs.LaunchScheduledSplitsConfigArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var example = new Launch("example", LaunchArgs.builder()
.project(aws_evidently_project.example().name())
.groups(
LaunchGroupArgs.builder()
.feature(aws_evidently_feature.example().name())
.name("Variation1")
.variation("Variation1")
.description("first-group")
.build(),
LaunchGroupArgs.builder()
.feature(aws_evidently_feature.example().name())
.name("Variation2")
.variation("Variation2")
.description("second-group")
.build())
.scheduledSplitsConfig(LaunchScheduledSplitsConfigArgs.builder()
.steps(LaunchScheduledSplitsConfigStepArgs.builder()
.groupWeights(Map.ofEntries(
Map.entry("Variation1", 0),
Map.entry("Variation2", 0)
))
.startTime("2024-01-07 01:43:59+00:00")
.build())
.build())
.build());
}
}
With metric_monitors
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.evidently.Launch;
import com.pulumi.aws.evidently.LaunchArgs;
import com.pulumi.aws.evidently.inputs.LaunchGroupArgs;
import com.pulumi.aws.evidently.inputs.LaunchMetricMonitorArgs;
import com.pulumi.aws.evidently.inputs.LaunchMetricMonitorMetricDefinitionArgs;
import com.pulumi.aws.evidently.inputs.LaunchScheduledSplitsConfigArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var example = new Launch("example", LaunchArgs.builder()
.project(aws_evidently_project.example().name())
.groups(LaunchGroupArgs.builder()
.feature(aws_evidently_feature.example().name())
.name("Variation1")
.variation("Variation1")
.build())
.metricMonitors(
LaunchMetricMonitorArgs.builder()
.metricDefinition(LaunchMetricMonitorMetricDefinitionArgs.builder()
.entityIdKey("entity_id_key1")
.eventPattern("{\"Price\":[{\"numeric\":[\">\",11,\"<=\",22]}]}")
.name("name1")
.unitLabel("unit_label1")
.valueKey("value_key1")
.build())
.build(),
LaunchMetricMonitorArgs.builder()
.metricDefinition(LaunchMetricMonitorMetricDefinitionArgs.builder()
.entityIdKey("entity_id_key2")
.eventPattern("{\"Price\":[{\"numeric\":[\">\",9,\"<=\",19]}]}")
.name("name2")
.unitLabel("unit_label2")
.valueKey("value_key2")
.build())
.build())
.scheduledSplitsConfig(LaunchScheduledSplitsConfigArgs.builder()
.steps(LaunchScheduledSplitsConfigStepArgs.builder()
.groupWeights(Map.of("Variation1", 0))
.startTime("2024-01-07 01:43:59+00:00")
.build())
.build())
.build());
}
}
With randomization_salt
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.evidently.Launch;
import com.pulumi.aws.evidently.LaunchArgs;
import com.pulumi.aws.evidently.inputs.LaunchGroupArgs;
import com.pulumi.aws.evidently.inputs.LaunchScheduledSplitsConfigArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var example = new Launch("example", LaunchArgs.builder()
.project(aws_evidently_project.example().name())
.randomizationSalt("example randomization salt")
.groups(LaunchGroupArgs.builder()
.feature(aws_evidently_feature.example().name())
.name("Variation1")
.variation("Variation1")
.build())
.scheduledSplitsConfig(LaunchScheduledSplitsConfigArgs.builder()
.steps(LaunchScheduledSplitsConfigStepArgs.builder()
.groupWeights(Map.of("Variation1", 0))
.startTime("2024-01-07 01:43:59+00:00")
.build())
.build())
.build());
}
}
With multiple steps
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.evidently.Launch;
import com.pulumi.aws.evidently.LaunchArgs;
import com.pulumi.aws.evidently.inputs.LaunchGroupArgs;
import com.pulumi.aws.evidently.inputs.LaunchScheduledSplitsConfigArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var example = new Launch("example", LaunchArgs.builder()
.project(aws_evidently_project.example().name())
.groups(
LaunchGroupArgs.builder()
.feature(aws_evidently_feature.example().name())
.name("Variation1")
.variation("Variation1")
.build(),
LaunchGroupArgs.builder()
.feature(aws_evidently_feature.example().name())
.name("Variation2")
.variation("Variation2")
.build())
.scheduledSplitsConfig(LaunchScheduledSplitsConfigArgs.builder()
.steps(
LaunchScheduledSplitsConfigStepArgs.builder()
.groupWeights(Map.ofEntries(
Map.entry("Variation1", 15),
Map.entry("Variation2", 10)
))
.startTime("2024-01-07 01:43:59+00:00")
.build(),
LaunchScheduledSplitsConfigStepArgs.builder()
.groupWeights(Map.ofEntries(
Map.entry("Variation1", 20),
Map.entry("Variation2", 25)
))
.startTime("2024-01-08 01:43:59+00:00")
.build())
.build())
.build());
}
}
With segment overrides
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.evidently.Launch;
import com.pulumi.aws.evidently.LaunchArgs;
import com.pulumi.aws.evidently.inputs.LaunchGroupArgs;
import com.pulumi.aws.evidently.inputs.LaunchScheduledSplitsConfigArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var example = new Launch("example", LaunchArgs.builder()
.project(aws_evidently_project.example().name())
.groups(
LaunchGroupArgs.builder()
.feature(aws_evidently_feature.example().name())
.name("Variation1")
.variation("Variation1")
.build(),
LaunchGroupArgs.builder()
.feature(aws_evidently_feature.example().name())
.name("Variation2")
.variation("Variation2")
.build())
.scheduledSplitsConfig(LaunchScheduledSplitsConfigArgs.builder()
.steps(LaunchScheduledSplitsConfigStepArgs.builder()
.groupWeights(Map.ofEntries(
Map.entry("Variation1", 0),
Map.entry("Variation2", 0)
))
.segmentOverrides(
LaunchScheduledSplitsConfigStepSegmentOverrideArgs.builder()
.evaluationOrder(1)
.segment(aws_evidently_segment.example().name())
.weights(Map.of("Variation2", 10000))
.build(),
LaunchScheduledSplitsConfigStepSegmentOverrideArgs.builder()
.evaluationOrder(2)
.segment(aws_evidently_segment.example().name())
.weights(Map.ofEntries(
Map.entry("Variation1", 40000),
Map.entry("Variation2", 30000)
))
.build())
.startTime("2024-01-08 01:43:59+00:00")
.build())
.build())
.build());
}
}
Import
CloudWatch Evidently Launch can be imported using the name
of the launch and name
or arn
of the hosting CloudWatch Evidently Project separated by a :
, e.g. with the name
of the launch and arn
of the project,
$ pulumi import aws:evidently/launch:Launch example exampleLaunchName:arn:aws:evidently:us-east-1:123456789012:project/exampleProjectName
e.g. with the name
of the launch and name
of the project,
$ pulumi import aws:evidently/launch:Launch example exampleLaunchName:exampleProjectName
Constructors
Properties
Specifies the description of the launch.
One or up to five blocks that contain the feature and variations that are to be used for the launch. Detailed below.
One or up to three blocks that define the metrics that will be used to monitor the launch performance. Detailed below.
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 omit randomizationSalt, Evidently uses the launch name as the randomizationSalt.
A block that defines the traffic allocation percentages among the feature variations during each step of the launch. Detailed below.