AWS SDK for C++

AWS SDK for C++ Version 1.11.607

Loading...
Searching...
No Matches
Experiment.h
1
6#pragma once
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>
19#include <utility>
20
21namespace Aws
22{
23namespace Utils
24{
25namespace Json
26{
27 class JsonValue;
28 class JsonView;
29} // namespace Json
30} // namespace Utils
31namespace CloudWatchEvidently
32{
33namespace Model
34{
35
43 {
44 public:
45 AWS_CLOUDWATCHEVIDENTLY_API Experiment() = default;
46 AWS_CLOUDWATCHEVIDENTLY_API Experiment(Aws::Utils::Json::JsonView jsonValue);
47 AWS_CLOUDWATCHEVIDENTLY_API Experiment& operator=(Aws::Utils::Json::JsonView jsonValue);
48 AWS_CLOUDWATCHEVIDENTLY_API Aws::Utils::Json::JsonValue Jsonize() const;
49
50
52
55 inline const Aws::String& GetArn() const { return m_arn; }
56 inline bool ArnHasBeenSet() const { return m_arnHasBeenSet; }
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>
60 Experiment& WithArn(ArnT&& value) { SetArn(std::forward<ArnT>(value)); return *this;}
62
64
67 inline const Aws::Utils::DateTime& GetCreatedTime() const { return m_createdTime; }
68 inline bool CreatedTimeHasBeenSet() const { return m_createdTimeHasBeenSet; }
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>
72 Experiment& WithCreatedTime(CreatedTimeT&& value) { SetCreatedTime(std::forward<CreatedTimeT>(value)); return *this;}
74
76
79 inline const Aws::String& GetDescription() const { return m_description; }
80 inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; }
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>
84 Experiment& WithDescription(DescriptionT&& value) { SetDescription(std::forward<DescriptionT>(value)); return *this;}
86
88
92 inline const ExperimentExecution& GetExecution() const { return m_execution; }
93 inline bool ExecutionHasBeenSet() const { return m_executionHasBeenSet; }
94 template<typename ExecutionT = ExperimentExecution>
95 void SetExecution(ExecutionT&& value) { m_executionHasBeenSet = true; m_execution = std::forward<ExecutionT>(value); }
96 template<typename ExecutionT = ExperimentExecution>
97 Experiment& WithExecution(ExecutionT&& value) { SetExecution(std::forward<ExecutionT>(value)); return *this;}
99
101
104 inline const Aws::Utils::DateTime& GetLastUpdatedTime() const { return m_lastUpdatedTime; }
105 inline bool LastUpdatedTimeHasBeenSet() const { return m_lastUpdatedTimeHasBeenSet; }
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>
109 Experiment& WithLastUpdatedTime(LastUpdatedTimeT&& value) { SetLastUpdatedTime(std::forward<LastUpdatedTimeT>(value)); return *this;}
111
113
117 inline const Aws::Vector<MetricGoal>& GetMetricGoals() const { return m_metricGoals; }
118 inline bool MetricGoalsHasBeenSet() const { return m_metricGoalsHasBeenSet; }
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>>
122 Experiment& WithMetricGoals(MetricGoalsT&& value) { SetMetricGoals(std::forward<MetricGoalsT>(value)); return *this;}
123 template<typename MetricGoalsT = MetricGoal>
124 Experiment& AddMetricGoals(MetricGoalsT&& value) { m_metricGoalsHasBeenSet = true; m_metricGoals.emplace_back(std::forward<MetricGoalsT>(value)); return *this; }
126
128
131 inline const Aws::String& GetName() const { return m_name; }
132 inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
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>
136 Experiment& WithName(NameT&& value) { SetName(std::forward<NameT>(value)); return *this;}
138
140
146 inline const OnlineAbDefinition& GetOnlineAbDefinition() const { return m_onlineAbDefinition; }
147 inline bool OnlineAbDefinitionHasBeenSet() const { return m_onlineAbDefinitionHasBeenSet; }
148 template<typename OnlineAbDefinitionT = OnlineAbDefinition>
149 void SetOnlineAbDefinition(OnlineAbDefinitionT&& value) { m_onlineAbDefinitionHasBeenSet = true; m_onlineAbDefinition = std::forward<OnlineAbDefinitionT>(value); }
150 template<typename OnlineAbDefinitionT = OnlineAbDefinition>
151 Experiment& WithOnlineAbDefinition(OnlineAbDefinitionT&& value) { SetOnlineAbDefinition(std::forward<OnlineAbDefinitionT>(value)); return *this;}
153
155
158 inline const Aws::String& GetProject() const { return m_project; }
159 inline bool ProjectHasBeenSet() const { return m_projectHasBeenSet; }
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>
163 Experiment& WithProject(ProjectT&& value) { SetProject(std::forward<ProjectT>(value)); return *this;}
165
167
173 inline const Aws::String& GetRandomizationSalt() const { return m_randomizationSalt; }
174 inline bool RandomizationSaltHasBeenSet() const { return m_randomizationSaltHasBeenSet; }
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>
178 Experiment& WithRandomizationSalt(RandomizationSaltT&& value) { SetRandomizationSalt(std::forward<RandomizationSaltT>(value)); return *this;}
180
182
189 inline long long GetSamplingRate() const { return m_samplingRate; }
190 inline bool SamplingRateHasBeenSet() const { return m_samplingRateHasBeenSet; }
191 inline void SetSamplingRate(long long value) { m_samplingRateHasBeenSet = true; m_samplingRate = value; }
192 inline Experiment& WithSamplingRate(long long value) { SetSamplingRate(value); return *this;}
194
196
200 inline const ExperimentSchedule& GetSchedule() const { return m_schedule; }
201 inline bool ScheduleHasBeenSet() const { return m_scheduleHasBeenSet; }
202 template<typename ScheduleT = ExperimentSchedule>
203 void SetSchedule(ScheduleT&& value) { m_scheduleHasBeenSet = true; m_schedule = std::forward<ScheduleT>(value); }
204 template<typename ScheduleT = ExperimentSchedule>
205 Experiment& WithSchedule(ScheduleT&& value) { SetSchedule(std::forward<ScheduleT>(value)); return *this;}
207
209
213 inline const Aws::String& GetSegment() const { return m_segment; }
214 inline bool SegmentHasBeenSet() const { return m_segmentHasBeenSet; }
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>
218 Experiment& WithSegment(SegmentT&& value) { SetSegment(std::forward<SegmentT>(value)); return *this;}
220
222
225 inline ExperimentStatus GetStatus() const { return m_status; }
226 inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; }
227 inline void SetStatus(ExperimentStatus value) { m_statusHasBeenSet = true; m_status = value; }
228 inline Experiment& WithStatus(ExperimentStatus value) { SetStatus(value); return *this;}
230
232
236 inline const Aws::String& GetStatusReason() const { return m_statusReason; }
237 inline bool StatusReasonHasBeenSet() const { return m_statusReasonHasBeenSet; }
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>
241 Experiment& WithStatusReason(StatusReasonT&& value) { SetStatusReason(std::forward<StatusReasonT>(value)); return *this;}
243
245
248 inline const Aws::Map<Aws::String, Aws::String>& GetTags() const { return m_tags; }
249 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
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>>
253 Experiment& WithTags(TagsT&& value) { SetTags(std::forward<TagsT>(value)); return *this;}
254 template<typename TagsKeyT = Aws::String, typename TagsValueT = Aws::String>
255 Experiment& AddTags(TagsKeyT&& key, TagsValueT&& value) {
256 m_tagsHasBeenSet = true; m_tags.emplace(std::forward<TagsKeyT>(key), std::forward<TagsValueT>(value)); return *this;
257 }
259
261
265 inline const Aws::Vector<Treatment>& GetTreatments() const { return m_treatments; }
266 inline bool TreatmentsHasBeenSet() const { return m_treatmentsHasBeenSet; }
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>>
270 Experiment& WithTreatments(TreatmentsT&& value) { SetTreatments(std::forward<TreatmentsT>(value)); return *this;}
271 template<typename TreatmentsT = Treatment>
272 Experiment& AddTreatments(TreatmentsT&& value) { m_treatmentsHasBeenSet = true; m_treatments.emplace_back(std::forward<TreatmentsT>(value)); return *this; }
274
276
280 inline ExperimentType GetType() const { return m_type; }
281 inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; }
282 inline void SetType(ExperimentType value) { m_typeHasBeenSet = true; m_type = value; }
283 inline Experiment& WithType(ExperimentType value) { SetType(value); return *this;}
285 private:
286
287 Aws::String m_arn;
288 bool m_arnHasBeenSet = false;
289
290 Aws::Utils::DateTime m_createdTime{};
291 bool m_createdTimeHasBeenSet = false;
292
293 Aws::String m_description;
294 bool m_descriptionHasBeenSet = false;
295
296 ExperimentExecution m_execution;
297 bool m_executionHasBeenSet = false;
298
299 Aws::Utils::DateTime m_lastUpdatedTime{};
300 bool m_lastUpdatedTimeHasBeenSet = false;
301
302 Aws::Vector<MetricGoal> m_metricGoals;
303 bool m_metricGoalsHasBeenSet = false;
304
305 Aws::String m_name;
306 bool m_nameHasBeenSet = false;
307
308 OnlineAbDefinition m_onlineAbDefinition;
309 bool m_onlineAbDefinitionHasBeenSet = false;
310
311 Aws::String m_project;
312 bool m_projectHasBeenSet = false;
313
314 Aws::String m_randomizationSalt;
315 bool m_randomizationSaltHasBeenSet = false;
316
317 long long m_samplingRate{0};
318 bool m_samplingRateHasBeenSet = false;
319
320 ExperimentSchedule m_schedule;
321 bool m_scheduleHasBeenSet = false;
322
323 Aws::String m_segment;
324 bool m_segmentHasBeenSet = false;
325
327 bool m_statusHasBeenSet = false;
328
329 Aws::String m_statusReason;
330 bool m_statusReasonHasBeenSet = false;
331
333 bool m_tagsHasBeenSet = false;
334
335 Aws::Vector<Treatment> m_treatments;
336 bool m_treatmentsHasBeenSet = false;
337
339 bool m_typeHasBeenSet = false;
340 };
341
342} // namespace Model
343} // namespace CloudWatchEvidently
344} // namespace Aws
Experiment & WithSchedule(ScheduleT &&value)
Definition Experiment.h:205
const Aws::String & GetProject() const
Definition Experiment.h:158
const Aws::Utils::DateTime & GetLastUpdatedTime() const
Definition Experiment.h:104
AWS_CLOUDWATCHEVIDENTLY_API Aws::Utils::Json::JsonValue Jsonize() const
void SetLastUpdatedTime(LastUpdatedTimeT &&value)
Definition Experiment.h:107
const Aws::String & GetArn() const
Definition Experiment.h:55
void SetOnlineAbDefinition(OnlineAbDefinitionT &&value)
Definition Experiment.h:149
Experiment & AddMetricGoals(MetricGoalsT &&value)
Definition Experiment.h:124
const Aws::Vector< Treatment > & GetTreatments() const
Definition Experiment.h:265
void SetRandomizationSalt(RandomizationSaltT &&value)
Definition Experiment.h:176
void SetStatus(ExperimentStatus value)
Definition Experiment.h:227
Experiment & WithDescription(DescriptionT &&value)
Definition Experiment.h:84
AWS_CLOUDWATCHEVIDENTLY_API Experiment & operator=(Aws::Utils::Json::JsonView jsonValue)
const Aws::Utils::DateTime & GetCreatedTime() const
Definition Experiment.h:67
void SetExecution(ExecutionT &&value)
Definition Experiment.h:95
const Aws::String & GetSegment() const
Definition Experiment.h:213
AWS_CLOUDWATCHEVIDENTLY_API Experiment(Aws::Utils::Json::JsonView jsonValue)
Experiment & WithSegment(SegmentT &&value)
Definition Experiment.h:218
Experiment & WithCreatedTime(CreatedTimeT &&value)
Definition Experiment.h:72
const OnlineAbDefinition & GetOnlineAbDefinition() const
Definition Experiment.h:146
const Aws::String & GetDescription() const
Definition Experiment.h:79
const ExperimentExecution & GetExecution() const
Definition Experiment.h:92
AWS_CLOUDWATCHEVIDENTLY_API Experiment()=default
Experiment & WithLastUpdatedTime(LastUpdatedTimeT &&value)
Definition Experiment.h:109
void SetTreatments(TreatmentsT &&value)
Definition Experiment.h:268
Experiment & AddTags(TagsKeyT &&key, TagsValueT &&value)
Definition Experiment.h:255
Experiment & WithMetricGoals(MetricGoalsT &&value)
Definition Experiment.h:122
void SetDescription(DescriptionT &&value)
Definition Experiment.h:82
void SetCreatedTime(CreatedTimeT &&value)
Definition Experiment.h:70
Experiment & WithProject(ProjectT &&value)
Definition Experiment.h:163
const Aws::Map< Aws::String, Aws::String > & GetTags() const
Definition Experiment.h:248
Experiment & WithStatusReason(StatusReasonT &&value)
Definition Experiment.h:241
Experiment & WithOnlineAbDefinition(OnlineAbDefinitionT &&value)
Definition Experiment.h:151
Experiment & WithArn(ArnT &&value)
Definition Experiment.h:60
Experiment & WithName(NameT &&value)
Definition Experiment.h:136
Experiment & AddTreatments(TreatmentsT &&value)
Definition Experiment.h:272
Experiment & WithTags(TagsT &&value)
Definition Experiment.h:253
Experiment & WithSamplingRate(long long value)
Definition Experiment.h:192
const Aws::String & GetName() const
Definition Experiment.h:131
Experiment & WithStatus(ExperimentStatus value)
Definition Experiment.h:228
const Aws::String & GetRandomizationSalt() const
Definition Experiment.h:173
Experiment & WithRandomizationSalt(RandomizationSaltT &&value)
Definition Experiment.h:178
void SetStatusReason(StatusReasonT &&value)
Definition Experiment.h:239
Experiment & WithType(ExperimentType value)
Definition Experiment.h:283
void SetMetricGoals(MetricGoalsT &&value)
Definition Experiment.h:120
const ExperimentSchedule & GetSchedule() const
Definition Experiment.h:200
Experiment & WithExecution(ExecutionT &&value)
Definition Experiment.h:97
const Aws::Vector< MetricGoal > & GetMetricGoals() const
Definition Experiment.h:117
Experiment & WithTreatments(TreatmentsT &&value)
Definition Experiment.h:270
const Aws::String & GetStatusReason() const
Definition Experiment.h:236
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