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>
49 template <
typename MasterInstanceTypeT = Aws::String>
51 m_masterInstanceTypeHasBeenSet =
true;
52 m_masterInstanceType = std::forward<MasterInstanceTypeT>(value);
54 template <
typename MasterInstanceTypeT = Aws::String>
67 template <
typename SlaveInstanceTypeT = Aws::String>
69 m_slaveInstanceTypeHasBeenSet =
true;
70 m_slaveInstanceType = std::forward<SlaveInstanceTypeT>(value);
72 template <
typename SlaveInstanceTypeT = Aws::String>
86 m_instanceCountHasBeenSet =
true;
87 m_instanceCount = value;
101 template <
typename InstanceGroupsT = Aws::Vector<InstanceGroupConfig>>
103 m_instanceGroupsHasBeenSet =
true;
104 m_instanceGroups = std::forward<InstanceGroupsT>(value);
106 template <
typename InstanceGroupsT = Aws::Vector<InstanceGroupConfig>>
111 template <
typename InstanceGroupsT = InstanceGroupConfig>
113 m_instanceGroupsHasBeenSet =
true;
114 m_instanceGroups.emplace_back(std::forward<InstanceGroupsT>(value));
128 template <
typename InstanceFleetsT = Aws::Vector<InstanceFleetConfig>>
130 m_instanceFleetsHasBeenSet =
true;
131 m_instanceFleets = std::forward<InstanceFleetsT>(value);
133 template <
typename InstanceFleetsT = Aws::Vector<InstanceFleetConfig>>
138 template <
typename InstanceFleetsT = InstanceFleetConfig>
140 m_instanceFleetsHasBeenSet =
true;
141 m_instanceFleets.emplace_back(std::forward<InstanceFleetsT>(value));
153 template <
typename Ec2KeyNameT = Aws::String>
155 m_ec2KeyNameHasBeenSet =
true;
156 m_ec2KeyName = std::forward<Ec2KeyNameT>(value);
158 template <
typename Ec2KeyNameT = Aws::String>
171 template <
typename PlacementT = PlacementType>
173 m_placementHasBeenSet =
true;
174 m_placement = std::forward<PlacementT>(value);
176 template <
typename PlacementT = PlacementType>
194 m_keepJobFlowAliveWhenNoStepsHasBeenSet =
true;
195 m_keepJobFlowAliveWhenNoSteps = value;
212 m_terminationProtectedHasBeenSet =
true;
213 m_terminationProtected = value;
229 m_unhealthyNodeReplacementHasBeenSet =
true;
230 m_unhealthyNodeReplacement = value;
249 template <
typename HadoopVersionT = Aws::String>
251 m_hadoopVersionHasBeenSet =
true;
252 m_hadoopVersion = std::forward<HadoopVersionT>(value);
254 template <
typename HadoopVersionT = Aws::String>
271 template <
typename Ec2SubnetIdT = Aws::String>
273 m_ec2SubnetIdHasBeenSet =
true;
274 m_ec2SubnetId = std::forward<Ec2SubnetIdT>(value);
276 template <
typename Ec2SubnetIdT = Aws::String>
293 template <
typename Ec2SubnetIdsT = Aws::Vector<Aws::String>>
295 m_ec2SubnetIdsHasBeenSet =
true;
296 m_ec2SubnetIds = std::forward<Ec2SubnetIdsT>(value);
298 template <
typename Ec2SubnetIdsT = Aws::Vector<Aws::String>>
303 template <
typename Ec2SubnetIdsT = Aws::String>
305 m_ec2SubnetIdsHasBeenSet =
true;
306 m_ec2SubnetIds.emplace_back(std::forward<Ec2SubnetIdsT>(value));
319 template <
typename EmrManagedMasterSecurityGroupT = Aws::String>
321 m_emrManagedMasterSecurityGroupHasBeenSet =
true;
322 m_emrManagedMasterSecurityGroup = std::forward<EmrManagedMasterSecurityGroupT>(value);
324 template <
typename EmrManagedMasterSecurityGroupT = Aws::String>
339 template <
typename EmrManagedSlaveSecurityGroupT = Aws::String>
341 m_emrManagedSlaveSecurityGroupHasBeenSet =
true;
342 m_emrManagedSlaveSecurityGroup = std::forward<EmrManagedSlaveSecurityGroupT>(value);
344 template <
typename EmrManagedSlaveSecurityGroupT = Aws::String>
358 template <
typename ServiceAccessSecurityGroupT = Aws::String>
360 m_serviceAccessSecurityGroupHasBeenSet =
true;
361 m_serviceAccessSecurityGroup = std::forward<ServiceAccessSecurityGroupT>(value);
363 template <
typename ServiceAccessSecurityGroupT = Aws::String>
376 template <
typename AdditionalMasterSecurityGroupsT = Aws::Vector<Aws::String>>
378 m_additionalMasterSecurityGroupsHasBeenSet =
true;
379 m_additionalMasterSecurityGroups = std::forward<AdditionalMasterSecurityGroupsT>(value);
381 template <
typename AdditionalMasterSecurityGroupsT = Aws::Vector<Aws::String>>
386 template <
typename AdditionalMasterSecurityGroupsT = Aws::String>
388 m_additionalMasterSecurityGroupsHasBeenSet =
true;
389 m_additionalMasterSecurityGroups.emplace_back(std::forward<AdditionalMasterSecurityGroupsT>(value));
401 template <
typename AdditionalSlaveSecurityGroupsT = Aws::Vector<Aws::String>>
403 m_additionalSlaveSecurityGroupsHasBeenSet =
true;
404 m_additionalSlaveSecurityGroups = std::forward<AdditionalSlaveSecurityGroupsT>(value);
406 template <
typename AdditionalSlaveSecurityGroupsT = Aws::Vector<Aws::String>>
411 template <
typename AdditionalSlaveSecurityGroupsT = Aws::String>
413 m_additionalSlaveSecurityGroupsHasBeenSet =
true;
414 m_additionalSlaveSecurityGroups.emplace_back(std::forward<AdditionalSlaveSecurityGroupsT>(value));
423 int m_instanceCount{0};
431 PlacementType m_placement;
433 bool m_keepJobFlowAliveWhenNoSteps{
false};
435 bool m_terminationProtected{
false};
437 bool m_unhealthyNodeReplacement{
false};
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;
bool GetUnhealthyNodeReplacement() const
JobFlowInstancesConfig & WithKeepJobFlowAliveWhenNoSteps(bool value)
const Aws::Vector< Aws::String > & GetEc2SubnetIds() const
void SetEc2KeyName(Ec2KeyNameT &&value)
JobFlowInstancesConfig & WithAdditionalSlaveSecurityGroups(AdditionalSlaveSecurityGroupsT &&value)
const Aws::String & GetEc2SubnetId() const
void SetHadoopVersion(HadoopVersionT &&value)
const Aws::String & GetHadoopVersion() const
JobFlowInstancesConfig & WithTerminationProtected(bool value)
int GetInstanceCount() const
JobFlowInstancesConfig & WithUnhealthyNodeReplacement(bool value)
void SetEc2SubnetIds(Ec2SubnetIdsT &&value)
JobFlowInstancesConfig & WithEmrManagedMasterSecurityGroup(EmrManagedMasterSecurityGroupT &&value)
JobFlowInstancesConfig & AddAdditionalMasterSecurityGroups(AdditionalMasterSecurityGroupsT &&value)
bool InstanceGroupsHasBeenSet() const
const Aws::Vector< InstanceGroupConfig > & GetInstanceGroups() const
void SetSlaveInstanceType(SlaveInstanceTypeT &&value)
JobFlowInstancesConfig & WithEc2SubnetId(Ec2SubnetIdT &&value)
void SetInstanceGroups(InstanceGroupsT &&value)
const Aws::Vector< InstanceFleetConfig > & GetInstanceFleets() const
bool InstanceCountHasBeenSet() const
bool EmrManagedMasterSecurityGroupHasBeenSet() const
JobFlowInstancesConfig & WithAdditionalMasterSecurityGroups(AdditionalMasterSecurityGroupsT &&value)
JobFlowInstancesConfig & WithEc2KeyName(Ec2KeyNameT &&value)
const Aws::String & GetSlaveInstanceType() const
const Aws::String & GetServiceAccessSecurityGroup() const
void SetServiceAccessSecurityGroup(ServiceAccessSecurityGroupT &&value)
void SetEc2SubnetId(Ec2SubnetIdT &&value)
JobFlowInstancesConfig & WithInstanceFleets(InstanceFleetsT &&value)
JobFlowInstancesConfig & WithInstanceGroups(InstanceGroupsT &&value)
bool AdditionalMasterSecurityGroupsHasBeenSet() const
void SetAdditionalMasterSecurityGroups(AdditionalMasterSecurityGroupsT &&value)
bool UnhealthyNodeReplacementHasBeenSet() const
JobFlowInstancesConfig & WithServiceAccessSecurityGroup(ServiceAccessSecurityGroupT &&value)
bool KeepJobFlowAliveWhenNoStepsHasBeenSet() const
void SetTerminationProtected(bool value)
bool InstanceFleetsHasBeenSet() const
bool Ec2SubnetIdHasBeenSet() const
void SetInstanceFleets(InstanceFleetsT &&value)
bool TerminationProtectedHasBeenSet() const
bool EmrManagedSlaveSecurityGroupHasBeenSet() const
void SetPlacement(PlacementT &&value)
void SetInstanceCount(int value)
const Aws::Vector< Aws::String > & GetAdditionalMasterSecurityGroups() const
const Aws::String & GetEc2KeyName() const
bool HadoopVersionHasBeenSet() const
JobFlowInstancesConfig & AddInstanceGroups(InstanceGroupsT &&value)
bool Ec2KeyNameHasBeenSet() const
void SetEmrManagedSlaveSecurityGroup(EmrManagedSlaveSecurityGroupT &&value)
JobFlowInstancesConfig & WithInstanceCount(int value)
JobFlowInstancesConfig & WithEc2SubnetIds(Ec2SubnetIdsT &&value)
bool AdditionalSlaveSecurityGroupsHasBeenSet() const
const Aws::String & GetEmrManagedSlaveSecurityGroup() const
bool SlaveInstanceTypeHasBeenSet() const
void SetKeepJobFlowAliveWhenNoSteps(bool value)
void SetAdditionalSlaveSecurityGroups(AdditionalSlaveSecurityGroupsT &&value)
AWS_EMR_API Aws::Utils::Json::JsonValue Jsonize() const
JobFlowInstancesConfig & WithEmrManagedSlaveSecurityGroup(EmrManagedSlaveSecurityGroupT &&value)
bool PlacementHasBeenSet() const
bool GetKeepJobFlowAliveWhenNoSteps() const
JobFlowInstancesConfig & WithHadoopVersion(HadoopVersionT &&value)
void SetUnhealthyNodeReplacement(bool 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)
const PlacementType & GetPlacement() const
JobFlowInstancesConfig & AddAdditionalSlaveSecurityGroups(AdditionalSlaveSecurityGroupsT &&value)
const Aws::String & GetEmrManagedMasterSecurityGroup() const
bool MasterInstanceTypeHasBeenSet() const
const Aws::Vector< Aws::String > & GetAdditionalSlaveSecurityGroups() const
bool GetTerminationProtected() const
JobFlowInstancesConfig & WithSlaveInstanceType(SlaveInstanceTypeT &&value)
JobFlowInstancesConfig & WithPlacement(PlacementT &&value)
bool ServiceAccessSecurityGroupHasBeenSet() const
void SetEmrManagedMasterSecurityGroup(EmrManagedMasterSecurityGroupT &&value)
JobFlowInstancesConfig & AddInstanceFleets(InstanceFleetsT &&value)
void SetMasterInstanceType(MasterInstanceTypeT &&value)
bool Ec2SubnetIdsHasBeenSet() const
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