AWS SDK for C++

AWS SDK for C++ Version 1.11.719

Loading...
Searching...
No Matches
InstanceGroup.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/AutoScalingPolicyDescription.h>
11#include <aws/elasticmapreduce/model/Configuration.h>
12#include <aws/elasticmapreduce/model/EbsBlockDevice.h>
13#include <aws/elasticmapreduce/model/InstanceGroupStatus.h>
14#include <aws/elasticmapreduce/model/InstanceGroupType.h>
15#include <aws/elasticmapreduce/model/MarketType.h>
16#include <aws/elasticmapreduce/model/ShrinkPolicy.h>
17
18#include <utility>
19
20namespace Aws {
21namespace Utils {
22namespace Json {
23class JsonValue;
24class JsonView;
25} // namespace Json
26} // namespace Utils
27namespace EMR {
28namespace Model {
29
38 public:
39 AWS_EMR_API InstanceGroup() = default;
43
45
48 inline const Aws::String& GetId() const { return m_id; }
49 inline bool IdHasBeenSet() const { return m_idHasBeenSet; }
50 template <typename IdT = Aws::String>
51 void SetId(IdT&& value) {
52 m_idHasBeenSet = true;
53 m_id = std::forward<IdT>(value);
54 }
55 template <typename IdT = Aws::String>
56 InstanceGroup& WithId(IdT&& value) {
57 SetId(std::forward<IdT>(value));
58 return *this;
59 }
61
63
66 inline const Aws::String& GetName() const { return m_name; }
67 inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
68 template <typename NameT = Aws::String>
69 void SetName(NameT&& value) {
70 m_nameHasBeenSet = true;
71 m_name = std::forward<NameT>(value);
72 }
73 template <typename NameT = Aws::String>
74 InstanceGroup& WithName(NameT&& value) {
75 SetName(std::forward<NameT>(value));
76 return *this;
77 }
79
81
85 inline MarketType GetMarket() const { return m_market; }
86 inline bool MarketHasBeenSet() const { return m_marketHasBeenSet; }
87 inline void SetMarket(MarketType value) {
88 m_marketHasBeenSet = true;
89 m_market = value;
90 }
92 SetMarket(value);
93 return *this;
94 }
96
98
101 inline InstanceGroupType GetInstanceGroupType() const { return m_instanceGroupType; }
102 inline bool InstanceGroupTypeHasBeenSet() const { return m_instanceGroupTypeHasBeenSet; }
104 m_instanceGroupTypeHasBeenSet = true;
105 m_instanceGroupType = value;
106 }
109 return *this;
110 }
112
114
120 inline const Aws::String& GetBidPrice() const { return m_bidPrice; }
121 inline bool BidPriceHasBeenSet() const { return m_bidPriceHasBeenSet; }
122 template <typename BidPriceT = Aws::String>
123 void SetBidPrice(BidPriceT&& value) {
124 m_bidPriceHasBeenSet = true;
125 m_bidPrice = std::forward<BidPriceT>(value);
126 }
127 template <typename BidPriceT = Aws::String>
128 InstanceGroup& WithBidPrice(BidPriceT&& value) {
129 SetBidPrice(std::forward<BidPriceT>(value));
130 return *this;
131 }
133
135
138 inline const Aws::String& GetInstanceType() const { return m_instanceType; }
139 inline bool InstanceTypeHasBeenSet() const { return m_instanceTypeHasBeenSet; }
140 template <typename InstanceTypeT = Aws::String>
141 void SetInstanceType(InstanceTypeT&& value) {
142 m_instanceTypeHasBeenSet = true;
143 m_instanceType = std::forward<InstanceTypeT>(value);
144 }
145 template <typename InstanceTypeT = Aws::String>
146 InstanceGroup& WithInstanceType(InstanceTypeT&& value) {
147 SetInstanceType(std::forward<InstanceTypeT>(value));
148 return *this;
149 }
151
153
156 inline int GetRequestedInstanceCount() const { return m_requestedInstanceCount; }
157 inline bool RequestedInstanceCountHasBeenSet() const { return m_requestedInstanceCountHasBeenSet; }
158 inline void SetRequestedInstanceCount(int value) {
159 m_requestedInstanceCountHasBeenSet = true;
160 m_requestedInstanceCount = value;
161 }
164 return *this;
165 }
167
169
172 inline int GetRunningInstanceCount() const { return m_runningInstanceCount; }
173 inline bool RunningInstanceCountHasBeenSet() const { return m_runningInstanceCountHasBeenSet; }
174 inline void SetRunningInstanceCount(int value) {
175 m_runningInstanceCountHasBeenSet = true;
176 m_runningInstanceCount = value;
177 }
180 return *this;
181 }
183
185
188 inline const InstanceGroupStatus& GetStatus() const { return m_status; }
189 inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; }
190 template <typename StatusT = InstanceGroupStatus>
191 void SetStatus(StatusT&& value) {
192 m_statusHasBeenSet = true;
193 m_status = std::forward<StatusT>(value);
194 }
195 template <typename StatusT = InstanceGroupStatus>
196 InstanceGroup& WithStatus(StatusT&& value) {
197 SetStatus(std::forward<StatusT>(value));
198 return *this;
199 }
201
203
209 inline const Aws::Vector<Configuration>& GetConfigurations() const { return m_configurations; }
210 inline bool ConfigurationsHasBeenSet() const { return m_configurationsHasBeenSet; }
211 template <typename ConfigurationsT = Aws::Vector<Configuration>>
212 void SetConfigurations(ConfigurationsT&& value) {
213 m_configurationsHasBeenSet = true;
214 m_configurations = std::forward<ConfigurationsT>(value);
215 }
216 template <typename ConfigurationsT = Aws::Vector<Configuration>>
217 InstanceGroup& WithConfigurations(ConfigurationsT&& value) {
218 SetConfigurations(std::forward<ConfigurationsT>(value));
219 return *this;
220 }
221 template <typename ConfigurationsT = Configuration>
222 InstanceGroup& AddConfigurations(ConfigurationsT&& value) {
223 m_configurationsHasBeenSet = true;
224 m_configurations.emplace_back(std::forward<ConfigurationsT>(value));
225 return *this;
226 }
228
230
234 inline long long GetConfigurationsVersion() const { return m_configurationsVersion; }
235 inline bool ConfigurationsVersionHasBeenSet() const { return m_configurationsVersionHasBeenSet; }
236 inline void SetConfigurationsVersion(long long value) {
237 m_configurationsVersionHasBeenSet = true;
238 m_configurationsVersion = value;
239 }
240 inline InstanceGroup& WithConfigurationsVersion(long long value) {
242 return *this;
243 }
245
247
252 return m_lastSuccessfullyAppliedConfigurations;
253 }
254 inline bool LastSuccessfullyAppliedConfigurationsHasBeenSet() const { return m_lastSuccessfullyAppliedConfigurationsHasBeenSet; }
255 template <typename LastSuccessfullyAppliedConfigurationsT = Aws::Vector<Configuration>>
256 void SetLastSuccessfullyAppliedConfigurations(LastSuccessfullyAppliedConfigurationsT&& value) {
257 m_lastSuccessfullyAppliedConfigurationsHasBeenSet = true;
258 m_lastSuccessfullyAppliedConfigurations = std::forward<LastSuccessfullyAppliedConfigurationsT>(value);
259 }
260 template <typename LastSuccessfullyAppliedConfigurationsT = Aws::Vector<Configuration>>
261 InstanceGroup& WithLastSuccessfullyAppliedConfigurations(LastSuccessfullyAppliedConfigurationsT&& value) {
262 SetLastSuccessfullyAppliedConfigurations(std::forward<LastSuccessfullyAppliedConfigurationsT>(value));
263 return *this;
264 }
265 template <typename LastSuccessfullyAppliedConfigurationsT = Configuration>
266 InstanceGroup& AddLastSuccessfullyAppliedConfigurations(LastSuccessfullyAppliedConfigurationsT&& value) {
267 m_lastSuccessfullyAppliedConfigurationsHasBeenSet = true;
268 m_lastSuccessfullyAppliedConfigurations.emplace_back(std::forward<LastSuccessfullyAppliedConfigurationsT>(value));
269 return *this;
270 }
272
274
278 inline long long GetLastSuccessfullyAppliedConfigurationsVersion() const { return m_lastSuccessfullyAppliedConfigurationsVersion; }
280 return m_lastSuccessfullyAppliedConfigurationsVersionHasBeenSet;
281 }
283 m_lastSuccessfullyAppliedConfigurationsVersionHasBeenSet = true;
284 m_lastSuccessfullyAppliedConfigurationsVersion = value;
285 }
288 return *this;
289 }
291
293
296 inline const Aws::Vector<EbsBlockDevice>& GetEbsBlockDevices() const { return m_ebsBlockDevices; }
297 inline bool EbsBlockDevicesHasBeenSet() const { return m_ebsBlockDevicesHasBeenSet; }
298 template <typename EbsBlockDevicesT = Aws::Vector<EbsBlockDevice>>
299 void SetEbsBlockDevices(EbsBlockDevicesT&& value) {
300 m_ebsBlockDevicesHasBeenSet = true;
301 m_ebsBlockDevices = std::forward<EbsBlockDevicesT>(value);
302 }
303 template <typename EbsBlockDevicesT = Aws::Vector<EbsBlockDevice>>
304 InstanceGroup& WithEbsBlockDevices(EbsBlockDevicesT&& value) {
305 SetEbsBlockDevices(std::forward<EbsBlockDevicesT>(value));
306 return *this;
307 }
308 template <typename EbsBlockDevicesT = EbsBlockDevice>
309 InstanceGroup& AddEbsBlockDevices(EbsBlockDevicesT&& value) {
310 m_ebsBlockDevicesHasBeenSet = true;
311 m_ebsBlockDevices.emplace_back(std::forward<EbsBlockDevicesT>(value));
312 return *this;
313 }
315
317
322 inline bool GetEbsOptimized() const { return m_ebsOptimized; }
323 inline bool EbsOptimizedHasBeenSet() const { return m_ebsOptimizedHasBeenSet; }
324 inline void SetEbsOptimized(bool value) {
325 m_ebsOptimizedHasBeenSet = true;
326 m_ebsOptimized = value;
327 }
328 inline InstanceGroup& WithEbsOptimized(bool value) {
329 SetEbsOptimized(value);
330 return *this;
331 }
333
335
338 inline const ShrinkPolicy& GetShrinkPolicy() const { return m_shrinkPolicy; }
339 inline bool ShrinkPolicyHasBeenSet() const { return m_shrinkPolicyHasBeenSet; }
340 template <typename ShrinkPolicyT = ShrinkPolicy>
341 void SetShrinkPolicy(ShrinkPolicyT&& value) {
342 m_shrinkPolicyHasBeenSet = true;
343 m_shrinkPolicy = std::forward<ShrinkPolicyT>(value);
344 }
345 template <typename ShrinkPolicyT = ShrinkPolicy>
346 InstanceGroup& WithShrinkPolicy(ShrinkPolicyT&& value) {
347 SetShrinkPolicy(std::forward<ShrinkPolicyT>(value));
348 return *this;
349 }
351
353
359 inline const AutoScalingPolicyDescription& GetAutoScalingPolicy() const { return m_autoScalingPolicy; }
360 inline bool AutoScalingPolicyHasBeenSet() const { return m_autoScalingPolicyHasBeenSet; }
361 template <typename AutoScalingPolicyT = AutoScalingPolicyDescription>
362 void SetAutoScalingPolicy(AutoScalingPolicyT&& value) {
363 m_autoScalingPolicyHasBeenSet = true;
364 m_autoScalingPolicy = std::forward<AutoScalingPolicyT>(value);
365 }
366 template <typename AutoScalingPolicyT = AutoScalingPolicyDescription>
367 InstanceGroup& WithAutoScalingPolicy(AutoScalingPolicyT&& value) {
368 SetAutoScalingPolicy(std::forward<AutoScalingPolicyT>(value));
369 return *this;
370 }
372
374
377 inline const Aws::String& GetCustomAmiId() const { return m_customAmiId; }
378 inline bool CustomAmiIdHasBeenSet() const { return m_customAmiIdHasBeenSet; }
379 template <typename CustomAmiIdT = Aws::String>
380 void SetCustomAmiId(CustomAmiIdT&& value) {
381 m_customAmiIdHasBeenSet = true;
382 m_customAmiId = std::forward<CustomAmiIdT>(value);
383 }
384 template <typename CustomAmiIdT = Aws::String>
385 InstanceGroup& WithCustomAmiId(CustomAmiIdT&& value) {
386 SetCustomAmiId(std::forward<CustomAmiIdT>(value));
387 return *this;
388 }
390 private:
391 Aws::String m_id;
392
393 Aws::String m_name;
394
396
398
399 Aws::String m_bidPrice;
400
401 Aws::String m_instanceType;
402
403 int m_requestedInstanceCount{0};
404
405 int m_runningInstanceCount{0};
406
407 InstanceGroupStatus m_status;
408
409 Aws::Vector<Configuration> m_configurations;
410
411 long long m_configurationsVersion{0};
412
413 Aws::Vector<Configuration> m_lastSuccessfullyAppliedConfigurations;
414
415 long long m_lastSuccessfullyAppliedConfigurationsVersion{0};
416
417 Aws::Vector<EbsBlockDevice> m_ebsBlockDevices;
418
419 bool m_ebsOptimized{false};
420
421 ShrinkPolicy m_shrinkPolicy;
422
423 AutoScalingPolicyDescription m_autoScalingPolicy;
424
425 Aws::String m_customAmiId;
426 bool m_idHasBeenSet = false;
427 bool m_nameHasBeenSet = false;
428 bool m_marketHasBeenSet = false;
429 bool m_instanceGroupTypeHasBeenSet = false;
430 bool m_bidPriceHasBeenSet = false;
431 bool m_instanceTypeHasBeenSet = false;
432 bool m_requestedInstanceCountHasBeenSet = false;
433 bool m_runningInstanceCountHasBeenSet = false;
434 bool m_statusHasBeenSet = false;
435 bool m_configurationsHasBeenSet = false;
436 bool m_configurationsVersionHasBeenSet = false;
437 bool m_lastSuccessfullyAppliedConfigurationsHasBeenSet = false;
438 bool m_lastSuccessfullyAppliedConfigurationsVersionHasBeenSet = false;
439 bool m_ebsBlockDevicesHasBeenSet = false;
440 bool m_ebsOptimizedHasBeenSet = false;
441 bool m_shrinkPolicyHasBeenSet = false;
442 bool m_autoScalingPolicyHasBeenSet = false;
443 bool m_customAmiIdHasBeenSet = false;
444};
445
446} // namespace Model
447} // namespace EMR
448} // namespace Aws
InstanceGroup & WithStatus(StatusT &&value)
const InstanceGroupStatus & GetStatus() const
const Aws::Vector< EbsBlockDevice > & GetEbsBlockDevices() const
InstanceGroup & WithConfigurationsVersion(long long value)
const Aws::String & GetName() const
InstanceGroup & WithAutoScalingPolicy(AutoScalingPolicyT &&value)
InstanceGroup & WithEbsOptimized(bool value)
void SetInstanceType(InstanceTypeT &&value)
void SetName(NameT &&value)
void SetStatus(StatusT &&value)
AWS_EMR_API InstanceGroup()=default
AWS_EMR_API Aws::Utils::Json::JsonValue Jsonize() const
const Aws::String & GetCustomAmiId() const
void SetInstanceGroupType(InstanceGroupType value)
InstanceGroup & WithLastSuccessfullyAppliedConfigurationsVersion(long long value)
void SetMarket(MarketType value)
bool LastSuccessfullyAppliedConfigurationsHasBeenSet() const
bool ConfigurationsVersionHasBeenSet() const
void SetAutoScalingPolicy(AutoScalingPolicyT &&value)
InstanceGroup & AddEbsBlockDevices(EbsBlockDevicesT &&value)
void SetConfigurationsVersion(long long value)
AWS_EMR_API InstanceGroup(Aws::Utils::Json::JsonView jsonValue)
InstanceGroup & WithName(NameT &&value)
InstanceGroup & WithConfigurations(ConfigurationsT &&value)
void SetBidPrice(BidPriceT &&value)
InstanceGroup & WithMarket(MarketType value)
void SetRequestedInstanceCount(int value)
bool LastSuccessfullyAppliedConfigurationsVersionHasBeenSet() const
void SetConfigurations(ConfigurationsT &&value)
InstanceGroup & WithRunningInstanceCount(int value)
bool RequestedInstanceCountHasBeenSet() const
void SetLastSuccessfullyAppliedConfigurationsVersion(long long value)
const Aws::String & GetBidPrice() const
InstanceGroup & WithCustomAmiId(CustomAmiIdT &&value)
const ShrinkPolicy & GetShrinkPolicy() const
void SetRunningInstanceCount(int value)
const Aws::String & GetId() const
const Aws::Vector< Configuration > & GetConfigurations() const
InstanceGroup & WithBidPrice(BidPriceT &&value)
InstanceGroup & AddLastSuccessfullyAppliedConfigurations(LastSuccessfullyAppliedConfigurationsT &&value)
bool RunningInstanceCountHasBeenSet() const
long long GetLastSuccessfullyAppliedConfigurationsVersion() const
InstanceGroup & WithEbsBlockDevices(EbsBlockDevicesT &&value)
const AutoScalingPolicyDescription & GetAutoScalingPolicy() const
InstanceGroup & WithShrinkPolicy(ShrinkPolicyT &&value)
InstanceGroup & AddConfigurations(ConfigurationsT &&value)
void SetLastSuccessfullyAppliedConfigurations(LastSuccessfullyAppliedConfigurationsT &&value)
void SetShrinkPolicy(ShrinkPolicyT &&value)
void SetCustomAmiId(CustomAmiIdT &&value)
InstanceGroupType GetInstanceGroupType() const
long long GetConfigurationsVersion() const
InstanceGroup & WithLastSuccessfullyAppliedConfigurations(LastSuccessfullyAppliedConfigurationsT &&value)
InstanceGroup & WithRequestedInstanceCount(int value)
InstanceGroup & WithInstanceType(InstanceTypeT &&value)
void SetEbsBlockDevices(EbsBlockDevicesT &&value)
AWS_EMR_API InstanceGroup & operator=(Aws::Utils::Json::JsonView jsonValue)
const Aws::Vector< Configuration > & GetLastSuccessfullyAppliedConfigurations() const
InstanceGroup & WithId(IdT &&value)
const Aws::String & GetInstanceType() const
InstanceGroup & WithInstanceGroupType(InstanceGroupType 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