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/fis/FIS_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/fis/model/ExperimentState.h>
10#include <aws/core/utils/memory/stl/AWSMap.h>
11#include <aws/core/utils/memory/stl/AWSVector.h>
12#include <aws/core/utils/DateTime.h>
13#include <aws/fis/model/ExperimentLogConfiguration.h>
14#include <aws/fis/model/ExperimentOptions.h>
15#include <aws/fis/model/ExperimentReportConfiguration.h>
16#include <aws/fis/model/ExperimentReport.h>
17#include <aws/fis/model/ExperimentTarget.h>
18#include <aws/fis/model/ExperimentAction.h>
19#include <aws/fis/model/ExperimentStopCondition.h>
20#include <utility>
21
22namespace Aws
23{
24namespace Utils
25{
26namespace Json
27{
28 class JsonValue;
29 class JsonView;
30} // namespace Json
31} // namespace Utils
32namespace FIS
33{
34namespace Model
35{
36
43 {
44 public:
45 AWS_FIS_API Experiment() = default;
46 AWS_FIS_API Experiment(Aws::Utils::Json::JsonView jsonValue);
49
50
52
55 inline const Aws::String& GetId() const { return m_id; }
56 inline bool IdHasBeenSet() const { return m_idHasBeenSet; }
57 template<typename IdT = Aws::String>
58 void SetId(IdT&& value) { m_idHasBeenSet = true; m_id = std::forward<IdT>(value); }
59 template<typename IdT = Aws::String>
60 Experiment& WithId(IdT&& value) { SetId(std::forward<IdT>(value)); return *this;}
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) { m_arnHasBeenSet = true; m_arn = std::forward<ArnT>(value); }
71 template<typename ArnT = Aws::String>
72 Experiment& WithArn(ArnT&& value) { SetArn(std::forward<ArnT>(value)); return *this;}
74
76
79 inline const Aws::String& GetExperimentTemplateId() const { return m_experimentTemplateId; }
80 inline bool ExperimentTemplateIdHasBeenSet() const { return m_experimentTemplateIdHasBeenSet; }
81 template<typename ExperimentTemplateIdT = Aws::String>
82 void SetExperimentTemplateId(ExperimentTemplateIdT&& value) { m_experimentTemplateIdHasBeenSet = true; m_experimentTemplateId = std::forward<ExperimentTemplateIdT>(value); }
83 template<typename ExperimentTemplateIdT = Aws::String>
84 Experiment& WithExperimentTemplateId(ExperimentTemplateIdT&& value) { SetExperimentTemplateId(std::forward<ExperimentTemplateIdT>(value)); return *this;}
86
88
92 inline const Aws::String& GetRoleArn() const { return m_roleArn; }
93 inline bool RoleArnHasBeenSet() const { return m_roleArnHasBeenSet; }
94 template<typename RoleArnT = Aws::String>
95 void SetRoleArn(RoleArnT&& value) { m_roleArnHasBeenSet = true; m_roleArn = std::forward<RoleArnT>(value); }
96 template<typename RoleArnT = Aws::String>
97 Experiment& WithRoleArn(RoleArnT&& value) { SetRoleArn(std::forward<RoleArnT>(value)); return *this;}
99
101
104 inline const ExperimentState& GetState() const { return m_state; }
105 inline bool StateHasBeenSet() const { return m_stateHasBeenSet; }
106 template<typename StateT = ExperimentState>
107 void SetState(StateT&& value) { m_stateHasBeenSet = true; m_state = std::forward<StateT>(value); }
108 template<typename StateT = ExperimentState>
109 Experiment& WithState(StateT&& value) { SetState(std::forward<StateT>(value)); return *this;}
111
113
116 inline const Aws::Map<Aws::String, ExperimentTarget>& GetTargets() const { return m_targets; }
117 inline bool TargetsHasBeenSet() const { return m_targetsHasBeenSet; }
118 template<typename TargetsT = Aws::Map<Aws::String, ExperimentTarget>>
119 void SetTargets(TargetsT&& value) { m_targetsHasBeenSet = true; m_targets = std::forward<TargetsT>(value); }
120 template<typename TargetsT = Aws::Map<Aws::String, ExperimentTarget>>
121 Experiment& WithTargets(TargetsT&& value) { SetTargets(std::forward<TargetsT>(value)); return *this;}
122 template<typename TargetsKeyT = Aws::String, typename TargetsValueT = ExperimentTarget>
123 Experiment& AddTargets(TargetsKeyT&& key, TargetsValueT&& value) {
124 m_targetsHasBeenSet = true; m_targets.emplace(std::forward<TargetsKeyT>(key), std::forward<TargetsValueT>(value)); return *this;
125 }
127
129
132 inline const Aws::Map<Aws::String, ExperimentAction>& GetActions() const { return m_actions; }
133 inline bool ActionsHasBeenSet() const { return m_actionsHasBeenSet; }
134 template<typename ActionsT = Aws::Map<Aws::String, ExperimentAction>>
135 void SetActions(ActionsT&& value) { m_actionsHasBeenSet = true; m_actions = std::forward<ActionsT>(value); }
136 template<typename ActionsT = Aws::Map<Aws::String, ExperimentAction>>
137 Experiment& WithActions(ActionsT&& value) { SetActions(std::forward<ActionsT>(value)); return *this;}
138 template<typename ActionsKeyT = Aws::String, typename ActionsValueT = ExperimentAction>
139 Experiment& AddActions(ActionsKeyT&& key, ActionsValueT&& value) {
140 m_actionsHasBeenSet = true; m_actions.emplace(std::forward<ActionsKeyT>(key), std::forward<ActionsValueT>(value)); return *this;
141 }
143
145
148 inline const Aws::Vector<ExperimentStopCondition>& GetStopConditions() const { return m_stopConditions; }
149 inline bool StopConditionsHasBeenSet() const { return m_stopConditionsHasBeenSet; }
150 template<typename StopConditionsT = Aws::Vector<ExperimentStopCondition>>
151 void SetStopConditions(StopConditionsT&& value) { m_stopConditionsHasBeenSet = true; m_stopConditions = std::forward<StopConditionsT>(value); }
152 template<typename StopConditionsT = Aws::Vector<ExperimentStopCondition>>
153 Experiment& WithStopConditions(StopConditionsT&& value) { SetStopConditions(std::forward<StopConditionsT>(value)); return *this;}
154 template<typename StopConditionsT = ExperimentStopCondition>
155 Experiment& AddStopConditions(StopConditionsT&& value) { m_stopConditionsHasBeenSet = true; m_stopConditions.emplace_back(std::forward<StopConditionsT>(value)); return *this; }
157
159
162 inline const Aws::Utils::DateTime& GetCreationTime() const { return m_creationTime; }
163 inline bool CreationTimeHasBeenSet() const { return m_creationTimeHasBeenSet; }
164 template<typename CreationTimeT = Aws::Utils::DateTime>
165 void SetCreationTime(CreationTimeT&& value) { m_creationTimeHasBeenSet = true; m_creationTime = std::forward<CreationTimeT>(value); }
166 template<typename CreationTimeT = Aws::Utils::DateTime>
167 Experiment& WithCreationTime(CreationTimeT&& value) { SetCreationTime(std::forward<CreationTimeT>(value)); return *this;}
169
171
174 inline const Aws::Utils::DateTime& GetStartTime() const { return m_startTime; }
175 inline bool StartTimeHasBeenSet() const { return m_startTimeHasBeenSet; }
176 template<typename StartTimeT = Aws::Utils::DateTime>
177 void SetStartTime(StartTimeT&& value) { m_startTimeHasBeenSet = true; m_startTime = std::forward<StartTimeT>(value); }
178 template<typename StartTimeT = Aws::Utils::DateTime>
179 Experiment& WithStartTime(StartTimeT&& value) { SetStartTime(std::forward<StartTimeT>(value)); return *this;}
181
183
186 inline const Aws::Utils::DateTime& GetEndTime() const { return m_endTime; }
187 inline bool EndTimeHasBeenSet() const { return m_endTimeHasBeenSet; }
188 template<typename EndTimeT = Aws::Utils::DateTime>
189 void SetEndTime(EndTimeT&& value) { m_endTimeHasBeenSet = true; m_endTime = std::forward<EndTimeT>(value); }
190 template<typename EndTimeT = Aws::Utils::DateTime>
191 Experiment& WithEndTime(EndTimeT&& value) { SetEndTime(std::forward<EndTimeT>(value)); return *this;}
193
195
198 inline const Aws::Map<Aws::String, Aws::String>& GetTags() const { return m_tags; }
199 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
200 template<typename TagsT = Aws::Map<Aws::String, Aws::String>>
201 void SetTags(TagsT&& value) { m_tagsHasBeenSet = true; m_tags = std::forward<TagsT>(value); }
202 template<typename TagsT = Aws::Map<Aws::String, Aws::String>>
203 Experiment& WithTags(TagsT&& value) { SetTags(std::forward<TagsT>(value)); return *this;}
204 template<typename TagsKeyT = Aws::String, typename TagsValueT = Aws::String>
205 Experiment& AddTags(TagsKeyT&& key, TagsValueT&& value) {
206 m_tagsHasBeenSet = true; m_tags.emplace(std::forward<TagsKeyT>(key), std::forward<TagsValueT>(value)); return *this;
207 }
209
211
214 inline const ExperimentLogConfiguration& GetLogConfiguration() const { return m_logConfiguration; }
215 inline bool LogConfigurationHasBeenSet() const { return m_logConfigurationHasBeenSet; }
216 template<typename LogConfigurationT = ExperimentLogConfiguration>
217 void SetLogConfiguration(LogConfigurationT&& value) { m_logConfigurationHasBeenSet = true; m_logConfiguration = std::forward<LogConfigurationT>(value); }
218 template<typename LogConfigurationT = ExperimentLogConfiguration>
219 Experiment& WithLogConfiguration(LogConfigurationT&& value) { SetLogConfiguration(std::forward<LogConfigurationT>(value)); return *this;}
221
223
226 inline const ExperimentOptions& GetExperimentOptions() const { return m_experimentOptions; }
227 inline bool ExperimentOptionsHasBeenSet() const { return m_experimentOptionsHasBeenSet; }
228 template<typename ExperimentOptionsT = ExperimentOptions>
229 void SetExperimentOptions(ExperimentOptionsT&& value) { m_experimentOptionsHasBeenSet = true; m_experimentOptions = std::forward<ExperimentOptionsT>(value); }
230 template<typename ExperimentOptionsT = ExperimentOptions>
231 Experiment& WithExperimentOptions(ExperimentOptionsT&& value) { SetExperimentOptions(std::forward<ExperimentOptionsT>(value)); return *this;}
233
235
238 inline long long GetTargetAccountConfigurationsCount() const { return m_targetAccountConfigurationsCount; }
239 inline bool TargetAccountConfigurationsCountHasBeenSet() const { return m_targetAccountConfigurationsCountHasBeenSet; }
240 inline void SetTargetAccountConfigurationsCount(long long value) { m_targetAccountConfigurationsCountHasBeenSet = true; m_targetAccountConfigurationsCount = value; }
243
245
248 inline const ExperimentReportConfiguration& GetExperimentReportConfiguration() const { return m_experimentReportConfiguration; }
249 inline bool ExperimentReportConfigurationHasBeenSet() const { return m_experimentReportConfigurationHasBeenSet; }
250 template<typename ExperimentReportConfigurationT = ExperimentReportConfiguration>
251 void SetExperimentReportConfiguration(ExperimentReportConfigurationT&& value) { m_experimentReportConfigurationHasBeenSet = true; m_experimentReportConfiguration = std::forward<ExperimentReportConfigurationT>(value); }
252 template<typename ExperimentReportConfigurationT = ExperimentReportConfiguration>
253 Experiment& WithExperimentReportConfiguration(ExperimentReportConfigurationT&& value) { SetExperimentReportConfiguration(std::forward<ExperimentReportConfigurationT>(value)); return *this;}
255
257
260 inline const ExperimentReport& GetExperimentReport() const { return m_experimentReport; }
261 inline bool ExperimentReportHasBeenSet() const { return m_experimentReportHasBeenSet; }
262 template<typename ExperimentReportT = ExperimentReport>
263 void SetExperimentReport(ExperimentReportT&& value) { m_experimentReportHasBeenSet = true; m_experimentReport = std::forward<ExperimentReportT>(value); }
264 template<typename ExperimentReportT = ExperimentReport>
265 Experiment& WithExperimentReport(ExperimentReportT&& value) { SetExperimentReport(std::forward<ExperimentReportT>(value)); return *this;}
267 private:
268
269 Aws::String m_id;
270 bool m_idHasBeenSet = false;
271
272 Aws::String m_arn;
273 bool m_arnHasBeenSet = false;
274
275 Aws::String m_experimentTemplateId;
276 bool m_experimentTemplateIdHasBeenSet = false;
277
278 Aws::String m_roleArn;
279 bool m_roleArnHasBeenSet = false;
280
281 ExperimentState m_state;
282 bool m_stateHasBeenSet = false;
283
285 bool m_targetsHasBeenSet = false;
286
288 bool m_actionsHasBeenSet = false;
289
291 bool m_stopConditionsHasBeenSet = false;
292
293 Aws::Utils::DateTime m_creationTime{};
294 bool m_creationTimeHasBeenSet = false;
295
296 Aws::Utils::DateTime m_startTime{};
297 bool m_startTimeHasBeenSet = false;
298
299 Aws::Utils::DateTime m_endTime{};
300 bool m_endTimeHasBeenSet = false;
301
303 bool m_tagsHasBeenSet = false;
304
305 ExperimentLogConfiguration m_logConfiguration;
306 bool m_logConfigurationHasBeenSet = false;
307
308 ExperimentOptions m_experimentOptions;
309 bool m_experimentOptionsHasBeenSet = false;
310
311 long long m_targetAccountConfigurationsCount{0};
312 bool m_targetAccountConfigurationsCountHasBeenSet = false;
313
314 ExperimentReportConfiguration m_experimentReportConfiguration;
315 bool m_experimentReportConfigurationHasBeenSet = false;
316
317 ExperimentReport m_experimentReport;
318 bool m_experimentReportHasBeenSet = false;
319 };
320
321} // namespace Model
322} // namespace FIS
323} // namespace Aws
Experiment & WithTargetAccountConfigurationsCount(long long value)
Definition Experiment.h:241
void SetEndTime(EndTimeT &&value)
Definition Experiment.h:189
Experiment & WithTags(TagsT &&value)
Definition Experiment.h:203
const Aws::Map< Aws::String, Aws::String > & GetTags() const
Definition Experiment.h:198
const Aws::Map< Aws::String, ExperimentTarget > & GetTargets() const
Definition Experiment.h:116
void SetStopConditions(StopConditionsT &&value)
Definition Experiment.h:151
void SetExperimentReportConfiguration(ExperimentReportConfigurationT &&value)
Definition Experiment.h:251
const ExperimentReportConfiguration & GetExperimentReportConfiguration() const
Definition Experiment.h:248
void SetLogConfiguration(LogConfigurationT &&value)
Definition Experiment.h:217
void SetTargets(TargetsT &&value)
Definition Experiment.h:119
Experiment & WithStopConditions(StopConditionsT &&value)
Definition Experiment.h:153
Experiment & WithActions(ActionsT &&value)
Definition Experiment.h:137
Experiment & WithExperimentOptions(ExperimentOptionsT &&value)
Definition Experiment.h:231
void SetExperimentTemplateId(ExperimentTemplateIdT &&value)
Definition Experiment.h:82
void SetArn(ArnT &&value)
Definition Experiment.h:70
void SetStartTime(StartTimeT &&value)
Definition Experiment.h:177
bool ExperimentOptionsHasBeenSet() const
Definition Experiment.h:227
const Aws::Utils::DateTime & GetCreationTime() const
Definition Experiment.h:162
Experiment & WithExperimentReport(ExperimentReportT &&value)
Definition Experiment.h:265
Experiment & WithEndTime(EndTimeT &&value)
Definition Experiment.h:191
const ExperimentLogConfiguration & GetLogConfiguration() const
Definition Experiment.h:214
bool CreationTimeHasBeenSet() const
Definition Experiment.h:163
bool StartTimeHasBeenSet() const
Definition Experiment.h:175
Experiment & WithRoleArn(RoleArnT &&value)
Definition Experiment.h:97
Experiment & AddTags(TagsKeyT &&key, TagsValueT &&value)
Definition Experiment.h:205
const Aws::String & GetRoleArn() const
Definition Experiment.h:92
const ExperimentOptions & GetExperimentOptions() const
Definition Experiment.h:226
void SetExperimentOptions(ExperimentOptionsT &&value)
Definition Experiment.h:229
void SetActions(ActionsT &&value)
Definition Experiment.h:135
Experiment & WithTargets(TargetsT &&value)
Definition Experiment.h:121
Experiment & AddActions(ActionsKeyT &&key, ActionsValueT &&value)
Definition Experiment.h:139
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:238
Experiment & WithId(IdT &&value)
Definition Experiment.h:60
const Aws::String & GetId() const
Definition Experiment.h:55
Experiment & AddStopConditions(StopConditionsT &&value)
Definition Experiment.h:155
Experiment & AddTargets(TargetsKeyT &&key, TargetsValueT &&value)
Definition Experiment.h:123
const Aws::Utils::DateTime & GetEndTime() const
Definition Experiment.h:186
Experiment & WithExperimentReportConfiguration(ExperimentReportConfigurationT &&value)
Definition Experiment.h:253
void SetId(IdT &&value)
Definition Experiment.h:58
const ExperimentState & GetState() const
Definition Experiment.h:104
const Aws::String & GetExperimentTemplateId() const
Definition Experiment.h:79
bool StopConditionsHasBeenSet() const
Definition Experiment.h:149
void SetExperimentReport(ExperimentReportT &&value)
Definition Experiment.h:263
bool LogConfigurationHasBeenSet() const
Definition Experiment.h:215
Experiment & WithState(StateT &&value)
Definition Experiment.h:109
bool TargetAccountConfigurationsCountHasBeenSet() const
Definition Experiment.h:239
bool RoleArnHasBeenSet() const
Definition Experiment.h:93
Experiment & WithStartTime(StartTimeT &&value)
Definition Experiment.h:179
bool ExperimentReportConfigurationHasBeenSet() const
Definition Experiment.h:249
Experiment & WithLogConfiguration(LogConfigurationT &&value)
Definition Experiment.h:219
const ExperimentReport & GetExperimentReport() const
Definition Experiment.h:260
void SetState(StateT &&value)
Definition Experiment.h:107
bool ExperimentReportHasBeenSet() const
Definition Experiment.h:261
AWS_FIS_API Experiment(Aws::Utils::Json::JsonView jsonValue)
void SetCreationTime(CreationTimeT &&value)
Definition Experiment.h:165
bool ExperimentTemplateIdHasBeenSet() const
Definition Experiment.h:80
void SetTags(TagsT &&value)
Definition Experiment.h:201
Experiment & WithArn(ArnT &&value)
Definition Experiment.h:72
const Aws::Utils::DateTime & GetStartTime() const
Definition Experiment.h:174
Experiment & WithExperimentTemplateId(ExperimentTemplateIdT &&value)
Definition Experiment.h:84
const Aws::Vector< ExperimentStopCondition > & GetStopConditions() const
Definition Experiment.h:148
void SetTargetAccountConfigurationsCount(long long value)
Definition Experiment.h:240
void SetRoleArn(RoleArnT &&value)
Definition Experiment.h:95
const Aws::Map< Aws::String, ExperimentAction > & GetActions() const
Definition Experiment.h:132
AWS_FIS_API Experiment()=default
AWS_FIS_API Experiment & operator=(Aws::Utils::Json::JsonView jsonValue)
Experiment & WithCreationTime(CreationTimeT &&value)
Definition Experiment.h:167
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