AWS SDK for C++

AWS SDK for C++ Version 1.11.716

Loading...
Searching...
No Matches
Experiment.h
1
6#pragma once
7#include <aws/core/utils/DateTime.h>
8#include <aws/core/utils/memory/stl/AWSMap.h>
9#include <aws/core/utils/memory/stl/AWSString.h>
10#include <aws/core/utils/memory/stl/AWSVector.h>
11#include <aws/fis/FIS_EXPORTS.h>
12#include <aws/fis/model/ExperimentAction.h>
13#include <aws/fis/model/ExperimentLogConfiguration.h>
14#include <aws/fis/model/ExperimentOptions.h>
15#include <aws/fis/model/ExperimentReport.h>
16#include <aws/fis/model/ExperimentReportConfiguration.h>
17#include <aws/fis/model/ExperimentState.h>
18#include <aws/fis/model/ExperimentStopCondition.h>
19#include <aws/fis/model/ExperimentTarget.h>
20
21#include <utility>
22
23namespace Aws {
24namespace Utils {
25namespace Json {
26class JsonValue;
27class JsonView;
28} // namespace Json
29} // namespace Utils
30namespace FIS {
31namespace Model {
32
39 public:
40 AWS_FIS_API Experiment() = default;
41 AWS_FIS_API Experiment(Aws::Utils::Json::JsonView jsonValue);
44
46
49 inline const Aws::String& GetId() const { return m_id; }
50 inline bool IdHasBeenSet() const { return m_idHasBeenSet; }
51 template <typename IdT = Aws::String>
52 void SetId(IdT&& value) {
53 m_idHasBeenSet = true;
54 m_id = std::forward<IdT>(value);
55 }
56 template <typename IdT = Aws::String>
57 Experiment& WithId(IdT&& value) {
58 SetId(std::forward<IdT>(value));
59 return *this;
60 }
62
64
67 inline const Aws::String& GetArn() const { return m_arn; }
68 inline bool ArnHasBeenSet() const { return m_arnHasBeenSet; }
69 template <typename ArnT = Aws::String>
70 void SetArn(ArnT&& value) {
71 m_arnHasBeenSet = true;
72 m_arn = std::forward<ArnT>(value);
73 }
74 template <typename ArnT = Aws::String>
75 Experiment& WithArn(ArnT&& value) {
76 SetArn(std::forward<ArnT>(value));
77 return *this;
78 }
80
82
85 inline const Aws::String& GetExperimentTemplateId() const { return m_experimentTemplateId; }
86 inline bool ExperimentTemplateIdHasBeenSet() const { return m_experimentTemplateIdHasBeenSet; }
87 template <typename ExperimentTemplateIdT = Aws::String>
88 void SetExperimentTemplateId(ExperimentTemplateIdT&& value) {
89 m_experimentTemplateIdHasBeenSet = true;
90 m_experimentTemplateId = std::forward<ExperimentTemplateIdT>(value);
91 }
92 template <typename ExperimentTemplateIdT = Aws::String>
93 Experiment& WithExperimentTemplateId(ExperimentTemplateIdT&& value) {
94 SetExperimentTemplateId(std::forward<ExperimentTemplateIdT>(value));
95 return *this;
96 }
98
100
104 inline const Aws::String& GetRoleArn() const { return m_roleArn; }
105 inline bool RoleArnHasBeenSet() const { return m_roleArnHasBeenSet; }
106 template <typename RoleArnT = Aws::String>
107 void SetRoleArn(RoleArnT&& value) {
108 m_roleArnHasBeenSet = true;
109 m_roleArn = std::forward<RoleArnT>(value);
110 }
111 template <typename RoleArnT = Aws::String>
112 Experiment& WithRoleArn(RoleArnT&& value) {
113 SetRoleArn(std::forward<RoleArnT>(value));
114 return *this;
115 }
117
119
122 inline const ExperimentState& GetState() const { return m_state; }
123 inline bool StateHasBeenSet() const { return m_stateHasBeenSet; }
124 template <typename StateT = ExperimentState>
125 void SetState(StateT&& value) {
126 m_stateHasBeenSet = true;
127 m_state = std::forward<StateT>(value);
128 }
129 template <typename StateT = ExperimentState>
130 Experiment& WithState(StateT&& value) {
131 SetState(std::forward<StateT>(value));
132 return *this;
133 }
135
137
140 inline const Aws::Map<Aws::String, ExperimentTarget>& GetTargets() const { return m_targets; }
141 inline bool TargetsHasBeenSet() const { return m_targetsHasBeenSet; }
142 template <typename TargetsT = Aws::Map<Aws::String, ExperimentTarget>>
143 void SetTargets(TargetsT&& value) {
144 m_targetsHasBeenSet = true;
145 m_targets = std::forward<TargetsT>(value);
146 }
147 template <typename TargetsT = Aws::Map<Aws::String, ExperimentTarget>>
148 Experiment& WithTargets(TargetsT&& value) {
149 SetTargets(std::forward<TargetsT>(value));
150 return *this;
151 }
152 template <typename TargetsKeyT = Aws::String, typename TargetsValueT = ExperimentTarget>
153 Experiment& AddTargets(TargetsKeyT&& key, TargetsValueT&& value) {
154 m_targetsHasBeenSet = true;
155 m_targets.emplace(std::forward<TargetsKeyT>(key), std::forward<TargetsValueT>(value));
156 return *this;
157 }
159
161
164 inline const Aws::Map<Aws::String, ExperimentAction>& GetActions() const { return m_actions; }
165 inline bool ActionsHasBeenSet() const { return m_actionsHasBeenSet; }
166 template <typename ActionsT = Aws::Map<Aws::String, ExperimentAction>>
167 void SetActions(ActionsT&& value) {
168 m_actionsHasBeenSet = true;
169 m_actions = std::forward<ActionsT>(value);
170 }
171 template <typename ActionsT = Aws::Map<Aws::String, ExperimentAction>>
172 Experiment& WithActions(ActionsT&& value) {
173 SetActions(std::forward<ActionsT>(value));
174 return *this;
175 }
176 template <typename ActionsKeyT = Aws::String, typename ActionsValueT = ExperimentAction>
177 Experiment& AddActions(ActionsKeyT&& key, ActionsValueT&& value) {
178 m_actionsHasBeenSet = true;
179 m_actions.emplace(std::forward<ActionsKeyT>(key), std::forward<ActionsValueT>(value));
180 return *this;
181 }
183
185
188 inline const Aws::Vector<ExperimentStopCondition>& GetStopConditions() const { return m_stopConditions; }
189 inline bool StopConditionsHasBeenSet() const { return m_stopConditionsHasBeenSet; }
190 template <typename StopConditionsT = Aws::Vector<ExperimentStopCondition>>
191 void SetStopConditions(StopConditionsT&& value) {
192 m_stopConditionsHasBeenSet = true;
193 m_stopConditions = std::forward<StopConditionsT>(value);
194 }
195 template <typename StopConditionsT = Aws::Vector<ExperimentStopCondition>>
196 Experiment& WithStopConditions(StopConditionsT&& value) {
197 SetStopConditions(std::forward<StopConditionsT>(value));
198 return *this;
199 }
200 template <typename StopConditionsT = ExperimentStopCondition>
201 Experiment& AddStopConditions(StopConditionsT&& value) {
202 m_stopConditionsHasBeenSet = true;
203 m_stopConditions.emplace_back(std::forward<StopConditionsT>(value));
204 return *this;
205 }
207
209
212 inline const Aws::Utils::DateTime& GetCreationTime() const { return m_creationTime; }
213 inline bool CreationTimeHasBeenSet() const { return m_creationTimeHasBeenSet; }
214 template <typename CreationTimeT = Aws::Utils::DateTime>
215 void SetCreationTime(CreationTimeT&& value) {
216 m_creationTimeHasBeenSet = true;
217 m_creationTime = std::forward<CreationTimeT>(value);
218 }
219 template <typename CreationTimeT = Aws::Utils::DateTime>
220 Experiment& WithCreationTime(CreationTimeT&& value) {
221 SetCreationTime(std::forward<CreationTimeT>(value));
222 return *this;
223 }
225
227
230 inline const Aws::Utils::DateTime& GetStartTime() const { return m_startTime; }
231 inline bool StartTimeHasBeenSet() const { return m_startTimeHasBeenSet; }
232 template <typename StartTimeT = Aws::Utils::DateTime>
233 void SetStartTime(StartTimeT&& value) {
234 m_startTimeHasBeenSet = true;
235 m_startTime = std::forward<StartTimeT>(value);
236 }
237 template <typename StartTimeT = Aws::Utils::DateTime>
238 Experiment& WithStartTime(StartTimeT&& value) {
239 SetStartTime(std::forward<StartTimeT>(value));
240 return *this;
241 }
243
245
248 inline const Aws::Utils::DateTime& GetEndTime() const { return m_endTime; }
249 inline bool EndTimeHasBeenSet() const { return m_endTimeHasBeenSet; }
250 template <typename EndTimeT = Aws::Utils::DateTime>
251 void SetEndTime(EndTimeT&& value) {
252 m_endTimeHasBeenSet = true;
253 m_endTime = std::forward<EndTimeT>(value);
254 }
255 template <typename EndTimeT = Aws::Utils::DateTime>
256 Experiment& WithEndTime(EndTimeT&& value) {
257 SetEndTime(std::forward<EndTimeT>(value));
258 return *this;
259 }
261
263
266 inline const Aws::Map<Aws::String, Aws::String>& GetTags() const { return m_tags; }
267 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
268 template <typename TagsT = Aws::Map<Aws::String, Aws::String>>
269 void SetTags(TagsT&& value) {
270 m_tagsHasBeenSet = true;
271 m_tags = std::forward<TagsT>(value);
272 }
273 template <typename TagsT = Aws::Map<Aws::String, Aws::String>>
274 Experiment& WithTags(TagsT&& value) {
275 SetTags(std::forward<TagsT>(value));
276 return *this;
277 }
278 template <typename TagsKeyT = Aws::String, typename TagsValueT = Aws::String>
279 Experiment& AddTags(TagsKeyT&& key, TagsValueT&& value) {
280 m_tagsHasBeenSet = true;
281 m_tags.emplace(std::forward<TagsKeyT>(key), std::forward<TagsValueT>(value));
282 return *this;
283 }
285
287
290 inline const ExperimentLogConfiguration& GetLogConfiguration() const { return m_logConfiguration; }
291 inline bool LogConfigurationHasBeenSet() const { return m_logConfigurationHasBeenSet; }
292 template <typename LogConfigurationT = ExperimentLogConfiguration>
293 void SetLogConfiguration(LogConfigurationT&& value) {
294 m_logConfigurationHasBeenSet = true;
295 m_logConfiguration = std::forward<LogConfigurationT>(value);
296 }
297 template <typename LogConfigurationT = ExperimentLogConfiguration>
298 Experiment& WithLogConfiguration(LogConfigurationT&& value) {
299 SetLogConfiguration(std::forward<LogConfigurationT>(value));
300 return *this;
301 }
303
305
308 inline const ExperimentOptions& GetExperimentOptions() const { return m_experimentOptions; }
309 inline bool ExperimentOptionsHasBeenSet() const { return m_experimentOptionsHasBeenSet; }
310 template <typename ExperimentOptionsT = ExperimentOptions>
311 void SetExperimentOptions(ExperimentOptionsT&& value) {
312 m_experimentOptionsHasBeenSet = true;
313 m_experimentOptions = std::forward<ExperimentOptionsT>(value);
314 }
315 template <typename ExperimentOptionsT = ExperimentOptions>
316 Experiment& WithExperimentOptions(ExperimentOptionsT&& value) {
317 SetExperimentOptions(std::forward<ExperimentOptionsT>(value));
318 return *this;
319 }
321
323
326 inline long long GetTargetAccountConfigurationsCount() const { return m_targetAccountConfigurationsCount; }
327 inline bool TargetAccountConfigurationsCountHasBeenSet() const { return m_targetAccountConfigurationsCountHasBeenSet; }
328 inline void SetTargetAccountConfigurationsCount(long long value) {
329 m_targetAccountConfigurationsCountHasBeenSet = true;
330 m_targetAccountConfigurationsCount = value;
331 }
334 return *this;
335 }
337
339
342 inline const ExperimentReportConfiguration& GetExperimentReportConfiguration() const { return m_experimentReportConfiguration; }
343 inline bool ExperimentReportConfigurationHasBeenSet() const { return m_experimentReportConfigurationHasBeenSet; }
344 template <typename ExperimentReportConfigurationT = ExperimentReportConfiguration>
345 void SetExperimentReportConfiguration(ExperimentReportConfigurationT&& value) {
346 m_experimentReportConfigurationHasBeenSet = true;
347 m_experimentReportConfiguration = std::forward<ExperimentReportConfigurationT>(value);
348 }
349 template <typename ExperimentReportConfigurationT = ExperimentReportConfiguration>
350 Experiment& WithExperimentReportConfiguration(ExperimentReportConfigurationT&& value) {
351 SetExperimentReportConfiguration(std::forward<ExperimentReportConfigurationT>(value));
352 return *this;
353 }
355
357
360 inline const ExperimentReport& GetExperimentReport() const { return m_experimentReport; }
361 inline bool ExperimentReportHasBeenSet() const { return m_experimentReportHasBeenSet; }
362 template <typename ExperimentReportT = ExperimentReport>
363 void SetExperimentReport(ExperimentReportT&& value) {
364 m_experimentReportHasBeenSet = true;
365 m_experimentReport = std::forward<ExperimentReportT>(value);
366 }
367 template <typename ExperimentReportT = ExperimentReport>
368 Experiment& WithExperimentReport(ExperimentReportT&& value) {
369 SetExperimentReport(std::forward<ExperimentReportT>(value));
370 return *this;
371 }
373 private:
374 Aws::String m_id;
375
376 Aws::String m_arn;
377
378 Aws::String m_experimentTemplateId;
379
380 Aws::String m_roleArn;
381
382 ExperimentState m_state;
383
385
387
389
390 Aws::Utils::DateTime m_creationTime{};
391
392 Aws::Utils::DateTime m_startTime{};
393
394 Aws::Utils::DateTime m_endTime{};
395
397
398 ExperimentLogConfiguration m_logConfiguration;
399
400 ExperimentOptions m_experimentOptions;
401
402 long long m_targetAccountConfigurationsCount{0};
403
404 ExperimentReportConfiguration m_experimentReportConfiguration;
405
406 ExperimentReport m_experimentReport;
407 bool m_idHasBeenSet = false;
408 bool m_arnHasBeenSet = false;
409 bool m_experimentTemplateIdHasBeenSet = false;
410 bool m_roleArnHasBeenSet = false;
411 bool m_stateHasBeenSet = false;
412 bool m_targetsHasBeenSet = false;
413 bool m_actionsHasBeenSet = false;
414 bool m_stopConditionsHasBeenSet = false;
415 bool m_creationTimeHasBeenSet = false;
416 bool m_startTimeHasBeenSet = false;
417 bool m_endTimeHasBeenSet = false;
418 bool m_tagsHasBeenSet = false;
419 bool m_logConfigurationHasBeenSet = false;
420 bool m_experimentOptionsHasBeenSet = false;
421 bool m_targetAccountConfigurationsCountHasBeenSet = false;
422 bool m_experimentReportConfigurationHasBeenSet = false;
423 bool m_experimentReportHasBeenSet = false;
424};
425
426} // namespace Model
427} // namespace FIS
428} // namespace Aws
Experiment & WithTargetAccountConfigurationsCount(long long value)
Definition Experiment.h:332
void SetEndTime(EndTimeT &&value)
Definition Experiment.h:251
Experiment & WithTags(TagsT &&value)
Definition Experiment.h:274
const Aws::Map< Aws::String, Aws::String > & GetTags() const
Definition Experiment.h:266
const Aws::Map< Aws::String, ExperimentTarget > & GetTargets() const
Definition Experiment.h:140
void SetStopConditions(StopConditionsT &&value)
Definition Experiment.h:191
void SetExperimentReportConfiguration(ExperimentReportConfigurationT &&value)
Definition Experiment.h:345
const ExperimentReportConfiguration & GetExperimentReportConfiguration() const
Definition Experiment.h:342
void SetLogConfiguration(LogConfigurationT &&value)
Definition Experiment.h:293
void SetTargets(TargetsT &&value)
Definition Experiment.h:143
Experiment & WithStopConditions(StopConditionsT &&value)
Definition Experiment.h:196
Experiment & WithActions(ActionsT &&value)
Definition Experiment.h:172
Experiment & WithExperimentOptions(ExperimentOptionsT &&value)
Definition Experiment.h:316
void SetExperimentTemplateId(ExperimentTemplateIdT &&value)
Definition Experiment.h:88
void SetArn(ArnT &&value)
Definition Experiment.h:70
void SetStartTime(StartTimeT &&value)
Definition Experiment.h:233
bool ExperimentOptionsHasBeenSet() const
Definition Experiment.h:309
const Aws::Utils::DateTime & GetCreationTime() const
Definition Experiment.h:212
Experiment & WithExperimentReport(ExperimentReportT &&value)
Definition Experiment.h:368
Experiment & WithEndTime(EndTimeT &&value)
Definition Experiment.h:256
const ExperimentLogConfiguration & GetLogConfiguration() const
Definition Experiment.h:290
bool CreationTimeHasBeenSet() const
Definition Experiment.h:213
bool StartTimeHasBeenSet() const
Definition Experiment.h:231
Experiment & WithRoleArn(RoleArnT &&value)
Definition Experiment.h:112
Experiment & AddTags(TagsKeyT &&key, TagsValueT &&value)
Definition Experiment.h:279
const Aws::String & GetRoleArn() const
Definition Experiment.h:104
const ExperimentOptions & GetExperimentOptions() const
Definition Experiment.h:308
void SetExperimentOptions(ExperimentOptionsT &&value)
Definition Experiment.h:311
void SetActions(ActionsT &&value)
Definition Experiment.h:167
Experiment & WithTargets(TargetsT &&value)
Definition Experiment.h:148
Experiment & AddActions(ActionsKeyT &&key, ActionsValueT &&value)
Definition Experiment.h:177
const Aws::String & GetArn() const
Definition Experiment.h:67
AWS_FIS_API Aws::Utils::Json::JsonValue Jsonize() const
long long GetTargetAccountConfigurationsCount() const
Definition Experiment.h:326
Experiment & WithId(IdT &&value)
Definition Experiment.h:57
const Aws::String & GetId() const
Definition Experiment.h:49
Experiment & AddStopConditions(StopConditionsT &&value)
Definition Experiment.h:201
Experiment & AddTargets(TargetsKeyT &&key, TargetsValueT &&value)
Definition Experiment.h:153
const Aws::Utils::DateTime & GetEndTime() const
Definition Experiment.h:248
Experiment & WithExperimentReportConfiguration(ExperimentReportConfigurationT &&value)
Definition Experiment.h:350
void SetId(IdT &&value)
Definition Experiment.h:52
const ExperimentState & GetState() const
Definition Experiment.h:122
const Aws::String & GetExperimentTemplateId() const
Definition Experiment.h:85
bool StopConditionsHasBeenSet() const
Definition Experiment.h:189
void SetExperimentReport(ExperimentReportT &&value)
Definition Experiment.h:363
bool LogConfigurationHasBeenSet() const
Definition Experiment.h:291
Experiment & WithState(StateT &&value)
Definition Experiment.h:130
bool TargetAccountConfigurationsCountHasBeenSet() const
Definition Experiment.h:327
Experiment & WithStartTime(StartTimeT &&value)
Definition Experiment.h:238
bool ExperimentReportConfigurationHasBeenSet() const
Definition Experiment.h:343
Experiment & WithLogConfiguration(LogConfigurationT &&value)
Definition Experiment.h:298
const ExperimentReport & GetExperimentReport() const
Definition Experiment.h:360
void SetState(StateT &&value)
Definition Experiment.h:125
bool ExperimentReportHasBeenSet() const
Definition Experiment.h:361
AWS_FIS_API Experiment(Aws::Utils::Json::JsonView jsonValue)
void SetCreationTime(CreationTimeT &&value)
Definition Experiment.h:215
bool ExperimentTemplateIdHasBeenSet() const
Definition Experiment.h:86
void SetTags(TagsT &&value)
Definition Experiment.h:269
Experiment & WithArn(ArnT &&value)
Definition Experiment.h:75
const Aws::Utils::DateTime & GetStartTime() const
Definition Experiment.h:230
Experiment & WithExperimentTemplateId(ExperimentTemplateIdT &&value)
Definition Experiment.h:93
const Aws::Vector< ExperimentStopCondition > & GetStopConditions() const
Definition Experiment.h:188
void SetTargetAccountConfigurationsCount(long long value)
Definition Experiment.h:328
void SetRoleArn(RoleArnT &&value)
Definition Experiment.h:107
const Aws::Map< Aws::String, ExperimentAction > & GetActions() const
Definition Experiment.h:164
AWS_FIS_API Experiment()=default
AWS_FIS_API Experiment & operator=(Aws::Utils::Json::JsonView jsonValue)
Experiment & WithCreationTime(CreationTimeT &&value)
Definition Experiment.h:220
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