7#include <aws/application-autoscaling/ApplicationAutoScaling_EXPORTS.h>
8#include <aws/application-autoscaling/model/CustomizedMetricSpecification.h>
9#include <aws/application-autoscaling/model/PredefinedMetricSpecification.h>
20namespace ApplicationAutoScaling {
54 m_targetValueHasBeenSet =
true;
55 m_targetValue = value;
70 template <
typename PredefinedMetricSpecificationT = PredefinedMetricSpecification>
72 m_predefinedMetricSpecificationHasBeenSet =
true;
73 m_predefinedMetricSpecification = std::forward<PredefinedMetricSpecificationT>(value);
75 template <
typename PredefinedMetricSpecificationT = PredefinedMetricSpecification>
89 template <
typename CustomizedMetricSpecificationT = CustomizedMetricSpecification>
91 m_customizedMetricSpecificationHasBeenSet =
true;
92 m_customizedMetricSpecification = std::forward<CustomizedMetricSpecificationT>(value);
94 template <
typename CustomizedMetricSpecificationT = CustomizedMetricSpecification>
111 m_scaleOutCooldownHasBeenSet =
true;
112 m_scaleOutCooldown = value;
131 m_scaleInCooldownHasBeenSet =
true;
132 m_scaleInCooldown = value;
151 m_disableScaleInHasBeenSet =
true;
152 m_disableScaleIn = value;
160 double m_targetValue{0.0};
162 PredefinedMetricSpecification m_predefinedMetricSpecification;
164 CustomizedMetricSpecification m_customizedMetricSpecification;
166 int m_scaleOutCooldown{0};
168 int m_scaleInCooldown{0};
170 bool m_disableScaleIn{
false};
171 bool m_targetValueHasBeenSet =
false;
172 bool m_predefinedMetricSpecificationHasBeenSet =
false;
173 bool m_customizedMetricSpecificationHasBeenSet =
false;
174 bool m_scaleOutCooldownHasBeenSet =
false;
175 bool m_scaleInCooldownHasBeenSet =
false;
176 bool m_disableScaleInHasBeenSet =
false;
TargetTrackingScalingPolicyConfiguration & WithScaleInCooldown(int value)
bool ScaleOutCooldownHasBeenSet() const
bool DisableScaleInHasBeenSet() const
int GetScaleOutCooldown() const
bool CustomizedMetricSpecificationHasBeenSet() const
TargetTrackingScalingPolicyConfiguration & WithScaleOutCooldown(int value)
bool TargetValueHasBeenSet() const
void SetCustomizedMetricSpecification(CustomizedMetricSpecificationT &&value)
void SetDisableScaleIn(bool value)
bool ScaleInCooldownHasBeenSet() const
AWS_APPLICATIONAUTOSCALING_API TargetTrackingScalingPolicyConfiguration()=default
void SetTargetValue(double value)
AWS_APPLICATIONAUTOSCALING_API TargetTrackingScalingPolicyConfiguration & operator=(Aws::Utils::Json::JsonView jsonValue)
TargetTrackingScalingPolicyConfiguration & WithPredefinedMetricSpecification(PredefinedMetricSpecificationT &&value)
AWS_APPLICATIONAUTOSCALING_API TargetTrackingScalingPolicyConfiguration(Aws::Utils::Json::JsonView jsonValue)
const CustomizedMetricSpecification & GetCustomizedMetricSpecification() const
void SetScaleInCooldown(int value)
bool GetDisableScaleIn() const
AWS_APPLICATIONAUTOSCALING_API Aws::Utils::Json::JsonValue Jsonize() const
TargetTrackingScalingPolicyConfiguration & WithTargetValue(double value)
const PredefinedMetricSpecification & GetPredefinedMetricSpecification() const
int GetScaleInCooldown() const
void SetScaleOutCooldown(int value)
TargetTrackingScalingPolicyConfiguration & WithCustomizedMetricSpecification(CustomizedMetricSpecificationT &&value)
void SetPredefinedMetricSpecification(PredefinedMetricSpecificationT &&value)
bool PredefinedMetricSpecificationHasBeenSet() const
double GetTargetValue() const
TargetTrackingScalingPolicyConfiguration & WithDisableScaleIn(bool value)
Aws::Utils::Json::JsonValue JsonValue