AWS SDK for C++

AWS SDK for C++ Version 1.11.606

Loading...
Searching...
No Matches
PredictiveScalingPolicyConfiguration.h
1
6#pragma once
7#include <aws/application-autoscaling/ApplicationAutoScaling_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSVector.h>
9#include <aws/application-autoscaling/model/PredictiveScalingMode.h>
10#include <aws/application-autoscaling/model/PredictiveScalingMaxCapacityBreachBehavior.h>
11#include <aws/application-autoscaling/model/PredictiveScalingMetricSpecification.h>
12#include <utility>
13
14namespace Aws
15{
16namespace Utils
17{
18namespace Json
19{
20 class JsonValue;
21 class JsonView;
22} // namespace Json
23} // namespace Utils
24namespace ApplicationAutoScaling
25{
26namespace Model
27{
28
36 {
37 public:
38 AWS_APPLICATIONAUTOSCALING_API PredictiveScalingPolicyConfiguration() = default;
39 AWS_APPLICATIONAUTOSCALING_API PredictiveScalingPolicyConfiguration(Aws::Utils::Json::JsonView jsonValue);
41 AWS_APPLICATIONAUTOSCALING_API Aws::Utils::Json::JsonValue Jsonize() const;
42
43
45
52 inline const Aws::Vector<PredictiveScalingMetricSpecification>& GetMetricSpecifications() const { return m_metricSpecifications; }
53 inline bool MetricSpecificationsHasBeenSet() const { return m_metricSpecificationsHasBeenSet; }
54 template<typename MetricSpecificationsT = Aws::Vector<PredictiveScalingMetricSpecification>>
55 void SetMetricSpecifications(MetricSpecificationsT&& value) { m_metricSpecificationsHasBeenSet = true; m_metricSpecifications = std::forward<MetricSpecificationsT>(value); }
56 template<typename MetricSpecificationsT = Aws::Vector<PredictiveScalingMetricSpecification>>
57 PredictiveScalingPolicyConfiguration& WithMetricSpecifications(MetricSpecificationsT&& value) { SetMetricSpecifications(std::forward<MetricSpecificationsT>(value)); return *this;}
58 template<typename MetricSpecificationsT = PredictiveScalingMetricSpecification>
59 PredictiveScalingPolicyConfiguration& AddMetricSpecifications(MetricSpecificationsT&& value) { m_metricSpecificationsHasBeenSet = true; m_metricSpecifications.emplace_back(std::forward<MetricSpecificationsT>(value)); return *this; }
61
63
67 inline PredictiveScalingMode GetMode() const { return m_mode; }
68 inline bool ModeHasBeenSet() const { return m_modeHasBeenSet; }
69 inline void SetMode(PredictiveScalingMode value) { m_modeHasBeenSet = true; m_mode = value; }
72
74
79 inline int GetSchedulingBufferTime() const { return m_schedulingBufferTime; }
80 inline bool SchedulingBufferTimeHasBeenSet() const { return m_schedulingBufferTimeHasBeenSet; }
81 inline void SetSchedulingBufferTime(int value) { m_schedulingBufferTimeHasBeenSet = true; m_schedulingBufferTime = value; }
84
86
91 inline PredictiveScalingMaxCapacityBreachBehavior GetMaxCapacityBreachBehavior() const { return m_maxCapacityBreachBehavior; }
92 inline bool MaxCapacityBreachBehaviorHasBeenSet() const { return m_maxCapacityBreachBehaviorHasBeenSet; }
93 inline void SetMaxCapacityBreachBehavior(PredictiveScalingMaxCapacityBreachBehavior value) { m_maxCapacityBreachBehaviorHasBeenSet = true; m_maxCapacityBreachBehavior = value; }
96
98
107 inline int GetMaxCapacityBuffer() const { return m_maxCapacityBuffer; }
108 inline bool MaxCapacityBufferHasBeenSet() const { return m_maxCapacityBufferHasBeenSet; }
109 inline void SetMaxCapacityBuffer(int value) { m_maxCapacityBufferHasBeenSet = true; m_maxCapacityBuffer = value; }
112 private:
113
115 bool m_metricSpecificationsHasBeenSet = false;
116
118 bool m_modeHasBeenSet = false;
119
120 int m_schedulingBufferTime{0};
121 bool m_schedulingBufferTimeHasBeenSet = false;
122
124 bool m_maxCapacityBreachBehaviorHasBeenSet = false;
125
126 int m_maxCapacityBuffer{0};
127 bool m_maxCapacityBufferHasBeenSet = false;
128 };
129
130} // namespace Model
131} // namespace ApplicationAutoScaling
132} // 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