AWS SDK for C++

AWS SDK for C++ Version 1.11.612

Loading...
Searching...
No Matches
InstanceGroup.h
1
6#pragma once
7#include <aws/elasticmapreduce/EMR_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/elasticmapreduce/model/MarketType.h>
10#include <aws/elasticmapreduce/model/InstanceGroupType.h>
11#include <aws/elasticmapreduce/model/InstanceGroupStatus.h>
12#include <aws/core/utils/memory/stl/AWSVector.h>
13#include <aws/elasticmapreduce/model/ShrinkPolicy.h>
14#include <aws/elasticmapreduce/model/AutoScalingPolicyDescription.h>
15#include <aws/elasticmapreduce/model/Configuration.h>
16#include <aws/elasticmapreduce/model/EbsBlockDevice.h>
17#include <utility>
18
19namespace Aws
20{
21namespace Utils
22{
23namespace Json
24{
25 class JsonValue;
26 class JsonView;
27} // namespace Json
28} // namespace Utils
29namespace EMR
30{
31namespace Model
32{
33
42 {
43 public:
44 AWS_EMR_API InstanceGroup() = default;
48
49
51
54 inline const Aws::String& GetId() const { return m_id; }
55 inline bool IdHasBeenSet() const { return m_idHasBeenSet; }
56 template<typename IdT = Aws::String>
57 void SetId(IdT&& value) { m_idHasBeenSet = true; m_id = std::forward<IdT>(value); }
58 template<typename IdT = Aws::String>
59 InstanceGroup& WithId(IdT&& value) { SetId(std::forward<IdT>(value)); return *this;}
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) { m_nameHasBeenSet = true; m_name = std::forward<NameT>(value); }
70 template<typename NameT = Aws::String>
71 InstanceGroup& WithName(NameT&& value) { SetName(std::forward<NameT>(value)); return *this;}
73
75
79 inline MarketType GetMarket() const { return m_market; }
80 inline bool MarketHasBeenSet() const { return m_marketHasBeenSet; }
81 inline void SetMarket(MarketType value) { m_marketHasBeenSet = true; m_market = value; }
82 inline InstanceGroup& WithMarket(MarketType value) { SetMarket(value); return *this;}
84
86
89 inline InstanceGroupType GetInstanceGroupType() const { return m_instanceGroupType; }
90 inline bool InstanceGroupTypeHasBeenSet() const { return m_instanceGroupTypeHasBeenSet; }
91 inline void SetInstanceGroupType(InstanceGroupType value) { m_instanceGroupTypeHasBeenSet = true; m_instanceGroupType = value; }
94
96
102 inline const Aws::String& GetBidPrice() const { return m_bidPrice; }
103 inline bool BidPriceHasBeenSet() const { return m_bidPriceHasBeenSet; }
104 template<typename BidPriceT = Aws::String>
105 void SetBidPrice(BidPriceT&& value) { m_bidPriceHasBeenSet = true; m_bidPrice = std::forward<BidPriceT>(value); }
106 template<typename BidPriceT = Aws::String>
107 InstanceGroup& WithBidPrice(BidPriceT&& value) { SetBidPrice(std::forward<BidPriceT>(value)); return *this;}
109
111
114 inline const Aws::String& GetInstanceType() const { return m_instanceType; }
115 inline bool InstanceTypeHasBeenSet() const { return m_instanceTypeHasBeenSet; }
116 template<typename InstanceTypeT = Aws::String>
117 void SetInstanceType(InstanceTypeT&& value) { m_instanceTypeHasBeenSet = true; m_instanceType = std::forward<InstanceTypeT>(value); }
118 template<typename InstanceTypeT = Aws::String>
119 InstanceGroup& WithInstanceType(InstanceTypeT&& value) { SetInstanceType(std::forward<InstanceTypeT>(value)); return *this;}
121
123
126 inline int GetRequestedInstanceCount() const { return m_requestedInstanceCount; }
127 inline bool RequestedInstanceCountHasBeenSet() const { return m_requestedInstanceCountHasBeenSet; }
128 inline void SetRequestedInstanceCount(int value) { m_requestedInstanceCountHasBeenSet = true; m_requestedInstanceCount = value; }
129 inline InstanceGroup& WithRequestedInstanceCount(int value) { SetRequestedInstanceCount(value); return *this;}
131
133
136 inline int GetRunningInstanceCount() const { return m_runningInstanceCount; }
137 inline bool RunningInstanceCountHasBeenSet() const { return m_runningInstanceCountHasBeenSet; }
138 inline void SetRunningInstanceCount(int value) { m_runningInstanceCountHasBeenSet = true; m_runningInstanceCount = value; }
139 inline InstanceGroup& WithRunningInstanceCount(int value) { SetRunningInstanceCount(value); return *this;}
141
143
146 inline const InstanceGroupStatus& GetStatus() const { return m_status; }
147 inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; }
148 template<typename StatusT = InstanceGroupStatus>
149 void SetStatus(StatusT&& value) { m_statusHasBeenSet = true; m_status = std::forward<StatusT>(value); }
150 template<typename StatusT = InstanceGroupStatus>
151 InstanceGroup& WithStatus(StatusT&& value) { SetStatus(std::forward<StatusT>(value)); return *this;}
153
155
161 inline const Aws::Vector<Configuration>& GetConfigurations() const { return m_configurations; }
162 inline bool ConfigurationsHasBeenSet() const { return m_configurationsHasBeenSet; }
163 template<typename ConfigurationsT = Aws::Vector<Configuration>>
164 void SetConfigurations(ConfigurationsT&& value) { m_configurationsHasBeenSet = true; m_configurations = std::forward<ConfigurationsT>(value); }
165 template<typename ConfigurationsT = Aws::Vector<Configuration>>
166 InstanceGroup& WithConfigurations(ConfigurationsT&& value) { SetConfigurations(std::forward<ConfigurationsT>(value)); return *this;}
167 template<typename ConfigurationsT = Configuration>
168 InstanceGroup& AddConfigurations(ConfigurationsT&& value) { m_configurationsHasBeenSet = true; m_configurations.emplace_back(std::forward<ConfigurationsT>(value)); return *this; }
170
172
176 inline long long GetConfigurationsVersion() const { return m_configurationsVersion; }
177 inline bool ConfigurationsVersionHasBeenSet() const { return m_configurationsVersionHasBeenSet; }
178 inline void SetConfigurationsVersion(long long value) { m_configurationsVersionHasBeenSet = true; m_configurationsVersion = value; }
179 inline InstanceGroup& WithConfigurationsVersion(long long value) { SetConfigurationsVersion(value); return *this;}
181
183
187 inline const Aws::Vector<Configuration>& GetLastSuccessfullyAppliedConfigurations() const { return m_lastSuccessfullyAppliedConfigurations; }
188 inline bool LastSuccessfullyAppliedConfigurationsHasBeenSet() const { return m_lastSuccessfullyAppliedConfigurationsHasBeenSet; }
189 template<typename LastSuccessfullyAppliedConfigurationsT = Aws::Vector<Configuration>>
190 void SetLastSuccessfullyAppliedConfigurations(LastSuccessfullyAppliedConfigurationsT&& value) { m_lastSuccessfullyAppliedConfigurationsHasBeenSet = true; m_lastSuccessfullyAppliedConfigurations = std::forward<LastSuccessfullyAppliedConfigurationsT>(value); }
191 template<typename LastSuccessfullyAppliedConfigurationsT = Aws::Vector<Configuration>>
192 InstanceGroup& WithLastSuccessfullyAppliedConfigurations(LastSuccessfullyAppliedConfigurationsT&& value) { SetLastSuccessfullyAppliedConfigurations(std::forward<LastSuccessfullyAppliedConfigurationsT>(value)); return *this;}
193 template<typename LastSuccessfullyAppliedConfigurationsT = Configuration>
194 InstanceGroup& AddLastSuccessfullyAppliedConfigurations(LastSuccessfullyAppliedConfigurationsT&& value) { m_lastSuccessfullyAppliedConfigurationsHasBeenSet = true; m_lastSuccessfullyAppliedConfigurations.emplace_back(std::forward<LastSuccessfullyAppliedConfigurationsT>(value)); return *this; }
196
198
202 inline long long GetLastSuccessfullyAppliedConfigurationsVersion() const { return m_lastSuccessfullyAppliedConfigurationsVersion; }
203 inline bool LastSuccessfullyAppliedConfigurationsVersionHasBeenSet() const { return m_lastSuccessfullyAppliedConfigurationsVersionHasBeenSet; }
204 inline void SetLastSuccessfullyAppliedConfigurationsVersion(long long value) { m_lastSuccessfullyAppliedConfigurationsVersionHasBeenSet = true; m_lastSuccessfullyAppliedConfigurationsVersion = value; }
207
209
212 inline const Aws::Vector<EbsBlockDevice>& GetEbsBlockDevices() const { return m_ebsBlockDevices; }
213 inline bool EbsBlockDevicesHasBeenSet() const { return m_ebsBlockDevicesHasBeenSet; }
214 template<typename EbsBlockDevicesT = Aws::Vector<EbsBlockDevice>>
215 void SetEbsBlockDevices(EbsBlockDevicesT&& value) { m_ebsBlockDevicesHasBeenSet = true; m_ebsBlockDevices = std::forward<EbsBlockDevicesT>(value); }
216 template<typename EbsBlockDevicesT = Aws::Vector<EbsBlockDevice>>
217 InstanceGroup& WithEbsBlockDevices(EbsBlockDevicesT&& value) { SetEbsBlockDevices(std::forward<EbsBlockDevicesT>(value)); return *this;}
218 template<typename EbsBlockDevicesT = EbsBlockDevice>
219 InstanceGroup& AddEbsBlockDevices(EbsBlockDevicesT&& value) { m_ebsBlockDevicesHasBeenSet = true; m_ebsBlockDevices.emplace_back(std::forward<EbsBlockDevicesT>(value)); return *this; }
221
223
228 inline bool GetEbsOptimized() const { return m_ebsOptimized; }
229 inline bool EbsOptimizedHasBeenSet() const { return m_ebsOptimizedHasBeenSet; }
230 inline void SetEbsOptimized(bool value) { m_ebsOptimizedHasBeenSet = true; m_ebsOptimized = value; }
231 inline InstanceGroup& WithEbsOptimized(bool value) { SetEbsOptimized(value); return *this;}
233
235
238 inline const ShrinkPolicy& GetShrinkPolicy() const { return m_shrinkPolicy; }
239 inline bool ShrinkPolicyHasBeenSet() const { return m_shrinkPolicyHasBeenSet; }
240 template<typename ShrinkPolicyT = ShrinkPolicy>
241 void SetShrinkPolicy(ShrinkPolicyT&& value) { m_shrinkPolicyHasBeenSet = true; m_shrinkPolicy = std::forward<ShrinkPolicyT>(value); }
242 template<typename ShrinkPolicyT = ShrinkPolicy>
243 InstanceGroup& WithShrinkPolicy(ShrinkPolicyT&& value) { SetShrinkPolicy(std::forward<ShrinkPolicyT>(value)); return *this;}
245
247
253 inline const AutoScalingPolicyDescription& GetAutoScalingPolicy() const { return m_autoScalingPolicy; }
254 inline bool AutoScalingPolicyHasBeenSet() const { return m_autoScalingPolicyHasBeenSet; }
255 template<typename AutoScalingPolicyT = AutoScalingPolicyDescription>
256 void SetAutoScalingPolicy(AutoScalingPolicyT&& value) { m_autoScalingPolicyHasBeenSet = true; m_autoScalingPolicy = std::forward<AutoScalingPolicyT>(value); }
257 template<typename AutoScalingPolicyT = AutoScalingPolicyDescription>
258 InstanceGroup& WithAutoScalingPolicy(AutoScalingPolicyT&& value) { SetAutoScalingPolicy(std::forward<AutoScalingPolicyT>(value)); return *this;}
260
262
265 inline const Aws::String& GetCustomAmiId() const { return m_customAmiId; }
266 inline bool CustomAmiIdHasBeenSet() const { return m_customAmiIdHasBeenSet; }
267 template<typename CustomAmiIdT = Aws::String>
268 void SetCustomAmiId(CustomAmiIdT&& value) { m_customAmiIdHasBeenSet = true; m_customAmiId = std::forward<CustomAmiIdT>(value); }
269 template<typename CustomAmiIdT = Aws::String>
270 InstanceGroup& WithCustomAmiId(CustomAmiIdT&& value) { SetCustomAmiId(std::forward<CustomAmiIdT>(value)); return *this;}
272 private:
273
274 Aws::String m_id;
275 bool m_idHasBeenSet = false;
276
277 Aws::String m_name;
278 bool m_nameHasBeenSet = false;
279
281 bool m_marketHasBeenSet = false;
282
284 bool m_instanceGroupTypeHasBeenSet = false;
285
286 Aws::String m_bidPrice;
287 bool m_bidPriceHasBeenSet = false;
288
289 Aws::String m_instanceType;
290 bool m_instanceTypeHasBeenSet = false;
291
292 int m_requestedInstanceCount{0};
293 bool m_requestedInstanceCountHasBeenSet = false;
294
295 int m_runningInstanceCount{0};
296 bool m_runningInstanceCountHasBeenSet = false;
297
298 InstanceGroupStatus m_status;
299 bool m_statusHasBeenSet = false;
300
301 Aws::Vector<Configuration> m_configurations;
302 bool m_configurationsHasBeenSet = false;
303
304 long long m_configurationsVersion{0};
305 bool m_configurationsVersionHasBeenSet = false;
306
307 Aws::Vector<Configuration> m_lastSuccessfullyAppliedConfigurations;
308 bool m_lastSuccessfullyAppliedConfigurationsHasBeenSet = false;
309
310 long long m_lastSuccessfullyAppliedConfigurationsVersion{0};
311 bool m_lastSuccessfullyAppliedConfigurationsVersionHasBeenSet = false;
312
313 Aws::Vector<EbsBlockDevice> m_ebsBlockDevices;
314 bool m_ebsBlockDevicesHasBeenSet = false;
315
316 bool m_ebsOptimized{false};
317 bool m_ebsOptimizedHasBeenSet = false;
318
319 ShrinkPolicy m_shrinkPolicy;
320 bool m_shrinkPolicyHasBeenSet = false;
321
322 AutoScalingPolicyDescription m_autoScalingPolicy;
323 bool m_autoScalingPolicyHasBeenSet = false;
324
325 Aws::String m_customAmiId;
326 bool m_customAmiIdHasBeenSet = false;
327 };
328
329} // namespace Model
330} // namespace EMR
331} // 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