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>
22namespace ComputeOptimizer {
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 int m_desiredCapacity{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
AWS_COMPUTEOPTIMIZER_API Aws::Utils::Json::JsonValue Jsonize() const
AutoScalingGroupConfiguration & WithAllocationStrategy(AllocationStrategy value)
bool TypeHasBeenSet() const
AWS_COMPUTEOPTIMIZER_API AutoScalingGroupConfiguration()=default
AWS_COMPUTEOPTIMIZER_API AutoScalingGroupConfiguration & operator=(Aws::Utils::Json::JsonView jsonValue)
void SetDesiredCapacity(int value)
void SetMaxSize(int value)
void SetType(AsgType value)
bool MaxSizeHasBeenSet() const
void SetInstanceType(InstanceTypeT &&value)
AutoScalingGroupConfiguration & WithDesiredCapacity(int value)
int GetDesiredCapacity() const
AllocationStrategy GetAllocationStrategy() const
bool EstimatedInstanceHourReductionPercentageHasBeenSet() const
AutoScalingGroupConfiguration & WithMinSize(int value)
bool MixedInstanceTypesHasBeenSet() const
AutoScalingGroupConfiguration & WithMixedInstanceTypes(MixedInstanceTypesT &&value)
void SetEstimatedInstanceHourReductionPercentage(double value)
AWS_COMPUTEOPTIMIZER_API AutoScalingGroupConfiguration(Aws::Utils::Json::JsonView jsonValue)
AutoScalingGroupConfiguration & WithMaxSize(int value)
AutoScalingGroupConfiguration & WithInstanceType(InstanceTypeT &&value)
AutoScalingGroupConfiguration & WithType(AsgType value)
AutoScalingGroupConfiguration & AddMixedInstanceTypes(MixedInstanceTypesT &&value)
void SetMixedInstanceTypes(MixedInstanceTypesT &&value)
AutoScalingGroupConfiguration & WithEstimatedInstanceHourReductionPercentage(double value)
bool MinSizeHasBeenSet() const
void SetMinSize(int value)
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
Aws::Utils::Json::JsonValue JsonValue