7#include <aws/evidently/CloudWatchEvidently_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/core/utils/DateTime.h>
10#include <aws/evidently/model/ExperimentExecution.h>
11#include <aws/core/utils/memory/stl/AWSVector.h>
12#include <aws/evidently/model/OnlineAbDefinition.h>
13#include <aws/evidently/model/ExperimentSchedule.h>
14#include <aws/evidently/model/ExperimentStatus.h>
15#include <aws/core/utils/memory/stl/AWSMap.h>
16#include <aws/evidently/model/ExperimentType.h>
17#include <aws/evidently/model/MetricGoal.h>
18#include <aws/evidently/model/Treatment.h>
31namespace CloudWatchEvidently
57 template<
typename ArnT = Aws::String>
58 void SetArn(ArnT&& value) { m_arnHasBeenSet =
true; m_arn = std::forward<ArnT>(value); }
59 template<
typename ArnT = Aws::String>
69 template<
typename CreatedTimeT = Aws::Utils::DateTime>
70 void SetCreatedTime(CreatedTimeT&& value) { m_createdTimeHasBeenSet =
true; m_createdTime = std::forward<CreatedTimeT>(value); }
71 template<
typename CreatedTimeT = Aws::Utils::DateTime>
81 template<
typename DescriptionT = Aws::String>
82 void SetDescription(DescriptionT&& value) { m_descriptionHasBeenSet =
true; m_description = std::forward<DescriptionT>(value); }
83 template<
typename DescriptionT = Aws::String>
94 template<
typename ExecutionT = ExperimentExecution>
95 void SetExecution(ExecutionT&& value) { m_executionHasBeenSet =
true; m_execution = std::forward<ExecutionT>(value); }
96 template<
typename ExecutionT = ExperimentExecution>
106 template<
typename LastUpdatedTimeT = Aws::Utils::DateTime>
107 void SetLastUpdatedTime(LastUpdatedTimeT&& value) { m_lastUpdatedTimeHasBeenSet =
true; m_lastUpdatedTime = std::forward<LastUpdatedTimeT>(value); }
108 template<
typename LastUpdatedTimeT = Aws::Utils::DateTime>
119 template<
typename MetricGoalsT = Aws::Vector<MetricGoal>>
120 void SetMetricGoals(MetricGoalsT&& value) { m_metricGoalsHasBeenSet =
true; m_metricGoals = std::forward<MetricGoalsT>(value); }
121 template<
typename MetricGoalsT = Aws::Vector<MetricGoal>>
123 template<
typename MetricGoalsT = MetricGoal>
124 Experiment&
AddMetricGoals(MetricGoalsT&& value) { m_metricGoalsHasBeenSet =
true; m_metricGoals.emplace_back(std::forward<MetricGoalsT>(value));
return *
this; }
133 template<
typename NameT = Aws::String>
134 void SetName(NameT&& value) { m_nameHasBeenSet =
true; m_name = std::forward<NameT>(value); }
135 template<
typename NameT = Aws::String>
148 template<
typename OnlineAbDefinitionT = OnlineAbDefinition>
149 void SetOnlineAbDefinition(OnlineAbDefinitionT&& value) { m_onlineAbDefinitionHasBeenSet =
true; m_onlineAbDefinition = std::forward<OnlineAbDefinitionT>(value); }
150 template<
typename OnlineAbDefinitionT = OnlineAbDefinition>
160 template<
typename ProjectT = Aws::String>
161 void SetProject(ProjectT&& value) { m_projectHasBeenSet =
true; m_project = std::forward<ProjectT>(value); }
162 template<
typename ProjectT = Aws::String>
175 template<
typename RandomizationSaltT = Aws::String>
176 void SetRandomizationSalt(RandomizationSaltT&& value) { m_randomizationSaltHasBeenSet =
true; m_randomizationSalt = std::forward<RandomizationSaltT>(value); }
177 template<
typename RandomizationSaltT = Aws::String>
191 inline void SetSamplingRate(
long long value) { m_samplingRateHasBeenSet =
true; m_samplingRate = value; }
202 template<
typename ScheduleT = ExperimentSchedule>
203 void SetSchedule(ScheduleT&& value) { m_scheduleHasBeenSet =
true; m_schedule = std::forward<ScheduleT>(value); }
204 template<
typename ScheduleT = ExperimentSchedule>
215 template<
typename SegmentT = Aws::String>
216 void SetSegment(SegmentT&& value) { m_segmentHasBeenSet =
true; m_segment = std::forward<SegmentT>(value); }
217 template<
typename SegmentT = Aws::String>
238 template<
typename StatusReasonT = Aws::String>
239 void SetStatusReason(StatusReasonT&& value) { m_statusReasonHasBeenSet =
true; m_statusReason = std::forward<StatusReasonT>(value); }
240 template<
typename StatusReasonT = Aws::String>
250 template<
typename TagsT = Aws::Map<Aws::String, Aws::String>>
251 void SetTags(TagsT&& value) { m_tagsHasBeenSet =
true; m_tags = std::forward<TagsT>(value); }
252 template<
typename TagsT = Aws::Map<Aws::String, Aws::String>>
254 template<
typename TagsKeyT = Aws::String,
typename TagsValueT = Aws::String>
256 m_tagsHasBeenSet =
true; m_tags.emplace(std::forward<TagsKeyT>(key), std::forward<TagsValueT>(value));
return *
this;
267 template<
typename TreatmentsT = Aws::Vector<Treatment>>
268 void SetTreatments(TreatmentsT&& value) { m_treatmentsHasBeenSet =
true; m_treatments = std::forward<TreatmentsT>(value); }
269 template<
typename TreatmentsT = Aws::Vector<Treatment>>
271 template<
typename TreatmentsT = Treatment>
272 Experiment&
AddTreatments(TreatmentsT&& value) { m_treatmentsHasBeenSet =
true; m_treatments.emplace_back(std::forward<TreatmentsT>(value));
return *
this; }
288 bool m_arnHasBeenSet =
false;
291 bool m_createdTimeHasBeenSet =
false;
294 bool m_descriptionHasBeenSet =
false;
296 ExperimentExecution m_execution;
297 bool m_executionHasBeenSet =
false;
300 bool m_lastUpdatedTimeHasBeenSet =
false;
303 bool m_metricGoalsHasBeenSet =
false;
306 bool m_nameHasBeenSet =
false;
308 OnlineAbDefinition m_onlineAbDefinition;
309 bool m_onlineAbDefinitionHasBeenSet =
false;
312 bool m_projectHasBeenSet =
false;
315 bool m_randomizationSaltHasBeenSet =
false;
317 long long m_samplingRate{0};
318 bool m_samplingRateHasBeenSet =
false;
320 ExperimentSchedule m_schedule;
321 bool m_scheduleHasBeenSet =
false;
324 bool m_segmentHasBeenSet =
false;
327 bool m_statusHasBeenSet =
false;
330 bool m_statusReasonHasBeenSet =
false;
333 bool m_tagsHasBeenSet =
false;
336 bool m_treatmentsHasBeenSet =
false;
339 bool m_typeHasBeenSet =
false;
bool DescriptionHasBeenSet() const
Experiment & WithSchedule(ScheduleT &&value)
const Aws::String & GetProject() const
const Aws::Utils::DateTime & GetLastUpdatedTime() const
bool ScheduleHasBeenSet() const
AWS_CLOUDWATCHEVIDENTLY_API Aws::Utils::Json::JsonValue Jsonize() const
void SetLastUpdatedTime(LastUpdatedTimeT &&value)
const Aws::String & GetArn() const
bool ArnHasBeenSet() const
void SetOnlineAbDefinition(OnlineAbDefinitionT &&value)
bool NameHasBeenSet() const
bool ExecutionHasBeenSet() const
void SetSamplingRate(long long value)
Experiment & AddMetricGoals(MetricGoalsT &&value)
long long GetSamplingRate() const
const Aws::Vector< Treatment > & GetTreatments() const
void SetSegment(SegmentT &&value)
bool MetricGoalsHasBeenSet() const
ExperimentType GetType() const
void SetRandomizationSalt(RandomizationSaltT &&value)
void SetStatus(ExperimentStatus value)
bool TypeHasBeenSet() const
bool ProjectHasBeenSet() const
bool SegmentHasBeenSet() const
bool CreatedTimeHasBeenSet() const
Experiment & WithDescription(DescriptionT &&value)
AWS_CLOUDWATCHEVIDENTLY_API Experiment & operator=(Aws::Utils::Json::JsonView jsonValue)
const Aws::Utils::DateTime & GetCreatedTime() const
void SetExecution(ExecutionT &&value)
const Aws::String & GetSegment() const
AWS_CLOUDWATCHEVIDENTLY_API Experiment(Aws::Utils::Json::JsonView jsonValue)
bool LastUpdatedTimeHasBeenSet() const
Experiment & WithSegment(SegmentT &&value)
bool RandomizationSaltHasBeenSet() const
Experiment & WithCreatedTime(CreatedTimeT &&value)
const OnlineAbDefinition & GetOnlineAbDefinition() const
void SetArn(ArnT &&value)
const Aws::String & GetDescription() const
const ExperimentExecution & GetExecution() const
AWS_CLOUDWATCHEVIDENTLY_API Experiment()=default
Experiment & WithLastUpdatedTime(LastUpdatedTimeT &&value)
void SetTreatments(TreatmentsT &&value)
Experiment & AddTags(TagsKeyT &&key, TagsValueT &&value)
Experiment & WithMetricGoals(MetricGoalsT &&value)
void SetDescription(DescriptionT &&value)
void SetType(ExperimentType value)
bool OnlineAbDefinitionHasBeenSet() const
void SetCreatedTime(CreatedTimeT &&value)
Experiment & WithProject(ProjectT &&value)
void SetSchedule(ScheduleT &&value)
const Aws::Map< Aws::String, Aws::String > & GetTags() const
Experiment & WithStatusReason(StatusReasonT &&value)
void SetProject(ProjectT &&value)
bool StatusReasonHasBeenSet() const
Experiment & WithOnlineAbDefinition(OnlineAbDefinitionT &&value)
Experiment & WithArn(ArnT &&value)
Experiment & WithName(NameT &&value)
Experiment & AddTreatments(TreatmentsT &&value)
Experiment & WithTags(TagsT &&value)
Experiment & WithSamplingRate(long long value)
bool SamplingRateHasBeenSet() const
const Aws::String & GetName() const
Experiment & WithStatus(ExperimentStatus value)
const Aws::String & GetRandomizationSalt() const
Experiment & WithRandomizationSalt(RandomizationSaltT &&value)
void SetStatusReason(StatusReasonT &&value)
ExperimentStatus GetStatus() const
Experiment & WithType(ExperimentType value)
void SetMetricGoals(MetricGoalsT &&value)
void SetTags(TagsT &&value)
bool TreatmentsHasBeenSet() const
bool StatusHasBeenSet() const
const ExperimentSchedule & GetSchedule() const
Experiment & WithExecution(ExecutionT &&value)
const Aws::Vector< MetricGoal > & GetMetricGoals() const
void SetName(NameT &&value)
Experiment & WithTreatments(TreatmentsT &&value)
bool TagsHasBeenSet() const
const Aws::String & GetStatusReason() const
std::map< K, V, std::less< K >, Aws::Allocator< std::pair< const K, V > > > Map
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue