AWS SDK for C++

AWS SDK for C++ Version 1.11.753

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/application-autoscaling/model/MetricAggregationType.h>
10#include <aws/application-autoscaling/model/StepAdjustment.h>
11#include <aws/core/utils/memory/stl/AWSVector.h>
12
13#include <utility>
14
15namespace Aws {
16namespace Utils {
17namespace Json {
18class JsonValue;
19class JsonView;
20} // namespace Json
21} // namespace Utils
22namespace ApplicationAutoScaling {
23namespace Model {
24
35 public:
36 AWS_APPLICATIONAUTOSCALING_API StepScalingPolicyConfiguration() = default;
37 AWS_APPLICATIONAUTOSCALING_API StepScalingPolicyConfiguration(Aws::Utils::Json::JsonView jsonValue);
38 AWS_APPLICATIONAUTOSCALING_API StepScalingPolicyConfiguration& operator=(Aws::Utils::Json::JsonView jsonValue);
39 AWS_APPLICATIONAUTOSCALING_API Aws::Utils::Json::JsonValue Jsonize() const;
40
42
50 inline AdjustmentType GetAdjustmentType() const { return m_adjustmentType; }
51 inline bool AdjustmentTypeHasBeenSet() const { return m_adjustmentTypeHasBeenSet; }
52 inline void SetAdjustmentType(AdjustmentType value) {
53 m_adjustmentTypeHasBeenSet = true;
54 m_adjustmentType = value;
55 }
57 SetAdjustmentType(value);
58 return *this;
59 }
61
63
68 inline const Aws::Vector<StepAdjustment>& GetStepAdjustments() const { return m_stepAdjustments; }
69 inline bool StepAdjustmentsHasBeenSet() const { return m_stepAdjustmentsHasBeenSet; }
70 template <typename StepAdjustmentsT = Aws::Vector<StepAdjustment>>
71 void SetStepAdjustments(StepAdjustmentsT&& value) {
72 m_stepAdjustmentsHasBeenSet = true;
73 m_stepAdjustments = std::forward<StepAdjustmentsT>(value);
74 }
75 template <typename StepAdjustmentsT = Aws::Vector<StepAdjustment>>
77 SetStepAdjustments(std::forward<StepAdjustmentsT>(value));
78 return *this;
79 }
80 template <typename StepAdjustmentsT = StepAdjustment>
82 m_stepAdjustmentsHasBeenSet = true;
83 m_stepAdjustments.emplace_back(std::forward<StepAdjustmentsT>(value));
84 return *this;
85 }
87
89
98 inline int GetMinAdjustmentMagnitude() const { return m_minAdjustmentMagnitude; }
99 inline bool MinAdjustmentMagnitudeHasBeenSet() const { return m_minAdjustmentMagnitudeHasBeenSet; }
100 inline void SetMinAdjustmentMagnitude(int value) {
101 m_minAdjustmentMagnitudeHasBeenSet = true;
102 m_minAdjustmentMagnitude = value;
103 }
106 return *this;
107 }
109
111
118 inline int GetCooldown() const { return m_cooldown; }
119 inline bool CooldownHasBeenSet() const { return m_cooldownHasBeenSet; }
120 inline void SetCooldown(int value) {
121 m_cooldownHasBeenSet = true;
122 m_cooldown = value;
123 }
125 SetCooldown(value);
126 return *this;
127 }
129
131
136 inline MetricAggregationType GetMetricAggregationType() const { return m_metricAggregationType; }
137 inline bool MetricAggregationTypeHasBeenSet() const { return m_metricAggregationTypeHasBeenSet; }
139 m_metricAggregationTypeHasBeenSet = true;
140 m_metricAggregationType = value;
141 }
144 return *this;
145 }
147 private:
148 AdjustmentType m_adjustmentType{AdjustmentType::NOT_SET};
149
150 Aws::Vector<StepAdjustment> m_stepAdjustments;
151
152 int m_minAdjustmentMagnitude{0};
153
154 int m_cooldown{0};
155
157 bool m_adjustmentTypeHasBeenSet = false;
158 bool m_stepAdjustmentsHasBeenSet = false;
159 bool m_minAdjustmentMagnitudeHasBeenSet = false;
160 bool m_cooldownHasBeenSet = false;
161 bool m_metricAggregationTypeHasBeenSet = false;
162};
163
164} // namespace Model
165} // namespace ApplicationAutoScaling
166} // namespace Aws
StepScalingPolicyConfiguration & WithMetricAggregationType(MetricAggregationType value)
AWS_APPLICATIONAUTOSCALING_API StepScalingPolicyConfiguration(Aws::Utils::Json::JsonView jsonValue)
StepScalingPolicyConfiguration & WithStepAdjustments(StepAdjustmentsT &&value)
AWS_APPLICATIONAUTOSCALING_API StepScalingPolicyConfiguration()=default
AWS_APPLICATIONAUTOSCALING_API Aws::Utils::Json::JsonValue Jsonize() const
StepScalingPolicyConfiguration & AddStepAdjustments(StepAdjustmentsT &&value)
AWS_APPLICATIONAUTOSCALING_API StepScalingPolicyConfiguration & operator=(Aws::Utils::Json::JsonView jsonValue)
StepScalingPolicyConfiguration & WithAdjustmentType(AdjustmentType value)
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue