7#include <aws/compute-optimizer/ComputeOptimizer_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/compute-optimizer/model/AllocationStrategy.h>
10#include <aws/compute-optimizer/model/AsgType.h>
11#include <aws/core/utils/memory/stl/AWSVector.h>
24namespace ComputeOptimizer
51 inline void SetDesiredCapacity(
int value) { m_desiredCapacityHasBeenSet =
true; m_desiredCapacity = value; }
62 inline void SetMinSize(
int value) { m_minSizeHasBeenSet =
true; m_minSize = value; }
73 inline void SetMaxSize(
int value) { m_maxSizeHasBeenSet =
true; m_maxSize = value; }
83 template<
typename InstanceTypeT = Aws::String>
84 void SetInstanceType(InstanceTypeT&& value) { m_instanceTypeHasBeenSet =
true; m_instanceType = std::forward<InstanceTypeT>(value); }
85 template<
typename InstanceTypeT = Aws::String>
131 template<
typename MixedInstanceTypesT = Aws::Vector<Aws::String>>
132 void SetMixedInstanceTypes(MixedInstanceTypesT&& value) { m_mixedInstanceTypesHasBeenSet =
true; m_mixedInstanceTypes = std::forward<MixedInstanceTypesT>(value); }
133 template<
typename MixedInstanceTypesT = Aws::Vector<Aws::String>>
135 template<
typename MixedInstanceTypesT = Aws::String>
140 int m_desiredCapacity{0};
141 bool m_desiredCapacityHasBeenSet =
false;
144 bool m_minSizeHasBeenSet =
false;
147 bool m_maxSizeHasBeenSet =
false;
150 bool m_instanceTypeHasBeenSet =
false;
153 bool m_allocationStrategyHasBeenSet =
false;
155 double m_estimatedInstanceHourReductionPercentage{0.0};
156 bool m_estimatedInstanceHourReductionPercentageHasBeenSet =
false;
159 bool m_typeHasBeenSet =
false;
162 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