7#include <aws/autoscaling/AutoScalingRequest.h>
8#include <aws/autoscaling/AutoScaling_EXPORTS.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/AWSString.h>
13#include <aws/core/utils/memory/stl/AWSVector.h>
18namespace AutoScaling {
45 template <
typename AutoScalingGroupNameT = Aws::String>
47 m_autoScalingGroupNameHasBeenSet =
true;
48 m_autoScalingGroupName = std::forward<AutoScalingGroupNameT>(value);
50 template <
typename AutoScalingGroupNameT = Aws::String>
63 template <
typename PolicyNameT = Aws::String>
65 m_policyNameHasBeenSet =
true;
66 m_policyName = std::forward<PolicyNameT>(value);
68 template <
typename PolicyNameT = Aws::String>
84 template <
typename PolicyTypeT = Aws::String>
86 m_policyTypeHasBeenSet =
true;
87 m_policyType = std::forward<PolicyTypeT>(value);
89 template <
typename PolicyTypeT = Aws::String>
108 template <
typename AdjustmentTypeT = Aws::String>
110 m_adjustmentTypeHasBeenSet =
true;
111 m_adjustmentType = std::forward<AdjustmentTypeT>(value);
113 template <
typename AdjustmentTypeT = Aws::String>
128 m_minAdjustmentStepHasBeenSet =
true;
129 m_minAdjustmentStep = value;
157 m_minAdjustmentMagnitudeHasBeenSet =
true;
158 m_minAdjustmentMagnitude = value;
177 m_scalingAdjustmentHasBeenSet =
true;
178 m_scalingAdjustment = value;
199 m_cooldownHasBeenSet =
true;
217 template <
typename MetricAggregationTypeT = Aws::String>
219 m_metricAggregationTypeHasBeenSet =
true;
220 m_metricAggregationType = std::forward<MetricAggregationTypeT>(value);
222 template <
typename MetricAggregationTypeT = Aws::String>
237 template <
typename StepAdjustmentsT = Aws::Vector<StepAdjustment>>
239 m_stepAdjustmentsHasBeenSet =
true;
240 m_stepAdjustments = std::forward<StepAdjustmentsT>(value);
242 template <
typename StepAdjustmentsT = Aws::Vector<StepAdjustment>>
247 template <
typename StepAdjustmentsT = StepAdjustment>
249 m_stepAdjustmentsHasBeenSet =
true;
250 m_stepAdjustments.emplace_back(std::forward<StepAdjustmentsT>(value));
271 m_estimatedInstanceWarmupHasBeenSet =
true;
272 m_estimatedInstanceWarmup = value;
297 template <
typename TargetTrackingConfigurationT = TargetTrackingConfiguration>
299 m_targetTrackingConfigurationHasBeenSet =
true;
300 m_targetTrackingConfiguration = std::forward<TargetTrackingConfigurationT>(value);
302 template <
typename TargetTrackingConfigurationT = TargetTrackingConfiguration>
320 m_enabledHasBeenSet =
true;
340 template <
typename PredictiveScalingConfigurationT = PredictiveScalingConfiguration>
342 m_predictiveScalingConfigurationHasBeenSet =
true;
343 m_predictiveScalingConfiguration = std::forward<PredictiveScalingConfigurationT>(value);
345 template <
typename PredictiveScalingConfigurationT = PredictiveScalingConfiguration>
360 int m_minAdjustmentStep{0};
362 int m_minAdjustmentMagnitude{0};
364 int m_scalingAdjustment{0};
372 int m_estimatedInstanceWarmup{0};
374 TargetTrackingConfiguration m_targetTrackingConfiguration;
376 bool m_enabled{
false};
378 PredictiveScalingConfiguration m_predictiveScalingConfiguration;
379 bool m_autoScalingGroupNameHasBeenSet =
false;
380 bool m_policyNameHasBeenSet =
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_metricAggregationTypeHasBeenSet =
false;
388 bool m_stepAdjustmentsHasBeenSet =
false;
389 bool m_estimatedInstanceWarmupHasBeenSet =
false;
390 bool m_targetTrackingConfigurationHasBeenSet =
false;
391 bool m_enabledHasBeenSet =
false;
392 bool m_predictiveScalingConfigurationHasBeenSet =
false;
const Aws::Vector< StepAdjustment > & GetStepAdjustments() const
void SetAutoScalingGroupName(AutoScalingGroupNameT &&value)
const Aws::String & GetMetricAggregationType() const
const Aws::String & GetPolicyType() const
int GetMinAdjustmentMagnitude() const
const Aws::String & GetAdjustmentType() const
bool PolicyTypeHasBeenSet() const
virtual const char * GetServiceRequestName() const override
void SetMetricAggregationType(MetricAggregationTypeT &&value)
void SetPolicyType(PolicyTypeT &&value)
PutScalingPolicyRequest & WithPredictiveScalingConfiguration(PredictiveScalingConfigurationT &&value)
bool MinAdjustmentMagnitudeHasBeenSet() const
void SetPolicyName(PolicyNameT &&value)
PutScalingPolicyRequest & WithStepAdjustments(StepAdjustmentsT &&value)
const Aws::String & GetPolicyName() const
bool AdjustmentTypeHasBeenSet() const
PutScalingPolicyRequest & WithMinAdjustmentMagnitude(int value)
PutScalingPolicyRequest & WithMinAdjustmentStep(int value)
PutScalingPolicyRequest & WithPolicyType(PolicyTypeT &&value)
bool TargetTrackingConfigurationHasBeenSet() const
void SetPredictiveScalingConfiguration(PredictiveScalingConfigurationT &&value)
void SetMinAdjustmentMagnitude(int value)
bool AutoScalingGroupNameHasBeenSet() const
bool EstimatedInstanceWarmupHasBeenSet() const
PutScalingPolicyRequest & WithPolicyName(PolicyNameT &&value)
PutScalingPolicyRequest & AddStepAdjustments(StepAdjustmentsT &&value)
AWS_AUTOSCALING_API PutScalingPolicyRequest()=default
bool MetricAggregationTypeHasBeenSet() const
PutScalingPolicyRequest & WithScalingAdjustment(int value)
void SetScalingAdjustment(int value)
void SetEstimatedInstanceWarmup(int value)
void SetEnabled(bool value)
int GetEstimatedInstanceWarmup() const
const Aws::String & GetAutoScalingGroupName() const
const PredictiveScalingConfiguration & GetPredictiveScalingConfiguration() const
AWS_AUTOSCALING_API Aws::String SerializePayload() const override
bool StepAdjustmentsHasBeenSet() const
PutScalingPolicyRequest & WithEstimatedInstanceWarmup(int value)
PutScalingPolicyRequest & WithEnabled(bool value)
const TargetTrackingConfiguration & GetTargetTrackingConfiguration() const
int GetScalingAdjustment() const
void SetMinAdjustmentStep(int value)
int GetMinAdjustmentStep() const
bool EnabledHasBeenSet() const
PutScalingPolicyRequest & WithMetricAggregationType(MetricAggregationTypeT &&value)
bool CooldownHasBeenSet() const
bool MinAdjustmentStepHasBeenSet() const
void SetTargetTrackingConfiguration(TargetTrackingConfigurationT &&value)
void SetCooldown(int value)
PutScalingPolicyRequest & WithCooldown(int value)
bool ScalingAdjustmentHasBeenSet() const
PutScalingPolicyRequest & WithTargetTrackingConfiguration(TargetTrackingConfigurationT &&value)
PutScalingPolicyRequest & WithAdjustmentType(AdjustmentTypeT &&value)
bool PolicyNameHasBeenSet() const
void SetAdjustmentType(AdjustmentTypeT &&value)
bool PredictiveScalingConfigurationHasBeenSet() const
PutScalingPolicyRequest & WithAutoScalingGroupName(AutoScalingGroupNameT &&value)
void SetStepAdjustments(StepAdjustmentsT &&value)
AWS_AUTOSCALING_API void DumpBodyToUrl(Aws::Http::URI &uri) const override
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector