/* * Copyright 2018-2023 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with * the License. A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions * and limitations under the License. */ package com.amazonaws.services.cloudwatchevidently.model; import java.io.Serializable; import javax.annotation.Generated; import com.amazonaws.AmazonWebServiceRequest; /** * * @see AWS API * Documentation */ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class CreateLaunchRequest extends com.amazonaws.AmazonWebServiceRequest implements Serializable, Cloneable { /** *
* An optional description for the launch. *
*/ private String description; /** ** An array of structures that contains the feature and variations that are to be used for the launch. *
*/ private java.util.List* An array of structures that define the metrics that will be used to monitor the launch performance. *
*/ private java.util.List* The name for the new launch. *
*/ private String name; /** ** The name or ARN of the project that you want to create the launch in. *
*/ private String project; /** *
* 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
.
*
* An array of structures that define the traffic allocation percentages among the feature variations during each * step of the launch. *
*/ private ScheduledSplitsLaunchConfig scheduledSplitsConfig; /** ** 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. *
** You can associate as many as 50 tags with a launch. *
** For more information, see Tagging Amazon * Web Services resources. *
*/ private java.util.Map* An optional description for the launch. *
* * @param description * An optional description for the launch. */ public void setDescription(String description) { this.description = description; } /** ** An optional description for the launch. *
* * @return An optional description for the launch. */ public String getDescription() { return this.description; } /** ** An optional description for the launch. *
* * @param description * An optional description for the launch. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateLaunchRequest withDescription(String description) { setDescription(description); return this; } /** ** An array of structures that contains the feature and variations that are to be used for the launch. *
* * @return An array of structures that contains the feature and variations that are to be used for the launch. */ public java.util.List* An array of structures that contains the feature and variations that are to be used for the launch. *
* * @param groups * An array of structures that contains the feature and variations that are to be used for the launch. */ public void setGroups(java.util.Collection* An array of structures that contains the feature and variations that are to be used for the launch. *
** NOTE: This method appends the values to the existing list (if any). Use * {@link #setGroups(java.util.Collection)} or {@link #withGroups(java.util.Collection)} if you want to override the * existing values. *
* * @param groups * An array of structures that contains the feature and variations that are to be used for the launch. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateLaunchRequest withGroups(LaunchGroupConfig... groups) { if (this.groups == null) { setGroups(new java.util.ArrayList* An array of structures that contains the feature and variations that are to be used for the launch. *
* * @param groups * An array of structures that contains the feature and variations that are to be used for the launch. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateLaunchRequest withGroups(java.util.Collection* An array of structures that define the metrics that will be used to monitor the launch performance. *
* * @return An array of structures that define the metrics that will be used to monitor the launch performance. */ public java.util.List* An array of structures that define the metrics that will be used to monitor the launch performance. *
* * @param metricMonitors * An array of structures that define the metrics that will be used to monitor the launch performance. */ public void setMetricMonitors(java.util.Collection* An array of structures that define the metrics that will be used to monitor the launch performance. *
** NOTE: This method appends the values to the existing list (if any). Use * {@link #setMetricMonitors(java.util.Collection)} or {@link #withMetricMonitors(java.util.Collection)} if you want * to override the existing values. *
* * @param metricMonitors * An array of structures that define the metrics that will be used to monitor the launch performance. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateLaunchRequest withMetricMonitors(MetricMonitorConfig... metricMonitors) { if (this.metricMonitors == null) { setMetricMonitors(new java.util.ArrayList* An array of structures that define the metrics that will be used to monitor the launch performance. *
* * @param metricMonitors * An array of structures that define the metrics that will be used to monitor the launch performance. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateLaunchRequest withMetricMonitors(java.util.Collection* The name for the new launch. *
* * @param name * The name for the new launch. */ public void setName(String name) { this.name = name; } /** ** The name for the new launch. *
* * @return The name for the new launch. */ public String getName() { return this.name; } /** ** The name for the new launch. *
* * @param name * The name for the new launch. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateLaunchRequest withName(String name) { setName(name); return this; } /** ** The name or ARN of the project that you want to create the launch in. *
* * @param project * The name or ARN of the project that you want to create the launch in. */ public void setProject(String project) { this.project = project; } /** ** The name or ARN of the project that you want to create the launch in. *
* * @return The name or ARN of the project that you want to create the launch in. */ public String getProject() { return this.project; } /** ** The name or ARN of the project that you want to create the launch in. *
* * @param project * The name or ARN of the project that you want to create the launch in. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateLaunchRequest withProject(String project) { setProject(project); return this; } /** *
* 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
.
*
randomizationSalt
. If you omit randomizationSalt
, Evidently uses the launch name
* as the randomizationSalt
.
*/
public void setRandomizationSalt(String randomizationSalt) {
this.randomizationSalt = randomizationSalt;
}
/**
*
* 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
.
*
randomizationSalt
. If you omit randomizationSalt
, Evidently uses the launch
* name as the randomizationSalt
.
*/
public String getRandomizationSalt() {
return this.randomizationSalt;
}
/**
*
* 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
.
*
randomizationSalt
. If you omit randomizationSalt
, Evidently uses the launch name
* as the randomizationSalt
.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateLaunchRequest withRandomizationSalt(String randomizationSalt) {
setRandomizationSalt(randomizationSalt);
return this;
}
/**
* * An array of structures that define the traffic allocation percentages among the feature variations during each * step of the launch. *
* * @param scheduledSplitsConfig * An array of structures that define the traffic allocation percentages among the feature variations during * each step of the launch. */ public void setScheduledSplitsConfig(ScheduledSplitsLaunchConfig scheduledSplitsConfig) { this.scheduledSplitsConfig = scheduledSplitsConfig; } /** ** An array of structures that define the traffic allocation percentages among the feature variations during each * step of the launch. *
* * @return An array of structures that define the traffic allocation percentages among the feature variations during * each step of the launch. */ public ScheduledSplitsLaunchConfig getScheduledSplitsConfig() { return this.scheduledSplitsConfig; } /** ** An array of structures that define the traffic allocation percentages among the feature variations during each * step of the launch. *
* * @param scheduledSplitsConfig * An array of structures that define the traffic allocation percentages among the feature variations during * each step of the launch. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateLaunchRequest withScheduledSplitsConfig(ScheduledSplitsLaunchConfig scheduledSplitsConfig) { setScheduledSplitsConfig(scheduledSplitsConfig); return this; } /** ** 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. *
** You can associate as many as 50 tags with a launch. *
** For more information, see Tagging Amazon * Web Services resources. *
* * @return 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. *
** You can associate as many as 50 tags with a launch. *
*
* For more information, see Tagging Amazon Web Services
* resources.
*/
public java.util.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.
*
* You can associate as many as 50 tags with a launch.
*
* For more information, see Tagging Amazon
* Web Services resources.
*
* 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. *
** You can associate as many as 50 tags with a launch. *
*
* For more information, see Tagging
* Amazon Web Services resources.
*/
public void setTags(java.util.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.
*
* You can associate as many as 50 tags with a launch.
*
* For more information, see Tagging Amazon
* Web Services resources.
*
* 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. *
** You can associate as many as 50 tags with a launch. *
*
* For more information, see Tagging
* Amazon Web Services resources.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateLaunchRequest withTags(java.util.Map