AWS SDK for C++

AWS SDK for C++ Version 1.11.440

Loading...
Searching...
No Matches
TargetTrackingScalingPolicyConfiguration.h
1
6#pragma once
7#include <aws/application-autoscaling/ApplicationAutoScaling_EXPORTS.h>
8#include <aws/application-autoscaling/model/PredefinedMetricSpecification.h>
9#include <aws/application-autoscaling/model/CustomizedMetricSpecification.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 ApplicationAutoScaling
23{
24namespace Model
25{
26
37 {
38 public:
39 AWS_APPLICATIONAUTOSCALING_API TargetTrackingScalingPolicyConfiguration();
42 AWS_APPLICATIONAUTOSCALING_API Aws::Utils::Json::JsonValue Jsonize() const;
43
44
46
57 inline double GetTargetValue() const{ return m_targetValue; }
58 inline bool TargetValueHasBeenSet() const { return m_targetValueHasBeenSet; }
59 inline void SetTargetValue(double value) { m_targetValueHasBeenSet = true; m_targetValue = value; }
60 inline TargetTrackingScalingPolicyConfiguration& WithTargetValue(double value) { SetTargetValue(value); return *this;}
62
64
68 inline const PredefinedMetricSpecification& GetPredefinedMetricSpecification() const{ return m_predefinedMetricSpecification; }
69 inline bool PredefinedMetricSpecificationHasBeenSet() const { return m_predefinedMetricSpecificationHasBeenSet; }
70 inline void SetPredefinedMetricSpecification(const PredefinedMetricSpecification& value) { m_predefinedMetricSpecificationHasBeenSet = true; m_predefinedMetricSpecification = value; }
71 inline void SetPredefinedMetricSpecification(PredefinedMetricSpecification&& value) { m_predefinedMetricSpecificationHasBeenSet = true; m_predefinedMetricSpecification = std::move(value); }
75
77
81 inline const CustomizedMetricSpecification& GetCustomizedMetricSpecification() const{ return m_customizedMetricSpecification; }
82 inline bool CustomizedMetricSpecificationHasBeenSet() const { return m_customizedMetricSpecificationHasBeenSet; }
83 inline void SetCustomizedMetricSpecification(const CustomizedMetricSpecification& value) { m_customizedMetricSpecificationHasBeenSet = true; m_customizedMetricSpecification = value; }
84 inline void SetCustomizedMetricSpecification(CustomizedMetricSpecification&& value) { m_customizedMetricSpecificationHasBeenSet = true; m_customizedMetricSpecification = std::move(value); }
88
90
96 inline int GetScaleOutCooldown() const{ return m_scaleOutCooldown; }
97 inline bool ScaleOutCooldownHasBeenSet() const { return m_scaleOutCooldownHasBeenSet; }
98 inline void SetScaleOutCooldown(int value) { m_scaleOutCooldownHasBeenSet = true; m_scaleOutCooldown = value; }
101
103
110 inline int GetScaleInCooldown() const{ return m_scaleInCooldown; }
111 inline bool ScaleInCooldownHasBeenSet() const { return m_scaleInCooldownHasBeenSet; }
112 inline void SetScaleInCooldown(int value) { m_scaleInCooldownHasBeenSet = true; m_scaleInCooldown = value; }
115
117
124 inline bool GetDisableScaleIn() const{ return m_disableScaleIn; }
125 inline bool DisableScaleInHasBeenSet() const { return m_disableScaleInHasBeenSet; }
126 inline void SetDisableScaleIn(bool value) { m_disableScaleInHasBeenSet = true; m_disableScaleIn = value; }
129 private:
130
131 double m_targetValue;
132 bool m_targetValueHasBeenSet = false;
133
134 PredefinedMetricSpecification m_predefinedMetricSpecification;
135 bool m_predefinedMetricSpecificationHasBeenSet = false;
136
137 CustomizedMetricSpecification m_customizedMetricSpecification;
138 bool m_customizedMetricSpecificationHasBeenSet = false;
139
140 int m_scaleOutCooldown;
141 bool m_scaleOutCooldownHasBeenSet = false;
142
143 int m_scaleInCooldown;
144 bool m_scaleInCooldownHasBeenSet = false;
145
146 bool m_disableScaleIn;
147 bool m_disableScaleInHasBeenSet = false;
148 };
149
150} // namespace Model
151} // namespace ApplicationAutoScaling
152} // namespace Aws
AWS_APPLICATIONAUTOSCALING_API TargetTrackingScalingPolicyConfiguration & operator=(Aws::Utils::Json::JsonView jsonValue)
AWS_APPLICATIONAUTOSCALING_API TargetTrackingScalingPolicyConfiguration(Aws::Utils::Json::JsonView jsonValue)
AWS_APPLICATIONAUTOSCALING_API Aws::Utils::Json::JsonValue Jsonize() const
TargetTrackingScalingPolicyConfiguration & WithCustomizedMetricSpecification(const CustomizedMetricSpecification &value)
TargetTrackingScalingPolicyConfiguration & WithPredefinedMetricSpecification(const PredefinedMetricSpecification &value)
TargetTrackingScalingPolicyConfiguration & WithPredefinedMetricSpecification(PredefinedMetricSpecification &&value)
TargetTrackingScalingPolicyConfiguration & WithCustomizedMetricSpecification(CustomizedMetricSpecification &&value)
Aws::Utils::Json::JsonValue JsonValue