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>
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>
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>
104 template<
typename B
idPriceT = Aws::String>
105 void SetBidPrice(BidPriceT&& value) { m_bidPriceHasBeenSet =
true; m_bidPrice = std::forward<BidPriceT>(value); }
106 template<
typename B
idPriceT = Aws::String>
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>
148 template<
typename StatusT = InstanceGroupStatus>
149 void SetStatus(StatusT&& value) { m_statusHasBeenSet =
true; m_status = std::forward<StatusT>(value); }
150 template<
typename StatusT = InstanceGroupStatus>
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>>
167 template<
typename ConfigurationsT = Configuration>
168 InstanceGroup&
AddConfigurations(ConfigurationsT&& value) { m_configurationsHasBeenSet =
true; m_configurations.emplace_back(std::forward<ConfigurationsT>(value));
return *
this; }
178 inline void SetConfigurationsVersion(
long long value) { m_configurationsVersionHasBeenSet =
true; m_configurationsVersion = value; }
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>>
193 template<
typename LastSuccessfullyAppliedConfigurationsT = Configuration>
194 InstanceGroup&
AddLastSuccessfullyAppliedConfigurations(LastSuccessfullyAppliedConfigurationsT&& value) { m_lastSuccessfullyAppliedConfigurationsHasBeenSet =
true; m_lastSuccessfullyAppliedConfigurations.emplace_back(std::forward<LastSuccessfullyAppliedConfigurationsT>(value));
return *
this; }
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>>
218 template<
typename EbsBlockDevicesT = EbsBlockDevice>
219 InstanceGroup&
AddEbsBlockDevices(EbsBlockDevicesT&& value) { m_ebsBlockDevicesHasBeenSet =
true; m_ebsBlockDevices.emplace_back(std::forward<EbsBlockDevicesT>(value));
return *
this; }
230 inline void SetEbsOptimized(
bool value) { m_ebsOptimizedHasBeenSet =
true; m_ebsOptimized = value; }
240 template<
typename ShrinkPolicyT = ShrinkPolicy>
241 void SetShrinkPolicy(ShrinkPolicyT&& value) { m_shrinkPolicyHasBeenSet =
true; m_shrinkPolicy = std::forward<ShrinkPolicyT>(value); }
242 template<
typename ShrinkPolicyT = ShrinkPolicy>
255 template<
typename AutoScalingPolicyT = AutoScalingPolicyDescription>
256 void SetAutoScalingPolicy(AutoScalingPolicyT&& value) { m_autoScalingPolicyHasBeenSet =
true; m_autoScalingPolicy = std::forward<AutoScalingPolicyT>(value); }
257 template<
typename AutoScalingPolicyT = AutoScalingPolicyDescription>
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>
275 bool m_idHasBeenSet =
false;
278 bool m_nameHasBeenSet =
false;
281 bool m_marketHasBeenSet =
false;
284 bool m_instanceGroupTypeHasBeenSet =
false;
287 bool m_bidPriceHasBeenSet =
false;
290 bool m_instanceTypeHasBeenSet =
false;
292 int m_requestedInstanceCount{0};
293 bool m_requestedInstanceCountHasBeenSet =
false;
295 int m_runningInstanceCount{0};
296 bool m_runningInstanceCountHasBeenSet =
false;
298 InstanceGroupStatus m_status;
299 bool m_statusHasBeenSet =
false;
302 bool m_configurationsHasBeenSet =
false;
304 long long m_configurationsVersion{0};
305 bool m_configurationsVersionHasBeenSet =
false;
308 bool m_lastSuccessfullyAppliedConfigurationsHasBeenSet =
false;
310 long long m_lastSuccessfullyAppliedConfigurationsVersion{0};
311 bool m_lastSuccessfullyAppliedConfigurationsVersionHasBeenSet =
false;
314 bool m_ebsBlockDevicesHasBeenSet =
false;
316 bool m_ebsOptimized{
false};
317 bool m_ebsOptimizedHasBeenSet =
false;
319 ShrinkPolicy m_shrinkPolicy;
320 bool m_shrinkPolicyHasBeenSet =
false;
322 AutoScalingPolicyDescription m_autoScalingPolicy;
323 bool m_autoScalingPolicyHasBeenSet =
false;
326 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