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>
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>
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>
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>
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>
106 template<
typename StateT = ExperimentState>
107 void SetState(StateT&& value) { m_stateHasBeenSet =
true; m_state = std::forward<StateT>(value); }
108 template<
typename StateT = ExperimentState>
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>>
122 template<
typename TargetsKeyT = Aws::String,
typename TargetsValueT = ExperimentTarget>
124 m_targetsHasBeenSet =
true; m_targets.emplace(std::forward<TargetsKeyT>(key), std::forward<TargetsValueT>(value));
return *
this;
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>>
138 template<
typename ActionsKeyT = Aws::String,
typename ActionsValueT = ExperimentAction>
140 m_actionsHasBeenSet =
true; m_actions.emplace(std::forward<ActionsKeyT>(key), std::forward<ActionsValueT>(value));
return *
this;
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>>
154 template<
typename StopConditionsT = ExperimentStopCondition>
155 Experiment&
AddStopConditions(StopConditionsT&& value) { m_stopConditionsHasBeenSet =
true; m_stopConditions.emplace_back(std::forward<StopConditionsT>(value));
return *
this; }
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>
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>
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>
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>>
204 template<
typename TagsKeyT = Aws::String,
typename TagsValueT = Aws::String>
206 m_tagsHasBeenSet =
true; m_tags.emplace(std::forward<TagsKeyT>(key), std::forward<TagsValueT>(value));
return *
this;
216 template<
typename LogConfigurationT = ExperimentLogConfiguration>
217 void SetLogConfiguration(LogConfigurationT&& value) { m_logConfigurationHasBeenSet =
true; m_logConfiguration = std::forward<LogConfigurationT>(value); }
218 template<
typename LogConfigurationT = ExperimentLogConfiguration>
228 template<
typename ExperimentOptionsT = ExperimentOptions>
229 void SetExperimentOptions(ExperimentOptionsT&& value) { m_experimentOptionsHasBeenSet =
true; m_experimentOptions = std::forward<ExperimentOptionsT>(value); }
230 template<
typename ExperimentOptionsT = ExperimentOptions>
250 template<
typename ExperimentReportConfigurationT = ExperimentReportConfiguration>
251 void SetExperimentReportConfiguration(ExperimentReportConfigurationT&& value) { m_experimentReportConfigurationHasBeenSet =
true; m_experimentReportConfiguration = std::forward<ExperimentReportConfigurationT>(value); }
252 template<
typename ExperimentReportConfigurationT = ExperimentReportConfiguration>
262 template<
typename ExperimentReportT = ExperimentReport>
263 void SetExperimentReport(ExperimentReportT&& value) { m_experimentReportHasBeenSet =
true; m_experimentReport = std::forward<ExperimentReportT>(value); }
264 template<
typename ExperimentReportT = ExperimentReport>
270 bool m_idHasBeenSet =
false;
273 bool m_arnHasBeenSet =
false;
276 bool m_experimentTemplateIdHasBeenSet =
false;
279 bool m_roleArnHasBeenSet =
false;
282 bool m_stateHasBeenSet =
false;
285 bool m_targetsHasBeenSet =
false;
288 bool m_actionsHasBeenSet =
false;
291 bool m_stopConditionsHasBeenSet =
false;
294 bool m_creationTimeHasBeenSet =
false;
297 bool m_startTimeHasBeenSet =
false;
300 bool m_endTimeHasBeenSet =
false;
303 bool m_tagsHasBeenSet =
false;
305 ExperimentLogConfiguration m_logConfiguration;
306 bool m_logConfigurationHasBeenSet =
false;
308 ExperimentOptions m_experimentOptions;
309 bool m_experimentOptionsHasBeenSet =
false;
311 long long m_targetAccountConfigurationsCount{0};
312 bool m_targetAccountConfigurationsCountHasBeenSet =
false;
314 ExperimentReportConfiguration m_experimentReportConfiguration;
315 bool m_experimentReportConfigurationHasBeenSet =
false;
317 ExperimentReport m_experimentReport;
318 bool m_experimentReportHasBeenSet =
false;
Experiment & WithTargetAccountConfigurationsCount(long long value)
void SetEndTime(EndTimeT &&value)
Experiment & WithTags(TagsT &&value)
const Aws::Map< Aws::String, Aws::String > & GetTags() const
const Aws::Map< Aws::String, ExperimentTarget > & GetTargets() const
void SetStopConditions(StopConditionsT &&value)
void SetExperimentReportConfiguration(ExperimentReportConfigurationT &&value)
const ExperimentReportConfiguration & GetExperimentReportConfiguration() const
void SetLogConfiguration(LogConfigurationT &&value)
void SetTargets(TargetsT &&value)
Experiment & WithStopConditions(StopConditionsT &&value)
Experiment & WithActions(ActionsT &&value)
Experiment & WithExperimentOptions(ExperimentOptionsT &&value)
void SetExperimentTemplateId(ExperimentTemplateIdT &&value)
void SetArn(ArnT &&value)
void SetStartTime(StartTimeT &&value)
bool ExperimentOptionsHasBeenSet() const
const Aws::Utils::DateTime & GetCreationTime() const
Experiment & WithExperimentReport(ExperimentReportT &&value)
bool EndTimeHasBeenSet() const
bool StateHasBeenSet() const
Experiment & WithEndTime(EndTimeT &&value)
const ExperimentLogConfiguration & GetLogConfiguration() const
bool CreationTimeHasBeenSet() const
bool TargetsHasBeenSet() const
bool StartTimeHasBeenSet() const
Experiment & WithRoleArn(RoleArnT &&value)
Experiment & AddTags(TagsKeyT &&key, TagsValueT &&value)
const Aws::String & GetRoleArn() const
bool IdHasBeenSet() const
const ExperimentOptions & GetExperimentOptions() const
void SetExperimentOptions(ExperimentOptionsT &&value)
void SetActions(ActionsT &&value)
bool TagsHasBeenSet() const
Experiment & WithTargets(TargetsT &&value)
Experiment & AddActions(ActionsKeyT &&key, ActionsValueT &&value)
const Aws::String & GetArn() const
AWS_FIS_API Aws::Utils::Json::JsonValue Jsonize() const
long long GetTargetAccountConfigurationsCount() const
Experiment & WithId(IdT &&value)
const Aws::String & GetId() const
Experiment & AddStopConditions(StopConditionsT &&value)
Experiment & AddTargets(TargetsKeyT &&key, TargetsValueT &&value)
const Aws::Utils::DateTime & GetEndTime() const
Experiment & WithExperimentReportConfiguration(ExperimentReportConfigurationT &&value)
const ExperimentState & GetState() const
const Aws::String & GetExperimentTemplateId() const
bool StopConditionsHasBeenSet() const
void SetExperimentReport(ExperimentReportT &&value)
bool LogConfigurationHasBeenSet() const
Experiment & WithState(StateT &&value)
bool TargetAccountConfigurationsCountHasBeenSet() const
bool RoleArnHasBeenSet() const
Experiment & WithStartTime(StartTimeT &&value)
bool ExperimentReportConfigurationHasBeenSet() const
Experiment & WithLogConfiguration(LogConfigurationT &&value)
const ExperimentReport & GetExperimentReport() const
void SetState(StateT &&value)
bool ExperimentReportHasBeenSet() const
AWS_FIS_API Experiment(Aws::Utils::Json::JsonView jsonValue)
void SetCreationTime(CreationTimeT &&value)
bool ExperimentTemplateIdHasBeenSet() const
void SetTags(TagsT &&value)
Experiment & WithArn(ArnT &&value)
bool ArnHasBeenSet() const
const Aws::Utils::DateTime & GetStartTime() const
Experiment & WithExperimentTemplateId(ExperimentTemplateIdT &&value)
const Aws::Vector< ExperimentStopCondition > & GetStopConditions() const
void SetTargetAccountConfigurationsCount(long long value)
bool ActionsHasBeenSet() const
void SetRoleArn(RoleArnT &&value)
const Aws::Map< Aws::String, ExperimentAction > & GetActions() const
AWS_FIS_API Experiment()=default
AWS_FIS_API Experiment & operator=(Aws::Utils::Json::JsonView jsonValue)
Experiment & WithCreationTime(CreationTimeT &&value)
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