AWS SDK for C++

AWS SDK for C++ Version 1.11.612

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() = default;
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 AdjustmentType GetAdjustmentType() const { return m_adjustmentType; }
57 inline bool AdjustmentTypeHasBeenSet() const { return m_adjustmentTypeHasBeenSet; }
58 inline void SetAdjustmentType(AdjustmentType value) { m_adjustmentTypeHasBeenSet = true; m_adjustmentType = value; }
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) { m_stepAdjustmentsHasBeenSet = true; m_stepAdjustments = std::forward<StepAdjustmentsT>(value); }
72 template<typename StepAdjustmentsT = Aws::Vector<StepAdjustment>>
73 StepScalingPolicyConfiguration& WithStepAdjustments(StepAdjustmentsT&& value) { SetStepAdjustments(std::forward<StepAdjustmentsT>(value)); return *this;}
74 template<typename StepAdjustmentsT = StepAdjustment>
75 StepScalingPolicyConfiguration& AddStepAdjustments(StepAdjustmentsT&& value) { m_stepAdjustmentsHasBeenSet = true; m_stepAdjustments.emplace_back(std::forward<StepAdjustmentsT>(value)); return *this; }
77
79
88 inline int GetMinAdjustmentMagnitude() const { return m_minAdjustmentMagnitude; }
89 inline bool MinAdjustmentMagnitudeHasBeenSet() const { return m_minAdjustmentMagnitudeHasBeenSet; }
90 inline void SetMinAdjustmentMagnitude(int value) { m_minAdjustmentMagnitudeHasBeenSet = true; m_minAdjustmentMagnitude = value; }
93
95
102 inline int GetCooldown() const { return m_cooldown; }
103 inline bool CooldownHasBeenSet() const { return m_cooldownHasBeenSet; }
104 inline void SetCooldown(int value) { m_cooldownHasBeenSet = true; m_cooldown = value; }
105 inline StepScalingPolicyConfiguration& WithCooldown(int value) { SetCooldown(value); return *this;}
107
109
114 inline MetricAggregationType GetMetricAggregationType() const { return m_metricAggregationType; }
115 inline bool MetricAggregationTypeHasBeenSet() const { return m_metricAggregationTypeHasBeenSet; }
116 inline void SetMetricAggregationType(MetricAggregationType value) { m_metricAggregationTypeHasBeenSet = true; m_metricAggregationType = value; }
119 private:
120
121 AdjustmentType m_adjustmentType{AdjustmentType::NOT_SET};
122 bool m_adjustmentTypeHasBeenSet = false;
123
124 Aws::Vector<StepAdjustment> m_stepAdjustments;
125 bool m_stepAdjustmentsHasBeenSet = false;
126
127 int m_minAdjustmentMagnitude{0};
128 bool m_minAdjustmentMagnitudeHasBeenSet = false;
129
130 int m_cooldown{0};
131 bool m_cooldownHasBeenSet = false;
132
134 bool m_metricAggregationTypeHasBeenSet = false;
135 };
136
137} // namespace Model
138} // namespace ApplicationAutoScaling
139} // 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