7#include <aws/evidently/CloudWatchEvidently_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/core/utils/DateTime.h>
10#include <aws/evidently/model/LaunchExecution.h>
11#include <aws/core/utils/memory/stl/AWSVector.h>
12#include <aws/evidently/model/ScheduledSplitsLaunchDefinition.h>
13#include <aws/evidently/model/LaunchStatus.h>
14#include <aws/core/utils/memory/stl/AWSMap.h>
15#include <aws/evidently/model/LaunchType.h>
16#include <aws/evidently/model/LaunchGroup.h>
17#include <aws/evidently/model/MetricMonitor.h>
30namespace CloudWatchEvidently
44 AWS_CLOUDWATCHEVIDENTLY_API
Launch() =
default;
56 template<
typename ArnT = Aws::String>
57 void SetArn(ArnT&& value) { m_arnHasBeenSet =
true; m_arn = std::forward<ArnT>(value); }
58 template<
typename ArnT = Aws::String>
68 template<
typename CreatedTimeT = Aws::Utils::DateTime>
69 void SetCreatedTime(CreatedTimeT&& value) { m_createdTimeHasBeenSet =
true; m_createdTime = std::forward<CreatedTimeT>(value); }
70 template<
typename CreatedTimeT = Aws::Utils::DateTime>
80 template<
typename DescriptionT = Aws::String>
81 void SetDescription(DescriptionT&& value) { m_descriptionHasBeenSet =
true; m_description = std::forward<DescriptionT>(value); }
82 template<
typename DescriptionT = Aws::String>
93 template<
typename ExecutionT = LaunchExecution>
94 void SetExecution(ExecutionT&& value) { m_executionHasBeenSet =
true; m_execution = std::forward<ExecutionT>(value); }
95 template<
typename ExecutionT = LaunchExecution>
106 template<
typename GroupsT = Aws::Vector<LaunchGroup>>
107 void SetGroups(GroupsT&& value) { m_groupsHasBeenSet =
true; m_groups = std::forward<GroupsT>(value); }
108 template<
typename GroupsT = Aws::Vector<LaunchGroup>>
110 template<
typename GroupsT = LaunchGroup>
111 Launch&
AddGroups(GroupsT&& value) { m_groupsHasBeenSet =
true; m_groups.emplace_back(std::forward<GroupsT>(value));
return *
this; }
120 template<
typename LastUpdatedTimeT = Aws::Utils::DateTime>
121 void SetLastUpdatedTime(LastUpdatedTimeT&& value) { m_lastUpdatedTimeHasBeenSet =
true; m_lastUpdatedTime = std::forward<LastUpdatedTimeT>(value); }
122 template<
typename LastUpdatedTimeT = Aws::Utils::DateTime>
133 template<
typename MetricMonitorsT = Aws::Vector<MetricMonitor>>
134 void SetMetricMonitors(MetricMonitorsT&& value) { m_metricMonitorsHasBeenSet =
true; m_metricMonitors = std::forward<MetricMonitorsT>(value); }
135 template<
typename MetricMonitorsT = Aws::Vector<MetricMonitor>>
137 template<
typename MetricMonitorsT = MetricMonitor>
138 Launch&
AddMetricMonitors(MetricMonitorsT&& value) { m_metricMonitorsHasBeenSet =
true; m_metricMonitors.emplace_back(std::forward<MetricMonitorsT>(value));
return *
this; }
147 template<
typename NameT = Aws::String>
148 void SetName(NameT&& value) { m_nameHasBeenSet =
true; m_name = std::forward<NameT>(value); }
149 template<
typename NameT = Aws::String>
159 template<
typename ProjectT = Aws::String>
160 void SetProject(ProjectT&& value) { m_projectHasBeenSet =
true; m_project = std::forward<ProjectT>(value); }
161 template<
typename ProjectT = Aws::String>
174 template<
typename RandomizationSaltT = Aws::String>
175 void SetRandomizationSalt(RandomizationSaltT&& value) { m_randomizationSaltHasBeenSet =
true; m_randomizationSalt = std::forward<RandomizationSaltT>(value); }
176 template<
typename RandomizationSaltT = Aws::String>
187 template<
typename ScheduledSplitsDefinitionT = ScheduledSplitsLaunchDefinition>
188 void SetScheduledSplitsDefinition(ScheduledSplitsDefinitionT&& value) { m_scheduledSplitsDefinitionHasBeenSet =
true; m_scheduledSplitsDefinition = std::forward<ScheduledSplitsDefinitionT>(value); }
189 template<
typename ScheduledSplitsDefinitionT = ScheduledSplitsLaunchDefinition>
210 template<
typename StatusReasonT = Aws::String>
211 void SetStatusReason(StatusReasonT&& value) { m_statusReasonHasBeenSet =
true; m_statusReason = std::forward<StatusReasonT>(value); }
212 template<
typename StatusReasonT = Aws::String>
222 template<
typename TagsT = Aws::Map<Aws::String, Aws::String>>
223 void SetTags(TagsT&& value) { m_tagsHasBeenSet =
true; m_tags = std::forward<TagsT>(value); }
224 template<
typename TagsT = Aws::Map<Aws::String, Aws::String>>
226 template<
typename TagsKeyT = Aws::String,
typename TagsValueT = Aws::String>
228 m_tagsHasBeenSet =
true; m_tags.emplace(std::forward<TagsKeyT>(key), std::forward<TagsValueT>(value));
return *
this;
244 bool m_arnHasBeenSet =
false;
247 bool m_createdTimeHasBeenSet =
false;
250 bool m_descriptionHasBeenSet =
false;
252 LaunchExecution m_execution;
253 bool m_executionHasBeenSet =
false;
256 bool m_groupsHasBeenSet =
false;
259 bool m_lastUpdatedTimeHasBeenSet =
false;
262 bool m_metricMonitorsHasBeenSet =
false;
265 bool m_nameHasBeenSet =
false;
268 bool m_projectHasBeenSet =
false;
271 bool m_randomizationSaltHasBeenSet =
false;
273 ScheduledSplitsLaunchDefinition m_scheduledSplitsDefinition;
274 bool m_scheduledSplitsDefinitionHasBeenSet =
false;
277 bool m_statusHasBeenSet =
false;
280 bool m_statusReasonHasBeenSet =
false;
283 bool m_tagsHasBeenSet =
false;
286 bool m_typeHasBeenSet =
false;
AWS_CLOUDWATCHEVIDENTLY_API Launch(Aws::Utils::Json::JsonView jsonValue)
Launch & WithArn(ArnT &&value)
Launch & WithCreatedTime(CreatedTimeT &&value)
LaunchStatus GetStatus() const
bool NameHasBeenSet() const
bool LastUpdatedTimeHasBeenSet() const
void SetDescription(DescriptionT &&value)
Launch & AddMetricMonitors(MetricMonitorsT &&value)
Launch & AddGroups(GroupsT &&value)
void SetExecution(ExecutionT &&value)
const LaunchExecution & GetExecution() const
bool TagsHasBeenSet() const
const Aws::Utils::DateTime & GetLastUpdatedTime() const
const Aws::Vector< MetricMonitor > & GetMetricMonitors() const
void SetTags(TagsT &&value)
const Aws::Map< Aws::String, Aws::String > & GetTags() const
void SetStatusReason(StatusReasonT &&value)
void SetLastUpdatedTime(LastUpdatedTimeT &&value)
Launch & WithGroups(GroupsT &&value)
void SetScheduledSplitsDefinition(ScheduledSplitsDefinitionT &&value)
Launch & WithLastUpdatedTime(LastUpdatedTimeT &&value)
const Aws::String & GetRandomizationSalt() const
Launch & WithMetricMonitors(MetricMonitorsT &&value)
const Aws::String & GetDescription() const
const Aws::String & GetArn() const
const Aws::String & GetStatusReason() const
bool TypeHasBeenSet() const
bool ProjectHasBeenSet() const
void SetArn(ArnT &&value)
bool ExecutionHasBeenSet() const
Launch & AddTags(TagsKeyT &&key, TagsValueT &&value)
bool StatusReasonHasBeenSet() const
const ScheduledSplitsLaunchDefinition & GetScheduledSplitsDefinition() const
LaunchType GetType() const
void SetMetricMonitors(MetricMonitorsT &&value)
const Aws::String & GetName() const
bool StatusHasBeenSet() const
bool ScheduledSplitsDefinitionHasBeenSet() const
AWS_CLOUDWATCHEVIDENTLY_API Launch()=default
bool CreatedTimeHasBeenSet() const
void SetRandomizationSalt(RandomizationSaltT &&value)
bool DescriptionHasBeenSet() const
Launch & WithStatus(LaunchStatus value)
Launch & WithProject(ProjectT &&value)
AWS_CLOUDWATCHEVIDENTLY_API Aws::Utils::Json::JsonValue Jsonize() const
void SetStatus(LaunchStatus value)
bool MetricMonitorsHasBeenSet() const
const Aws::Vector< LaunchGroup > & GetGroups() const
Launch & WithTags(TagsT &&value)
Launch & WithExecution(ExecutionT &&value)
Launch & WithDescription(DescriptionT &&value)
void SetCreatedTime(CreatedTimeT &&value)
void SetType(LaunchType value)
bool GroupsHasBeenSet() const
Launch & WithRandomizationSalt(RandomizationSaltT &&value)
void SetProject(ProjectT &&value)
Launch & WithScheduledSplitsDefinition(ScheduledSplitsDefinitionT &&value)
const Aws::String & GetProject() const
bool RandomizationSaltHasBeenSet() const
Launch & WithType(LaunchType value)
void SetGroups(GroupsT &&value)
void SetName(NameT &&value)
bool ArnHasBeenSet() const
const Aws::Utils::DateTime & GetCreatedTime() const
AWS_CLOUDWATCHEVIDENTLY_API Launch & operator=(Aws::Utils::Json::JsonView jsonValue)
Launch & WithStatusReason(StatusReasonT &&value)
Launch & WithName(NameT &&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