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/ExperimentTemplateAction.h>
13#include <aws/fis/model/ExperimentTemplateExperimentOptions.h>
14#include <aws/fis/model/ExperimentTemplateLogConfiguration.h>
15#include <aws/fis/model/ExperimentTemplateReportConfiguration.h>
16#include <aws/fis/model/ExperimentTemplateStopCondition.h>
17#include <aws/fis/model/ExperimentTemplateTarget.h>
49 template <
typename IdT = Aws::String>
51 m_idHasBeenSet =
true;
52 m_id = std::forward<IdT>(value);
54 template <
typename IdT = Aws::String>
56 SetId(std::forward<IdT>(value));
67 template <
typename ArnT = Aws::String>
69 m_arnHasBeenSet =
true;
70 m_arn = std::forward<ArnT>(value);
72 template <
typename ArnT = Aws::String>
74 SetArn(std::forward<ArnT>(value));
85 template <
typename DescriptionT = Aws::String>
87 m_descriptionHasBeenSet =
true;
88 m_description = std::forward<DescriptionT>(value);
90 template <
typename DescriptionT = Aws::String>
103 template <
typename TargetsT = Aws::Map<Aws::String, ExperimentTemplateTarget>>
105 m_targetsHasBeenSet =
true;
106 m_targets = std::forward<TargetsT>(value);
108 template <
typename TargetsT = Aws::Map<Aws::String, ExperimentTemplateTarget>>
113 template <
typename TargetsKeyT = Aws::String,
typename TargetsValueT = ExperimentTemplateTarget>
115 m_targetsHasBeenSet =
true;
116 m_targets.emplace(std::forward<TargetsKeyT>(key), std::forward<TargetsValueT>(value));
127 template <
typename ActionsT = Aws::Map<Aws::String, ExperimentTemplateAction>>
129 m_actionsHasBeenSet =
true;
130 m_actions = std::forward<ActionsT>(value);
132 template <
typename ActionsT = Aws::Map<Aws::String, ExperimentTemplateAction>>
137 template <
typename ActionsKeyT = Aws::String,
typename ActionsValueT = ExperimentTemplateAction>
139 m_actionsHasBeenSet =
true;
140 m_actions.emplace(std::forward<ActionsKeyT>(key), std::forward<ActionsValueT>(value));
151 template <
typename StopConditionsT = Aws::Vector<ExperimentTemplateStopCondition>>
153 m_stopConditionsHasBeenSet =
true;
154 m_stopConditions = std::forward<StopConditionsT>(value);
156 template <
typename StopConditionsT = Aws::Vector<ExperimentTemplateStopCondition>>
161 template <
typename StopConditionsT = ExperimentTemplateStopCondition>
163 m_stopConditionsHasBeenSet =
true;
164 m_stopConditions.emplace_back(std::forward<StopConditionsT>(value));
175 template <
typename CreationTimeT = Aws::Utils::DateTime>
177 m_creationTimeHasBeenSet =
true;
178 m_creationTime = std::forward<CreationTimeT>(value);
180 template <
typename CreationTimeT = Aws::Utils::DateTime>
193 template <
typename LastUpdateTimeT = Aws::Utils::DateTime>
195 m_lastUpdateTimeHasBeenSet =
true;
196 m_lastUpdateTime = std::forward<LastUpdateTimeT>(value);
198 template <
typename LastUpdateTimeT = Aws::Utils::DateTime>
211 template <
typename RoleArnT = Aws::String>
213 m_roleArnHasBeenSet =
true;
214 m_roleArn = std::forward<RoleArnT>(value);
216 template <
typename RoleArnT = Aws::String>
229 template <
typename TagsT = Aws::Map<Aws::String, Aws::String>>
231 m_tagsHasBeenSet =
true;
232 m_tags = std::forward<TagsT>(value);
234 template <
typename TagsT = Aws::Map<Aws::String, Aws::String>>
236 SetTags(std::forward<TagsT>(value));
239 template <
typename TagsKeyT = Aws::String,
typename TagsValueT = Aws::String>
241 m_tagsHasBeenSet =
true;
242 m_tags.emplace(std::forward<TagsKeyT>(key), std::forward<TagsValueT>(value));
253 template <
typename LogConfigurationT = ExperimentTemplateLogConfiguration>
255 m_logConfigurationHasBeenSet =
true;
256 m_logConfiguration = std::forward<LogConfigurationT>(value);
258 template <
typename LogConfigurationT = ExperimentTemplateLogConfiguration>
271 template <
typename ExperimentOptionsT = ExperimentTemplateExperimentOptions>
273 m_experimentOptionsHasBeenSet =
true;
274 m_experimentOptions = std::forward<ExperimentOptionsT>(value);
276 template <
typename ExperimentOptionsT = ExperimentTemplateExperimentOptions>
290 m_targetAccountConfigurationsCountHasBeenSet =
true;
291 m_targetAccountConfigurationsCount = value;
305 template <
typename ExperimentReportConfigurationT = ExperimentTemplateReportConfiguration>
307 m_experimentReportConfigurationHasBeenSet =
true;
308 m_experimentReportConfiguration = std::forward<ExperimentReportConfigurationT>(value);
310 template <
typename ExperimentReportConfigurationT = ExperimentTemplateReportConfiguration>
337 ExperimentTemplateLogConfiguration m_logConfiguration;
339 ExperimentTemplateExperimentOptions m_experimentOptions;
341 long long m_targetAccountConfigurationsCount{0};
343 ExperimentTemplateReportConfiguration m_experimentReportConfiguration;
344 bool m_idHasBeenSet =
false;
345 bool m_arnHasBeenSet =
false;
346 bool m_descriptionHasBeenSet =
false;
347 bool m_targetsHasBeenSet =
false;
348 bool m_actionsHasBeenSet =
false;
349 bool m_stopConditionsHasBeenSet =
false;
350 bool m_creationTimeHasBeenSet =
false;
351 bool m_lastUpdateTimeHasBeenSet =
false;
352 bool m_roleArnHasBeenSet =
false;
353 bool m_tagsHasBeenSet =
false;
354 bool m_logConfigurationHasBeenSet =
false;
355 bool m_experimentOptionsHasBeenSet =
false;
356 bool m_targetAccountConfigurationsCountHasBeenSet =
false;
357 bool m_experimentReportConfigurationHasBeenSet =
false;
void SetLastUpdateTime(LastUpdateTimeT &&value)
ExperimentTemplate & WithId(IdT &&value)
bool StopConditionsHasBeenSet() const
AWS_FIS_API ExperimentTemplate & operator=(Aws::Utils::Json::JsonView jsonValue)
void SetExperimentOptions(ExperimentOptionsT &&value)
ExperimentTemplate & WithActions(ActionsT &&value)
bool TargetsHasBeenSet() const
const Aws::Map< Aws::String, ExperimentTemplateTarget > & GetTargets() const
ExperimentTemplate & AddTargets(TargetsKeyT &&key, TargetsValueT &&value)
const Aws::String & GetId() const
bool TargetAccountConfigurationsCountHasBeenSet() const
bool RoleArnHasBeenSet() const
bool LogConfigurationHasBeenSet() const
ExperimentTemplate & AddStopConditions(StopConditionsT &&value)
const Aws::String & GetRoleArn() const
void SetCreationTime(CreationTimeT &&value)
ExperimentTemplate & WithTargets(TargetsT &&value)
const ExperimentTemplateExperimentOptions & GetExperimentOptions() const
bool DescriptionHasBeenSet() const
const Aws::Vector< ExperimentTemplateStopCondition > & GetStopConditions() const
bool CreationTimeHasBeenSet() const
void SetTags(TagsT &&value)
ExperimentTemplate & WithDescription(DescriptionT &&value)
void SetArn(ArnT &&value)
bool LastUpdateTimeHasBeenSet() const
ExperimentTemplate & WithRoleArn(RoleArnT &&value)
ExperimentTemplate & WithExperimentReportConfiguration(ExperimentReportConfigurationT &&value)
const Aws::String & GetArn() const
ExperimentTemplate & WithTargetAccountConfigurationsCount(long long value)
bool TagsHasBeenSet() const
ExperimentTemplate & WithLogConfiguration(LogConfigurationT &&value)
const Aws::String & GetDescription() const
ExperimentTemplate & AddActions(ActionsKeyT &&key, ActionsValueT &&value)
ExperimentTemplate & WithStopConditions(StopConditionsT &&value)
bool IdHasBeenSet() const
void SetStopConditions(StopConditionsT &&value)
const Aws::Utils::DateTime & GetLastUpdateTime() const
const Aws::Map< Aws::String, ExperimentTemplateAction > & GetActions() const
void SetTargets(TargetsT &&value)
AWS_FIS_API Aws::Utils::Json::JsonValue Jsonize() const
long long GetTargetAccountConfigurationsCount() const
ExperimentTemplate & WithArn(ArnT &&value)
void SetActions(ActionsT &&value)
ExperimentTemplate & WithExperimentOptions(ExperimentOptionsT &&value)
void SetDescription(DescriptionT &&value)
bool ExperimentReportConfigurationHasBeenSet() const
const Aws::Map< Aws::String, Aws::String > & GetTags() const
ExperimentTemplate & WithLastUpdateTime(LastUpdateTimeT &&value)
const ExperimentTemplateReportConfiguration & GetExperimentReportConfiguration() const
ExperimentTemplate & WithTags(TagsT &&value)
AWS_FIS_API ExperimentTemplate()=default
void SetTargetAccountConfigurationsCount(long long value)
void SetLogConfiguration(LogConfigurationT &&value)
ExperimentTemplate & WithCreationTime(CreationTimeT &&value)
bool ArnHasBeenSet() const
const ExperimentTemplateLogConfiguration & GetLogConfiguration() const
const Aws::Utils::DateTime & GetCreationTime() const
AWS_FIS_API ExperimentTemplate(Aws::Utils::Json::JsonView jsonValue)
bool ExperimentOptionsHasBeenSet() const
bool ActionsHasBeenSet() const
void SetExperimentReportConfiguration(ExperimentReportConfigurationT &&value)
void SetRoleArn(RoleArnT &&value)
ExperimentTemplate & AddTags(TagsKeyT &&key, TagsValueT &&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