AWS SDK for C++

AWS SDK for C++ Version 1.11.753

Loading...
Searching...
No Matches
TargetTrackingScalingPolicyConfiguration.h
1
6#pragma once
7#include <aws/application-autoscaling/ApplicationAutoScaling_EXPORTS.h>
8#include <aws/application-autoscaling/model/CustomizedMetricSpecification.h>
9#include <aws/application-autoscaling/model/PredefinedMetricSpecification.h>
10
11#include <utility>
12
13namespace Aws {
14namespace Utils {
15namespace Json {
16class JsonValue;
17class JsonView;
18} // namespace Json
19} // namespace Utils
20namespace ApplicationAutoScaling {
21namespace Model {
22
33 public:
34 AWS_APPLICATIONAUTOSCALING_API TargetTrackingScalingPolicyConfiguration() = default;
37 AWS_APPLICATIONAUTOSCALING_API Aws::Utils::Json::JsonValue Jsonize() const;
38
40
51 inline double GetTargetValue() const { return m_targetValue; }
52 inline bool TargetValueHasBeenSet() const { return m_targetValueHasBeenSet; }
53 inline void SetTargetValue(double value) {
54 m_targetValueHasBeenSet = true;
55 m_targetValue = value;
56 }
58 SetTargetValue(value);
59 return *this;
60 }
62
64
68 inline const PredefinedMetricSpecification& GetPredefinedMetricSpecification() const { return m_predefinedMetricSpecification; }
69 inline bool PredefinedMetricSpecificationHasBeenSet() const { return m_predefinedMetricSpecificationHasBeenSet; }
70 template <typename PredefinedMetricSpecificationT = PredefinedMetricSpecification>
71 void SetPredefinedMetricSpecification(PredefinedMetricSpecificationT&& value) {
72 m_predefinedMetricSpecificationHasBeenSet = true;
73 m_predefinedMetricSpecification = std::forward<PredefinedMetricSpecificationT>(value);
74 }
75 template <typename PredefinedMetricSpecificationT = PredefinedMetricSpecification>
77 SetPredefinedMetricSpecification(std::forward<PredefinedMetricSpecificationT>(value));
78 return *this;
79 }
81
83
87 inline const CustomizedMetricSpecification& GetCustomizedMetricSpecification() const { return m_customizedMetricSpecification; }
88 inline bool CustomizedMetricSpecificationHasBeenSet() const { return m_customizedMetricSpecificationHasBeenSet; }
89 template <typename CustomizedMetricSpecificationT = CustomizedMetricSpecification>
90 void SetCustomizedMetricSpecification(CustomizedMetricSpecificationT&& value) {
91 m_customizedMetricSpecificationHasBeenSet = true;
92 m_customizedMetricSpecification = std::forward<CustomizedMetricSpecificationT>(value);
93 }
94 template <typename CustomizedMetricSpecificationT = CustomizedMetricSpecification>
96 SetCustomizedMetricSpecification(std::forward<CustomizedMetricSpecificationT>(value));
97 return *this;
98 }
100
102
108 inline int GetScaleOutCooldown() const { return m_scaleOutCooldown; }
109 inline bool ScaleOutCooldownHasBeenSet() const { return m_scaleOutCooldownHasBeenSet; }
110 inline void SetScaleOutCooldown(int value) {
111 m_scaleOutCooldownHasBeenSet = true;
112 m_scaleOutCooldown = value;
113 }
115 SetScaleOutCooldown(value);
116 return *this;
117 }
119
121
128 inline int GetScaleInCooldown() const { return m_scaleInCooldown; }
129 inline bool ScaleInCooldownHasBeenSet() const { return m_scaleInCooldownHasBeenSet; }
130 inline void SetScaleInCooldown(int value) {
131 m_scaleInCooldownHasBeenSet = true;
132 m_scaleInCooldown = value;
133 }
135 SetScaleInCooldown(value);
136 return *this;
137 }
139
141
148 inline bool GetDisableScaleIn() const { return m_disableScaleIn; }
149 inline bool DisableScaleInHasBeenSet() const { return m_disableScaleInHasBeenSet; }
150 inline void SetDisableScaleIn(bool value) {
151 m_disableScaleInHasBeenSet = true;
152 m_disableScaleIn = value;
153 }
155 SetDisableScaleIn(value);
156 return *this;
157 }
159 private:
160 double m_targetValue{0.0};
161
162 PredefinedMetricSpecification m_predefinedMetricSpecification;
163
164 CustomizedMetricSpecification m_customizedMetricSpecification;
165
166 int m_scaleOutCooldown{0};
167
168 int m_scaleInCooldown{0};
169
170 bool m_disableScaleIn{false};
171 bool m_targetValueHasBeenSet = false;
172 bool m_predefinedMetricSpecificationHasBeenSet = false;
173 bool m_customizedMetricSpecificationHasBeenSet = false;
174 bool m_scaleOutCooldownHasBeenSet = false;
175 bool m_scaleInCooldownHasBeenSet = false;
176 bool m_disableScaleInHasBeenSet = false;
177};
178
179} // namespace Model
180} // namespace ApplicationAutoScaling
181} // namespace Aws
AWS_APPLICATIONAUTOSCALING_API TargetTrackingScalingPolicyConfiguration()=default
AWS_APPLICATIONAUTOSCALING_API TargetTrackingScalingPolicyConfiguration & operator=(Aws::Utils::Json::JsonView jsonValue)
TargetTrackingScalingPolicyConfiguration & WithPredefinedMetricSpecification(PredefinedMetricSpecificationT &&value)
AWS_APPLICATIONAUTOSCALING_API TargetTrackingScalingPolicyConfiguration(Aws::Utils::Json::JsonView jsonValue)
AWS_APPLICATIONAUTOSCALING_API Aws::Utils::Json::JsonValue Jsonize() const
TargetTrackingScalingPolicyConfiguration & WithCustomizedMetricSpecification(CustomizedMetricSpecificationT &&value)
Aws::Utils::Json::JsonValue JsonValue