AWS SDK for C++

AWS SDK for C++ Version 1.11.719

Loading...
Searching...
No Matches
JobFlowInstancesDetail.h
1
6#pragma once
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>
12
13#include <utility>
14
15namespace Aws {
16namespace Utils {
17namespace Json {
18class JsonValue;
19class JsonView;
20} // namespace Json
21} // namespace Utils
22namespace EMR {
23namespace Model {
24
32 public:
33 AWS_EMR_API JobFlowInstancesDetail() = default;
37
39
42 inline const Aws::String& GetMasterInstanceType() const { return m_masterInstanceType; }
43 inline bool MasterInstanceTypeHasBeenSet() const { return m_masterInstanceTypeHasBeenSet; }
44 template <typename MasterInstanceTypeT = Aws::String>
45 void SetMasterInstanceType(MasterInstanceTypeT&& value) {
46 m_masterInstanceTypeHasBeenSet = true;
47 m_masterInstanceType = std::forward<MasterInstanceTypeT>(value);
48 }
49 template <typename MasterInstanceTypeT = Aws::String>
50 JobFlowInstancesDetail& WithMasterInstanceType(MasterInstanceTypeT&& value) {
51 SetMasterInstanceType(std::forward<MasterInstanceTypeT>(value));
52 return *this;
53 }
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) {
65 m_masterPublicDnsNameHasBeenSet = true;
66 m_masterPublicDnsName = std::forward<MasterPublicDnsNameT>(value);
67 }
68 template <typename MasterPublicDnsNameT = Aws::String>
69 JobFlowInstancesDetail& WithMasterPublicDnsName(MasterPublicDnsNameT&& value) {
70 SetMasterPublicDnsName(std::forward<MasterPublicDnsNameT>(value));
71 return *this;
72 }
74
76
79 inline const Aws::String& GetMasterInstanceId() const { return m_masterInstanceId; }
80 inline bool MasterInstanceIdHasBeenSet() const { return m_masterInstanceIdHasBeenSet; }
81 template <typename MasterInstanceIdT = Aws::String>
82 void SetMasterInstanceId(MasterInstanceIdT&& value) {
83 m_masterInstanceIdHasBeenSet = true;
84 m_masterInstanceId = std::forward<MasterInstanceIdT>(value);
85 }
86 template <typename MasterInstanceIdT = Aws::String>
87 JobFlowInstancesDetail& WithMasterInstanceId(MasterInstanceIdT&& value) {
88 SetMasterInstanceId(std::forward<MasterInstanceIdT>(value));
89 return *this;
90 }
92
94
97 inline const Aws::String& GetSlaveInstanceType() const { return m_slaveInstanceType; }
98 inline bool SlaveInstanceTypeHasBeenSet() const { return m_slaveInstanceTypeHasBeenSet; }
99 template <typename SlaveInstanceTypeT = Aws::String>
100 void SetSlaveInstanceType(SlaveInstanceTypeT&& value) {
101 m_slaveInstanceTypeHasBeenSet = true;
102 m_slaveInstanceType = std::forward<SlaveInstanceTypeT>(value);
103 }
104 template <typename SlaveInstanceTypeT = Aws::String>
105 JobFlowInstancesDetail& WithSlaveInstanceType(SlaveInstanceTypeT&& value) {
106 SetSlaveInstanceType(std::forward<SlaveInstanceTypeT>(value));
107 return *this;
108 }
110
112
118 inline int GetInstanceCount() const { return m_instanceCount; }
119 inline bool InstanceCountHasBeenSet() const { return m_instanceCountHasBeenSet; }
120 inline void SetInstanceCount(int value) {
121 m_instanceCountHasBeenSet = true;
122 m_instanceCount = value;
123 }
125 SetInstanceCount(value);
126 return *this;
127 }
129
131
134 inline const Aws::Vector<InstanceGroupDetail>& GetInstanceGroups() const { return m_instanceGroups; }
135 inline bool InstanceGroupsHasBeenSet() const { return m_instanceGroupsHasBeenSet; }
136 template <typename InstanceGroupsT = Aws::Vector<InstanceGroupDetail>>
137 void SetInstanceGroups(InstanceGroupsT&& value) {
138 m_instanceGroupsHasBeenSet = true;
139 m_instanceGroups = std::forward<InstanceGroupsT>(value);
140 }
141 template <typename InstanceGroupsT = Aws::Vector<InstanceGroupDetail>>
142 JobFlowInstancesDetail& WithInstanceGroups(InstanceGroupsT&& value) {
143 SetInstanceGroups(std::forward<InstanceGroupsT>(value));
144 return *this;
145 }
146 template <typename InstanceGroupsT = InstanceGroupDetail>
147 JobFlowInstancesDetail& AddInstanceGroups(InstanceGroupsT&& value) {
148 m_instanceGroupsHasBeenSet = true;
149 m_instanceGroups.emplace_back(std::forward<InstanceGroupsT>(value));
150 return *this;
151 }
153
155
163 inline int GetNormalizedInstanceHours() const { return m_normalizedInstanceHours; }
164 inline bool NormalizedInstanceHoursHasBeenSet() const { return m_normalizedInstanceHoursHasBeenSet; }
165 inline void SetNormalizedInstanceHours(int value) {
166 m_normalizedInstanceHoursHasBeenSet = true;
167 m_normalizedInstanceHours = value;
168 }
171 return *this;
172 }
174
176
180 inline const Aws::String& GetEc2KeyName() const { return m_ec2KeyName; }
181 inline bool Ec2KeyNameHasBeenSet() const { return m_ec2KeyNameHasBeenSet; }
182 template <typename Ec2KeyNameT = Aws::String>
183 void SetEc2KeyName(Ec2KeyNameT&& value) {
184 m_ec2KeyNameHasBeenSet = true;
185 m_ec2KeyName = std::forward<Ec2KeyNameT>(value);
186 }
187 template <typename Ec2KeyNameT = Aws::String>
189 SetEc2KeyName(std::forward<Ec2KeyNameT>(value));
190 return *this;
191 }
193
195
199 inline const Aws::String& GetEc2SubnetId() const { return m_ec2SubnetId; }
200 inline bool Ec2SubnetIdHasBeenSet() const { return m_ec2SubnetIdHasBeenSet; }
201 template <typename Ec2SubnetIdT = Aws::String>
202 void SetEc2SubnetId(Ec2SubnetIdT&& value) {
203 m_ec2SubnetIdHasBeenSet = true;
204 m_ec2SubnetId = std::forward<Ec2SubnetIdT>(value);
205 }
206 template <typename Ec2SubnetIdT = Aws::String>
208 SetEc2SubnetId(std::forward<Ec2SubnetIdT>(value));
209 return *this;
210 }
212
214
217 inline const PlacementType& GetPlacement() const { return m_placement; }
218 inline bool PlacementHasBeenSet() const { return m_placementHasBeenSet; }
219 template <typename PlacementT = PlacementType>
220 void SetPlacement(PlacementT&& value) {
221 m_placementHasBeenSet = true;
222 m_placement = std::forward<PlacementT>(value);
223 }
224 template <typename PlacementT = PlacementType>
226 SetPlacement(std::forward<PlacementT>(value));
227 return *this;
228 }
230
232
236 inline bool GetKeepJobFlowAliveWhenNoSteps() const { return m_keepJobFlowAliveWhenNoSteps; }
237 inline bool KeepJobFlowAliveWhenNoStepsHasBeenSet() const { return m_keepJobFlowAliveWhenNoStepsHasBeenSet; }
238 inline void SetKeepJobFlowAliveWhenNoSteps(bool value) {
239 m_keepJobFlowAliveWhenNoStepsHasBeenSet = true;
240 m_keepJobFlowAliveWhenNoSteps = value;
241 }
244 return *this;
245 }
247
249
254 inline bool GetTerminationProtected() const { return m_terminationProtected; }
255 inline bool TerminationProtectedHasBeenSet() const { return m_terminationProtectedHasBeenSet; }
256 inline void SetTerminationProtected(bool value) {
257 m_terminationProtectedHasBeenSet = true;
258 m_terminationProtected = value;
259 }
262 return *this;
263 }
265
267
271 inline bool GetUnhealthyNodeReplacement() const { return m_unhealthyNodeReplacement; }
272 inline bool UnhealthyNodeReplacementHasBeenSet() const { return m_unhealthyNodeReplacementHasBeenSet; }
273 inline void SetUnhealthyNodeReplacement(bool value) {
274 m_unhealthyNodeReplacementHasBeenSet = true;
275 m_unhealthyNodeReplacement = value;
276 }
279 return *this;
280 }
282
284
287 inline const Aws::String& GetHadoopVersion() const { return m_hadoopVersion; }
288 inline bool HadoopVersionHasBeenSet() const { return m_hadoopVersionHasBeenSet; }
289 template <typename HadoopVersionT = Aws::String>
290 void SetHadoopVersion(HadoopVersionT&& value) {
291 m_hadoopVersionHasBeenSet = true;
292 m_hadoopVersion = std::forward<HadoopVersionT>(value);
293 }
294 template <typename HadoopVersionT = Aws::String>
295 JobFlowInstancesDetail& WithHadoopVersion(HadoopVersionT&& value) {
296 SetHadoopVersion(std::forward<HadoopVersionT>(value));
297 return *this;
298 }
300 private:
301 Aws::String m_masterInstanceType;
302
303 Aws::String m_masterPublicDnsName;
304
305 Aws::String m_masterInstanceId;
306
307 Aws::String m_slaveInstanceType;
308
309 int m_instanceCount{0};
310
311 Aws::Vector<InstanceGroupDetail> m_instanceGroups;
312
313 int m_normalizedInstanceHours{0};
314
315 Aws::String m_ec2KeyName;
316
317 Aws::String m_ec2SubnetId;
318
319 PlacementType m_placement;
320
321 bool m_keepJobFlowAliveWhenNoSteps{false};
322
323 bool m_terminationProtected{false};
324
325 bool m_unhealthyNodeReplacement{false};
326
327 Aws::String m_hadoopVersion;
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;
342};
343
344} // namespace Model
345} // namespace EMR
346} // 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