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/InstanceRoleType.h>
11#include <aws/core/utils/memory/stl/AWSVector.h>
12#include <aws/elasticmapreduce/model/EbsConfiguration.h>
13#include <aws/elasticmapreduce/model/AutoScalingPolicy.h>
14#include <aws/elasticmapreduce/model/Configuration.h>
52 template<
typename NameT = Aws::String>
53 void SetName(NameT&& value) { m_nameHasBeenSet =
true; m_name = std::forward<NameT>(value); }
54 template<
typename NameT = Aws::String>
87 template<
typename B
idPriceT = Aws::String>
88 void SetBidPrice(BidPriceT&& value) { m_bidPriceHasBeenSet =
true; m_bidPrice = std::forward<BidPriceT>(value); }
89 template<
typename B
idPriceT = Aws::String>
99 template<
typename InstanceTypeT = Aws::String>
100 void SetInstanceType(InstanceTypeT&& value) { m_instanceTypeHasBeenSet =
true; m_instanceType = std::forward<InstanceTypeT>(value); }
101 template<
typename InstanceTypeT = Aws::String>
111 inline void SetInstanceCount(
int value) { m_instanceCountHasBeenSet =
true; m_instanceCount = value; }
124 template<
typename ConfigurationsT = Aws::Vector<Configuration>>
125 void SetConfigurations(ConfigurationsT&& value) { m_configurationsHasBeenSet =
true; m_configurations = std::forward<ConfigurationsT>(value); }
126 template<
typename ConfigurationsT = Aws::Vector<Configuration>>
128 template<
typename ConfigurationsT = Configuration>
139 template<
typename EbsConfigurationT = EbsConfiguration>
140 void SetEbsConfiguration(EbsConfigurationT&& value) { m_ebsConfigurationHasBeenSet =
true; m_ebsConfiguration = std::forward<EbsConfigurationT>(value); }
141 template<
typename EbsConfigurationT = EbsConfiguration>
154 template<
typename AutoScalingPolicyT = AutoScalingPolicy>
155 void SetAutoScalingPolicy(AutoScalingPolicyT&& value) { m_autoScalingPolicyHasBeenSet =
true; m_autoScalingPolicy = std::forward<AutoScalingPolicyT>(value); }
156 template<
typename AutoScalingPolicyT = AutoScalingPolicy>
166 template<
typename CustomAmiIdT = Aws::String>
167 void SetCustomAmiId(CustomAmiIdT&& value) { m_customAmiIdHasBeenSet =
true; m_customAmiId = std::forward<CustomAmiIdT>(value); }
168 template<
typename CustomAmiIdT = Aws::String>
174 bool m_nameHasBeenSet =
false;
177 bool m_marketHasBeenSet =
false;
180 bool m_instanceRoleHasBeenSet =
false;
183 bool m_bidPriceHasBeenSet =
false;
186 bool m_instanceTypeHasBeenSet =
false;
188 int m_instanceCount{0};
189 bool m_instanceCountHasBeenSet =
false;
192 bool m_configurationsHasBeenSet =
false;
194 EbsConfiguration m_ebsConfiguration;
195 bool m_ebsConfigurationHasBeenSet =
false;
197 AutoScalingPolicy m_autoScalingPolicy;
198 bool m_autoScalingPolicyHasBeenSet =
false;
201 bool m_customAmiIdHasBeenSet =
false;
const Aws::Vector< Configuration > & GetConfigurations() const
MarketType GetMarket() const
const Aws::String & GetName() const
bool InstanceRoleHasBeenSet() const
void SetName(NameT &&value)
bool AutoScalingPolicyHasBeenSet() const
bool EbsConfigurationHasBeenSet() const
void SetInstanceRole(InstanceRoleType value)
void SetInstanceType(InstanceTypeT &&value)
const Aws::String & GetBidPrice() const
void SetMarket(MarketType value)
const EbsConfiguration & GetEbsConfiguration() const
InstanceGroupConfig & WithAutoScalingPolicy(AutoScalingPolicyT &&value)
void SetInstanceCount(int value)
InstanceGroupConfig & WithCustomAmiId(CustomAmiIdT &&value)
InstanceGroupConfig & WithInstanceCount(int value)
AWS_EMR_API Aws::Utils::Json::JsonValue Jsonize() const
InstanceGroupConfig & WithConfigurations(ConfigurationsT &&value)
InstanceRoleType GetInstanceRole() const
bool NameHasBeenSet() const
bool MarketHasBeenSet() const
InstanceGroupConfig & WithInstanceRole(InstanceRoleType value)
void SetAutoScalingPolicy(AutoScalingPolicyT &&value)
InstanceGroupConfig & WithEbsConfiguration(EbsConfigurationT &&value)
InstanceGroupConfig & WithBidPrice(BidPriceT &&value)
int GetInstanceCount() const
InstanceGroupConfig & WithName(NameT &&value)
bool InstanceCountHasBeenSet() const
InstanceGroupConfig & WithMarket(MarketType value)
const Aws::String & GetCustomAmiId() const
AWS_EMR_API InstanceGroupConfig(Aws::Utils::Json::JsonView jsonValue)
AWS_EMR_API InstanceGroupConfig()=default
AWS_EMR_API InstanceGroupConfig & operator=(Aws::Utils::Json::JsonView jsonValue)
bool InstanceTypeHasBeenSet() const
InstanceGroupConfig & WithInstanceType(InstanceTypeT &&value)
InstanceGroupConfig & AddConfigurations(ConfigurationsT &&value)
const Aws::String & GetInstanceType() const
void SetEbsConfiguration(EbsConfigurationT &&value)
void SetBidPrice(BidPriceT &&value)
const AutoScalingPolicy & GetAutoScalingPolicy() const
bool ConfigurationsHasBeenSet() const
void SetConfigurations(ConfigurationsT &&value)
void SetCustomAmiId(CustomAmiIdT &&value)
bool BidPriceHasBeenSet() const
bool CustomAmiIdHasBeenSet() 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