7#include <aws/compute-optimizer/ComputeOptimizer_EXPORTS.h>
8#include <aws/compute-optimizer/model/AllocationStrategy.h>
9#include <aws/compute-optimizer/model/AsgType.h>
10#include <aws/core/utils/memory/stl/AWSString.h>
11#include <aws/core/utils/memory/stl/AWSVector.h>
12#include <aws/crt/cbor/Cbor.h>
22namespace ComputeOptimizer {
36 AWS_COMPUTEOPTIMIZER_API
void CborEncode(Aws::Crt::Cbor::CborEncoder& encoder)
const;
46 m_desiredCapacityHasBeenSet =
true;
47 m_desiredCapacity = value;
63 m_minSizeHasBeenSet =
true;
80 m_maxSizeHasBeenSet =
true;
95 template <
typename InstanceTypeT = Aws::String>
97 m_instanceTypeHasBeenSet =
true;
98 m_instanceType = std::forward<InstanceTypeT>(value);
100 template <
typename InstanceTypeT = Aws::String>
116 m_allocationStrategyHasBeenSet =
true;
117 m_allocationStrategy = value;
134 m_estimatedInstanceHourReductionPercentageHasBeenSet =
true;
135 m_estimatedInstanceHourReductionPercentage = value;
151 m_typeHasBeenSet =
true;
167 template <
typename MixedInstanceTypesT = Aws::Vector<Aws::String>>
169 m_mixedInstanceTypesHasBeenSet =
true;
170 m_mixedInstanceTypes = std::forward<MixedInstanceTypesT>(value);
172 template <
typename MixedInstanceTypesT = Aws::Vector<Aws::String>>
177 template <
typename MixedInstanceTypesT = Aws::String>
179 m_mixedInstanceTypesHasBeenSet =
true;
180 m_mixedInstanceTypes.emplace_back(std::forward<MixedInstanceTypesT>(value));
185 int64_t m_desiredCapacity{0};
187 int64_t m_minSize{0};
189 int64_t m_maxSize{0};
195 double m_estimatedInstanceHourReductionPercentage{0.0};
200 bool m_desiredCapacityHasBeenSet =
false;
201 bool m_minSizeHasBeenSet =
false;
202 bool m_maxSizeHasBeenSet =
false;
203 bool m_instanceTypeHasBeenSet =
false;
204 bool m_allocationStrategyHasBeenSet =
false;
205 bool m_estimatedInstanceHourReductionPercentageHasBeenSet =
false;
206 bool m_typeHasBeenSet =
false;
207 bool m_mixedInstanceTypesHasBeenSet =
false;
bool AllocationStrategyHasBeenSet() const
const Aws::Vector< Aws::String > & GetMixedInstanceTypes() const
bool InstanceTypeHasBeenSet() const
double GetEstimatedInstanceHourReductionPercentage() const
void SetDesiredCapacity(int64_t value)
AWS_COMPUTEOPTIMIZER_API void CborEncode(Aws::Crt::Cbor::CborEncoder &encoder) const
AutoScalingGroupConfiguration & WithAllocationStrategy(AllocationStrategy value)
AWS_COMPUTEOPTIMIZER_API AutoScalingGroupConfiguration & operator=(const std::shared_ptr< Aws::Crt::Cbor::CborDecoder > &decoder)
bool TypeHasBeenSet() const
int64_t GetMaxSize() const
AutoScalingGroupConfiguration & WithMaxSize(int64_t value)
void SetMinSize(int64_t value)
AutoScalingGroupConfiguration & WithDesiredCapacity(int64_t value)
AWS_COMPUTEOPTIMIZER_API AutoScalingGroupConfiguration()=default
void SetMaxSize(int64_t value)
void SetType(AsgType value)
bool MaxSizeHasBeenSet() const
AutoScalingGroupConfiguration & WithMinSize(int64_t value)
void SetInstanceType(InstanceTypeT &&value)
AllocationStrategy GetAllocationStrategy() const
bool EstimatedInstanceHourReductionPercentageHasBeenSet() const
bool MixedInstanceTypesHasBeenSet() const
AutoScalingGroupConfiguration & WithMixedInstanceTypes(MixedInstanceTypesT &&value)
void SetEstimatedInstanceHourReductionPercentage(double value)
AutoScalingGroupConfiguration & WithInstanceType(InstanceTypeT &&value)
int64_t GetMinSize() const
AutoScalingGroupConfiguration & WithType(AsgType value)
AutoScalingGroupConfiguration & AddMixedInstanceTypes(MixedInstanceTypesT &&value)
int64_t GetDesiredCapacity() const
void SetMixedInstanceTypes(MixedInstanceTypesT &&value)
AutoScalingGroupConfiguration & WithEstimatedInstanceHourReductionPercentage(double value)
bool MinSizeHasBeenSet() const
AWS_COMPUTEOPTIMIZER_API AutoScalingGroupConfiguration(const std::shared_ptr< Aws::Crt::Cbor::CborDecoder > &decoder)
void SetAllocationStrategy(AllocationStrategy value)
const Aws::String & GetInstanceType() const
bool DesiredCapacityHasBeenSet() const
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector