java.lang.Object
software.amazon.jsii.JsiiObject
software.constructs.Construct
All Implemented Interfaces:
IInspectable, ITaggable, software.amazon.jsii.JsiiSerializable, software.constructs.IConstruct, software.constructs.IDependable

@Generated(value="jsii-pacmak/1.101.0 (build b95fe5d)", date="2024-07-12T19:34:02.318Z") @Stability(Stable) public class CfnLaunch extends CfnResource implements IInspectable, ITaggable
Creates or updates 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.

Example:

 // The code below shows an example of how to instantiate this type.
 // The values are placeholders you should change.
 import software.amazon.awscdk.services.evidently.*;
 CfnLaunch cfnLaunch = CfnLaunch.Builder.create(this, "MyCfnLaunch")
         .groups(List.of(LaunchGroupObjectProperty.builder()
                 .feature("feature")
                 .groupName("groupName")
                 .variation("variation")
                 // the properties below are optional
                 .description("description")
                 .build()))
         .name("name")
         .project("project")
         .scheduledSplitsConfig(List.of(StepConfigProperty.builder()
                 .groupWeights(List.of(GroupToWeightProperty.builder()
                         .groupName("groupName")
                         .splitWeight(123)
                         .build()))
                 .startTime("startTime")
                 // the properties below are optional
                 .segmentOverrides(List.of(SegmentOverrideProperty.builder()
                         .evaluationOrder(123)
                         .segment("segment")
                         .weights(List.of(GroupToWeightProperty.builder()
                                 .groupName("groupName")
                                 .splitWeight(123)
                                 .build()))
                         .build()))
                 .build()))
         // the properties below are optional
         .description("description")
         .executionStatus(ExecutionStatusObjectProperty.builder()
                 .status("status")
                 // the properties below are optional
                 .desiredState("desiredState")
                 .reason("reason")
                 .build())
         .metricMonitors(List.of(MetricDefinitionObjectProperty.builder()
                 .entityIdKey("entityIdKey")
                 .metricName("metricName")
                 .valueKey("valueKey")
                 // the properties below are optional
                 .eventPattern("eventPattern")
                 .unitLabel("unitLabel")
                 .build()))
         .randomizationSalt("randomizationSalt")
         .tags(List.of(CfnTag.builder()
                 .key("key")
                 .value("value")
                 .build()))
         .build();
 

See Also:
  • Field Details

    • CFN_RESOURCE_TYPE_NAME

      @Stability(Stable) public static final String CFN_RESOURCE_TYPE_NAME
      The CloudFormation resource type name for this resource class.
  • Constructor Details

    • CfnLaunch

      protected CfnLaunch(software.amazon.jsii.JsiiObjectRef objRef)
    • CfnLaunch

      protected CfnLaunch(software.amazon.jsii.JsiiObject.InitializationMode initializationMode)
    • CfnLaunch

      @Stability(Stable) public CfnLaunch(@NotNull software.constructs.Construct scope, @NotNull String id, @NotNull CfnLaunchProps props)
      Parameters:
      scope - Scope in which this resource is defined. This parameter is required.
      id - Construct identifier for this resource (unique in its scope). This parameter is required.
      props - Resource properties. This parameter is required.
  • Method Details

    • inspect

      @Stability(Stable) public void inspect(@NotNull TreeInspector inspector)
      Examines the CloudFormation resource and discloses attributes.

      Specified by:
      inspect in interface IInspectable
      Parameters:
      inspector - tree inspector to collect and process attributes. This parameter is required.
    • renderProperties

      @Stability(Stable) @NotNull protected Map<String,Object> renderProperties(@NotNull Map<String,Object> props)
      Overrides:
      renderProperties in class CfnResource
      Parameters:
      props - This parameter is required.
    • getAttrArn

      @Stability(Stable) @NotNull public String getAttrArn()
      The ARN of the launch.

      For example, arn:aws:evidently:us-west-2:0123455678912:project/myProject/launch/myLaunch

    • getCfnProperties

      @Stability(Stable) @NotNull protected Map<String,Object> getCfnProperties()
      Overrides:
      getCfnProperties in class CfnResource
    • getTags

      @Stability(Stable) @NotNull public TagManager getTags()
      Tag Manager which manages the tags for this resource.
      Specified by:
      getTags in interface ITaggable
    • getGroups

      @Stability(Stable) @NotNull public Object getGroups()
      An array of structures that contains the feature and variations that are to be used for the launch.
    • setGroups

      @Stability(Stable) public void setGroups(@NotNull IResolvable value)
      An array of structures that contains the feature and variations that are to be used for the launch.
    • setGroups

      @Stability(Stable) public void setGroups(@NotNull List<Object> value)
      An array of structures that contains the feature and variations that are to be used for the launch.
    • getName

      @Stability(Stable) @NotNull public String getName()
      The name for the launch.
    • setName

      @Stability(Stable) public void setName(@NotNull String value)
      The name for the launch.
    • getProject

      @Stability(Stable) @NotNull public String getProject()
      The name or ARN of the project that you want to create the launch in.
    • setProject

      @Stability(Stable) public void setProject(@NotNull String value)
      The name or ARN of the project that you want to create the launch in.
    • getScheduledSplitsConfig

      @Stability(Stable) @NotNull public Object getScheduledSplitsConfig()
      An array of structures that define the traffic allocation percentages among the feature variations during each step of the launch.
    • setScheduledSplitsConfig

      @Stability(Stable) public void setScheduledSplitsConfig(@NotNull IResolvable value)
      An array of structures that define the traffic allocation percentages among the feature variations during each step of the launch.
    • setScheduledSplitsConfig

      @Stability(Stable) public void setScheduledSplitsConfig(@NotNull List<Object> value)
      An array of structures that define the traffic allocation percentages among the feature variations during each step of the launch.
    • getDescription

      @Stability(Stable) @Nullable public String getDescription()
      An optional description for the launch.
    • setDescription

      @Stability(Stable) public void setDescription(@Nullable String value)
      An optional description for the launch.
    • getExecutionStatus

      @Stability(Stable) @Nullable public Object getExecutionStatus()
      A structure that you can use to start and stop the launch.
    • setExecutionStatus

      @Stability(Stable) public void setExecutionStatus(@Nullable IResolvable value)
      A structure that you can use to start and stop the launch.
    • setExecutionStatus

      @Stability(Stable) public void setExecutionStatus(@Nullable CfnLaunch.ExecutionStatusObjectProperty value)
      A structure that you can use to start and stop the launch.
    • getMetricMonitors

      @Stability(Stable) @Nullable public Object getMetricMonitors()
      An array of structures that define the metrics that will be used to monitor the launch performance.
    • setMetricMonitors

      @Stability(Stable) public void setMetricMonitors(@Nullable IResolvable value)
      An array of structures that define the metrics that will be used to monitor the launch performance.
    • setMetricMonitors

      @Stability(Stable) public void setMetricMonitors(@Nullable List<Object> value)
      An array of structures that define the metrics that will be used to monitor the launch performance.
    • getRandomizationSalt

      @Stability(Stable) @Nullable public String getRandomizationSalt()
      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.
    • setRandomizationSalt

      @Stability(Stable) public void setRandomizationSalt(@Nullable String value)
      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.
    • getTagsRaw

      @Stability(Stable) @Nullable public List<CfnTag> getTagsRaw()
      Assigns one or more tags (key-value pairs) to the launch.
    • setTagsRaw

      @Stability(Stable) public void setTagsRaw(@Nullable List<CfnTag> value)
      Assigns one or more tags (key-value pairs) to the launch.