7#include <aws/autoscaling/AutoScaling_EXPORTS.h>
8#include <aws/autoscaling/model/Alarm.h>
9#include <aws/autoscaling/model/PredictiveScalingConfiguration.h>
10#include <aws/autoscaling/model/StepAdjustment.h>
11#include <aws/autoscaling/model/TargetTrackingConfiguration.h>
12#include <aws/core/utils/memory/stl/AWSStreamFwd.h>
13#include <aws/core/utils/memory/stl/AWSString.h>
14#include <aws/core/utils/memory/stl/AWSVector.h>
24namespace AutoScaling {
47 template <
typename AutoScalingGroupNameT = Aws::String>
49 m_autoScalingGroupNameHasBeenSet =
true;
50 m_autoScalingGroupName = std::forward<AutoScalingGroupNameT>(value);
52 template <
typename AutoScalingGroupNameT = Aws::String>
65 template <
typename PolicyNameT = Aws::String>
67 m_policyNameHasBeenSet =
true;
68 m_policyName = std::forward<PolicyNameT>(value);
70 template <
typename PolicyNameT = Aws::String>
83 template <
typename PolicyARNT = Aws::String>
85 m_policyARNHasBeenSet =
true;
86 m_policyARN = std::forward<PolicyARNT>(value);
88 template <
typename PolicyARNT = Aws::String>
109 template <
typename PolicyTypeT = Aws::String>
111 m_policyTypeHasBeenSet =
true;
112 m_policyType = std::forward<PolicyTypeT>(value);
114 template <
typename PolicyTypeT = Aws::String>
129 template <
typename AdjustmentTypeT = Aws::String>
131 m_adjustmentTypeHasBeenSet =
true;
132 m_adjustmentType = std::forward<AdjustmentTypeT>(value);
134 template <
typename AdjustmentTypeT = Aws::String>
149 m_minAdjustmentStepHasBeenSet =
true;
150 m_minAdjustmentStep = value;
166 m_minAdjustmentMagnitudeHasBeenSet =
true;
167 m_minAdjustmentMagnitude = value;
184 m_scalingAdjustmentHasBeenSet =
true;
185 m_scalingAdjustment = value;
200 m_cooldownHasBeenSet =
true;
216 template <
typename StepAdjustmentsT = Aws::Vector<StepAdjustment>>
218 m_stepAdjustmentsHasBeenSet =
true;
219 m_stepAdjustments = std::forward<StepAdjustmentsT>(value);
221 template <
typename StepAdjustmentsT = Aws::Vector<StepAdjustment>>
226 template <
typename StepAdjustmentsT = StepAdjustment>
228 m_stepAdjustmentsHasBeenSet =
true;
229 m_stepAdjustments.emplace_back(std::forward<StepAdjustmentsT>(value));
241 template <
typename MetricAggregationTypeT = Aws::String>
243 m_metricAggregationTypeHasBeenSet =
true;
244 m_metricAggregationType = std::forward<MetricAggregationTypeT>(value);
246 template <
typename MetricAggregationTypeT = Aws::String>
261 m_estimatedInstanceWarmupHasBeenSet =
true;
262 m_estimatedInstanceWarmup = value;
276 template <
typename AlarmsT = Aws::Vector<Alarm>>
278 m_alarmsHasBeenSet =
true;
279 m_alarms = std::forward<AlarmsT>(value);
281 template <
typename AlarmsT = Aws::Vector<Alarm>>
286 template <
typename AlarmsT = Alarm>
288 m_alarmsHasBeenSet =
true;
289 m_alarms.emplace_back(std::forward<AlarmsT>(value));
300 template <
typename TargetTrackingConfigurationT = TargetTrackingConfiguration>
302 m_targetTrackingConfigurationHasBeenSet =
true;
303 m_targetTrackingConfiguration = std::forward<TargetTrackingConfigurationT>(value);
305 template <
typename TargetTrackingConfigurationT = TargetTrackingConfiguration>
320 m_enabledHasBeenSet =
true;
335 template <
typename PredictiveScalingConfigurationT = PredictiveScalingConfiguration>
337 m_predictiveScalingConfigurationHasBeenSet =
true;
338 m_predictiveScalingConfiguration = std::forward<PredictiveScalingConfigurationT>(value);
340 template <
typename PredictiveScalingConfigurationT = PredictiveScalingConfiguration>
357 int m_minAdjustmentStep{0};
359 int m_minAdjustmentMagnitude{0};
361 int m_scalingAdjustment{0};
369 int m_estimatedInstanceWarmup{0};
373 TargetTrackingConfiguration m_targetTrackingConfiguration;
375 bool m_enabled{
false};
377 PredictiveScalingConfiguration m_predictiveScalingConfiguration;
378 bool m_autoScalingGroupNameHasBeenSet =
false;
379 bool m_policyNameHasBeenSet =
false;
380 bool m_policyARNHasBeenSet =
false;
381 bool m_policyTypeHasBeenSet =
false;
382 bool m_adjustmentTypeHasBeenSet =
false;
383 bool m_minAdjustmentStepHasBeenSet =
false;
384 bool m_minAdjustmentMagnitudeHasBeenSet =
false;
385 bool m_scalingAdjustmentHasBeenSet =
false;
386 bool m_cooldownHasBeenSet =
false;
387 bool m_stepAdjustmentsHasBeenSet =
false;
388 bool m_metricAggregationTypeHasBeenSet =
false;
389 bool m_estimatedInstanceWarmupHasBeenSet =
false;
390 bool m_alarmsHasBeenSet =
false;
391 bool m_targetTrackingConfigurationHasBeenSet =
false;
392 bool m_enabledHasBeenSet =
false;
393 bool m_predictiveScalingConfigurationHasBeenSet =
false;
const Aws::Vector< Alarm > & GetAlarms() const
void SetMinAdjustmentStep(int value)
void SetScalingAdjustment(int value)
void SetAdjustmentType(AdjustmentTypeT &&value)
void SetEnabled(bool value)
bool ScalingAdjustmentHasBeenSet() const
ScalingPolicy & WithEnabled(bool value)
void SetStepAdjustments(StepAdjustmentsT &&value)
void SetPolicyType(PolicyTypeT &&value)
bool MinAdjustmentMagnitudeHasBeenSet() const
const PredictiveScalingConfiguration & GetPredictiveScalingConfiguration() const
const Aws::String & GetPolicyName() const
bool StepAdjustmentsHasBeenSet() const
AWS_AUTOSCALING_API ScalingPolicy()=default
bool PolicyARNHasBeenSet() const
ScalingPolicy & WithScalingAdjustment(int value)
ScalingPolicy & WithEstimatedInstanceWarmup(int value)
AWS_AUTOSCALING_API void OutputToStream(Aws::OStream &oStream, const char *location) const
bool AutoScalingGroupNameHasBeenSet() const
void SetMinAdjustmentMagnitude(int value)
int GetMinAdjustmentStep() const
bool AlarmsHasBeenSet() const
AWS_AUTOSCALING_API void OutputToStream(Aws::OStream &ostream, const char *location, unsigned index, const char *locationValue) const
AWS_AUTOSCALING_API ScalingPolicy & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
bool CooldownHasBeenSet() const
ScalingPolicy & WithMinAdjustmentStep(int value)
void SetAutoScalingGroupName(AutoScalingGroupNameT &&value)
bool EstimatedInstanceWarmupHasBeenSet() const
const Aws::String & GetPolicyARN() const
const Aws::Vector< StepAdjustment > & GetStepAdjustments() const
ScalingPolicy & WithPredictiveScalingConfiguration(PredictiveScalingConfigurationT &&value)
ScalingPolicy & WithAdjustmentType(AdjustmentTypeT &&value)
ScalingPolicy & AddAlarms(AlarmsT &&value)
ScalingPolicy & WithPolicyType(PolicyTypeT &&value)
ScalingPolicy & WithPolicyARN(PolicyARNT &&value)
void SetPolicyARN(PolicyARNT &&value)
void SetEstimatedInstanceWarmup(int value)
ScalingPolicy & WithMetricAggregationType(MetricAggregationTypeT &&value)
ScalingPolicy & WithMinAdjustmentMagnitude(int value)
int GetEstimatedInstanceWarmup() const
const Aws::String & GetPolicyType() const
bool MetricAggregationTypeHasBeenSet() const
ScalingPolicy & WithCooldown(int value)
bool PredictiveScalingConfigurationHasBeenSet() const
bool TargetTrackingConfigurationHasBeenSet() const
const Aws::String & GetMetricAggregationType() const
ScalingPolicy & WithAlarms(AlarmsT &&value)
AWS_AUTOSCALING_API ScalingPolicy(const Aws::Utils::Xml::XmlNode &xmlNode)
int GetScalingAdjustment() const
void SetPredictiveScalingConfiguration(PredictiveScalingConfigurationT &&value)
ScalingPolicy & AddStepAdjustments(StepAdjustmentsT &&value)
ScalingPolicy & WithTargetTrackingConfiguration(TargetTrackingConfigurationT &&value)
const Aws::String & GetAutoScalingGroupName() const
ScalingPolicy & WithPolicyName(PolicyNameT &&value)
void SetPolicyName(PolicyNameT &&value)
bool MinAdjustmentStepHasBeenSet() const
void SetCooldown(int value)
void SetMetricAggregationType(MetricAggregationTypeT &&value)
bool EnabledHasBeenSet() const
bool AdjustmentTypeHasBeenSet() const
bool PolicyTypeHasBeenSet() const
int GetMinAdjustmentMagnitude() const
const Aws::String & GetAdjustmentType() const
void SetAlarms(AlarmsT &&value)
ScalingPolicy & WithStepAdjustments(StepAdjustmentsT &&value)
void SetTargetTrackingConfiguration(TargetTrackingConfigurationT &&value)
bool PolicyNameHasBeenSet() const
const TargetTrackingConfiguration & GetTargetTrackingConfiguration() const
ScalingPolicy & WithAutoScalingGroupName(AutoScalingGroupNameT &&value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
std::basic_ostream< char, std::char_traits< char > > OStream