7#include <aws/application-autoscaling/ApplicationAutoScaling_EXPORTS.h>
8#include <aws/application-autoscaling/model/PredefinedMetricSpecification.h>
9#include <aws/application-autoscaling/model/CustomizedMetricSpecification.h>
22namespace ApplicationAutoScaling
59 inline void SetTargetValue(
double value) { m_targetValueHasBeenSet =
true; m_targetValue = value; }
70 template<
typename PredefinedMetricSpecificationT = PredefinedMetricSpecification>
71 void SetPredefinedMetricSpecification(PredefinedMetricSpecificationT&& value) { m_predefinedMetricSpecificationHasBeenSet =
true; m_predefinedMetricSpecification = std::forward<PredefinedMetricSpecificationT>(value); }
72 template<
typename PredefinedMetricSpecificationT = PredefinedMetricSpecification>
83 template<
typename CustomizedMetricSpecificationT = CustomizedMetricSpecification>
84 void SetCustomizedMetricSpecification(CustomizedMetricSpecificationT&& value) { m_customizedMetricSpecificationHasBeenSet =
true; m_customizedMetricSpecification = std::forward<CustomizedMetricSpecificationT>(value); }
85 template<
typename CustomizedMetricSpecificationT = CustomizedMetricSpecification>
98 inline void SetScaleOutCooldown(
int value) { m_scaleOutCooldownHasBeenSet =
true; m_scaleOutCooldown = value; }
112 inline void SetScaleInCooldown(
int value) { m_scaleInCooldownHasBeenSet =
true; m_scaleInCooldown = value; }
126 inline void SetDisableScaleIn(
bool value) { m_disableScaleInHasBeenSet =
true; m_disableScaleIn = value; }
131 double m_targetValue{0.0};
132 bool m_targetValueHasBeenSet =
false;
134 PredefinedMetricSpecification m_predefinedMetricSpecification;
135 bool m_predefinedMetricSpecificationHasBeenSet =
false;
137 CustomizedMetricSpecification m_customizedMetricSpecification;
138 bool m_customizedMetricSpecificationHasBeenSet =
false;
140 int m_scaleOutCooldown{0};
141 bool m_scaleOutCooldownHasBeenSet =
false;
143 int m_scaleInCooldown{0};
144 bool m_scaleInCooldownHasBeenSet =
false;
146 bool m_disableScaleIn{
false};
147 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