7#include <aws/fis/FIS_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/core/utils/memory/stl/AWSMap.h>
10#include <aws/core/utils/memory/stl/AWSVector.h>
11#include <aws/core/utils/DateTime.h>
12#include <aws/fis/model/ExperimentTemplateLogConfiguration.h>
13#include <aws/fis/model/ExperimentTemplateExperimentOptions.h>
14#include <aws/fis/model/ExperimentTemplateReportConfiguration.h>
15#include <aws/fis/model/ExperimentTemplateTarget.h>
16#include <aws/fis/model/ExperimentTemplateAction.h>
17#include <aws/fis/model/ExperimentTemplateStopCondition.h>
55 template<
typename IdT = Aws::String>
56 void SetId(IdT&& value) { m_idHasBeenSet =
true; m_id = std::forward<IdT>(value); }
57 template<
typename IdT = Aws::String>
67 template<
typename ArnT = Aws::String>
68 void SetArn(ArnT&& value) { m_arnHasBeenSet =
true; m_arn = std::forward<ArnT>(value); }
69 template<
typename ArnT = Aws::String>
79 template<
typename DescriptionT = Aws::String>
80 void SetDescription(DescriptionT&& value) { m_descriptionHasBeenSet =
true; m_description = std::forward<DescriptionT>(value); }
81 template<
typename DescriptionT = Aws::String>
91 template<
typename TargetsT = Aws::Map<Aws::String, ExperimentTemplateTarget>>
92 void SetTargets(TargetsT&& value) { m_targetsHasBeenSet =
true; m_targets = std::forward<TargetsT>(value); }
93 template<
typename TargetsT = Aws::Map<Aws::String, ExperimentTemplateTarget>>
95 template<
typename TargetsKeyT = Aws::String,
typename TargetsValueT = ExperimentTemplateTarget>
97 m_targetsHasBeenSet =
true; m_targets.emplace(std::forward<TargetsKeyT>(key), std::forward<TargetsValueT>(value));
return *
this;
107 template<
typename ActionsT = Aws::Map<Aws::String, ExperimentTemplateAction>>
108 void SetActions(ActionsT&& value) { m_actionsHasBeenSet =
true; m_actions = std::forward<ActionsT>(value); }
109 template<
typename ActionsT = Aws::Map<Aws::String, ExperimentTemplateAction>>
111 template<
typename ActionsKeyT = Aws::String,
typename ActionsValueT = ExperimentTemplateAction>
113 m_actionsHasBeenSet =
true; m_actions.emplace(std::forward<ActionsKeyT>(key), std::forward<ActionsValueT>(value));
return *
this;
123 template<
typename StopConditionsT = Aws::Vector<ExperimentTemplateStopCondition>>
124 void SetStopConditions(StopConditionsT&& value) { m_stopConditionsHasBeenSet =
true; m_stopConditions = std::forward<StopConditionsT>(value); }
125 template<
typename StopConditionsT = Aws::Vector<ExperimentTemplateStopCondition>>
127 template<
typename StopConditionsT = ExperimentTemplateStopCondition>
137 template<
typename CreationTimeT = Aws::Utils::DateTime>
138 void SetCreationTime(CreationTimeT&& value) { m_creationTimeHasBeenSet =
true; m_creationTime = std::forward<CreationTimeT>(value); }
139 template<
typename CreationTimeT = Aws::Utils::DateTime>
149 template<
typename LastUpdateTimeT = Aws::Utils::DateTime>
150 void SetLastUpdateTime(LastUpdateTimeT&& value) { m_lastUpdateTimeHasBeenSet =
true; m_lastUpdateTime = std::forward<LastUpdateTimeT>(value); }
151 template<
typename LastUpdateTimeT = Aws::Utils::DateTime>
161 template<
typename RoleArnT = Aws::String>
162 void SetRoleArn(RoleArnT&& value) { m_roleArnHasBeenSet =
true; m_roleArn = std::forward<RoleArnT>(value); }
163 template<
typename RoleArnT = Aws::String>
173 template<
typename TagsT = Aws::Map<Aws::String, Aws::String>>
174 void SetTags(TagsT&& value) { m_tagsHasBeenSet =
true; m_tags = std::forward<TagsT>(value); }
175 template<
typename TagsT = Aws::Map<Aws::String, Aws::String>>
177 template<
typename TagsKeyT = Aws::String,
typename TagsValueT = Aws::String>
179 m_tagsHasBeenSet =
true; m_tags.emplace(std::forward<TagsKeyT>(key), std::forward<TagsValueT>(value));
return *
this;
189 template<
typename LogConfigurationT = ExperimentTemplateLogConfiguration>
190 void SetLogConfiguration(LogConfigurationT&& value) { m_logConfigurationHasBeenSet =
true; m_logConfiguration = std::forward<LogConfigurationT>(value); }
191 template<
typename LogConfigurationT = ExperimentTemplateLogConfiguration>
201 template<
typename ExperimentOptionsT = ExperimentTemplateExperimentOptions>
202 void SetExperimentOptions(ExperimentOptionsT&& value) { m_experimentOptionsHasBeenSet =
true; m_experimentOptions = std::forward<ExperimentOptionsT>(value); }
203 template<
typename ExperimentOptionsT = ExperimentTemplateExperimentOptions>
223 template<
typename ExperimentReportConfigurationT = ExperimentTemplateReportConfiguration>
224 void SetExperimentReportConfiguration(ExperimentReportConfigurationT&& value) { m_experimentReportConfigurationHasBeenSet =
true; m_experimentReportConfiguration = std::forward<ExperimentReportConfigurationT>(value); }
225 template<
typename ExperimentReportConfigurationT = ExperimentTemplateReportConfiguration>
231 bool m_idHasBeenSet =
false;
234 bool m_arnHasBeenSet =
false;
237 bool m_descriptionHasBeenSet =
false;
240 bool m_targetsHasBeenSet =
false;
243 bool m_actionsHasBeenSet =
false;
246 bool m_stopConditionsHasBeenSet =
false;
249 bool m_creationTimeHasBeenSet =
false;
252 bool m_lastUpdateTimeHasBeenSet =
false;
255 bool m_roleArnHasBeenSet =
false;
258 bool m_tagsHasBeenSet =
false;
260 ExperimentTemplateLogConfiguration m_logConfiguration;
261 bool m_logConfigurationHasBeenSet =
false;
263 ExperimentTemplateExperimentOptions m_experimentOptions;
264 bool m_experimentOptionsHasBeenSet =
false;
266 long long m_targetAccountConfigurationsCount{0};
267 bool m_targetAccountConfigurationsCountHasBeenSet =
false;
269 ExperimentTemplateReportConfiguration m_experimentReportConfiguration;
270 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