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>
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>
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>
79 inline void SetInstanceCount(
int value) { m_instanceCountHasBeenSet =
true; m_instanceCount = value; }
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>>
93 template<
typename InstanceGroupsT = InstanceGroupConfig>
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>>
110 template<
typename InstanceFleetsT = InstanceFleetConfig>
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>
133 template<
typename PlacementT = PlacementType>
134 void SetPlacement(PlacementT&& value) { m_placementHasBeenSet =
true; m_placement = std::forward<PlacementT>(value); }
135 template<
typename PlacementT = PlacementType>
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>
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>
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>>
223 template<
typename Ec2SubnetIdsT = Aws::String>
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>
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>
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>
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>>
278 template<
typename AdditionalMasterSecurityGroupsT = Aws::String>
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>>
293 template<
typename AdditionalSlaveSecurityGroupsT = Aws::String>
299 bool m_masterInstanceTypeHasBeenSet =
false;
302 bool m_slaveInstanceTypeHasBeenSet =
false;
304 int m_instanceCount{0};
305 bool m_instanceCountHasBeenSet =
false;
308 bool m_instanceGroupsHasBeenSet =
false;
311 bool m_instanceFleetsHasBeenSet =
false;
314 bool m_ec2KeyNameHasBeenSet =
false;
316 PlacementType m_placement;
317 bool m_placementHasBeenSet =
false;
319 bool m_keepJobFlowAliveWhenNoSteps{
false};
320 bool m_keepJobFlowAliveWhenNoStepsHasBeenSet =
false;
322 bool m_terminationProtected{
false};
323 bool m_terminationProtectedHasBeenSet =
false;
325 bool m_unhealthyNodeReplacement{
false};
326 bool m_unhealthyNodeReplacementHasBeenSet =
false;
329 bool m_hadoopVersionHasBeenSet =
false;
332 bool m_ec2SubnetIdHasBeenSet =
false;
335 bool m_ec2SubnetIdsHasBeenSet =
false;
338 bool m_emrManagedMasterSecurityGroupHasBeenSet =
false;
341 bool m_emrManagedSlaveSecurityGroupHasBeenSet =
false;
344 bool m_serviceAccessSecurityGroupHasBeenSet =
false;
347 bool m_additionalMasterSecurityGroupsHasBeenSet =
false;
350 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