AWS SDK for C++

AWS SDK for C++ Version 1.11.609

Loading...
Searching...
No Matches
TargetTrackingConfiguration.h
1
6#pragma once
7#include <aws/autoscaling-plans/AutoScalingPlans_EXPORTS.h>
8#include <aws/autoscaling-plans/model/PredefinedScalingMetricSpecification.h>
9#include <aws/autoscaling-plans/model/CustomizedScalingMetricSpecification.h>
10#include <utility>
11
12namespace Aws
13{
14namespace Utils
15{
16namespace Json
17{
18 class JsonValue;
19 class JsonView;
20} // namespace Json
21} // namespace Utils
22namespace AutoScalingPlans
23{
24namespace Model
25{
26
35 {
36 public:
37 AWS_AUTOSCALINGPLANS_API TargetTrackingConfiguration() = default;
38 AWS_AUTOSCALINGPLANS_API TargetTrackingConfiguration(Aws::Utils::Json::JsonView jsonValue);
40 AWS_AUTOSCALINGPLANS_API Aws::Utils::Json::JsonValue Jsonize() const;
41
42
44
48 inline const PredefinedScalingMetricSpecification& GetPredefinedScalingMetricSpecification() const { return m_predefinedScalingMetricSpecification; }
49 inline bool PredefinedScalingMetricSpecificationHasBeenSet() const { return m_predefinedScalingMetricSpecificationHasBeenSet; }
50 template<typename PredefinedScalingMetricSpecificationT = PredefinedScalingMetricSpecification>
51 void SetPredefinedScalingMetricSpecification(PredefinedScalingMetricSpecificationT&& value) { m_predefinedScalingMetricSpecificationHasBeenSet = true; m_predefinedScalingMetricSpecification = std::forward<PredefinedScalingMetricSpecificationT>(value); }
52 template<typename PredefinedScalingMetricSpecificationT = PredefinedScalingMetricSpecification>
53 TargetTrackingConfiguration& WithPredefinedScalingMetricSpecification(PredefinedScalingMetricSpecificationT&& value) { SetPredefinedScalingMetricSpecification(std::forward<PredefinedScalingMetricSpecificationT>(value)); return *this;}
55
57
61 inline const CustomizedScalingMetricSpecification& GetCustomizedScalingMetricSpecification() const { return m_customizedScalingMetricSpecification; }
62 inline bool CustomizedScalingMetricSpecificationHasBeenSet() const { return m_customizedScalingMetricSpecificationHasBeenSet; }
63 template<typename CustomizedScalingMetricSpecificationT = CustomizedScalingMetricSpecification>
64 void SetCustomizedScalingMetricSpecification(CustomizedScalingMetricSpecificationT&& value) { m_customizedScalingMetricSpecificationHasBeenSet = true; m_customizedScalingMetricSpecification = std::forward<CustomizedScalingMetricSpecificationT>(value); }
65 template<typename CustomizedScalingMetricSpecificationT = CustomizedScalingMetricSpecification>
66 TargetTrackingConfiguration& WithCustomizedScalingMetricSpecification(CustomizedScalingMetricSpecificationT&& value) { SetCustomizedScalingMetricSpecification(std::forward<CustomizedScalingMetricSpecificationT>(value)); return *this;}
68
70
75 inline double GetTargetValue() const { return m_targetValue; }
76 inline bool TargetValueHasBeenSet() const { return m_targetValueHasBeenSet; }
77 inline void SetTargetValue(double value) { m_targetValueHasBeenSet = true; m_targetValue = value; }
78 inline TargetTrackingConfiguration& WithTargetValue(double value) { SetTargetValue(value); return *this;}
80
82
89 inline bool GetDisableScaleIn() const { return m_disableScaleIn; }
90 inline bool DisableScaleInHasBeenSet() const { return m_disableScaleInHasBeenSet; }
91 inline void SetDisableScaleIn(bool value) { m_disableScaleInHasBeenSet = true; m_disableScaleIn = value; }
92 inline TargetTrackingConfiguration& WithDisableScaleIn(bool value) { SetDisableScaleIn(value); return *this;}
94
96
106 inline int GetScaleOutCooldown() const { return m_scaleOutCooldown; }
107 inline bool ScaleOutCooldownHasBeenSet() const { return m_scaleOutCooldownHasBeenSet; }
108 inline void SetScaleOutCooldown(int value) { m_scaleOutCooldownHasBeenSet = true; m_scaleOutCooldown = value; }
109 inline TargetTrackingConfiguration& WithScaleOutCooldown(int value) { SetScaleOutCooldown(value); return *this;}
111
113
124 inline int GetScaleInCooldown() const { return m_scaleInCooldown; }
125 inline bool ScaleInCooldownHasBeenSet() const { return m_scaleInCooldownHasBeenSet; }
126 inline void SetScaleInCooldown(int value) { m_scaleInCooldownHasBeenSet = true; m_scaleInCooldown = value; }
127 inline TargetTrackingConfiguration& WithScaleInCooldown(int value) { SetScaleInCooldown(value); return *this;}
129
131
136 inline int GetEstimatedInstanceWarmup() const { return m_estimatedInstanceWarmup; }
137 inline bool EstimatedInstanceWarmupHasBeenSet() const { return m_estimatedInstanceWarmupHasBeenSet; }
138 inline void SetEstimatedInstanceWarmup(int value) { m_estimatedInstanceWarmupHasBeenSet = true; m_estimatedInstanceWarmup = value; }
141 private:
142
143 PredefinedScalingMetricSpecification m_predefinedScalingMetricSpecification;
144 bool m_predefinedScalingMetricSpecificationHasBeenSet = false;
145
146 CustomizedScalingMetricSpecification m_customizedScalingMetricSpecification;
147 bool m_customizedScalingMetricSpecificationHasBeenSet = false;
148
149 double m_targetValue{0.0};
150 bool m_targetValueHasBeenSet = false;
151
152 bool m_disableScaleIn{false};
153 bool m_disableScaleInHasBeenSet = false;
154
155 int m_scaleOutCooldown{0};
156 bool m_scaleOutCooldownHasBeenSet = false;
157
158 int m_scaleInCooldown{0};
159 bool m_scaleInCooldownHasBeenSet = false;
160
161 int m_estimatedInstanceWarmup{0};
162 bool m_estimatedInstanceWarmupHasBeenSet = false;
163 };
164
165} // namespace Model
166} // namespace AutoScalingPlans
167} // namespace Aws
void SetCustomizedScalingMetricSpecification(CustomizedScalingMetricSpecificationT &&value)
TargetTrackingConfiguration & WithPredefinedScalingMetricSpecification(PredefinedScalingMetricSpecificationT &&value)
void SetPredefinedScalingMetricSpecification(PredefinedScalingMetricSpecificationT &&value)
AWS_AUTOSCALINGPLANS_API TargetTrackingConfiguration()=default
TargetTrackingConfiguration & WithCustomizedScalingMetricSpecification(CustomizedScalingMetricSpecificationT &&value)
AWS_AUTOSCALINGPLANS_API TargetTrackingConfiguration & operator=(Aws::Utils::Json::JsonView jsonValue)
AWS_AUTOSCALINGPLANS_API Aws::Utils::Json::JsonValue Jsonize() const
const PredefinedScalingMetricSpecification & GetPredefinedScalingMetricSpecification() const
AWS_AUTOSCALINGPLANS_API TargetTrackingConfiguration(Aws::Utils::Json::JsonView jsonValue)
const CustomizedScalingMetricSpecification & GetCustomizedScalingMetricSpecification() const
Aws::Utils::Json::JsonValue JsonValue