AWS SDK for C++

AWS SDK for C++ Version 1.11.612

Loading...
Searching...
No Matches
CreateApplicationRequest.h
1
6#pragma once
7#include <aws/emr-serverless/EMRServerless_EXPORTS.h>
8#include <aws/emr-serverless/EMRServerlessRequest.h>
9#include <aws/core/utils/memory/stl/AWSString.h>
10#include <aws/core/utils/memory/stl/AWSMap.h>
11#include <aws/emr-serverless/model/MaximumAllowedResources.h>
12#include <aws/emr-serverless/model/AutoStartConfig.h>
13#include <aws/emr-serverless/model/AutoStopConfig.h>
14#include <aws/emr-serverless/model/NetworkConfiguration.h>
15#include <aws/emr-serverless/model/Architecture.h>
16#include <aws/emr-serverless/model/ImageConfigurationInput.h>
17#include <aws/core/utils/memory/stl/AWSVector.h>
18#include <aws/emr-serverless/model/MonitoringConfiguration.h>
19#include <aws/emr-serverless/model/InteractiveConfiguration.h>
20#include <aws/emr-serverless/model/SchedulerConfiguration.h>
21#include <aws/emr-serverless/model/IdentityCenterConfigurationInput.h>
22#include <aws/emr-serverless/model/InitialCapacityConfig.h>
23#include <aws/emr-serverless/model/WorkerTypeSpecificationInput.h>
24#include <aws/emr-serverless/model/Configuration.h>
25#include <utility>
26#include <aws/core/utils/UUID.h>
27
28namespace Aws
29{
30namespace EMRServerless
31{
32namespace Model
33{
34
38 {
39 public:
40 AWS_EMRSERVERLESS_API CreateApplicationRequest() = default;
41
42 // Service request name is the Operation name which will send this request out,
43 // each operation should has unique request name, so that we can get operation's name from this request.
44 // Note: this is not true for response, multiple operations may have the same response name,
45 // so we can not get operation's name from response.
46 inline virtual const char* GetServiceRequestName() const override { return "CreateApplication"; }
47
48 AWS_EMRSERVERLESS_API Aws::String SerializePayload() const override;
49
50
52
55 inline const Aws::String& GetName() const { return m_name; }
56 inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
57 template<typename NameT = Aws::String>
58 void SetName(NameT&& value) { m_nameHasBeenSet = true; m_name = std::forward<NameT>(value); }
59 template<typename NameT = Aws::String>
60 CreateApplicationRequest& WithName(NameT&& value) { SetName(std::forward<NameT>(value)); return *this;}
62
64
67 inline const Aws::String& GetReleaseLabel() const { return m_releaseLabel; }
68 inline bool ReleaseLabelHasBeenSet() const { return m_releaseLabelHasBeenSet; }
69 template<typename ReleaseLabelT = Aws::String>
70 void SetReleaseLabel(ReleaseLabelT&& value) { m_releaseLabelHasBeenSet = true; m_releaseLabel = std::forward<ReleaseLabelT>(value); }
71 template<typename ReleaseLabelT = Aws::String>
72 CreateApplicationRequest& WithReleaseLabel(ReleaseLabelT&& value) { SetReleaseLabel(std::forward<ReleaseLabelT>(value)); return *this;}
74
76
79 inline const Aws::String& GetType() const { return m_type; }
80 inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; }
81 template<typename TypeT = Aws::String>
82 void SetType(TypeT&& value) { m_typeHasBeenSet = true; m_type = std::forward<TypeT>(value); }
83 template<typename TypeT = Aws::String>
84 CreateApplicationRequest& WithType(TypeT&& value) { SetType(std::forward<TypeT>(value)); return *this;}
86
88
92 inline const Aws::String& GetClientToken() const { return m_clientToken; }
93 inline bool ClientTokenHasBeenSet() const { return m_clientTokenHasBeenSet; }
94 template<typename ClientTokenT = Aws::String>
95 void SetClientToken(ClientTokenT&& value) { m_clientTokenHasBeenSet = true; m_clientToken = std::forward<ClientTokenT>(value); }
96 template<typename ClientTokenT = Aws::String>
97 CreateApplicationRequest& WithClientToken(ClientTokenT&& value) { SetClientToken(std::forward<ClientTokenT>(value)); return *this;}
99
101
104 inline const Aws::Map<Aws::String, InitialCapacityConfig>& GetInitialCapacity() const { return m_initialCapacity; }
105 inline bool InitialCapacityHasBeenSet() const { return m_initialCapacityHasBeenSet; }
106 template<typename InitialCapacityT = Aws::Map<Aws::String, InitialCapacityConfig>>
107 void SetInitialCapacity(InitialCapacityT&& value) { m_initialCapacityHasBeenSet = true; m_initialCapacity = std::forward<InitialCapacityT>(value); }
108 template<typename InitialCapacityT = Aws::Map<Aws::String, InitialCapacityConfig>>
109 CreateApplicationRequest& WithInitialCapacity(InitialCapacityT&& value) { SetInitialCapacity(std::forward<InitialCapacityT>(value)); return *this;}
110 template<typename InitialCapacityKeyT = Aws::String, typename InitialCapacityValueT = InitialCapacityConfig>
111 CreateApplicationRequest& AddInitialCapacity(InitialCapacityKeyT&& key, InitialCapacityValueT&& value) {
112 m_initialCapacityHasBeenSet = true; m_initialCapacity.emplace(std::forward<InitialCapacityKeyT>(key), std::forward<InitialCapacityValueT>(value)); return *this;
113 }
115
117
123 inline const MaximumAllowedResources& GetMaximumCapacity() const { return m_maximumCapacity; }
124 inline bool MaximumCapacityHasBeenSet() const { return m_maximumCapacityHasBeenSet; }
125 template<typename MaximumCapacityT = MaximumAllowedResources>
126 void SetMaximumCapacity(MaximumCapacityT&& value) { m_maximumCapacityHasBeenSet = true; m_maximumCapacity = std::forward<MaximumCapacityT>(value); }
127 template<typename MaximumCapacityT = MaximumAllowedResources>
128 CreateApplicationRequest& WithMaximumCapacity(MaximumCapacityT&& value) { SetMaximumCapacity(std::forward<MaximumCapacityT>(value)); return *this;}
130
132
135 inline const Aws::Map<Aws::String, Aws::String>& GetTags() const { return m_tags; }
136 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
137 template<typename TagsT = Aws::Map<Aws::String, Aws::String>>
138 void SetTags(TagsT&& value) { m_tagsHasBeenSet = true; m_tags = std::forward<TagsT>(value); }
139 template<typename TagsT = Aws::Map<Aws::String, Aws::String>>
140 CreateApplicationRequest& WithTags(TagsT&& value) { SetTags(std::forward<TagsT>(value)); return *this;}
141 template<typename TagsKeyT = Aws::String, typename TagsValueT = Aws::String>
142 CreateApplicationRequest& AddTags(TagsKeyT&& key, TagsValueT&& value) {
143 m_tagsHasBeenSet = true; m_tags.emplace(std::forward<TagsKeyT>(key), std::forward<TagsValueT>(value)); return *this;
144 }
146
148
152 inline const AutoStartConfig& GetAutoStartConfiguration() const { return m_autoStartConfiguration; }
153 inline bool AutoStartConfigurationHasBeenSet() const { return m_autoStartConfigurationHasBeenSet; }
154 template<typename AutoStartConfigurationT = AutoStartConfig>
155 void SetAutoStartConfiguration(AutoStartConfigurationT&& value) { m_autoStartConfigurationHasBeenSet = true; m_autoStartConfiguration = std::forward<AutoStartConfigurationT>(value); }
156 template<typename AutoStartConfigurationT = AutoStartConfig>
157 CreateApplicationRequest& WithAutoStartConfiguration(AutoStartConfigurationT&& value) { SetAutoStartConfiguration(std::forward<AutoStartConfigurationT>(value)); return *this;}
159
161
165 inline const AutoStopConfig& GetAutoStopConfiguration() const { return m_autoStopConfiguration; }
166 inline bool AutoStopConfigurationHasBeenSet() const { return m_autoStopConfigurationHasBeenSet; }
167 template<typename AutoStopConfigurationT = AutoStopConfig>
168 void SetAutoStopConfiguration(AutoStopConfigurationT&& value) { m_autoStopConfigurationHasBeenSet = true; m_autoStopConfiguration = std::forward<AutoStopConfigurationT>(value); }
169 template<typename AutoStopConfigurationT = AutoStopConfig>
170 CreateApplicationRequest& WithAutoStopConfiguration(AutoStopConfigurationT&& value) { SetAutoStopConfiguration(std::forward<AutoStopConfigurationT>(value)); return *this;}
172
174
177 inline const NetworkConfiguration& GetNetworkConfiguration() const { return m_networkConfiguration; }
178 inline bool NetworkConfigurationHasBeenSet() const { return m_networkConfigurationHasBeenSet; }
179 template<typename NetworkConfigurationT = NetworkConfiguration>
180 void SetNetworkConfiguration(NetworkConfigurationT&& value) { m_networkConfigurationHasBeenSet = true; m_networkConfiguration = std::forward<NetworkConfigurationT>(value); }
181 template<typename NetworkConfigurationT = NetworkConfiguration>
182 CreateApplicationRequest& WithNetworkConfiguration(NetworkConfigurationT&& value) { SetNetworkConfiguration(std::forward<NetworkConfigurationT>(value)); return *this;}
184
186
189 inline Architecture GetArchitecture() const { return m_architecture; }
190 inline bool ArchitectureHasBeenSet() const { return m_architectureHasBeenSet; }
191 inline void SetArchitecture(Architecture value) { m_architectureHasBeenSet = true; m_architecture = value; }
194
196
201 inline const ImageConfigurationInput& GetImageConfiguration() const { return m_imageConfiguration; }
202 inline bool ImageConfigurationHasBeenSet() const { return m_imageConfigurationHasBeenSet; }
203 template<typename ImageConfigurationT = ImageConfigurationInput>
204 void SetImageConfiguration(ImageConfigurationT&& value) { m_imageConfigurationHasBeenSet = true; m_imageConfiguration = std::forward<ImageConfigurationT>(value); }
205 template<typename ImageConfigurationT = ImageConfigurationInput>
206 CreateApplicationRequest& WithImageConfiguration(ImageConfigurationT&& value) { SetImageConfiguration(std::forward<ImageConfigurationT>(value)); return *this;}
208
210
219 inline const Aws::Map<Aws::String, WorkerTypeSpecificationInput>& GetWorkerTypeSpecifications() const { return m_workerTypeSpecifications; }
220 inline bool WorkerTypeSpecificationsHasBeenSet() const { return m_workerTypeSpecificationsHasBeenSet; }
221 template<typename WorkerTypeSpecificationsT = Aws::Map<Aws::String, WorkerTypeSpecificationInput>>
222 void SetWorkerTypeSpecifications(WorkerTypeSpecificationsT&& value) { m_workerTypeSpecificationsHasBeenSet = true; m_workerTypeSpecifications = std::forward<WorkerTypeSpecificationsT>(value); }
223 template<typename WorkerTypeSpecificationsT = Aws::Map<Aws::String, WorkerTypeSpecificationInput>>
224 CreateApplicationRequest& WithWorkerTypeSpecifications(WorkerTypeSpecificationsT&& value) { SetWorkerTypeSpecifications(std::forward<WorkerTypeSpecificationsT>(value)); return *this;}
225 template<typename WorkerTypeSpecificationsKeyT = Aws::String, typename WorkerTypeSpecificationsValueT = WorkerTypeSpecificationInput>
226 CreateApplicationRequest& AddWorkerTypeSpecifications(WorkerTypeSpecificationsKeyT&& key, WorkerTypeSpecificationsValueT&& value) {
227 m_workerTypeSpecificationsHasBeenSet = true; m_workerTypeSpecifications.emplace(std::forward<WorkerTypeSpecificationsKeyT>(key), std::forward<WorkerTypeSpecificationsValueT>(value)); return *this;
228 }
230
232
239 inline const Aws::Vector<Configuration>& GetRuntimeConfiguration() const { return m_runtimeConfiguration; }
240 inline bool RuntimeConfigurationHasBeenSet() const { return m_runtimeConfigurationHasBeenSet; }
241 template<typename RuntimeConfigurationT = Aws::Vector<Configuration>>
242 void SetRuntimeConfiguration(RuntimeConfigurationT&& value) { m_runtimeConfigurationHasBeenSet = true; m_runtimeConfiguration = std::forward<RuntimeConfigurationT>(value); }
243 template<typename RuntimeConfigurationT = Aws::Vector<Configuration>>
244 CreateApplicationRequest& WithRuntimeConfiguration(RuntimeConfigurationT&& value) { SetRuntimeConfiguration(std::forward<RuntimeConfigurationT>(value)); return *this;}
245 template<typename RuntimeConfigurationT = Configuration>
246 CreateApplicationRequest& AddRuntimeConfiguration(RuntimeConfigurationT&& value) { m_runtimeConfigurationHasBeenSet = true; m_runtimeConfiguration.emplace_back(std::forward<RuntimeConfigurationT>(value)); return *this; }
248
250
253 inline const MonitoringConfiguration& GetMonitoringConfiguration() const { return m_monitoringConfiguration; }
254 inline bool MonitoringConfigurationHasBeenSet() const { return m_monitoringConfigurationHasBeenSet; }
255 template<typename MonitoringConfigurationT = MonitoringConfiguration>
256 void SetMonitoringConfiguration(MonitoringConfigurationT&& value) { m_monitoringConfigurationHasBeenSet = true; m_monitoringConfiguration = std::forward<MonitoringConfigurationT>(value); }
257 template<typename MonitoringConfigurationT = MonitoringConfiguration>
258 CreateApplicationRequest& WithMonitoringConfiguration(MonitoringConfigurationT&& value) { SetMonitoringConfiguration(std::forward<MonitoringConfigurationT>(value)); return *this;}
260
262
266 inline const InteractiveConfiguration& GetInteractiveConfiguration() const { return m_interactiveConfiguration; }
267 inline bool InteractiveConfigurationHasBeenSet() const { return m_interactiveConfigurationHasBeenSet; }
268 template<typename InteractiveConfigurationT = InteractiveConfiguration>
269 void SetInteractiveConfiguration(InteractiveConfigurationT&& value) { m_interactiveConfigurationHasBeenSet = true; m_interactiveConfiguration = std::forward<InteractiveConfigurationT>(value); }
270 template<typename InteractiveConfigurationT = InteractiveConfiguration>
271 CreateApplicationRequest& WithInteractiveConfiguration(InteractiveConfigurationT&& value) { SetInteractiveConfiguration(std::forward<InteractiveConfigurationT>(value)); return *this;}
273
275
279 inline const SchedulerConfiguration& GetSchedulerConfiguration() const { return m_schedulerConfiguration; }
280 inline bool SchedulerConfigurationHasBeenSet() const { return m_schedulerConfigurationHasBeenSet; }
281 template<typename SchedulerConfigurationT = SchedulerConfiguration>
282 void SetSchedulerConfiguration(SchedulerConfigurationT&& value) { m_schedulerConfigurationHasBeenSet = true; m_schedulerConfiguration = std::forward<SchedulerConfigurationT>(value); }
283 template<typename SchedulerConfigurationT = SchedulerConfiguration>
284 CreateApplicationRequest& WithSchedulerConfiguration(SchedulerConfigurationT&& value) { SetSchedulerConfiguration(std::forward<SchedulerConfigurationT>(value)); return *this;}
286
288
294 inline const IdentityCenterConfigurationInput& GetIdentityCenterConfiguration() const { return m_identityCenterConfiguration; }
295 inline bool IdentityCenterConfigurationHasBeenSet() const { return m_identityCenterConfigurationHasBeenSet; }
296 template<typename IdentityCenterConfigurationT = IdentityCenterConfigurationInput>
297 void SetIdentityCenterConfiguration(IdentityCenterConfigurationT&& value) { m_identityCenterConfigurationHasBeenSet = true; m_identityCenterConfiguration = std::forward<IdentityCenterConfigurationT>(value); }
298 template<typename IdentityCenterConfigurationT = IdentityCenterConfigurationInput>
299 CreateApplicationRequest& WithIdentityCenterConfiguration(IdentityCenterConfigurationT&& value) { SetIdentityCenterConfiguration(std::forward<IdentityCenterConfigurationT>(value)); return *this;}
301 private:
302
303 Aws::String m_name;
304 bool m_nameHasBeenSet = false;
305
306 Aws::String m_releaseLabel;
307 bool m_releaseLabelHasBeenSet = false;
308
309 Aws::String m_type;
310 bool m_typeHasBeenSet = false;
311
313 bool m_clientTokenHasBeenSet = true;
314
316 bool m_initialCapacityHasBeenSet = false;
317
318 MaximumAllowedResources m_maximumCapacity;
319 bool m_maximumCapacityHasBeenSet = false;
320
322 bool m_tagsHasBeenSet = false;
323
324 AutoStartConfig m_autoStartConfiguration;
325 bool m_autoStartConfigurationHasBeenSet = false;
326
327 AutoStopConfig m_autoStopConfiguration;
328 bool m_autoStopConfigurationHasBeenSet = false;
329
330 NetworkConfiguration m_networkConfiguration;
331 bool m_networkConfigurationHasBeenSet = false;
332
333 Architecture m_architecture{Architecture::NOT_SET};
334 bool m_architectureHasBeenSet = false;
335
336 ImageConfigurationInput m_imageConfiguration;
337 bool m_imageConfigurationHasBeenSet = false;
338
340 bool m_workerTypeSpecificationsHasBeenSet = false;
341
342 Aws::Vector<Configuration> m_runtimeConfiguration;
343 bool m_runtimeConfigurationHasBeenSet = false;
344
345 MonitoringConfiguration m_monitoringConfiguration;
346 bool m_monitoringConfigurationHasBeenSet = false;
347
348 InteractiveConfiguration m_interactiveConfiguration;
349 bool m_interactiveConfigurationHasBeenSet = false;
350
351 SchedulerConfiguration m_schedulerConfiguration;
352 bool m_schedulerConfigurationHasBeenSet = false;
353
354 IdentityCenterConfigurationInput m_identityCenterConfiguration;
355 bool m_identityCenterConfigurationHasBeenSet = false;
356 };
357
358} // namespace Model
359} // namespace EMRServerless
360} // namespace Aws
CreateApplicationRequest & AddWorkerTypeSpecifications(WorkerTypeSpecificationsKeyT &&key, WorkerTypeSpecificationsValueT &&value)
CreateApplicationRequest & WithIdentityCenterConfiguration(IdentityCenterConfigurationT &&value)
AWS_EMRSERVERLESS_API CreateApplicationRequest()=default
AWS_EMRSERVERLESS_API Aws::String SerializePayload() const override
const Aws::Vector< Configuration > & GetRuntimeConfiguration() const
CreateApplicationRequest & WithImageConfiguration(ImageConfigurationT &&value)
CreateApplicationRequest & WithName(NameT &&value)
CreateApplicationRequest & WithNetworkConfiguration(NetworkConfigurationT &&value)
CreateApplicationRequest & AddInitialCapacity(InitialCapacityKeyT &&key, InitialCapacityValueT &&value)
CreateApplicationRequest & WithInteractiveConfiguration(InteractiveConfigurationT &&value)
void SetMonitoringConfiguration(MonitoringConfigurationT &&value)
CreateApplicationRequest & WithClientToken(ClientTokenT &&value)
void SetSchedulerConfiguration(SchedulerConfigurationT &&value)
const MonitoringConfiguration & GetMonitoringConfiguration() const
const Aws::Map< Aws::String, InitialCapacityConfig > & GetInitialCapacity() const
const NetworkConfiguration & GetNetworkConfiguration() const
CreateApplicationRequest & WithAutoStopConfiguration(AutoStopConfigurationT &&value)
CreateApplicationRequest & WithInitialCapacity(InitialCapacityT &&value)
CreateApplicationRequest & WithMaximumCapacity(MaximumCapacityT &&value)
CreateApplicationRequest & WithWorkerTypeSpecifications(WorkerTypeSpecificationsT &&value)
const SchedulerConfiguration & GetSchedulerConfiguration() const
void SetIdentityCenterConfiguration(IdentityCenterConfigurationT &&value)
const Aws::Map< Aws::String, WorkerTypeSpecificationInput > & GetWorkerTypeSpecifications() const
const Aws::Map< Aws::String, Aws::String > & GetTags() const
CreateApplicationRequest & WithArchitecture(Architecture value)
CreateApplicationRequest & WithReleaseLabel(ReleaseLabelT &&value)
void SetAutoStopConfiguration(AutoStopConfigurationT &&value)
CreateApplicationRequest & AddRuntimeConfiguration(RuntimeConfigurationT &&value)
virtual const char * GetServiceRequestName() const override
void SetInteractiveConfiguration(InteractiveConfigurationT &&value)
const IdentityCenterConfigurationInput & GetIdentityCenterConfiguration() const
CreateApplicationRequest & WithMonitoringConfiguration(MonitoringConfigurationT &&value)
const InteractiveConfiguration & GetInteractiveConfiguration() const
CreateApplicationRequest & WithRuntimeConfiguration(RuntimeConfigurationT &&value)
void SetWorkerTypeSpecifications(WorkerTypeSpecificationsT &&value)
CreateApplicationRequest & WithType(TypeT &&value)
const MaximumAllowedResources & GetMaximumCapacity() const
CreateApplicationRequest & AddTags(TagsKeyT &&key, TagsValueT &&value)
CreateApplicationRequest & WithTags(TagsT &&value)
CreateApplicationRequest & WithSchedulerConfiguration(SchedulerConfigurationT &&value)
const ImageConfigurationInput & GetImageConfiguration() const
void SetAutoStartConfiguration(AutoStartConfigurationT &&value)
CreateApplicationRequest & WithAutoStartConfiguration(AutoStartConfigurationT &&value)
static Aws::Utils::UUID PseudoRandomUUID()
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