AWS SDK for C++

AWS SDK for C++ Version 1.11.440

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();
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 inline void SetPredefinedScalingMetricSpecification(const PredefinedScalingMetricSpecification& value) { m_predefinedScalingMetricSpecificationHasBeenSet = true; m_predefinedScalingMetricSpecification = value; }
51 inline void SetPredefinedScalingMetricSpecification(PredefinedScalingMetricSpecification&& value) { m_predefinedScalingMetricSpecificationHasBeenSet = true; m_predefinedScalingMetricSpecification = std::move(value); }
55
57
61 inline const CustomizedScalingMetricSpecification& GetCustomizedScalingMetricSpecification() const{ return m_customizedScalingMetricSpecification; }
62 inline bool CustomizedScalingMetricSpecificationHasBeenSet() const { return m_customizedScalingMetricSpecificationHasBeenSet; }
63 inline void SetCustomizedScalingMetricSpecification(const CustomizedScalingMetricSpecification& value) { m_customizedScalingMetricSpecificationHasBeenSet = true; m_customizedScalingMetricSpecification = value; }
64 inline void SetCustomizedScalingMetricSpecification(CustomizedScalingMetricSpecification&& value) { m_customizedScalingMetricSpecificationHasBeenSet = true; m_customizedScalingMetricSpecification = std::move(value); }
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;
150 bool m_targetValueHasBeenSet = false;
151
152 bool m_disableScaleIn;
153 bool m_disableScaleInHasBeenSet = false;
154
155 int m_scaleOutCooldown;
156 bool m_scaleOutCooldownHasBeenSet = false;
157
158 int m_scaleInCooldown;
159 bool m_scaleInCooldownHasBeenSet = false;
160
161 int m_estimatedInstanceWarmup;
162 bool m_estimatedInstanceWarmupHasBeenSet = false;
163 };
164
165} // namespace Model
166} // namespace AutoScalingPlans
167} // namespace Aws
TargetTrackingConfiguration & WithCustomizedScalingMetricSpecification(const CustomizedScalingMetricSpecification &value)
void SetPredefinedScalingMetricSpecification(const PredefinedScalingMetricSpecification &value)
TargetTrackingConfiguration & WithPredefinedScalingMetricSpecification(const PredefinedScalingMetricSpecification &value)
void SetCustomizedScalingMetricSpecification(CustomizedScalingMetricSpecification &&value)
TargetTrackingConfiguration & WithPredefinedScalingMetricSpecification(PredefinedScalingMetricSpecification &&value)
AWS_AUTOSCALINGPLANS_API TargetTrackingConfiguration & operator=(Aws::Utils::Json::JsonView jsonValue)
AWS_AUTOSCALINGPLANS_API Aws::Utils::Json::JsonValue Jsonize() const
const PredefinedScalingMetricSpecification & GetPredefinedScalingMetricSpecification() const
void SetCustomizedScalingMetricSpecification(const CustomizedScalingMetricSpecification &value)
AWS_AUTOSCALINGPLANS_API TargetTrackingConfiguration(Aws::Utils::Json::JsonView jsonValue)
void SetPredefinedScalingMetricSpecification(PredefinedScalingMetricSpecification &&value)
const CustomizedScalingMetricSpecification & GetCustomizedScalingMetricSpecification() const
TargetTrackingConfiguration & WithCustomizedScalingMetricSpecification(CustomizedScalingMetricSpecification &&value)
Aws::Utils::Json::JsonValue JsonValue