/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include A structure containing the configuration details of an
* experiment.See Also:
AWS
* API Reference
The ARN of the experiment.
*/ inline const Aws::String& GetArn() const{ return m_arn; } /** *The ARN of the experiment.
*/ inline bool ArnHasBeenSet() const { return m_arnHasBeenSet; } /** *The ARN of the experiment.
*/ inline void SetArn(const Aws::String& value) { m_arnHasBeenSet = true; m_arn = value; } /** *The ARN of the experiment.
*/ inline void SetArn(Aws::String&& value) { m_arnHasBeenSet = true; m_arn = std::move(value); } /** *The ARN of the experiment.
*/ inline void SetArn(const char* value) { m_arnHasBeenSet = true; m_arn.assign(value); } /** *The ARN of the experiment.
*/ inline Experiment& WithArn(const Aws::String& value) { SetArn(value); return *this;} /** *The ARN of the experiment.
*/ inline Experiment& WithArn(Aws::String&& value) { SetArn(std::move(value)); return *this;} /** *The ARN of the experiment.
*/ inline Experiment& WithArn(const char* value) { SetArn(value); return *this;} /** *The date and time that the experiment is first created.
*/ inline const Aws::Utils::DateTime& GetCreatedTime() const{ return m_createdTime; } /** *The date and time that the experiment is first created.
*/ inline bool CreatedTimeHasBeenSet() const { return m_createdTimeHasBeenSet; } /** *The date and time that the experiment is first created.
*/ inline void SetCreatedTime(const Aws::Utils::DateTime& value) { m_createdTimeHasBeenSet = true; m_createdTime = value; } /** *The date and time that the experiment is first created.
*/ inline void SetCreatedTime(Aws::Utils::DateTime&& value) { m_createdTimeHasBeenSet = true; m_createdTime = std::move(value); } /** *The date and time that the experiment is first created.
*/ inline Experiment& WithCreatedTime(const Aws::Utils::DateTime& value) { SetCreatedTime(value); return *this;} /** *The date and time that the experiment is first created.
*/ inline Experiment& WithCreatedTime(Aws::Utils::DateTime&& value) { SetCreatedTime(std::move(value)); return *this;} /** *A description of the experiment.
*/ inline const Aws::String& GetDescription() const{ return m_description; } /** *A description of the experiment.
*/ inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } /** *A description of the experiment.
*/ inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; } /** *A description of the experiment.
*/ inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); } /** *A description of the experiment.
*/ inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); } /** *A description of the experiment.
*/ inline Experiment& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} /** *A description of the experiment.
*/ inline Experiment& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} /** *A description of the experiment.
*/ inline Experiment& WithDescription(const char* value) { SetDescription(value); return *this;} /** *A structure that contains the date and time that the experiment started and * ended.
*/ inline const ExperimentExecution& GetExecution() const{ return m_execution; } /** *A structure that contains the date and time that the experiment started and * ended.
*/ inline bool ExecutionHasBeenSet() const { return m_executionHasBeenSet; } /** *A structure that contains the date and time that the experiment started and * ended.
*/ inline void SetExecution(const ExperimentExecution& value) { m_executionHasBeenSet = true; m_execution = value; } /** *A structure that contains the date and time that the experiment started and * ended.
*/ inline void SetExecution(ExperimentExecution&& value) { m_executionHasBeenSet = true; m_execution = std::move(value); } /** *A structure that contains the date and time that the experiment started and * ended.
*/ inline Experiment& WithExecution(const ExperimentExecution& value) { SetExecution(value); return *this;} /** *A structure that contains the date and time that the experiment started and * ended.
*/ inline Experiment& WithExecution(ExperimentExecution&& value) { SetExecution(std::move(value)); return *this;} /** *The date and time that the experiment was most recently updated.
*/ inline const Aws::Utils::DateTime& GetLastUpdatedTime() const{ return m_lastUpdatedTime; } /** *The date and time that the experiment was most recently updated.
*/ inline bool LastUpdatedTimeHasBeenSet() const { return m_lastUpdatedTimeHasBeenSet; } /** *The date and time that the experiment was most recently updated.
*/ inline void SetLastUpdatedTime(const Aws::Utils::DateTime& value) { m_lastUpdatedTimeHasBeenSet = true; m_lastUpdatedTime = value; } /** *The date and time that the experiment was most recently updated.
*/ inline void SetLastUpdatedTime(Aws::Utils::DateTime&& value) { m_lastUpdatedTimeHasBeenSet = true; m_lastUpdatedTime = std::move(value); } /** *The date and time that the experiment was most recently updated.
*/ inline Experiment& WithLastUpdatedTime(const Aws::Utils::DateTime& value) { SetLastUpdatedTime(value); return *this;} /** *The date and time that the experiment was most recently updated.
*/ inline Experiment& WithLastUpdatedTime(Aws::Utils::DateTime&& value) { SetLastUpdatedTime(std::move(value)); return *this;} /** *An array of structures that defines the metrics used for the experiment, and * whether a higher or lower value for each metric is the goal.
*/ inline const Aws::VectorAn array of structures that defines the metrics used for the experiment, and * whether a higher or lower value for each metric is the goal.
*/ inline bool MetricGoalsHasBeenSet() const { return m_metricGoalsHasBeenSet; } /** *An array of structures that defines the metrics used for the experiment, and * whether a higher or lower value for each metric is the goal.
*/ inline void SetMetricGoals(const Aws::VectorAn array of structures that defines the metrics used for the experiment, and * whether a higher or lower value for each metric is the goal.
*/ inline void SetMetricGoals(Aws::VectorAn array of structures that defines the metrics used for the experiment, and * whether a higher or lower value for each metric is the goal.
*/ inline Experiment& WithMetricGoals(const Aws::VectorAn array of structures that defines the metrics used for the experiment, and * whether a higher or lower value for each metric is the goal.
*/ inline Experiment& WithMetricGoals(Aws::VectorAn array of structures that defines the metrics used for the experiment, and * whether a higher or lower value for each metric is the goal.
*/ inline Experiment& AddMetricGoals(const MetricGoal& value) { m_metricGoalsHasBeenSet = true; m_metricGoals.push_back(value); return *this; } /** *An array of structures that defines the metrics used for the experiment, and * whether a higher or lower value for each metric is the goal.
*/ inline Experiment& AddMetricGoals(MetricGoal&& value) { m_metricGoalsHasBeenSet = true; m_metricGoals.push_back(std::move(value)); return *this; } /** *The name of the experiment.
*/ inline const Aws::String& GetName() const{ return m_name; } /** *The name of the experiment.
*/ inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } /** *The name of the experiment.
*/ inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } /** *The name of the experiment.
*/ inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } /** *The name of the experiment.
*/ inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } /** *The name of the experiment.
*/ inline Experiment& WithName(const Aws::String& value) { SetName(value); return *this;} /** *The name of the experiment.
*/ inline Experiment& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} /** *The name of the experiment.
*/ inline Experiment& WithName(const char* value) { SetName(value); return *this;} /** *A structure that contains the configuration of which variation to use as the * "control" version. The "control" version is used for comparison with other * variations. This structure also specifies how much experiment traffic is * allocated to each variation.
*/ inline const OnlineAbDefinition& GetOnlineAbDefinition() const{ return m_onlineAbDefinition; } /** *A structure that contains the configuration of which variation to use as the * "control" version. The "control" version is used for comparison with other * variations. This structure also specifies how much experiment traffic is * allocated to each variation.
*/ inline bool OnlineAbDefinitionHasBeenSet() const { return m_onlineAbDefinitionHasBeenSet; } /** *A structure that contains the configuration of which variation to use as the * "control" version. The "control" version is used for comparison with other * variations. This structure also specifies how much experiment traffic is * allocated to each variation.
*/ inline void SetOnlineAbDefinition(const OnlineAbDefinition& value) { m_onlineAbDefinitionHasBeenSet = true; m_onlineAbDefinition = value; } /** *A structure that contains the configuration of which variation to use as the * "control" version. The "control" version is used for comparison with other * variations. This structure also specifies how much experiment traffic is * allocated to each variation.
*/ inline void SetOnlineAbDefinition(OnlineAbDefinition&& value) { m_onlineAbDefinitionHasBeenSet = true; m_onlineAbDefinition = std::move(value); } /** *A structure that contains the configuration of which variation to use as the * "control" version. The "control" version is used for comparison with other * variations. This structure also specifies how much experiment traffic is * allocated to each variation.
*/ inline Experiment& WithOnlineAbDefinition(const OnlineAbDefinition& value) { SetOnlineAbDefinition(value); return *this;} /** *A structure that contains the configuration of which variation to use as the * "control" version. The "control" version is used for comparison with other * variations. This structure also specifies how much experiment traffic is * allocated to each variation.
*/ inline Experiment& WithOnlineAbDefinition(OnlineAbDefinition&& value) { SetOnlineAbDefinition(std::move(value)); return *this;} /** *The name or ARN of the project that contains this experiment.
*/ inline const Aws::String& GetProject() const{ return m_project; } /** *The name or ARN of the project that contains this experiment.
*/ inline bool ProjectHasBeenSet() const { return m_projectHasBeenSet; } /** *The name or ARN of the project that contains this experiment.
*/ inline void SetProject(const Aws::String& value) { m_projectHasBeenSet = true; m_project = value; } /** *The name or ARN of the project that contains this experiment.
*/ inline void SetProject(Aws::String&& value) { m_projectHasBeenSet = true; m_project = std::move(value); } /** *The name or ARN of the project that contains this experiment.
*/ inline void SetProject(const char* value) { m_projectHasBeenSet = true; m_project.assign(value); } /** *The name or ARN of the project that contains this experiment.
*/ inline Experiment& WithProject(const Aws::String& value) { SetProject(value); return *this;} /** *The name or ARN of the project that contains this experiment.
*/ inline Experiment& WithProject(Aws::String&& value) { SetProject(std::move(value)); return *this;} /** *The name or ARN of the project that contains this experiment.
*/ inline Experiment& WithProject(const char* value) { SetProject(value); return *this;} /** *This value is used when Evidently assigns a particular user session to the
* experiment. It helps 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
.
This value is used when Evidently assigns a particular user session to the
* experiment. It helps 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
.
This value is used when Evidently assigns a particular user session to the
* experiment. It helps 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
.
This value is used when Evidently assigns a particular user session to the
* experiment. It helps 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
.
This value is used when Evidently assigns a particular user session to the
* experiment. It helps 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
.
This value is used when Evidently assigns a particular user session to the
* experiment. It helps 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
.
This value is used when Evidently assigns a particular user session to the
* experiment. It helps 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
.
This value is used when Evidently assigns a particular user session to the
* experiment. It helps 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
.
In thousandths of a percent, the amount of the available audience that is * allocated to this experiment. The available audience is the total audience minus * the audience that you have allocated to overrides or current launches of this * feature.
This is represented in thousandths of a percent, so a value of * 10,000 is 10% of the available audience.
*/ inline long long GetSamplingRate() const{ return m_samplingRate; } /** *In thousandths of a percent, the amount of the available audience that is * allocated to this experiment. The available audience is the total audience minus * the audience that you have allocated to overrides or current launches of this * feature.
This is represented in thousandths of a percent, so a value of * 10,000 is 10% of the available audience.
*/ inline bool SamplingRateHasBeenSet() const { return m_samplingRateHasBeenSet; } /** *In thousandths of a percent, the amount of the available audience that is * allocated to this experiment. The available audience is the total audience minus * the audience that you have allocated to overrides or current launches of this * feature.
This is represented in thousandths of a percent, so a value of * 10,000 is 10% of the available audience.
*/ inline void SetSamplingRate(long long value) { m_samplingRateHasBeenSet = true; m_samplingRate = value; } /** *In thousandths of a percent, the amount of the available audience that is * allocated to this experiment. The available audience is the total audience minus * the audience that you have allocated to overrides or current launches of this * feature.
This is represented in thousandths of a percent, so a value of * 10,000 is 10% of the available audience.
*/ inline Experiment& WithSamplingRate(long long value) { SetSamplingRate(value); return *this;} /** *A structure that contains the time and date that Evidently completed the * analysis of the experiment.
*/ inline const ExperimentSchedule& GetSchedule() const{ return m_schedule; } /** *A structure that contains the time and date that Evidently completed the * analysis of the experiment.
*/ inline bool ScheduleHasBeenSet() const { return m_scheduleHasBeenSet; } /** *A structure that contains the time and date that Evidently completed the * analysis of the experiment.
*/ inline void SetSchedule(const ExperimentSchedule& value) { m_scheduleHasBeenSet = true; m_schedule = value; } /** *A structure that contains the time and date that Evidently completed the * analysis of the experiment.
*/ inline void SetSchedule(ExperimentSchedule&& value) { m_scheduleHasBeenSet = true; m_schedule = std::move(value); } /** *A structure that contains the time and date that Evidently completed the * analysis of the experiment.
*/ inline Experiment& WithSchedule(const ExperimentSchedule& value) { SetSchedule(value); return *this;} /** *A structure that contains the time and date that Evidently completed the * analysis of the experiment.
*/ inline Experiment& WithSchedule(ExperimentSchedule&& value) { SetSchedule(std::move(value)); return *this;} /** *The audience segment being used for the experiment, if a segment is being * used.
*/ inline const Aws::String& GetSegment() const{ return m_segment; } /** *The audience segment being used for the experiment, if a segment is being * used.
*/ inline bool SegmentHasBeenSet() const { return m_segmentHasBeenSet; } /** *The audience segment being used for the experiment, if a segment is being * used.
*/ inline void SetSegment(const Aws::String& value) { m_segmentHasBeenSet = true; m_segment = value; } /** *The audience segment being used for the experiment, if a segment is being * used.
*/ inline void SetSegment(Aws::String&& value) { m_segmentHasBeenSet = true; m_segment = std::move(value); } /** *The audience segment being used for the experiment, if a segment is being * used.
*/ inline void SetSegment(const char* value) { m_segmentHasBeenSet = true; m_segment.assign(value); } /** *The audience segment being used for the experiment, if a segment is being * used.
*/ inline Experiment& WithSegment(const Aws::String& value) { SetSegment(value); return *this;} /** *The audience segment being used for the experiment, if a segment is being * used.
*/ inline Experiment& WithSegment(Aws::String&& value) { SetSegment(std::move(value)); return *this;} /** *The audience segment being used for the experiment, if a segment is being * used.
*/ inline Experiment& WithSegment(const char* value) { SetSegment(value); return *this;} /** *The current state of the experiment.
*/ inline const ExperimentStatus& GetStatus() const{ return m_status; } /** *The current state of the experiment.
*/ inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } /** *The current state of the experiment.
*/ inline void SetStatus(const ExperimentStatus& value) { m_statusHasBeenSet = true; m_status = value; } /** *The current state of the experiment.
*/ inline void SetStatus(ExperimentStatus&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } /** *The current state of the experiment.
*/ inline Experiment& WithStatus(const ExperimentStatus& value) { SetStatus(value); return *this;} /** *The current state of the experiment.
*/ inline Experiment& WithStatus(ExperimentStatus&& value) { SetStatus(std::move(value)); return *this;} /** *If the experiment was stopped, this is the string that was entered by the * person who stopped the experiment, to explain why it was stopped.
*/ inline const Aws::String& GetStatusReason() const{ return m_statusReason; } /** *If the experiment was stopped, this is the string that was entered by the * person who stopped the experiment, to explain why it was stopped.
*/ inline bool StatusReasonHasBeenSet() const { return m_statusReasonHasBeenSet; } /** *If the experiment was stopped, this is the string that was entered by the * person who stopped the experiment, to explain why it was stopped.
*/ inline void SetStatusReason(const Aws::String& value) { m_statusReasonHasBeenSet = true; m_statusReason = value; } /** *If the experiment was stopped, this is the string that was entered by the * person who stopped the experiment, to explain why it was stopped.
*/ inline void SetStatusReason(Aws::String&& value) { m_statusReasonHasBeenSet = true; m_statusReason = std::move(value); } /** *If the experiment was stopped, this is the string that was entered by the * person who stopped the experiment, to explain why it was stopped.
*/ inline void SetStatusReason(const char* value) { m_statusReasonHasBeenSet = true; m_statusReason.assign(value); } /** *If the experiment was stopped, this is the string that was entered by the * person who stopped the experiment, to explain why it was stopped.
*/ inline Experiment& WithStatusReason(const Aws::String& value) { SetStatusReason(value); return *this;} /** *If the experiment was stopped, this is the string that was entered by the * person who stopped the experiment, to explain why it was stopped.
*/ inline Experiment& WithStatusReason(Aws::String&& value) { SetStatusReason(std::move(value)); return *this;} /** *If the experiment was stopped, this is the string that was entered by the * person who stopped the experiment, to explain why it was stopped.
*/ inline Experiment& WithStatusReason(const char* value) { SetStatusReason(value); return *this;} /** *The list of tag keys and values associated with this experiment.
*/ inline const Aws::MapThe list of tag keys and values associated with this experiment.
*/ inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } /** *The list of tag keys and values associated with this experiment.
*/ inline void SetTags(const Aws::MapThe list of tag keys and values associated with this experiment.
*/ inline void SetTags(Aws::MapThe list of tag keys and values associated with this experiment.
*/ inline Experiment& WithTags(const Aws::MapThe list of tag keys and values associated with this experiment.
*/ inline Experiment& WithTags(Aws::MapThe list of tag keys and values associated with this experiment.
*/ inline Experiment& AddTags(const Aws::String& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } /** *The list of tag keys and values associated with this experiment.
*/ inline Experiment& AddTags(Aws::String&& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; } /** *The list of tag keys and values associated with this experiment.
*/ inline Experiment& AddTags(const Aws::String& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; } /** *The list of tag keys and values associated with this experiment.
*/ inline Experiment& AddTags(Aws::String&& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), std::move(value)); return *this; } /** *The list of tag keys and values associated with this experiment.
*/ inline Experiment& AddTags(const char* key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; } /** *The list of tag keys and values associated with this experiment.
*/ inline Experiment& AddTags(Aws::String&& key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; } /** *The list of tag keys and values associated with this experiment.
*/ inline Experiment& AddTags(const char* key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } /** *An array of structures that describe the configuration of each feature * variation used in the experiment.
*/ inline const Aws::VectorAn array of structures that describe the configuration of each feature * variation used in the experiment.
*/ inline bool TreatmentsHasBeenSet() const { return m_treatmentsHasBeenSet; } /** *An array of structures that describe the configuration of each feature * variation used in the experiment.
*/ inline void SetTreatments(const Aws::VectorAn array of structures that describe the configuration of each feature * variation used in the experiment.
*/ inline void SetTreatments(Aws::VectorAn array of structures that describe the configuration of each feature * variation used in the experiment.
*/ inline Experiment& WithTreatments(const Aws::VectorAn array of structures that describe the configuration of each feature * variation used in the experiment.
*/ inline Experiment& WithTreatments(Aws::VectorAn array of structures that describe the configuration of each feature * variation used in the experiment.
*/ inline Experiment& AddTreatments(const Treatment& value) { m_treatmentsHasBeenSet = true; m_treatments.push_back(value); return *this; } /** *An array of structures that describe the configuration of each feature * variation used in the experiment.
*/ inline Experiment& AddTreatments(Treatment&& value) { m_treatmentsHasBeenSet = true; m_treatments.push_back(std::move(value)); return *this; } /** *The type of this experiment. Currently, this value must be
* aws.experiment.onlineab
.
The type of this experiment. Currently, this value must be
* aws.experiment.onlineab
.
The type of this experiment. Currently, this value must be
* aws.experiment.onlineab
.
The type of this experiment. Currently, this value must be
* aws.experiment.onlineab
.
The type of this experiment. Currently, this value must be
* aws.experiment.onlineab
.
The type of this experiment. Currently, this value must be
* aws.experiment.onlineab
.