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>
50 template <
typename IdT = Aws::String>
52 m_idHasBeenSet =
true;
53 m_id = std::forward<IdT>(value);
55 template <
typename IdT = Aws::String>
57 SetId(std::forward<IdT>(value));
68 template <
typename NameT = Aws::String>
70 m_nameHasBeenSet =
true;
71 m_name = std::forward<NameT>(value);
73 template <
typename NameT = Aws::String>
75 SetName(std::forward<NameT>(value));
88 m_marketHasBeenSet =
true;
104 m_instanceGroupTypeHasBeenSet =
true;
105 m_instanceGroupType = value;
122 template <
typename B
idPriceT = Aws::String>
124 m_bidPriceHasBeenSet =
true;
125 m_bidPrice = std::forward<BidPriceT>(value);
127 template <
typename B
idPriceT = Aws::String>
140 template <
typename InstanceTypeT = Aws::String>
142 m_instanceTypeHasBeenSet =
true;
143 m_instanceType = std::forward<InstanceTypeT>(value);
145 template <
typename InstanceTypeT = Aws::String>
159 m_requestedInstanceCountHasBeenSet =
true;
160 m_requestedInstanceCount = value;
175 m_runningInstanceCountHasBeenSet =
true;
176 m_runningInstanceCount = value;
190 template <
typename StatusT = InstanceGroupStatus>
192 m_statusHasBeenSet =
true;
193 m_status = std::forward<StatusT>(value);
195 template <
typename StatusT = InstanceGroupStatus>
211 template <
typename ConfigurationsT = Aws::Vector<Configuration>>
213 m_configurationsHasBeenSet =
true;
214 m_configurations = std::forward<ConfigurationsT>(value);
216 template <
typename ConfigurationsT = Aws::Vector<Configuration>>
221 template <
typename ConfigurationsT = Configuration>
223 m_configurationsHasBeenSet =
true;
224 m_configurations.emplace_back(std::forward<ConfigurationsT>(value));
237 m_configurationsVersionHasBeenSet =
true;
238 m_configurationsVersion = value;
252 return m_lastSuccessfullyAppliedConfigurations;
255 template <
typename LastSuccessfullyAppliedConfigurationsT = Aws::Vector<Configuration>>
257 m_lastSuccessfullyAppliedConfigurationsHasBeenSet =
true;
258 m_lastSuccessfullyAppliedConfigurations = std::forward<LastSuccessfullyAppliedConfigurationsT>(value);
260 template <
typename LastSuccessfullyAppliedConfigurationsT = Aws::Vector<Configuration>>
265 template <
typename LastSuccessfullyAppliedConfigurationsT = Configuration>
267 m_lastSuccessfullyAppliedConfigurationsHasBeenSet =
true;
268 m_lastSuccessfullyAppliedConfigurations.emplace_back(std::forward<LastSuccessfullyAppliedConfigurationsT>(value));
280 return m_lastSuccessfullyAppliedConfigurationsVersionHasBeenSet;
283 m_lastSuccessfullyAppliedConfigurationsVersionHasBeenSet =
true;
284 m_lastSuccessfullyAppliedConfigurationsVersion = value;
298 template <
typename EbsBlockDevicesT = Aws::Vector<EbsBlockDevice>>
300 m_ebsBlockDevicesHasBeenSet =
true;
301 m_ebsBlockDevices = std::forward<EbsBlockDevicesT>(value);
303 template <
typename EbsBlockDevicesT = Aws::Vector<EbsBlockDevice>>
308 template <
typename EbsBlockDevicesT = EbsBlockDevice>
310 m_ebsBlockDevicesHasBeenSet =
true;
311 m_ebsBlockDevices.emplace_back(std::forward<EbsBlockDevicesT>(value));
325 m_ebsOptimizedHasBeenSet =
true;
326 m_ebsOptimized = value;
340 template <
typename ShrinkPolicyT = ShrinkPolicy>
342 m_shrinkPolicyHasBeenSet =
true;
343 m_shrinkPolicy = std::forward<ShrinkPolicyT>(value);
345 template <
typename ShrinkPolicyT = ShrinkPolicy>
361 template <
typename AutoScalingPolicyT = AutoScalingPolicyDescription>
363 m_autoScalingPolicyHasBeenSet =
true;
364 m_autoScalingPolicy = std::forward<AutoScalingPolicyT>(value);
366 template <
typename AutoScalingPolicyT = AutoScalingPolicyDescription>
379 template <
typename CustomAmiIdT = Aws::String>
381 m_customAmiIdHasBeenSet =
true;
382 m_customAmiId = std::forward<CustomAmiIdT>(value);
384 template <
typename CustomAmiIdT = Aws::String>
403 int m_requestedInstanceCount{0};
405 int m_runningInstanceCount{0};
407 InstanceGroupStatus m_status;
411 long long m_configurationsVersion{0};
415 long long m_lastSuccessfullyAppliedConfigurationsVersion{0};
419 bool m_ebsOptimized{
false};
421 ShrinkPolicy m_shrinkPolicy;
423 AutoScalingPolicyDescription m_autoScalingPolicy;
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;
MarketType GetMarket() const
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)
bool AutoScalingPolicyHasBeenSet() const
InstanceGroup & WithEbsOptimized(bool value)
void SetInstanceType(InstanceTypeT &&value)
void SetEbsOptimized(bool 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
bool InstanceGroupTypeHasBeenSet() const
void SetInstanceGroupType(InstanceGroupType value)
InstanceGroup & WithLastSuccessfullyAppliedConfigurationsVersion(long long value)
void SetMarket(MarketType value)
bool InstanceTypeHasBeenSet() const
bool LastSuccessfullyAppliedConfigurationsHasBeenSet() const
bool ConfigurationsVersionHasBeenSet() const
int GetRequestedInstanceCount() 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)
bool EbsBlockDevicesHasBeenSet() const
InstanceGroup & WithRunningInstanceCount(int value)
bool RequestedInstanceCountHasBeenSet() const
void SetLastSuccessfullyAppliedConfigurationsVersion(long long value)
const Aws::String & GetBidPrice() const
InstanceGroup & WithCustomAmiId(CustomAmiIdT &&value)
bool BidPriceHasBeenSet() const
bool ShrinkPolicyHasBeenSet() const
const ShrinkPolicy & GetShrinkPolicy() const
bool GetEbsOptimized() const
int GetRunningInstanceCount() const
void SetRunningInstanceCount(int value)
bool CustomAmiIdHasBeenSet() const
const Aws::String & GetId() const
const Aws::Vector< Configuration > & GetConfigurations() const
InstanceGroup & WithBidPrice(BidPriceT &&value)
InstanceGroup & AddLastSuccessfullyAppliedConfigurations(LastSuccessfullyAppliedConfigurationsT &&value)
bool NameHasBeenSet() const
bool RunningInstanceCountHasBeenSet() const
long long GetLastSuccessfullyAppliedConfigurationsVersion() const
InstanceGroup & WithEbsBlockDevices(EbsBlockDevicesT &&value)
const AutoScalingPolicyDescription & GetAutoScalingPolicy() const
InstanceGroup & WithShrinkPolicy(ShrinkPolicyT &&value)
InstanceGroup & AddConfigurations(ConfigurationsT &&value)
bool IdHasBeenSet() const
void SetLastSuccessfullyAppliedConfigurations(LastSuccessfullyAppliedConfigurationsT &&value)
void SetShrinkPolicy(ShrinkPolicyT &&value)
void SetCustomAmiId(CustomAmiIdT &&value)
InstanceGroupType GetInstanceGroupType() const
bool ConfigurationsHasBeenSet() const
long long GetConfigurationsVersion() const
bool MarketHasBeenSet() const
bool StatusHasBeenSet() 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)
bool EbsOptimizedHasBeenSet() const
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