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/InstanceGroupDetail.h>
11#include <aws/elasticmapreduce/model/PlacementType.h>
44 template <
typename MasterInstanceTypeT = Aws::String>
46 m_masterInstanceTypeHasBeenSet =
true;
47 m_masterInstanceType = std::forward<MasterInstanceTypeT>(value);
49 template <
typename MasterInstanceTypeT = Aws::String>
63 template <
typename MasterPublicDnsNameT = Aws::String>
65 m_masterPublicDnsNameHasBeenSet =
true;
66 m_masterPublicDnsName = std::forward<MasterPublicDnsNameT>(value);
68 template <
typename MasterPublicDnsNameT = Aws::String>
81 template <
typename MasterInstanceIdT = Aws::String>
83 m_masterInstanceIdHasBeenSet =
true;
84 m_masterInstanceId = std::forward<MasterInstanceIdT>(value);
86 template <
typename MasterInstanceIdT = Aws::String>
99 template <
typename SlaveInstanceTypeT = Aws::String>
101 m_slaveInstanceTypeHasBeenSet =
true;
102 m_slaveInstanceType = std::forward<SlaveInstanceTypeT>(value);
104 template <
typename SlaveInstanceTypeT = Aws::String>
121 m_instanceCountHasBeenSet =
true;
122 m_instanceCount = value;
136 template <
typename InstanceGroupsT = Aws::Vector<InstanceGroupDetail>>
138 m_instanceGroupsHasBeenSet =
true;
139 m_instanceGroups = std::forward<InstanceGroupsT>(value);
141 template <
typename InstanceGroupsT = Aws::Vector<InstanceGroupDetail>>
146 template <
typename InstanceGroupsT = InstanceGroupDetail>
148 m_instanceGroupsHasBeenSet =
true;
149 m_instanceGroups.emplace_back(std::forward<InstanceGroupsT>(value));
166 m_normalizedInstanceHoursHasBeenSet =
true;
167 m_normalizedInstanceHours = value;
182 template <
typename Ec2KeyNameT = Aws::String>
184 m_ec2KeyNameHasBeenSet =
true;
185 m_ec2KeyName = std::forward<Ec2KeyNameT>(value);
187 template <
typename Ec2KeyNameT = Aws::String>
201 template <
typename Ec2SubnetIdT = Aws::String>
203 m_ec2SubnetIdHasBeenSet =
true;
204 m_ec2SubnetId = std::forward<Ec2SubnetIdT>(value);
206 template <
typename Ec2SubnetIdT = Aws::String>
219 template <
typename PlacementT = PlacementType>
221 m_placementHasBeenSet =
true;
222 m_placement = std::forward<PlacementT>(value);
224 template <
typename PlacementT = PlacementType>
239 m_keepJobFlowAliveWhenNoStepsHasBeenSet =
true;
240 m_keepJobFlowAliveWhenNoSteps = value;
257 m_terminationProtectedHasBeenSet =
true;
258 m_terminationProtected = value;
274 m_unhealthyNodeReplacementHasBeenSet =
true;
275 m_unhealthyNodeReplacement = value;
289 template <
typename HadoopVersionT = Aws::String>
291 m_hadoopVersionHasBeenSet =
true;
292 m_hadoopVersion = std::forward<HadoopVersionT>(value);
294 template <
typename HadoopVersionT = Aws::String>
309 int m_instanceCount{0};
313 int m_normalizedInstanceHours{0};
319 PlacementType m_placement;
321 bool m_keepJobFlowAliveWhenNoSteps{
false};
323 bool m_terminationProtected{
false};
325 bool m_unhealthyNodeReplacement{
false};
328 bool m_masterInstanceTypeHasBeenSet =
false;
329 bool m_masterPublicDnsNameHasBeenSet =
false;
330 bool m_masterInstanceIdHasBeenSet =
false;
331 bool m_slaveInstanceTypeHasBeenSet =
false;
332 bool m_instanceCountHasBeenSet =
false;
333 bool m_instanceGroupsHasBeenSet =
false;
334 bool m_normalizedInstanceHoursHasBeenSet =
false;
335 bool m_ec2KeyNameHasBeenSet =
false;
336 bool m_ec2SubnetIdHasBeenSet =
false;
337 bool m_placementHasBeenSet =
false;
338 bool m_keepJobFlowAliveWhenNoStepsHasBeenSet =
false;
339 bool m_terminationProtectedHasBeenSet =
false;
340 bool m_unhealthyNodeReplacementHasBeenSet =
false;
341 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