AWS SDK for C++

AWS SDK for C++ Version 1.11.612

Loading...
Searching...
No Matches
JobFlowInstancesDetail.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/InstanceGroupDetail.h>
12#include <utility>
13
14namespace Aws
15{
16namespace Utils
17{
18namespace Json
19{
20 class JsonValue;
21 class JsonView;
22} // namespace Json
23} // namespace Utils
24namespace EMR
25{
26namespace Model
27{
28
36 {
37 public:
38 AWS_EMR_API JobFlowInstancesDetail() = default;
42
43
45
48 inline const Aws::String& GetMasterInstanceType() const { return m_masterInstanceType; }
49 inline bool MasterInstanceTypeHasBeenSet() const { return m_masterInstanceTypeHasBeenSet; }
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>
53 JobFlowInstancesDetail& WithMasterInstanceType(MasterInstanceTypeT&& value) { SetMasterInstanceType(std::forward<MasterInstanceTypeT>(value)); return *this;}
55
57
61 inline const Aws::String& GetMasterPublicDnsName() const { return m_masterPublicDnsName; }
62 inline bool MasterPublicDnsNameHasBeenSet() const { return m_masterPublicDnsNameHasBeenSet; }
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>
66 JobFlowInstancesDetail& WithMasterPublicDnsName(MasterPublicDnsNameT&& value) { SetMasterPublicDnsName(std::forward<MasterPublicDnsNameT>(value)); return *this;}
68
70
73 inline const Aws::String& GetMasterInstanceId() const { return m_masterInstanceId; }
74 inline bool MasterInstanceIdHasBeenSet() const { return m_masterInstanceIdHasBeenSet; }
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>
78 JobFlowInstancesDetail& WithMasterInstanceId(MasterInstanceIdT&& value) { SetMasterInstanceId(std::forward<MasterInstanceIdT>(value)); return *this;}
80
82
85 inline const Aws::String& GetSlaveInstanceType() const { return m_slaveInstanceType; }
86 inline bool SlaveInstanceTypeHasBeenSet() const { return m_slaveInstanceTypeHasBeenSet; }
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>
90 JobFlowInstancesDetail& WithSlaveInstanceType(SlaveInstanceTypeT&& value) { SetSlaveInstanceType(std::forward<SlaveInstanceTypeT>(value)); return *this;}
92
94
100 inline int GetInstanceCount() const { return m_instanceCount; }
101 inline bool InstanceCountHasBeenSet() const { return m_instanceCountHasBeenSet; }
102 inline void SetInstanceCount(int value) { m_instanceCountHasBeenSet = true; m_instanceCount = value; }
103 inline JobFlowInstancesDetail& WithInstanceCount(int value) { SetInstanceCount(value); return *this;}
105
107
110 inline const Aws::Vector<InstanceGroupDetail>& GetInstanceGroups() const { return m_instanceGroups; }
111 inline bool InstanceGroupsHasBeenSet() const { return m_instanceGroupsHasBeenSet; }
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>>
115 JobFlowInstancesDetail& WithInstanceGroups(InstanceGroupsT&& value) { SetInstanceGroups(std::forward<InstanceGroupsT>(value)); return *this;}
116 template<typename InstanceGroupsT = InstanceGroupDetail>
117 JobFlowInstancesDetail& AddInstanceGroups(InstanceGroupsT&& value) { m_instanceGroupsHasBeenSet = true; m_instanceGroups.emplace_back(std::forward<InstanceGroupsT>(value)); return *this; }
119
121
129 inline int GetNormalizedInstanceHours() const { return m_normalizedInstanceHours; }
130 inline bool NormalizedInstanceHoursHasBeenSet() const { return m_normalizedInstanceHoursHasBeenSet; }
131 inline void SetNormalizedInstanceHours(int value) { m_normalizedInstanceHoursHasBeenSet = true; m_normalizedInstanceHours = value; }
134
136
140 inline const Aws::String& GetEc2KeyName() const { return m_ec2KeyName; }
141 inline bool Ec2KeyNameHasBeenSet() const { return m_ec2KeyNameHasBeenSet; }
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>
145 JobFlowInstancesDetail& WithEc2KeyName(Ec2KeyNameT&& value) { SetEc2KeyName(std::forward<Ec2KeyNameT>(value)); return *this;}
147
149
153 inline const Aws::String& GetEc2SubnetId() const { return m_ec2SubnetId; }
154 inline bool Ec2SubnetIdHasBeenSet() const { return m_ec2SubnetIdHasBeenSet; }
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>
158 JobFlowInstancesDetail& WithEc2SubnetId(Ec2SubnetIdT&& value) { SetEc2SubnetId(std::forward<Ec2SubnetIdT>(value)); return *this;}
160
162
165 inline const PlacementType& GetPlacement() const { return m_placement; }
166 inline bool PlacementHasBeenSet() const { return m_placementHasBeenSet; }
167 template<typename PlacementT = PlacementType>
168 void SetPlacement(PlacementT&& value) { m_placementHasBeenSet = true; m_placement = std::forward<PlacementT>(value); }
169 template<typename PlacementT = PlacementType>
170 JobFlowInstancesDetail& WithPlacement(PlacementT&& value) { SetPlacement(std::forward<PlacementT>(value)); return *this;}
172
174
178 inline bool GetKeepJobFlowAliveWhenNoSteps() const { return m_keepJobFlowAliveWhenNoSteps; }
179 inline bool KeepJobFlowAliveWhenNoStepsHasBeenSet() const { return m_keepJobFlowAliveWhenNoStepsHasBeenSet; }
180 inline void SetKeepJobFlowAliveWhenNoSteps(bool value) { m_keepJobFlowAliveWhenNoStepsHasBeenSet = true; m_keepJobFlowAliveWhenNoSteps = value; }
183
185
190 inline bool GetTerminationProtected() const { return m_terminationProtected; }
191 inline bool TerminationProtectedHasBeenSet() const { return m_terminationProtectedHasBeenSet; }
192 inline void SetTerminationProtected(bool value) { m_terminationProtectedHasBeenSet = true; m_terminationProtected = value; }
195
197
201 inline bool GetUnhealthyNodeReplacement() const { return m_unhealthyNodeReplacement; }
202 inline bool UnhealthyNodeReplacementHasBeenSet() const { return m_unhealthyNodeReplacementHasBeenSet; }
203 inline void SetUnhealthyNodeReplacement(bool value) { m_unhealthyNodeReplacementHasBeenSet = true; m_unhealthyNodeReplacement = value; }
206
208
211 inline const Aws::String& GetHadoopVersion() const { return m_hadoopVersion; }
212 inline bool HadoopVersionHasBeenSet() const { return m_hadoopVersionHasBeenSet; }
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>
216 JobFlowInstancesDetail& WithHadoopVersion(HadoopVersionT&& value) { SetHadoopVersion(std::forward<HadoopVersionT>(value)); return *this;}
218 private:
219
220 Aws::String m_masterInstanceType;
221 bool m_masterInstanceTypeHasBeenSet = false;
222
223 Aws::String m_masterPublicDnsName;
224 bool m_masterPublicDnsNameHasBeenSet = false;
225
226 Aws::String m_masterInstanceId;
227 bool m_masterInstanceIdHasBeenSet = false;
228
229 Aws::String m_slaveInstanceType;
230 bool m_slaveInstanceTypeHasBeenSet = false;
231
232 int m_instanceCount{0};
233 bool m_instanceCountHasBeenSet = false;
234
235 Aws::Vector<InstanceGroupDetail> m_instanceGroups;
236 bool m_instanceGroupsHasBeenSet = false;
237
238 int m_normalizedInstanceHours{0};
239 bool m_normalizedInstanceHoursHasBeenSet = false;
240
241 Aws::String m_ec2KeyName;
242 bool m_ec2KeyNameHasBeenSet = false;
243
244 Aws::String m_ec2SubnetId;
245 bool m_ec2SubnetIdHasBeenSet = false;
246
247 PlacementType m_placement;
248 bool m_placementHasBeenSet = false;
249
250 bool m_keepJobFlowAliveWhenNoSteps{false};
251 bool m_keepJobFlowAliveWhenNoStepsHasBeenSet = false;
252
253 bool m_terminationProtected{false};
254 bool m_terminationProtectedHasBeenSet = false;
255
256 bool m_unhealthyNodeReplacement{false};
257 bool m_unhealthyNodeReplacementHasBeenSet = false;
258
259 Aws::String m_hadoopVersion;
260 bool m_hadoopVersionHasBeenSet = false;
261 };
262
263} // namespace Model
264} // namespace EMR
265} // namespace Aws
JobFlowInstancesDetail & WithInstanceGroups(InstanceGroupsT &&value)
JobFlowInstancesDetail & WithTerminationProtected(bool value)
void SetMasterInstanceType(MasterInstanceTypeT &&value)
void SetMasterInstanceId(MasterInstanceIdT &&value)
JobFlowInstancesDetail & WithPlacement(PlacementT &&value)
JobFlowInstancesDetail & WithSlaveInstanceType(SlaveInstanceTypeT &&value)
JobFlowInstancesDetail & WithEc2SubnetId(Ec2SubnetIdT &&value)
JobFlowInstancesDetail & WithMasterInstanceId(MasterInstanceIdT &&value)
const Aws::String & GetSlaveInstanceType() const
void SetMasterPublicDnsName(MasterPublicDnsNameT &&value)
JobFlowInstancesDetail & WithEc2KeyName(Ec2KeyNameT &&value)
JobFlowInstancesDetail & WithInstanceCount(int value)
AWS_EMR_API JobFlowInstancesDetail(Aws::Utils::Json::JsonView jsonValue)
const Aws::String & GetMasterPublicDnsName() const
void SetInstanceGroups(InstanceGroupsT &&value)
JobFlowInstancesDetail & WithNormalizedInstanceHours(int 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)
AWS_EMR_API Aws::Utils::Json::JsonValue Jsonize() const
AWS_EMR_API JobFlowInstancesDetail & operator=(Aws::Utils::Json::JsonView jsonValue)
JobFlowInstancesDetail & WithMasterPublicDnsName(MasterPublicDnsNameT &&value)
void SetSlaveInstanceType(SlaveInstanceTypeT &&value)
AWS_EMR_API JobFlowInstancesDetail()=default
const Aws::String & GetMasterInstanceId() 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