AWS SDK for C++

AWS SDK for C++ Version 1.11.719

Loading...
Searching...
No Matches
JobFlowInstancesConfig.h
1
6#pragma once
7#include <aws/core/utils/memory/stl/AWSString.h>
8#include <aws/core/utils/memory/stl/AWSVector.h>
9#include <aws/elasticmapreduce/EMR_EXPORTS.h>
10#include <aws/elasticmapreduce/model/InstanceFleetConfig.h>
11#include <aws/elasticmapreduce/model/InstanceGroupConfig.h>
12#include <aws/elasticmapreduce/model/PlacementType.h>
13
14#include <utility>
15
16namespace Aws {
17namespace Utils {
18namespace Json {
19class JsonValue;
20class JsonView;
21} // namespace Json
22} // namespace Utils
23namespace EMR {
24namespace Model {
25
37 public:
38 AWS_EMR_API JobFlowInstancesConfig() = default;
42
44
47 inline const Aws::String& GetMasterInstanceType() const { return m_masterInstanceType; }
48 inline bool MasterInstanceTypeHasBeenSet() const { return m_masterInstanceTypeHasBeenSet; }
49 template <typename MasterInstanceTypeT = Aws::String>
50 void SetMasterInstanceType(MasterInstanceTypeT&& value) {
51 m_masterInstanceTypeHasBeenSet = true;
52 m_masterInstanceType = std::forward<MasterInstanceTypeT>(value);
53 }
54 template <typename MasterInstanceTypeT = Aws::String>
55 JobFlowInstancesConfig& WithMasterInstanceType(MasterInstanceTypeT&& value) {
56 SetMasterInstanceType(std::forward<MasterInstanceTypeT>(value));
57 return *this;
58 }
60
62
65 inline const Aws::String& GetSlaveInstanceType() const { return m_slaveInstanceType; }
66 inline bool SlaveInstanceTypeHasBeenSet() const { return m_slaveInstanceTypeHasBeenSet; }
67 template <typename SlaveInstanceTypeT = Aws::String>
68 void SetSlaveInstanceType(SlaveInstanceTypeT&& value) {
69 m_slaveInstanceTypeHasBeenSet = true;
70 m_slaveInstanceType = std::forward<SlaveInstanceTypeT>(value);
71 }
72 template <typename SlaveInstanceTypeT = Aws::String>
73 JobFlowInstancesConfig& WithSlaveInstanceType(SlaveInstanceTypeT&& value) {
74 SetSlaveInstanceType(std::forward<SlaveInstanceTypeT>(value));
75 return *this;
76 }
78
80
83 inline int GetInstanceCount() const { return m_instanceCount; }
84 inline bool InstanceCountHasBeenSet() const { return m_instanceCountHasBeenSet; }
85 inline void SetInstanceCount(int value) {
86 m_instanceCountHasBeenSet = true;
87 m_instanceCount = value;
88 }
90 SetInstanceCount(value);
91 return *this;
92 }
94
96
99 inline const Aws::Vector<InstanceGroupConfig>& GetInstanceGroups() const { return m_instanceGroups; }
100 inline bool InstanceGroupsHasBeenSet() const { return m_instanceGroupsHasBeenSet; }
101 template <typename InstanceGroupsT = Aws::Vector<InstanceGroupConfig>>
102 void SetInstanceGroups(InstanceGroupsT&& value) {
103 m_instanceGroupsHasBeenSet = true;
104 m_instanceGroups = std::forward<InstanceGroupsT>(value);
105 }
106 template <typename InstanceGroupsT = Aws::Vector<InstanceGroupConfig>>
107 JobFlowInstancesConfig& WithInstanceGroups(InstanceGroupsT&& value) {
108 SetInstanceGroups(std::forward<InstanceGroupsT>(value));
109 return *this;
110 }
111 template <typename InstanceGroupsT = InstanceGroupConfig>
112 JobFlowInstancesConfig& AddInstanceGroups(InstanceGroupsT&& value) {
113 m_instanceGroupsHasBeenSet = true;
114 m_instanceGroups.emplace_back(std::forward<InstanceGroupsT>(value));
115 return *this;
116 }
118
120
126 inline const Aws::Vector<InstanceFleetConfig>& GetInstanceFleets() const { return m_instanceFleets; }
127 inline bool InstanceFleetsHasBeenSet() const { return m_instanceFleetsHasBeenSet; }
128 template <typename InstanceFleetsT = Aws::Vector<InstanceFleetConfig>>
129 void SetInstanceFleets(InstanceFleetsT&& value) {
130 m_instanceFleetsHasBeenSet = true;
131 m_instanceFleets = std::forward<InstanceFleetsT>(value);
132 }
133 template <typename InstanceFleetsT = Aws::Vector<InstanceFleetConfig>>
134 JobFlowInstancesConfig& WithInstanceFleets(InstanceFleetsT&& value) {
135 SetInstanceFleets(std::forward<InstanceFleetsT>(value));
136 return *this;
137 }
138 template <typename InstanceFleetsT = InstanceFleetConfig>
139 JobFlowInstancesConfig& AddInstanceFleets(InstanceFleetsT&& value) {
140 m_instanceFleetsHasBeenSet = true;
141 m_instanceFleets.emplace_back(std::forward<InstanceFleetsT>(value));
142 return *this;
143 }
145
147
151 inline const Aws::String& GetEc2KeyName() const { return m_ec2KeyName; }
152 inline bool Ec2KeyNameHasBeenSet() const { return m_ec2KeyNameHasBeenSet; }
153 template <typename Ec2KeyNameT = Aws::String>
154 void SetEc2KeyName(Ec2KeyNameT&& value) {
155 m_ec2KeyNameHasBeenSet = true;
156 m_ec2KeyName = std::forward<Ec2KeyNameT>(value);
157 }
158 template <typename Ec2KeyNameT = Aws::String>
160 SetEc2KeyName(std::forward<Ec2KeyNameT>(value));
161 return *this;
162 }
164
166
169 inline const PlacementType& GetPlacement() const { return m_placement; }
170 inline bool PlacementHasBeenSet() const { return m_placementHasBeenSet; }
171 template <typename PlacementT = PlacementType>
172 void SetPlacement(PlacementT&& value) {
173 m_placementHasBeenSet = true;
174 m_placement = std::forward<PlacementT>(value);
175 }
176 template <typename PlacementT = PlacementType>
178 SetPlacement(std::forward<PlacementT>(value));
179 return *this;
180 }
182
184
191 inline bool GetKeepJobFlowAliveWhenNoSteps() const { return m_keepJobFlowAliveWhenNoSteps; }
192 inline bool KeepJobFlowAliveWhenNoStepsHasBeenSet() const { return m_keepJobFlowAliveWhenNoStepsHasBeenSet; }
193 inline void SetKeepJobFlowAliveWhenNoSteps(bool value) {
194 m_keepJobFlowAliveWhenNoStepsHasBeenSet = true;
195 m_keepJobFlowAliveWhenNoSteps = value;
196 }
199 return *this;
200 }
202
204
209 inline bool GetTerminationProtected() const { return m_terminationProtected; }
210 inline bool TerminationProtectedHasBeenSet() const { return m_terminationProtectedHasBeenSet; }
211 inline void SetTerminationProtected(bool value) {
212 m_terminationProtectedHasBeenSet = true;
213 m_terminationProtected = value;
214 }
217 return *this;
218 }
220
222
226 inline bool GetUnhealthyNodeReplacement() const { return m_unhealthyNodeReplacement; }
227 inline bool UnhealthyNodeReplacementHasBeenSet() const { return m_unhealthyNodeReplacementHasBeenSet; }
228 inline void SetUnhealthyNodeReplacement(bool value) {
229 m_unhealthyNodeReplacementHasBeenSet = true;
230 m_unhealthyNodeReplacement = value;
231 }
234 return *this;
235 }
237
239
247 inline const Aws::String& GetHadoopVersion() const { return m_hadoopVersion; }
248 inline bool HadoopVersionHasBeenSet() const { return m_hadoopVersionHasBeenSet; }
249 template <typename HadoopVersionT = Aws::String>
250 void SetHadoopVersion(HadoopVersionT&& value) {
251 m_hadoopVersionHasBeenSet = true;
252 m_hadoopVersion = std::forward<HadoopVersionT>(value);
253 }
254 template <typename HadoopVersionT = Aws::String>
255 JobFlowInstancesConfig& WithHadoopVersion(HadoopVersionT&& value) {
256 SetHadoopVersion(std::forward<HadoopVersionT>(value));
257 return *this;
258 }
260
262
269 inline const Aws::String& GetEc2SubnetId() const { return m_ec2SubnetId; }
270 inline bool Ec2SubnetIdHasBeenSet() const { return m_ec2SubnetIdHasBeenSet; }
271 template <typename Ec2SubnetIdT = Aws::String>
272 void SetEc2SubnetId(Ec2SubnetIdT&& value) {
273 m_ec2SubnetIdHasBeenSet = true;
274 m_ec2SubnetId = std::forward<Ec2SubnetIdT>(value);
275 }
276 template <typename Ec2SubnetIdT = Aws::String>
278 SetEc2SubnetId(std::forward<Ec2SubnetIdT>(value));
279 return *this;
280 }
282
284
291 inline const Aws::Vector<Aws::String>& GetEc2SubnetIds() const { return m_ec2SubnetIds; }
292 inline bool Ec2SubnetIdsHasBeenSet() const { return m_ec2SubnetIdsHasBeenSet; }
293 template <typename Ec2SubnetIdsT = Aws::Vector<Aws::String>>
294 void SetEc2SubnetIds(Ec2SubnetIdsT&& value) {
295 m_ec2SubnetIdsHasBeenSet = true;
296 m_ec2SubnetIds = std::forward<Ec2SubnetIdsT>(value);
297 }
298 template <typename Ec2SubnetIdsT = Aws::Vector<Aws::String>>
299 JobFlowInstancesConfig& WithEc2SubnetIds(Ec2SubnetIdsT&& value) {
300 SetEc2SubnetIds(std::forward<Ec2SubnetIdsT>(value));
301 return *this;
302 }
303 template <typename Ec2SubnetIdsT = Aws::String>
304 JobFlowInstancesConfig& AddEc2SubnetIds(Ec2SubnetIdsT&& value) {
305 m_ec2SubnetIdsHasBeenSet = true;
306 m_ec2SubnetIds.emplace_back(std::forward<Ec2SubnetIdsT>(value));
307 return *this;
308 }
310
312
317 inline const Aws::String& GetEmrManagedMasterSecurityGroup() const { return m_emrManagedMasterSecurityGroup; }
318 inline bool EmrManagedMasterSecurityGroupHasBeenSet() const { return m_emrManagedMasterSecurityGroupHasBeenSet; }
319 template <typename EmrManagedMasterSecurityGroupT = Aws::String>
320 void SetEmrManagedMasterSecurityGroup(EmrManagedMasterSecurityGroupT&& value) {
321 m_emrManagedMasterSecurityGroupHasBeenSet = true;
322 m_emrManagedMasterSecurityGroup = std::forward<EmrManagedMasterSecurityGroupT>(value);
323 }
324 template <typename EmrManagedMasterSecurityGroupT = Aws::String>
325 JobFlowInstancesConfig& WithEmrManagedMasterSecurityGroup(EmrManagedMasterSecurityGroupT&& value) {
326 SetEmrManagedMasterSecurityGroup(std::forward<EmrManagedMasterSecurityGroupT>(value));
327 return *this;
328 }
330
332
337 inline const Aws::String& GetEmrManagedSlaveSecurityGroup() const { return m_emrManagedSlaveSecurityGroup; }
338 inline bool EmrManagedSlaveSecurityGroupHasBeenSet() const { return m_emrManagedSlaveSecurityGroupHasBeenSet; }
339 template <typename EmrManagedSlaveSecurityGroupT = Aws::String>
340 void SetEmrManagedSlaveSecurityGroup(EmrManagedSlaveSecurityGroupT&& value) {
341 m_emrManagedSlaveSecurityGroupHasBeenSet = true;
342 m_emrManagedSlaveSecurityGroup = std::forward<EmrManagedSlaveSecurityGroupT>(value);
343 }
344 template <typename EmrManagedSlaveSecurityGroupT = Aws::String>
345 JobFlowInstancesConfig& WithEmrManagedSlaveSecurityGroup(EmrManagedSlaveSecurityGroupT&& value) {
346 SetEmrManagedSlaveSecurityGroup(std::forward<EmrManagedSlaveSecurityGroupT>(value));
347 return *this;
348 }
350
352
356 inline const Aws::String& GetServiceAccessSecurityGroup() const { return m_serviceAccessSecurityGroup; }
357 inline bool ServiceAccessSecurityGroupHasBeenSet() const { return m_serviceAccessSecurityGroupHasBeenSet; }
358 template <typename ServiceAccessSecurityGroupT = Aws::String>
359 void SetServiceAccessSecurityGroup(ServiceAccessSecurityGroupT&& value) {
360 m_serviceAccessSecurityGroupHasBeenSet = true;
361 m_serviceAccessSecurityGroup = std::forward<ServiceAccessSecurityGroupT>(value);
362 }
363 template <typename ServiceAccessSecurityGroupT = Aws::String>
364 JobFlowInstancesConfig& WithServiceAccessSecurityGroup(ServiceAccessSecurityGroupT&& value) {
365 SetServiceAccessSecurityGroup(std::forward<ServiceAccessSecurityGroupT>(value));
366 return *this;
367 }
369
371
374 inline const Aws::Vector<Aws::String>& GetAdditionalMasterSecurityGroups() const { return m_additionalMasterSecurityGroups; }
375 inline bool AdditionalMasterSecurityGroupsHasBeenSet() const { return m_additionalMasterSecurityGroupsHasBeenSet; }
376 template <typename AdditionalMasterSecurityGroupsT = Aws::Vector<Aws::String>>
377 void SetAdditionalMasterSecurityGroups(AdditionalMasterSecurityGroupsT&& value) {
378 m_additionalMasterSecurityGroupsHasBeenSet = true;
379 m_additionalMasterSecurityGroups = std::forward<AdditionalMasterSecurityGroupsT>(value);
380 }
381 template <typename AdditionalMasterSecurityGroupsT = Aws::Vector<Aws::String>>
382 JobFlowInstancesConfig& WithAdditionalMasterSecurityGroups(AdditionalMasterSecurityGroupsT&& value) {
383 SetAdditionalMasterSecurityGroups(std::forward<AdditionalMasterSecurityGroupsT>(value));
384 return *this;
385 }
386 template <typename AdditionalMasterSecurityGroupsT = Aws::String>
387 JobFlowInstancesConfig& AddAdditionalMasterSecurityGroups(AdditionalMasterSecurityGroupsT&& value) {
388 m_additionalMasterSecurityGroupsHasBeenSet = true;
389 m_additionalMasterSecurityGroups.emplace_back(std::forward<AdditionalMasterSecurityGroupsT>(value));
390 return *this;
391 }
393
395
399 inline const Aws::Vector<Aws::String>& GetAdditionalSlaveSecurityGroups() const { return m_additionalSlaveSecurityGroups; }
400 inline bool AdditionalSlaveSecurityGroupsHasBeenSet() const { return m_additionalSlaveSecurityGroupsHasBeenSet; }
401 template <typename AdditionalSlaveSecurityGroupsT = Aws::Vector<Aws::String>>
402 void SetAdditionalSlaveSecurityGroups(AdditionalSlaveSecurityGroupsT&& value) {
403 m_additionalSlaveSecurityGroupsHasBeenSet = true;
404 m_additionalSlaveSecurityGroups = std::forward<AdditionalSlaveSecurityGroupsT>(value);
405 }
406 template <typename AdditionalSlaveSecurityGroupsT = Aws::Vector<Aws::String>>
407 JobFlowInstancesConfig& WithAdditionalSlaveSecurityGroups(AdditionalSlaveSecurityGroupsT&& value) {
408 SetAdditionalSlaveSecurityGroups(std::forward<AdditionalSlaveSecurityGroupsT>(value));
409 return *this;
410 }
411 template <typename AdditionalSlaveSecurityGroupsT = Aws::String>
412 JobFlowInstancesConfig& AddAdditionalSlaveSecurityGroups(AdditionalSlaveSecurityGroupsT&& value) {
413 m_additionalSlaveSecurityGroupsHasBeenSet = true;
414 m_additionalSlaveSecurityGroups.emplace_back(std::forward<AdditionalSlaveSecurityGroupsT>(value));
415 return *this;
416 }
418 private:
419 Aws::String m_masterInstanceType;
420
421 Aws::String m_slaveInstanceType;
422
423 int m_instanceCount{0};
424
425 Aws::Vector<InstanceGroupConfig> m_instanceGroups;
426
427 Aws::Vector<InstanceFleetConfig> m_instanceFleets;
428
429 Aws::String m_ec2KeyName;
430
431 PlacementType m_placement;
432
433 bool m_keepJobFlowAliveWhenNoSteps{false};
434
435 bool m_terminationProtected{false};
436
437 bool m_unhealthyNodeReplacement{false};
438
439 Aws::String m_hadoopVersion;
440
441 Aws::String m_ec2SubnetId;
442
443 Aws::Vector<Aws::String> m_ec2SubnetIds;
444
445 Aws::String m_emrManagedMasterSecurityGroup;
446
447 Aws::String m_emrManagedSlaveSecurityGroup;
448
449 Aws::String m_serviceAccessSecurityGroup;
450
451 Aws::Vector<Aws::String> m_additionalMasterSecurityGroups;
452
453 Aws::Vector<Aws::String> m_additionalSlaveSecurityGroups;
454 bool m_masterInstanceTypeHasBeenSet = false;
455 bool m_slaveInstanceTypeHasBeenSet = false;
456 bool m_instanceCountHasBeenSet = false;
457 bool m_instanceGroupsHasBeenSet = false;
458 bool m_instanceFleetsHasBeenSet = false;
459 bool m_ec2KeyNameHasBeenSet = false;
460 bool m_placementHasBeenSet = false;
461 bool m_keepJobFlowAliveWhenNoStepsHasBeenSet = false;
462 bool m_terminationProtectedHasBeenSet = false;
463 bool m_unhealthyNodeReplacementHasBeenSet = false;
464 bool m_hadoopVersionHasBeenSet = false;
465 bool m_ec2SubnetIdHasBeenSet = false;
466 bool m_ec2SubnetIdsHasBeenSet = false;
467 bool m_emrManagedMasterSecurityGroupHasBeenSet = false;
468 bool m_emrManagedSlaveSecurityGroupHasBeenSet = false;
469 bool m_serviceAccessSecurityGroupHasBeenSet = false;
470 bool m_additionalMasterSecurityGroupsHasBeenSet = false;
471 bool m_additionalSlaveSecurityGroupsHasBeenSet = false;
472};
473
474} // namespace Model
475} // namespace EMR
476} // namespace Aws
JobFlowInstancesConfig & WithKeepJobFlowAliveWhenNoSteps(bool value)
const Aws::Vector< Aws::String > & GetEc2SubnetIds() const
JobFlowInstancesConfig & WithAdditionalSlaveSecurityGroups(AdditionalSlaveSecurityGroupsT &&value)
JobFlowInstancesConfig & WithTerminationProtected(bool value)
JobFlowInstancesConfig & WithUnhealthyNodeReplacement(bool value)
JobFlowInstancesConfig & WithEmrManagedMasterSecurityGroup(EmrManagedMasterSecurityGroupT &&value)
JobFlowInstancesConfig & AddAdditionalMasterSecurityGroups(AdditionalMasterSecurityGroupsT &&value)
const Aws::Vector< InstanceGroupConfig > & GetInstanceGroups() const
void SetSlaveInstanceType(SlaveInstanceTypeT &&value)
JobFlowInstancesConfig & WithEc2SubnetId(Ec2SubnetIdT &&value)
void SetInstanceGroups(InstanceGroupsT &&value)
const Aws::Vector< InstanceFleetConfig > & GetInstanceFleets() const
JobFlowInstancesConfig & WithAdditionalMasterSecurityGroups(AdditionalMasterSecurityGroupsT &&value)
JobFlowInstancesConfig & WithEc2KeyName(Ec2KeyNameT &&value)
const Aws::String & GetSlaveInstanceType() const
const Aws::String & GetServiceAccessSecurityGroup() const
void SetServiceAccessSecurityGroup(ServiceAccessSecurityGroupT &&value)
JobFlowInstancesConfig & WithInstanceFleets(InstanceFleetsT &&value)
JobFlowInstancesConfig & WithInstanceGroups(InstanceGroupsT &&value)
void SetAdditionalMasterSecurityGroups(AdditionalMasterSecurityGroupsT &&value)
JobFlowInstancesConfig & WithServiceAccessSecurityGroup(ServiceAccessSecurityGroupT &&value)
void SetInstanceFleets(InstanceFleetsT &&value)
const Aws::Vector< Aws::String > & GetAdditionalMasterSecurityGroups() const
JobFlowInstancesConfig & AddInstanceGroups(InstanceGroupsT &&value)
void SetEmrManagedSlaveSecurityGroup(EmrManagedSlaveSecurityGroupT &&value)
JobFlowInstancesConfig & WithInstanceCount(int value)
JobFlowInstancesConfig & WithEc2SubnetIds(Ec2SubnetIdsT &&value)
const Aws::String & GetEmrManagedSlaveSecurityGroup() const
void SetAdditionalSlaveSecurityGroups(AdditionalSlaveSecurityGroupsT &&value)
AWS_EMR_API Aws::Utils::Json::JsonValue Jsonize() const
JobFlowInstancesConfig & WithEmrManagedSlaveSecurityGroup(EmrManagedSlaveSecurityGroupT &&value)
JobFlowInstancesConfig & WithHadoopVersion(HadoopVersionT &&value)
AWS_EMR_API JobFlowInstancesConfig()=default
AWS_EMR_API JobFlowInstancesConfig & operator=(Aws::Utils::Json::JsonView jsonValue)
const Aws::String & GetMasterInstanceType() const
AWS_EMR_API JobFlowInstancesConfig(Aws::Utils::Json::JsonView jsonValue)
JobFlowInstancesConfig & AddAdditionalSlaveSecurityGroups(AdditionalSlaveSecurityGroupsT &&value)
const Aws::String & GetEmrManagedMasterSecurityGroup() const
const Aws::Vector< Aws::String > & GetAdditionalSlaveSecurityGroups() const
JobFlowInstancesConfig & WithSlaveInstanceType(SlaveInstanceTypeT &&value)
JobFlowInstancesConfig & WithPlacement(PlacementT &&value)
void SetEmrManagedMasterSecurityGroup(EmrManagedMasterSecurityGroupT &&value)
JobFlowInstancesConfig & AddInstanceFleets(InstanceFleetsT &&value)
void SetMasterInstanceType(MasterInstanceTypeT &&value)
JobFlowInstancesConfig & AddEc2SubnetIds(Ec2SubnetIdsT &&value)
JobFlowInstancesConfig & WithMasterInstanceType(MasterInstanceTypeT &&value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue