AWS SDK for C++

AWS SDK for C++ Version 1.11.440

Loading...
Searching...
No Matches
StepScalingPolicyConfiguration.h
1
6#pragma once
7#include <aws/application-autoscaling/ApplicationAutoScaling_EXPORTS.h>
8#include <aws/application-autoscaling/model/AdjustmentType.h>
9#include <aws/core/utils/memory/stl/AWSVector.h>
10#include <aws/application-autoscaling/model/MetricAggregationType.h>
11#include <aws/application-autoscaling/model/StepAdjustment.h>
12#include <utility>
13
14namespace Aws
15{
16namespace Utils
17{
18namespace Json
19{
20 class JsonValue;
21 class JsonView;
22} // namespace Json
23} // namespace Utils
24namespace ApplicationAutoScaling
25{
26namespace Model
27{
28
39 {
40 public:
41 AWS_APPLICATIONAUTOSCALING_API StepScalingPolicyConfiguration();
42 AWS_APPLICATIONAUTOSCALING_API StepScalingPolicyConfiguration(Aws::Utils::Json::JsonView jsonValue);
43 AWS_APPLICATIONAUTOSCALING_API StepScalingPolicyConfiguration& operator=(Aws::Utils::Json::JsonView jsonValue);
44 AWS_APPLICATIONAUTOSCALING_API Aws::Utils::Json::JsonValue Jsonize() const;
45
46
48
56 inline const AdjustmentType& GetAdjustmentType() const{ return m_adjustmentType; }
57 inline bool AdjustmentTypeHasBeenSet() const { return m_adjustmentTypeHasBeenSet; }
58 inline void SetAdjustmentType(const AdjustmentType& value) { m_adjustmentTypeHasBeenSet = true; m_adjustmentType = value; }
59 inline void SetAdjustmentType(AdjustmentType&& value) { m_adjustmentTypeHasBeenSet = true; m_adjustmentType = std::move(value); }
61 inline StepScalingPolicyConfiguration& WithAdjustmentType(AdjustmentType&& value) { SetAdjustmentType(std::move(value)); return *this;}
63
65
70 inline const Aws::Vector<StepAdjustment>& GetStepAdjustments() const{ return m_stepAdjustments; }
71 inline bool StepAdjustmentsHasBeenSet() const { return m_stepAdjustmentsHasBeenSet; }
72 inline void SetStepAdjustments(const Aws::Vector<StepAdjustment>& value) { m_stepAdjustmentsHasBeenSet = true; m_stepAdjustments = value; }
73 inline void SetStepAdjustments(Aws::Vector<StepAdjustment>&& value) { m_stepAdjustmentsHasBeenSet = true; m_stepAdjustments = std::move(value); }
76 inline StepScalingPolicyConfiguration& AddStepAdjustments(const StepAdjustment& value) { m_stepAdjustmentsHasBeenSet = true; m_stepAdjustments.push_back(value); return *this; }
77 inline StepScalingPolicyConfiguration& AddStepAdjustments(StepAdjustment&& value) { m_stepAdjustmentsHasBeenSet = true; m_stepAdjustments.push_back(std::move(value)); return *this; }
79
81
90 inline int GetMinAdjustmentMagnitude() const{ return m_minAdjustmentMagnitude; }
91 inline bool MinAdjustmentMagnitudeHasBeenSet() const { return m_minAdjustmentMagnitudeHasBeenSet; }
92 inline void SetMinAdjustmentMagnitude(int value) { m_minAdjustmentMagnitudeHasBeenSet = true; m_minAdjustmentMagnitude = value; }
95
97
104 inline int GetCooldown() const{ return m_cooldown; }
105 inline bool CooldownHasBeenSet() const { return m_cooldownHasBeenSet; }
106 inline void SetCooldown(int value) { m_cooldownHasBeenSet = true; m_cooldown = value; }
107 inline StepScalingPolicyConfiguration& WithCooldown(int value) { SetCooldown(value); return *this;}
109
111
116 inline const MetricAggregationType& GetMetricAggregationType() const{ return m_metricAggregationType; }
117 inline bool MetricAggregationTypeHasBeenSet() const { return m_metricAggregationTypeHasBeenSet; }
118 inline void SetMetricAggregationType(const MetricAggregationType& value) { m_metricAggregationTypeHasBeenSet = true; m_metricAggregationType = value; }
119 inline void SetMetricAggregationType(MetricAggregationType&& value) { m_metricAggregationTypeHasBeenSet = true; m_metricAggregationType = std::move(value); }
123 private:
124
125 AdjustmentType m_adjustmentType;
126 bool m_adjustmentTypeHasBeenSet = false;
127
128 Aws::Vector<StepAdjustment> m_stepAdjustments;
129 bool m_stepAdjustmentsHasBeenSet = false;
130
131 int m_minAdjustmentMagnitude;
132 bool m_minAdjustmentMagnitudeHasBeenSet = false;
133
134 int m_cooldown;
135 bool m_cooldownHasBeenSet = false;
136
137 MetricAggregationType m_metricAggregationType;
138 bool m_metricAggregationTypeHasBeenSet = false;
139 };
140
141} // namespace Model
142} // namespace ApplicationAutoScaling
143} // namespace Aws
StepScalingPolicyConfiguration & WithAdjustmentType(const AdjustmentType &value)
AWS_APPLICATIONAUTOSCALING_API StepScalingPolicyConfiguration(Aws::Utils::Json::JsonView jsonValue)
StepScalingPolicyConfiguration & WithStepAdjustments(Aws::Vector< StepAdjustment > &&value)
StepScalingPolicyConfiguration & AddStepAdjustments(StepAdjustment &&value)
StepScalingPolicyConfiguration & WithAdjustmentType(AdjustmentType &&value)
StepScalingPolicyConfiguration & AddStepAdjustments(const StepAdjustment &value)
AWS_APPLICATIONAUTOSCALING_API Aws::Utils::Json::JsonValue Jsonize() const
StepScalingPolicyConfiguration & WithMetricAggregationType(MetricAggregationType &&value)
AWS_APPLICATIONAUTOSCALING_API StepScalingPolicyConfiguration & operator=(Aws::Utils::Json::JsonView jsonValue)
StepScalingPolicyConfiguration & WithMetricAggregationType(const MetricAggregationType &value)
StepScalingPolicyConfiguration & WithStepAdjustments(const Aws::Vector< StepAdjustment > &value)
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue