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/InstanceGroupDetail.h>
50 template<
typename MasterInstanceTypeT = Aws::String>
51 void SetMasterInstanceType(MasterInstanceTypeT&& value) { m_masterInstanceTypeHasBeenSet =
true; m_masterInstanceType = std::forward<MasterInstanceTypeT>(value); }
52 template<
typename MasterInstanceTypeT = Aws::String>
63 template<
typename MasterPublicDnsNameT = Aws::String>
64 void SetMasterPublicDnsName(MasterPublicDnsNameT&& value) { m_masterPublicDnsNameHasBeenSet =
true; m_masterPublicDnsName = std::forward<MasterPublicDnsNameT>(value); }
65 template<
typename MasterPublicDnsNameT = Aws::String>
75 template<
typename MasterInstanceIdT = Aws::String>
76 void SetMasterInstanceId(MasterInstanceIdT&& value) { m_masterInstanceIdHasBeenSet =
true; m_masterInstanceId = std::forward<MasterInstanceIdT>(value); }
77 template<
typename MasterInstanceIdT = Aws::String>
87 template<
typename SlaveInstanceTypeT = Aws::String>
88 void SetSlaveInstanceType(SlaveInstanceTypeT&& value) { m_slaveInstanceTypeHasBeenSet =
true; m_slaveInstanceType = std::forward<SlaveInstanceTypeT>(value); }
89 template<
typename SlaveInstanceTypeT = Aws::String>
102 inline void SetInstanceCount(
int value) { m_instanceCountHasBeenSet =
true; m_instanceCount = value; }
112 template<
typename InstanceGroupsT = Aws::Vector<InstanceGroupDetail>>
113 void SetInstanceGroups(InstanceGroupsT&& value) { m_instanceGroupsHasBeenSet =
true; m_instanceGroups = std::forward<InstanceGroupsT>(value); }
114 template<
typename InstanceGroupsT = Aws::Vector<InstanceGroupDetail>>
116 template<
typename InstanceGroupsT = InstanceGroupDetail>
142 template<
typename Ec2KeyNameT = Aws::String>
143 void SetEc2KeyName(Ec2KeyNameT&& value) { m_ec2KeyNameHasBeenSet =
true; m_ec2KeyName = std::forward<Ec2KeyNameT>(value); }
144 template<
typename Ec2KeyNameT = Aws::String>
155 template<
typename Ec2SubnetIdT = Aws::String>
156 void SetEc2SubnetId(Ec2SubnetIdT&& value) { m_ec2SubnetIdHasBeenSet =
true; m_ec2SubnetId = std::forward<Ec2SubnetIdT>(value); }
157 template<
typename Ec2SubnetIdT = Aws::String>
167 template<
typename PlacementT = PlacementType>
168 void SetPlacement(PlacementT&& value) { m_placementHasBeenSet =
true; m_placement = std::forward<PlacementT>(value); }
169 template<
typename PlacementT = PlacementType>
213 template<
typename HadoopVersionT = Aws::String>
214 void SetHadoopVersion(HadoopVersionT&& value) { m_hadoopVersionHasBeenSet =
true; m_hadoopVersion = std::forward<HadoopVersionT>(value); }
215 template<
typename HadoopVersionT = Aws::String>
221 bool m_masterInstanceTypeHasBeenSet =
false;
224 bool m_masterPublicDnsNameHasBeenSet =
false;
227 bool m_masterInstanceIdHasBeenSet =
false;
230 bool m_slaveInstanceTypeHasBeenSet =
false;
232 int m_instanceCount{0};
233 bool m_instanceCountHasBeenSet =
false;
236 bool m_instanceGroupsHasBeenSet =
false;
238 int m_normalizedInstanceHours{0};
239 bool m_normalizedInstanceHoursHasBeenSet =
false;
242 bool m_ec2KeyNameHasBeenSet =
false;
245 bool m_ec2SubnetIdHasBeenSet =
false;
247 PlacementType m_placement;
248 bool m_placementHasBeenSet =
false;
250 bool m_keepJobFlowAliveWhenNoSteps{
false};
251 bool m_keepJobFlowAliveWhenNoStepsHasBeenSet =
false;
253 bool m_terminationProtected{
false};
254 bool m_terminationProtectedHasBeenSet =
false;
256 bool m_unhealthyNodeReplacement{
false};
257 bool m_unhealthyNodeReplacementHasBeenSet =
false;
260 bool m_hadoopVersionHasBeenSet =
false;
bool MasterInstanceIdHasBeenSet() const
JobFlowInstancesDetail & WithInstanceGroups(InstanceGroupsT &&value)
void SetNormalizedInstanceHours(int value)
JobFlowInstancesDetail & WithTerminationProtected(bool value)
void SetMasterInstanceType(MasterInstanceTypeT &&value)
void SetMasterInstanceId(MasterInstanceIdT &&value)
JobFlowInstancesDetail & WithPlacement(PlacementT &&value)
bool InstanceCountHasBeenSet() const
bool Ec2SubnetIdHasBeenSet() const
JobFlowInstancesDetail & WithSlaveInstanceType(SlaveInstanceTypeT &&value)
bool PlacementHasBeenSet() const
JobFlowInstancesDetail & WithEc2SubnetId(Ec2SubnetIdT &&value)
JobFlowInstancesDetail & WithMasterInstanceId(MasterInstanceIdT &&value)
const Aws::String & GetSlaveInstanceType() const
int GetInstanceCount() const
const Aws::String & GetEc2SubnetId() const
void SetMasterPublicDnsName(MasterPublicDnsNameT &&value)
void SetEc2KeyName(Ec2KeyNameT &&value)
void SetKeepJobFlowAliveWhenNoSteps(bool value)
bool SlaveInstanceTypeHasBeenSet() const
JobFlowInstancesDetail & WithEc2KeyName(Ec2KeyNameT &&value)
JobFlowInstancesDetail & WithInstanceCount(int value)
void SetEc2SubnetId(Ec2SubnetIdT &&value)
const PlacementType & GetPlacement() const
bool Ec2KeyNameHasBeenSet() const
bool UnhealthyNodeReplacementHasBeenSet() const
bool MasterInstanceTypeHasBeenSet() const
AWS_EMR_API JobFlowInstancesDetail(Aws::Utils::Json::JsonView jsonValue)
const Aws::String & GetMasterPublicDnsName() const
bool MasterPublicDnsNameHasBeenSet() const
bool InstanceGroupsHasBeenSet() const
void SetTerminationProtected(bool value)
bool GetUnhealthyNodeReplacement() const
bool HadoopVersionHasBeenSet() const
bool GetTerminationProtected() const
void SetHadoopVersion(HadoopVersionT &&value)
void SetPlacement(PlacementT &&value)
bool NormalizedInstanceHoursHasBeenSet() const
void SetInstanceGroups(InstanceGroupsT &&value)
JobFlowInstancesDetail & WithNormalizedInstanceHours(int value)
bool GetKeepJobFlowAliveWhenNoSteps() const
void SetUnhealthyNodeReplacement(bool value)
JobFlowInstancesDetail & AddInstanceGroups(InstanceGroupsT &&value)
const Aws::String & GetMasterInstanceType() const
JobFlowInstancesDetail & WithKeepJobFlowAliveWhenNoSteps(bool value)
const Aws::Vector< InstanceGroupDetail > & GetInstanceGroups() const
JobFlowInstancesDetail & WithUnhealthyNodeReplacement(bool value)
JobFlowInstancesDetail & WithHadoopVersion(HadoopVersionT &&value)
JobFlowInstancesDetail & WithMasterInstanceType(MasterInstanceTypeT &&value)
void SetInstanceCount(int value)
const Aws::String & GetHadoopVersion() const
AWS_EMR_API Aws::Utils::Json::JsonValue Jsonize() const
AWS_EMR_API JobFlowInstancesDetail & operator=(Aws::Utils::Json::JsonView jsonValue)
JobFlowInstancesDetail & WithMasterPublicDnsName(MasterPublicDnsNameT &&value)
bool TerminationProtectedHasBeenSet() const
void SetSlaveInstanceType(SlaveInstanceTypeT &&value)
bool KeepJobFlowAliveWhenNoStepsHasBeenSet() const
AWS_EMR_API JobFlowInstancesDetail()=default
const Aws::String & GetMasterInstanceId() const
const Aws::String & GetEc2KeyName() const
int GetNormalizedInstanceHours() const
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue