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

@Generated(value="jsii-pacmak/1.84.0 (build 5404dcf)", date="2023-06-19T16:29:56.730Z") @Stability(Stable) public class CfnLaunch extends CfnResource implements IInspectable
A CloudFormation AWS::Evidently::Launch.

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();
 
  • 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 Construct scope, @NotNull String id, @NotNull CfnLaunchProps props)
      Create a new AWS::Evidently::Launch.

      Parameters:
      scope -
      • scope in which this resource is defined.
      This parameter is required.
      id -
      • scoped id of the resource.
      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()
      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 AWS and are interpreted strictly as strings of characters.

      You can associate as many as 50 tags with a launch.

      For more information, see Tagging AWS resources .

    • 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.

      You can up to five launch groups in a 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.

      You can up to five launch groups in a 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.

      You can up to five launch groups in a launch.

    • getName

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

      It can include up to 127 characters.

    • setName

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

      It can include up to 127 characters.

    • 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.

      You can have up to three metric monitors in the array.

    • 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.

      You can have up to three metric monitors in the array.

    • 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.

      You can have up to three metric monitors in the array.

    • 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.

      This randomization ID is a combination of the entity ID and randomizationSalt . If you omit randomizationSalt , Evidently uses the launch name as the randomizationsSalt .

    • 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.

      This randomization ID is a combination of the entity ID and randomizationSalt . If you omit randomizationSalt , Evidently uses the launch name as the randomizationsSalt .