7#include <aws/emr-serverless/EMRServerless_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/emr-serverless/model/ApplicationState.h>
10#include <aws/core/utils/memory/stl/AWSMap.h>
11#include <aws/emr-serverless/model/MaximumAllowedResources.h>
12#include <aws/core/utils/DateTime.h>
13#include <aws/emr-serverless/model/AutoStartConfig.h>
14#include <aws/emr-serverless/model/AutoStopConfig.h>
15#include <aws/emr-serverless/model/NetworkConfiguration.h>
16#include <aws/emr-serverless/model/Architecture.h>
17#include <aws/emr-serverless/model/ImageConfiguration.h>
18#include <aws/core/utils/memory/stl/AWSVector.h>
19#include <aws/emr-serverless/model/MonitoringConfiguration.h>
20#include <aws/emr-serverless/model/InteractiveConfiguration.h>
21#include <aws/emr-serverless/model/SchedulerConfiguration.h>
22#include <aws/emr-serverless/model/IdentityCenterConfiguration.h>
23#include <aws/emr-serverless/model/InitialCapacityConfig.h>
24#include <aws/emr-serverless/model/WorkerTypeSpecification.h>
25#include <aws/emr-serverless/model/Configuration.h>
38namespace EMRServerless
64 template<
typename ApplicationIdT = Aws::String>
65 void SetApplicationId(ApplicationIdT&& value) { m_applicationIdHasBeenSet =
true; m_applicationId = std::forward<ApplicationIdT>(value); }
66 template<
typename ApplicationIdT = Aws::String>
76 template<
typename NameT = Aws::String>
77 void SetName(NameT&& value) { m_nameHasBeenSet =
true; m_name = std::forward<NameT>(value); }
78 template<
typename NameT = Aws::String>
88 template<
typename ArnT = Aws::String>
89 void SetArn(ArnT&& value) { m_arnHasBeenSet =
true; m_arn = std::forward<ArnT>(value); }
90 template<
typename ArnT = Aws::String>
100 template<
typename ReleaseLabelT = Aws::String>
101 void SetReleaseLabel(ReleaseLabelT&& value) { m_releaseLabelHasBeenSet =
true; m_releaseLabel = std::forward<ReleaseLabelT>(value); }
102 template<
typename ReleaseLabelT = Aws::String>
112 template<
typename TypeT = Aws::String>
113 void SetType(TypeT&& value) { m_typeHasBeenSet =
true; m_type = std::forward<TypeT>(value); }
114 template<
typename TypeT = Aws::String>
134 template<
typename StateDetailsT = Aws::String>
135 void SetStateDetails(StateDetailsT&& value) { m_stateDetailsHasBeenSet =
true; m_stateDetails = std::forward<StateDetailsT>(value); }
136 template<
typename StateDetailsT = Aws::String>
146 template<
typename InitialCapacityT = Aws::Map<Aws::String, InitialCapacityConfig>>
147 void SetInitialCapacity(InitialCapacityT&& value) { m_initialCapacityHasBeenSet =
true; m_initialCapacity = std::forward<InitialCapacityT>(value); }
148 template<
typename InitialCapacityT = Aws::Map<Aws::String, InitialCapacityConfig>>
150 template<
typename InitialCapacityKeyT = Aws::String,
typename InitialCapacityValueT = InitialCapacityConfig>
152 m_initialCapacityHasBeenSet =
true; m_initialCapacity.emplace(std::forward<InitialCapacityKeyT>(key), std::forward<InitialCapacityValueT>(value));
return *
this;
165 template<
typename MaximumCapacityT = MaximumAllowedResources>
166 void SetMaximumCapacity(MaximumCapacityT&& value) { m_maximumCapacityHasBeenSet =
true; m_maximumCapacity = std::forward<MaximumCapacityT>(value); }
167 template<
typename MaximumCapacityT = MaximumAllowedResources>
177 template<
typename CreatedAtT = Aws::Utils::DateTime>
178 void SetCreatedAt(CreatedAtT&& value) { m_createdAtHasBeenSet =
true; m_createdAt = std::forward<CreatedAtT>(value); }
179 template<
typename CreatedAtT = Aws::Utils::DateTime>
189 template<
typename UpdatedAtT = Aws::Utils::DateTime>
190 void SetUpdatedAt(UpdatedAtT&& value) { m_updatedAtHasBeenSet =
true; m_updatedAt = std::forward<UpdatedAtT>(value); }
191 template<
typename UpdatedAtT = Aws::Utils::DateTime>
201 template<
typename TagsT = Aws::Map<Aws::String, Aws::String>>
202 void SetTags(TagsT&& value) { m_tagsHasBeenSet =
true; m_tags = std::forward<TagsT>(value); }
203 template<
typename TagsT = Aws::Map<Aws::String, Aws::String>>
205 template<
typename TagsKeyT = Aws::String,
typename TagsValueT = Aws::String>
207 m_tagsHasBeenSet =
true; m_tags.emplace(std::forward<TagsKeyT>(key), std::forward<TagsValueT>(value));
return *
this;
218 template<
typename AutoStartConfigurationT = AutoStartConfig>
219 void SetAutoStartConfiguration(AutoStartConfigurationT&& value) { m_autoStartConfigurationHasBeenSet =
true; m_autoStartConfiguration = std::forward<AutoStartConfigurationT>(value); }
220 template<
typename AutoStartConfigurationT = AutoStartConfig>
231 template<
typename AutoStopConfigurationT = AutoStopConfig>
232 void SetAutoStopConfiguration(AutoStopConfigurationT&& value) { m_autoStopConfigurationHasBeenSet =
true; m_autoStopConfiguration = std::forward<AutoStopConfigurationT>(value); }
233 template<
typename AutoStopConfigurationT = AutoStopConfig>
244 template<
typename NetworkConfigurationT = NetworkConfiguration>
245 void SetNetworkConfiguration(NetworkConfigurationT&& value) { m_networkConfigurationHasBeenSet =
true; m_networkConfiguration = std::forward<NetworkConfigurationT>(value); }
246 template<
typename NetworkConfigurationT = NetworkConfiguration>
266 template<
typename ImageConfigurationT = ImageConfiguration>
267 void SetImageConfiguration(ImageConfigurationT&& value) { m_imageConfigurationHasBeenSet =
true; m_imageConfiguration = std::forward<ImageConfigurationT>(value); }
268 template<
typename ImageConfigurationT = ImageConfiguration>
278 template<
typename WorkerTypeSpecificationsT = Aws::Map<Aws::String, WorkerTypeSpecification>>
279 void SetWorkerTypeSpecifications(WorkerTypeSpecificationsT&& value) { m_workerTypeSpecificationsHasBeenSet =
true; m_workerTypeSpecifications = std::forward<WorkerTypeSpecificationsT>(value); }
280 template<
typename WorkerTypeSpecificationsT = Aws::Map<Aws::String, WorkerTypeSpecification>>
282 template<
typename WorkerTypeSpecificationsKeyT = Aws::String,
typename WorkerTypeSpecificationsValueT = WorkerTypeSpecification>
284 m_workerTypeSpecificationsHasBeenSet =
true; m_workerTypeSpecifications.emplace(std::forward<WorkerTypeSpecificationsKeyT>(key), std::forward<WorkerTypeSpecificationsValueT>(value));
return *
this;
301 template<
typename RuntimeConfigurationT = Aws::Vector<Configuration>>
302 void SetRuntimeConfiguration(RuntimeConfigurationT&& value) { m_runtimeConfigurationHasBeenSet =
true; m_runtimeConfiguration = std::forward<RuntimeConfigurationT>(value); }
303 template<
typename RuntimeConfigurationT = Aws::Vector<Configuration>>
305 template<
typename RuntimeConfigurationT = Configuration>
306 Application&
AddRuntimeConfiguration(RuntimeConfigurationT&& value) { m_runtimeConfigurationHasBeenSet =
true; m_runtimeConfiguration.emplace_back(std::forward<RuntimeConfigurationT>(value));
return *
this; }
313 template<
typename MonitoringConfigurationT = MonitoringConfiguration>
314 void SetMonitoringConfiguration(MonitoringConfigurationT&& value) { m_monitoringConfigurationHasBeenSet =
true; m_monitoringConfiguration = std::forward<MonitoringConfigurationT>(value); }
315 template<
typename MonitoringConfigurationT = MonitoringConfiguration>
326 template<
typename InteractiveConfigurationT = InteractiveConfiguration>
327 void SetInteractiveConfiguration(InteractiveConfigurationT&& value) { m_interactiveConfigurationHasBeenSet =
true; m_interactiveConfiguration = std::forward<InteractiveConfigurationT>(value); }
328 template<
typename InteractiveConfigurationT = InteractiveConfiguration>
339 template<
typename SchedulerConfigurationT = SchedulerConfiguration>
340 void SetSchedulerConfiguration(SchedulerConfigurationT&& value) { m_schedulerConfigurationHasBeenSet =
true; m_schedulerConfiguration = std::forward<SchedulerConfigurationT>(value); }
341 template<
typename SchedulerConfigurationT = SchedulerConfiguration>
352 template<
typename IdentityCenterConfigurationT = IdentityCenterConfiguration>
353 void SetIdentityCenterConfiguration(IdentityCenterConfigurationT&& value) { m_identityCenterConfigurationHasBeenSet =
true; m_identityCenterConfiguration = std::forward<IdentityCenterConfigurationT>(value); }
354 template<
typename IdentityCenterConfigurationT = IdentityCenterConfiguration>
360 bool m_applicationIdHasBeenSet =
false;
363 bool m_nameHasBeenSet =
false;
366 bool m_arnHasBeenSet =
false;
369 bool m_releaseLabelHasBeenSet =
false;
372 bool m_typeHasBeenSet =
false;
375 bool m_stateHasBeenSet =
false;
378 bool m_stateDetailsHasBeenSet =
false;
381 bool m_initialCapacityHasBeenSet =
false;
383 MaximumAllowedResources m_maximumCapacity;
384 bool m_maximumCapacityHasBeenSet =
false;
387 bool m_createdAtHasBeenSet =
false;
390 bool m_updatedAtHasBeenSet =
false;
393 bool m_tagsHasBeenSet =
false;
395 AutoStartConfig m_autoStartConfiguration;
396 bool m_autoStartConfigurationHasBeenSet =
false;
398 AutoStopConfig m_autoStopConfiguration;
399 bool m_autoStopConfigurationHasBeenSet =
false;
401 NetworkConfiguration m_networkConfiguration;
402 bool m_networkConfigurationHasBeenSet =
false;
405 bool m_architectureHasBeenSet =
false;
407 ImageConfiguration m_imageConfiguration;
408 bool m_imageConfigurationHasBeenSet =
false;
411 bool m_workerTypeSpecificationsHasBeenSet =
false;
414 bool m_runtimeConfigurationHasBeenSet =
false;
416 MonitoringConfiguration m_monitoringConfiguration;
417 bool m_monitoringConfigurationHasBeenSet =
false;
419 InteractiveConfiguration m_interactiveConfiguration;
420 bool m_interactiveConfigurationHasBeenSet =
false;
422 SchedulerConfiguration m_schedulerConfiguration;
423 bool m_schedulerConfigurationHasBeenSet =
false;
425 IdentityCenterConfiguration m_identityCenterConfiguration;
426 bool m_identityCenterConfigurationHasBeenSet =
false;
Application & WithImageConfiguration(ImageConfigurationT &&value)
AWS_EMRSERVERLESS_API Application()=default
void SetCreatedAt(CreatedAtT &&value)
Application & AddInitialCapacity(InitialCapacityKeyT &&key, InitialCapacityValueT &&value)
bool TypeHasBeenSet() const
const AutoStopConfig & GetAutoStopConfiguration() const
void SetTags(TagsT &&value)
const NetworkConfiguration & GetNetworkConfiguration() const
void SetAutoStartConfiguration(AutoStartConfigurationT &&value)
const Aws::Utils::DateTime & GetUpdatedAt() const
bool AutoStartConfigurationHasBeenSet() const
bool ApplicationIdHasBeenSet() const
Architecture GetArchitecture() const
const Aws::Vector< Configuration > & GetRuntimeConfiguration() const
bool IdentityCenterConfigurationHasBeenSet() const
const Aws::String & GetApplicationId() const
bool ArnHasBeenSet() const
bool RuntimeConfigurationHasBeenSet() const
void SetReleaseLabel(ReleaseLabelT &&value)
bool NetworkConfigurationHasBeenSet() const
void SetArchitecture(Architecture value)
void SetArn(ArnT &&value)
const Aws::Utils::DateTime & GetCreatedAt() const
Application & WithArn(ArnT &&value)
const AutoStartConfig & GetAutoStartConfiguration() const
const IdentityCenterConfiguration & GetIdentityCenterConfiguration() const
Application & WithState(ApplicationState value)
Application & AddTags(TagsKeyT &&key, TagsValueT &&value)
const InteractiveConfiguration & GetInteractiveConfiguration() const
void SetMonitoringConfiguration(MonitoringConfigurationT &&value)
void SetState(ApplicationState value)
Application & WithAutoStartConfiguration(AutoStartConfigurationT &&value)
void SetType(TypeT &&value)
Application & WithInteractiveConfiguration(InteractiveConfigurationT &&value)
Application & WithStateDetails(StateDetailsT &&value)
bool StateDetailsHasBeenSet() const
const Aws::String & GetArn() const
void SetNetworkConfiguration(NetworkConfigurationT &&value)
const SchedulerConfiguration & GetSchedulerConfiguration() const
Application & AddWorkerTypeSpecifications(WorkerTypeSpecificationsKeyT &&key, WorkerTypeSpecificationsValueT &&value)
bool TagsHasBeenSet() const
void SetInteractiveConfiguration(InteractiveConfigurationT &&value)
void SetUpdatedAt(UpdatedAtT &&value)
Application & WithReleaseLabel(ReleaseLabelT &&value)
bool ReleaseLabelHasBeenSet() const
bool MaximumCapacityHasBeenSet() const
Application & WithIdentityCenterConfiguration(IdentityCenterConfigurationT &&value)
void SetName(NameT &&value)
void SetSchedulerConfiguration(SchedulerConfigurationT &&value)
Application & WithType(TypeT &&value)
const Aws::Map< Aws::String, InitialCapacityConfig > & GetInitialCapacity() const
Application & WithArchitecture(Architecture value)
const Aws::Map< Aws::String, WorkerTypeSpecification > & GetWorkerTypeSpecifications() const
bool InitialCapacityHasBeenSet() const
void SetWorkerTypeSpecifications(WorkerTypeSpecificationsT &&value)
bool MonitoringConfigurationHasBeenSet() const
bool NameHasBeenSet() const
const Aws::String & GetType() const
void SetInitialCapacity(InitialCapacityT &&value)
const Aws::String & GetReleaseLabel() const
Application & WithNetworkConfiguration(NetworkConfigurationT &&value)
Application & WithUpdatedAt(UpdatedAtT &&value)
ApplicationState GetState() const
Application & WithWorkerTypeSpecifications(WorkerTypeSpecificationsT &&value)
Application & WithCreatedAt(CreatedAtT &&value)
void SetRuntimeConfiguration(RuntimeConfigurationT &&value)
Application & WithApplicationId(ApplicationIdT &&value)
bool InteractiveConfigurationHasBeenSet() const
Application & WithTags(TagsT &&value)
AWS_EMRSERVERLESS_API Application & operator=(Aws::Utils::Json::JsonView jsonValue)
void SetApplicationId(ApplicationIdT &&value)
Application & WithName(NameT &&value)
bool ImageConfigurationHasBeenSet() const
Application & WithAutoStopConfiguration(AutoStopConfigurationT &&value)
const Aws::Map< Aws::String, Aws::String > & GetTags() const
void SetStateDetails(StateDetailsT &&value)
Application & WithInitialCapacity(InitialCapacityT &&value)
bool StateHasBeenSet() const
void SetMaximumCapacity(MaximumCapacityT &&value)
bool UpdatedAtHasBeenSet() const
AWS_EMRSERVERLESS_API Aws::Utils::Json::JsonValue Jsonize() const
bool WorkerTypeSpecificationsHasBeenSet() const
Application & WithSchedulerConfiguration(SchedulerConfigurationT &&value)
bool CreatedAtHasBeenSet() const
Application & WithMaximumCapacity(MaximumCapacityT &&value)
void SetIdentityCenterConfiguration(IdentityCenterConfigurationT &&value)
void SetAutoStopConfiguration(AutoStopConfigurationT &&value)
const Aws::String & GetName() const
Application & WithRuntimeConfiguration(RuntimeConfigurationT &&value)
const MonitoringConfiguration & GetMonitoringConfiguration() const
Application & AddRuntimeConfiguration(RuntimeConfigurationT &&value)
const MaximumAllowedResources & GetMaximumCapacity() const
const ImageConfiguration & GetImageConfiguration() const
const Aws::String & GetStateDetails() const
Application & WithMonitoringConfiguration(MonitoringConfigurationT &&value)
void SetImageConfiguration(ImageConfigurationT &&value)
bool ArchitectureHasBeenSet() const
bool SchedulerConfigurationHasBeenSet() const
bool AutoStopConfigurationHasBeenSet() const
AWS_EMRSERVERLESS_API Application(Aws::Utils::Json::JsonView jsonValue)
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