AWS SDK for C++

AWS SDK for C++ Version 1.11.606

Loading...
Searching...
No Matches
JobFlowInstancesConfig.h
1
6#pragma once
7#include <aws/elasticmapreduce/EMR_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/core/utils/memory/stl/AWSVector.h>
10#include <aws/elasticmapreduce/model/PlacementType.h>
11#include <aws/elasticmapreduce/model/InstanceGroupConfig.h>
12#include <aws/elasticmapreduce/model/InstanceFleetConfig.h>
13#include <utility>
14
15namespace Aws
16{
17namespace Utils
18{
19namespace Json
20{
21 class JsonValue;
22 class JsonView;
23} // namespace Json
24} // namespace Utils
25namespace EMR
26{
27namespace Model
28{
29
41 {
42 public:
43 AWS_EMR_API JobFlowInstancesConfig() = default;
47
48
50
53 inline const Aws::String& GetMasterInstanceType() const { return m_masterInstanceType; }
54 inline bool MasterInstanceTypeHasBeenSet() const { return m_masterInstanceTypeHasBeenSet; }
55 template<typename MasterInstanceTypeT = Aws::String>
56 void SetMasterInstanceType(MasterInstanceTypeT&& value) { m_masterInstanceTypeHasBeenSet = true; m_masterInstanceType = std::forward<MasterInstanceTypeT>(value); }
57 template<typename MasterInstanceTypeT = Aws::String>
58 JobFlowInstancesConfig& WithMasterInstanceType(MasterInstanceTypeT&& value) { SetMasterInstanceType(std::forward<MasterInstanceTypeT>(value)); return *this;}
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) { m_slaveInstanceTypeHasBeenSet = true; m_slaveInstanceType = std::forward<SlaveInstanceTypeT>(value); }
69 template<typename SlaveInstanceTypeT = Aws::String>
70 JobFlowInstancesConfig& WithSlaveInstanceType(SlaveInstanceTypeT&& value) { SetSlaveInstanceType(std::forward<SlaveInstanceTypeT>(value)); return *this;}
72
74
77 inline int GetInstanceCount() const { return m_instanceCount; }
78 inline bool InstanceCountHasBeenSet() const { return m_instanceCountHasBeenSet; }
79 inline void SetInstanceCount(int value) { m_instanceCountHasBeenSet = true; m_instanceCount = value; }
80 inline JobFlowInstancesConfig& WithInstanceCount(int value) { SetInstanceCount(value); return *this;}
82
84
87 inline const Aws::Vector<InstanceGroupConfig>& GetInstanceGroups() const { return m_instanceGroups; }
88 inline bool InstanceGroupsHasBeenSet() const { return m_instanceGroupsHasBeenSet; }
89 template<typename InstanceGroupsT = Aws::Vector<InstanceGroupConfig>>
90 void SetInstanceGroups(InstanceGroupsT&& value) { m_instanceGroupsHasBeenSet = true; m_instanceGroups = std::forward<InstanceGroupsT>(value); }
91 template<typename InstanceGroupsT = Aws::Vector<InstanceGroupConfig>>
92 JobFlowInstancesConfig& WithInstanceGroups(InstanceGroupsT&& value) { SetInstanceGroups(std::forward<InstanceGroupsT>(value)); return *this;}
93 template<typename InstanceGroupsT = InstanceGroupConfig>
94 JobFlowInstancesConfig& AddInstanceGroups(InstanceGroupsT&& value) { m_instanceGroupsHasBeenSet = true; m_instanceGroups.emplace_back(std::forward<InstanceGroupsT>(value)); return *this; }
96
98
104 inline const Aws::Vector<InstanceFleetConfig>& GetInstanceFleets() const { return m_instanceFleets; }
105 inline bool InstanceFleetsHasBeenSet() const { return m_instanceFleetsHasBeenSet; }
106 template<typename InstanceFleetsT = Aws::Vector<InstanceFleetConfig>>
107 void SetInstanceFleets(InstanceFleetsT&& value) { m_instanceFleetsHasBeenSet = true; m_instanceFleets = std::forward<InstanceFleetsT>(value); }
108 template<typename InstanceFleetsT = Aws::Vector<InstanceFleetConfig>>
109 JobFlowInstancesConfig& WithInstanceFleets(InstanceFleetsT&& value) { SetInstanceFleets(std::forward<InstanceFleetsT>(value)); return *this;}
110 template<typename InstanceFleetsT = InstanceFleetConfig>
111 JobFlowInstancesConfig& AddInstanceFleets(InstanceFleetsT&& value) { m_instanceFleetsHasBeenSet = true; m_instanceFleets.emplace_back(std::forward<InstanceFleetsT>(value)); return *this; }
113
115
119 inline const Aws::String& GetEc2KeyName() const { return m_ec2KeyName; }
120 inline bool Ec2KeyNameHasBeenSet() const { return m_ec2KeyNameHasBeenSet; }
121 template<typename Ec2KeyNameT = Aws::String>
122 void SetEc2KeyName(Ec2KeyNameT&& value) { m_ec2KeyNameHasBeenSet = true; m_ec2KeyName = std::forward<Ec2KeyNameT>(value); }
123 template<typename Ec2KeyNameT = Aws::String>
124 JobFlowInstancesConfig& WithEc2KeyName(Ec2KeyNameT&& value) { SetEc2KeyName(std::forward<Ec2KeyNameT>(value)); return *this;}
126
128
131 inline const PlacementType& GetPlacement() const { return m_placement; }
132 inline bool PlacementHasBeenSet() const { return m_placementHasBeenSet; }
133 template<typename PlacementT = PlacementType>
134 void SetPlacement(PlacementT&& value) { m_placementHasBeenSet = true; m_placement = std::forward<PlacementT>(value); }
135 template<typename PlacementT = PlacementType>
136 JobFlowInstancesConfig& WithPlacement(PlacementT&& value) { SetPlacement(std::forward<PlacementT>(value)); return *this;}
138
140
147 inline bool GetKeepJobFlowAliveWhenNoSteps() const { return m_keepJobFlowAliveWhenNoSteps; }
148 inline bool KeepJobFlowAliveWhenNoStepsHasBeenSet() const { return m_keepJobFlowAliveWhenNoStepsHasBeenSet; }
149 inline void SetKeepJobFlowAliveWhenNoSteps(bool value) { m_keepJobFlowAliveWhenNoStepsHasBeenSet = true; m_keepJobFlowAliveWhenNoSteps = value; }
152
154
159 inline bool GetTerminationProtected() const { return m_terminationProtected; }
160 inline bool TerminationProtectedHasBeenSet() const { return m_terminationProtectedHasBeenSet; }
161 inline void SetTerminationProtected(bool value) { m_terminationProtectedHasBeenSet = true; m_terminationProtected = value; }
164
166
170 inline bool GetUnhealthyNodeReplacement() const { return m_unhealthyNodeReplacement; }
171 inline bool UnhealthyNodeReplacementHasBeenSet() const { return m_unhealthyNodeReplacementHasBeenSet; }
172 inline void SetUnhealthyNodeReplacement(bool value) { m_unhealthyNodeReplacementHasBeenSet = true; m_unhealthyNodeReplacement = value; }
175
177
185 inline const Aws::String& GetHadoopVersion() const { return m_hadoopVersion; }
186 inline bool HadoopVersionHasBeenSet() const { return m_hadoopVersionHasBeenSet; }
187 template<typename HadoopVersionT = Aws::String>
188 void SetHadoopVersion(HadoopVersionT&& value) { m_hadoopVersionHasBeenSet = true; m_hadoopVersion = std::forward<HadoopVersionT>(value); }
189 template<typename HadoopVersionT = Aws::String>
190 JobFlowInstancesConfig& WithHadoopVersion(HadoopVersionT&& value) { SetHadoopVersion(std::forward<HadoopVersionT>(value)); return *this;}
192
194
201 inline const Aws::String& GetEc2SubnetId() const { return m_ec2SubnetId; }
202 inline bool Ec2SubnetIdHasBeenSet() const { return m_ec2SubnetIdHasBeenSet; }
203 template<typename Ec2SubnetIdT = Aws::String>
204 void SetEc2SubnetId(Ec2SubnetIdT&& value) { m_ec2SubnetIdHasBeenSet = true; m_ec2SubnetId = std::forward<Ec2SubnetIdT>(value); }
205 template<typename Ec2SubnetIdT = Aws::String>
206 JobFlowInstancesConfig& WithEc2SubnetId(Ec2SubnetIdT&& value) { SetEc2SubnetId(std::forward<Ec2SubnetIdT>(value)); return *this;}
208
210
217 inline const Aws::Vector<Aws::String>& GetEc2SubnetIds() const { return m_ec2SubnetIds; }
218 inline bool Ec2SubnetIdsHasBeenSet() const { return m_ec2SubnetIdsHasBeenSet; }
219 template<typename Ec2SubnetIdsT = Aws::Vector<Aws::String>>
220 void SetEc2SubnetIds(Ec2SubnetIdsT&& value) { m_ec2SubnetIdsHasBeenSet = true; m_ec2SubnetIds = std::forward<Ec2SubnetIdsT>(value); }
221 template<typename Ec2SubnetIdsT = Aws::Vector<Aws::String>>
222 JobFlowInstancesConfig& WithEc2SubnetIds(Ec2SubnetIdsT&& value) { SetEc2SubnetIds(std::forward<Ec2SubnetIdsT>(value)); return *this;}
223 template<typename Ec2SubnetIdsT = Aws::String>
224 JobFlowInstancesConfig& AddEc2SubnetIds(Ec2SubnetIdsT&& value) { m_ec2SubnetIdsHasBeenSet = true; m_ec2SubnetIds.emplace_back(std::forward<Ec2SubnetIdsT>(value)); return *this; }
226
228
233 inline const Aws::String& GetEmrManagedMasterSecurityGroup() const { return m_emrManagedMasterSecurityGroup; }
234 inline bool EmrManagedMasterSecurityGroupHasBeenSet() const { return m_emrManagedMasterSecurityGroupHasBeenSet; }
235 template<typename EmrManagedMasterSecurityGroupT = Aws::String>
236 void SetEmrManagedMasterSecurityGroup(EmrManagedMasterSecurityGroupT&& value) { m_emrManagedMasterSecurityGroupHasBeenSet = true; m_emrManagedMasterSecurityGroup = std::forward<EmrManagedMasterSecurityGroupT>(value); }
237 template<typename EmrManagedMasterSecurityGroupT = Aws::String>
238 JobFlowInstancesConfig& WithEmrManagedMasterSecurityGroup(EmrManagedMasterSecurityGroupT&& value) { SetEmrManagedMasterSecurityGroup(std::forward<EmrManagedMasterSecurityGroupT>(value)); return *this;}
240
242
247 inline const Aws::String& GetEmrManagedSlaveSecurityGroup() const { return m_emrManagedSlaveSecurityGroup; }
248 inline bool EmrManagedSlaveSecurityGroupHasBeenSet() const { return m_emrManagedSlaveSecurityGroupHasBeenSet; }
249 template<typename EmrManagedSlaveSecurityGroupT = Aws::String>
250 void SetEmrManagedSlaveSecurityGroup(EmrManagedSlaveSecurityGroupT&& value) { m_emrManagedSlaveSecurityGroupHasBeenSet = true; m_emrManagedSlaveSecurityGroup = std::forward<EmrManagedSlaveSecurityGroupT>(value); }
251 template<typename EmrManagedSlaveSecurityGroupT = Aws::String>
252 JobFlowInstancesConfig& WithEmrManagedSlaveSecurityGroup(EmrManagedSlaveSecurityGroupT&& value) { SetEmrManagedSlaveSecurityGroup(std::forward<EmrManagedSlaveSecurityGroupT>(value)); return *this;}
254
256
260 inline const Aws::String& GetServiceAccessSecurityGroup() const { return m_serviceAccessSecurityGroup; }
261 inline bool ServiceAccessSecurityGroupHasBeenSet() const { return m_serviceAccessSecurityGroupHasBeenSet; }
262 template<typename ServiceAccessSecurityGroupT = Aws::String>
263 void SetServiceAccessSecurityGroup(ServiceAccessSecurityGroupT&& value) { m_serviceAccessSecurityGroupHasBeenSet = true; m_serviceAccessSecurityGroup = std::forward<ServiceAccessSecurityGroupT>(value); }
264 template<typename ServiceAccessSecurityGroupT = Aws::String>
265 JobFlowInstancesConfig& WithServiceAccessSecurityGroup(ServiceAccessSecurityGroupT&& value) { SetServiceAccessSecurityGroup(std::forward<ServiceAccessSecurityGroupT>(value)); return *this;}
267
269
272 inline const Aws::Vector<Aws::String>& GetAdditionalMasterSecurityGroups() const { return m_additionalMasterSecurityGroups; }
273 inline bool AdditionalMasterSecurityGroupsHasBeenSet() const { return m_additionalMasterSecurityGroupsHasBeenSet; }
274 template<typename AdditionalMasterSecurityGroupsT = Aws::Vector<Aws::String>>
275 void SetAdditionalMasterSecurityGroups(AdditionalMasterSecurityGroupsT&& value) { m_additionalMasterSecurityGroupsHasBeenSet = true; m_additionalMasterSecurityGroups = std::forward<AdditionalMasterSecurityGroupsT>(value); }
276 template<typename AdditionalMasterSecurityGroupsT = Aws::Vector<Aws::String>>
277 JobFlowInstancesConfig& WithAdditionalMasterSecurityGroups(AdditionalMasterSecurityGroupsT&& value) { SetAdditionalMasterSecurityGroups(std::forward<AdditionalMasterSecurityGroupsT>(value)); return *this;}
278 template<typename AdditionalMasterSecurityGroupsT = Aws::String>
279 JobFlowInstancesConfig& AddAdditionalMasterSecurityGroups(AdditionalMasterSecurityGroupsT&& value) { m_additionalMasterSecurityGroupsHasBeenSet = true; m_additionalMasterSecurityGroups.emplace_back(std::forward<AdditionalMasterSecurityGroupsT>(value)); return *this; }
281
283
287 inline const Aws::Vector<Aws::String>& GetAdditionalSlaveSecurityGroups() const { return m_additionalSlaveSecurityGroups; }
288 inline bool AdditionalSlaveSecurityGroupsHasBeenSet() const { return m_additionalSlaveSecurityGroupsHasBeenSet; }
289 template<typename AdditionalSlaveSecurityGroupsT = Aws::Vector<Aws::String>>
290 void SetAdditionalSlaveSecurityGroups(AdditionalSlaveSecurityGroupsT&& value) { m_additionalSlaveSecurityGroupsHasBeenSet = true; m_additionalSlaveSecurityGroups = std::forward<AdditionalSlaveSecurityGroupsT>(value); }
291 template<typename AdditionalSlaveSecurityGroupsT = Aws::Vector<Aws::String>>
292 JobFlowInstancesConfig& WithAdditionalSlaveSecurityGroups(AdditionalSlaveSecurityGroupsT&& value) { SetAdditionalSlaveSecurityGroups(std::forward<AdditionalSlaveSecurityGroupsT>(value)); return *this;}
293 template<typename AdditionalSlaveSecurityGroupsT = Aws::String>
294 JobFlowInstancesConfig& AddAdditionalSlaveSecurityGroups(AdditionalSlaveSecurityGroupsT&& value) { m_additionalSlaveSecurityGroupsHasBeenSet = true; m_additionalSlaveSecurityGroups.emplace_back(std::forward<AdditionalSlaveSecurityGroupsT>(value)); return *this; }
296 private:
297
298 Aws::String m_masterInstanceType;
299 bool m_masterInstanceTypeHasBeenSet = false;
300
301 Aws::String m_slaveInstanceType;
302 bool m_slaveInstanceTypeHasBeenSet = false;
303
304 int m_instanceCount{0};
305 bool m_instanceCountHasBeenSet = false;
306
307 Aws::Vector<InstanceGroupConfig> m_instanceGroups;
308 bool m_instanceGroupsHasBeenSet = false;
309
310 Aws::Vector<InstanceFleetConfig> m_instanceFleets;
311 bool m_instanceFleetsHasBeenSet = false;
312
313 Aws::String m_ec2KeyName;
314 bool m_ec2KeyNameHasBeenSet = false;
315
316 PlacementType m_placement;
317 bool m_placementHasBeenSet = false;
318
319 bool m_keepJobFlowAliveWhenNoSteps{false};
320 bool m_keepJobFlowAliveWhenNoStepsHasBeenSet = false;
321
322 bool m_terminationProtected{false};
323 bool m_terminationProtectedHasBeenSet = false;
324
325 bool m_unhealthyNodeReplacement{false};
326 bool m_unhealthyNodeReplacementHasBeenSet = false;
327
328 Aws::String m_hadoopVersion;
329 bool m_hadoopVersionHasBeenSet = false;
330
331 Aws::String m_ec2SubnetId;
332 bool m_ec2SubnetIdHasBeenSet = false;
333
334 Aws::Vector<Aws::String> m_ec2SubnetIds;
335 bool m_ec2SubnetIdsHasBeenSet = false;
336
337 Aws::String m_emrManagedMasterSecurityGroup;
338 bool m_emrManagedMasterSecurityGroupHasBeenSet = false;
339
340 Aws::String m_emrManagedSlaveSecurityGroup;
341 bool m_emrManagedSlaveSecurityGroupHasBeenSet = false;
342
343 Aws::String m_serviceAccessSecurityGroup;
344 bool m_serviceAccessSecurityGroupHasBeenSet = false;
345
346 Aws::Vector<Aws::String> m_additionalMasterSecurityGroups;
347 bool m_additionalMasterSecurityGroupsHasBeenSet = false;
348
349 Aws::Vector<Aws::String> m_additionalSlaveSecurityGroups;
350 bool m_additionalSlaveSecurityGroupsHasBeenSet = false;
351 };
352
353} // namespace Model
354} // namespace EMR
355} // 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