7#include <aws/autoscaling/AutoScaling_EXPORTS.h>
8#include <aws/autoscaling/model/DistributionSegment.h>
9#include <aws/core/utils/memory/stl/AWSStreamFwd.h>
10#include <aws/core/utils/memory/stl/AWSString.h>
11#include <aws/core/utils/memory/stl/AWSVector.h>
21namespace AutoScaling {
63 template <
typename OnDemandAllocationStrategyT = Aws::String>
65 m_onDemandAllocationStrategyHasBeenSet =
true;
66 m_onDemandAllocationStrategy = std::forward<OnDemandAllocationStrategyT>(value);
68 template <
typename OnDemandAllocationStrategyT = Aws::String>
89 m_onDemandBaseCapacityHasBeenSet =
true;
90 m_onDemandBaseCapacity = value;
108 m_onDemandPercentageAboveBaseCapacityHasBeenSet =
true;
109 m_onDemandPercentageAboveBaseCapacity = value;
147 template <
typename SpotAllocationStrategyT = Aws::String>
149 m_spotAllocationStrategyHasBeenSet =
true;
150 m_spotAllocationStrategy = std::forward<SpotAllocationStrategyT>(value);
152 template <
typename SpotAllocationStrategyT = Aws::String>
170 m_spotInstancePoolsHasBeenSet =
true;
171 m_spotInstancePools = value;
193 template <
typename SpotMaxPriceT = Aws::String>
195 m_spotMaxPriceHasBeenSet =
true;
196 m_spotMaxPrice = std::forward<SpotMaxPriceT>(value);
198 template <
typename SpotMaxPriceT = Aws::String>
215 template <
typename DistributionSegmentsT = Aws::Vector<DistributionSegment>>
217 m_distributionSegmentsHasBeenSet =
true;
218 m_distributionSegments = std::forward<DistributionSegmentsT>(value);
220 template <
typename DistributionSegmentsT = Aws::Vector<DistributionSegment>>
225 template <
typename DistributionSegmentsT = DistributionSegment>
227 m_distributionSegmentsHasBeenSet =
true;
228 m_distributionSegments.emplace_back(std::forward<DistributionSegmentsT>(value));
235 int m_onDemandBaseCapacity{0};
237 int m_onDemandPercentageAboveBaseCapacity{0};
241 int m_spotInstancePools{0};
246 bool m_onDemandAllocationStrategyHasBeenSet =
false;
247 bool m_onDemandBaseCapacityHasBeenSet =
false;
248 bool m_onDemandPercentageAboveBaseCapacityHasBeenSet =
false;
249 bool m_spotAllocationStrategyHasBeenSet =
false;
250 bool m_spotInstancePoolsHasBeenSet =
false;
251 bool m_spotMaxPriceHasBeenSet =
false;
252 bool m_distributionSegmentsHasBeenSet =
false;
void SetSpotInstancePools(int value)
AWS_AUTOSCALING_API InstancesDistribution(const Aws::Utils::Xml::XmlNode &xmlNode)
const Aws::String & GetOnDemandAllocationStrategy() const
InstancesDistribution & WithOnDemandBaseCapacity(int value)
void SetOnDemandPercentageAboveBaseCapacity(int value)
bool DistributionSegmentsHasBeenSet() const
InstancesDistribution & WithSpotInstancePools(int value)
void SetDistributionSegments(DistributionSegmentsT &&value)
void SetOnDemandAllocationStrategy(OnDemandAllocationStrategyT &&value)
int GetOnDemandBaseCapacity() const
void SetSpotAllocationStrategy(SpotAllocationStrategyT &&value)
const Aws::String & GetSpotMaxPrice() const
bool OnDemandAllocationStrategyHasBeenSet() const
const Aws::String & GetSpotAllocationStrategy() const
void SetSpotMaxPrice(SpotMaxPriceT &&value)
bool SpotMaxPriceHasBeenSet() const
InstancesDistribution & WithSpotMaxPrice(SpotMaxPriceT &&value)
AWS_AUTOSCALING_API InstancesDistribution()=default
AWS_AUTOSCALING_API void OutputToStream(Aws::OStream &ostream, const char *location, unsigned index, const char *locationValue) const
void SetOnDemandBaseCapacity(int value)
bool SpotInstancePoolsHasBeenSet() const
InstancesDistribution & WithOnDemandPercentageAboveBaseCapacity(int value)
AWS_AUTOSCALING_API void OutputToStream(Aws::OStream &oStream, const char *location) const
bool OnDemandBaseCapacityHasBeenSet() const
int GetOnDemandPercentageAboveBaseCapacity() const
InstancesDistribution & WithSpotAllocationStrategy(SpotAllocationStrategyT &&value)
InstancesDistribution & WithDistributionSegments(DistributionSegmentsT &&value)
InstancesDistribution & WithOnDemandAllocationStrategy(OnDemandAllocationStrategyT &&value)
AWS_AUTOSCALING_API InstancesDistribution & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
InstancesDistribution & AddDistributionSegments(DistributionSegmentsT &&value)
const Aws::Vector< DistributionSegment > & GetDistributionSegments() const
bool SpotAllocationStrategyHasBeenSet() const
int GetSpotInstancePools() const
bool OnDemandPercentageAboveBaseCapacityHasBeenSet() const
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
std::basic_ostream< char, std::char_traits< char > > OStream