AWS SDK for C++

AWS SDK for C++ Version 1.11.759

Loading...
Searching...
No Matches
PredictiveScalingPolicyConfiguration.h
1
6#pragma once
7#include <aws/application-autoscaling/ApplicationAutoScaling_EXPORTS.h>
8#include <aws/application-autoscaling/model/PredictiveScalingMaxCapacityBreachBehavior.h>
9#include <aws/application-autoscaling/model/PredictiveScalingMetricSpecification.h>
10#include <aws/application-autoscaling/model/PredictiveScalingMode.h>
11#include <aws/core/utils/memory/stl/AWSVector.h>
12
13#include <utility>
14
15namespace Aws {
16namespace Utils {
17namespace Json {
18class JsonValue;
19class JsonView;
20} // namespace Json
21} // namespace Utils
22namespace ApplicationAutoScaling {
23namespace Model {
24
32 public:
33 AWS_APPLICATIONAUTOSCALING_API PredictiveScalingPolicyConfiguration() = default;
34 AWS_APPLICATIONAUTOSCALING_API PredictiveScalingPolicyConfiguration(Aws::Utils::Json::JsonView jsonValue);
36 AWS_APPLICATIONAUTOSCALING_API Aws::Utils::Json::JsonValue Jsonize() const;
37
39
46 inline const Aws::Vector<PredictiveScalingMetricSpecification>& GetMetricSpecifications() const { return m_metricSpecifications; }
47 inline bool MetricSpecificationsHasBeenSet() const { return m_metricSpecificationsHasBeenSet; }
48 template <typename MetricSpecificationsT = Aws::Vector<PredictiveScalingMetricSpecification>>
49 void SetMetricSpecifications(MetricSpecificationsT&& value) {
50 m_metricSpecificationsHasBeenSet = true;
51 m_metricSpecifications = std::forward<MetricSpecificationsT>(value);
52 }
53 template <typename MetricSpecificationsT = Aws::Vector<PredictiveScalingMetricSpecification>>
55 SetMetricSpecifications(std::forward<MetricSpecificationsT>(value));
56 return *this;
57 }
58 template <typename MetricSpecificationsT = PredictiveScalingMetricSpecification>
60 m_metricSpecificationsHasBeenSet = true;
61 m_metricSpecifications.emplace_back(std::forward<MetricSpecificationsT>(value));
62 return *this;
63 }
65
67
71 inline PredictiveScalingMode GetMode() const { return m_mode; }
72 inline bool ModeHasBeenSet() const { return m_modeHasBeenSet; }
73 inline void SetMode(PredictiveScalingMode value) {
74 m_modeHasBeenSet = true;
75 m_mode = value;
76 }
78 SetMode(value);
79 return *this;
80 }
82
84
89 inline int GetSchedulingBufferTime() const { return m_schedulingBufferTime; }
90 inline bool SchedulingBufferTimeHasBeenSet() const { return m_schedulingBufferTimeHasBeenSet; }
91 inline void SetSchedulingBufferTime(int value) {
92 m_schedulingBufferTimeHasBeenSet = true;
93 m_schedulingBufferTime = value;
94 }
97 return *this;
98 }
100
102
107 inline PredictiveScalingMaxCapacityBreachBehavior GetMaxCapacityBreachBehavior() const { return m_maxCapacityBreachBehavior; }
108 inline bool MaxCapacityBreachBehaviorHasBeenSet() const { return m_maxCapacityBreachBehaviorHasBeenSet; }
110 m_maxCapacityBreachBehaviorHasBeenSet = true;
111 m_maxCapacityBreachBehavior = value;
112 }
115 return *this;
116 }
118
120
129 inline int GetMaxCapacityBuffer() const { return m_maxCapacityBuffer; }
130 inline bool MaxCapacityBufferHasBeenSet() const { return m_maxCapacityBufferHasBeenSet; }
131 inline void SetMaxCapacityBuffer(int value) {
132 m_maxCapacityBufferHasBeenSet = true;
133 m_maxCapacityBuffer = value;
134 }
137 return *this;
138 }
140 private:
142
144
145 int m_schedulingBufferTime{0};
146
148
149 int m_maxCapacityBuffer{0};
150 bool m_metricSpecificationsHasBeenSet = false;
151 bool m_modeHasBeenSet = false;
152 bool m_schedulingBufferTimeHasBeenSet = false;
153 bool m_maxCapacityBreachBehaviorHasBeenSet = false;
154 bool m_maxCapacityBufferHasBeenSet = false;
155};
156
157} // namespace Model
158} // namespace ApplicationAutoScaling
159} // namespace Aws
const Aws::Vector< PredictiveScalingMetricSpecification > & GetMetricSpecifications() const
PredictiveScalingPolicyConfiguration & WithMode(PredictiveScalingMode value)
PredictiveScalingPolicyConfiguration & WithMetricSpecifications(MetricSpecificationsT &&value)
PredictiveScalingPolicyConfiguration & WithMaxCapacityBreachBehavior(PredictiveScalingMaxCapacityBreachBehavior value)
AWS_APPLICATIONAUTOSCALING_API PredictiveScalingPolicyConfiguration()=default
PredictiveScalingPolicyConfiguration & AddMetricSpecifications(MetricSpecificationsT &&value)
AWS_APPLICATIONAUTOSCALING_API PredictiveScalingPolicyConfiguration(Aws::Utils::Json::JsonView jsonValue)
AWS_APPLICATIONAUTOSCALING_API PredictiveScalingPolicyConfiguration & operator=(Aws::Utils::Json::JsonView jsonValue)
AWS_APPLICATIONAUTOSCALING_API Aws::Utils::Json::JsonValue Jsonize() const
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue