AWS SDK for C++

AWS SDK for C++ Version 1.11.754

Loading...
Searching...
No Matches
PredictiveScalingConfiguration.h
1
6#pragma once
7#include <aws/autoscaling/AutoScaling_EXPORTS.h>
8#include <aws/autoscaling/model/PredictiveScalingMaxCapacityBreachBehavior.h>
9#include <aws/autoscaling/model/PredictiveScalingMetricSpecification.h>
10#include <aws/autoscaling/model/PredictiveScalingMode.h>
11#include <aws/core/utils/memory/stl/AWSStreamFwd.h>
12#include <aws/core/utils/memory/stl/AWSVector.h>
13
14#include <utility>
15
16namespace Aws {
17namespace Utils {
18namespace Xml {
19class XmlNode;
20} // namespace Xml
21} // namespace Utils
22namespace AutoScaling {
23namespace Model {
24
32 public:
33 AWS_AUTOSCALING_API PredictiveScalingConfiguration() = default;
34 AWS_AUTOSCALING_API PredictiveScalingConfiguration(const Aws::Utils::Xml::XmlNode& xmlNode);
36
37 AWS_AUTOSCALING_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
38 AWS_AUTOSCALING_API void OutputToStream(Aws::OStream& oStream, const char* location) const;
39
41
48 inline const Aws::Vector<PredictiveScalingMetricSpecification>& GetMetricSpecifications() const { return m_metricSpecifications; }
49 inline bool MetricSpecificationsHasBeenSet() const { return m_metricSpecificationsHasBeenSet; }
50 template <typename MetricSpecificationsT = Aws::Vector<PredictiveScalingMetricSpecification>>
51 void SetMetricSpecifications(MetricSpecificationsT&& value) {
52 m_metricSpecificationsHasBeenSet = true;
53 m_metricSpecifications = std::forward<MetricSpecificationsT>(value);
54 }
55 template <typename MetricSpecificationsT = Aws::Vector<PredictiveScalingMetricSpecification>>
57 SetMetricSpecifications(std::forward<MetricSpecificationsT>(value));
58 return *this;
59 }
60 template <typename MetricSpecificationsT = PredictiveScalingMetricSpecification>
62 m_metricSpecificationsHasBeenSet = true;
63 m_metricSpecifications.emplace_back(std::forward<MetricSpecificationsT>(value));
64 return *this;
65 }
67
69
73 inline PredictiveScalingMode GetMode() const { return m_mode; }
74 inline bool ModeHasBeenSet() const { return m_modeHasBeenSet; }
75 inline void SetMode(PredictiveScalingMode value) {
76 m_modeHasBeenSet = true;
77 m_mode = value;
78 }
80 SetMode(value);
81 return *this;
82 }
84
86
97 inline int GetSchedulingBufferTime() const { return m_schedulingBufferTime; }
98 inline bool SchedulingBufferTimeHasBeenSet() const { return m_schedulingBufferTimeHasBeenSet; }
99 inline void SetSchedulingBufferTime(int value) {
100 m_schedulingBufferTimeHasBeenSet = true;
101 m_schedulingBufferTime = value;
102 }
105 return *this;
106 }
108
110
128 inline PredictiveScalingMaxCapacityBreachBehavior GetMaxCapacityBreachBehavior() const { return m_maxCapacityBreachBehavior; }
129 inline bool MaxCapacityBreachBehaviorHasBeenSet() const { return m_maxCapacityBreachBehaviorHasBeenSet; }
131 m_maxCapacityBreachBehaviorHasBeenSet = true;
132 m_maxCapacityBreachBehavior = value;
133 }
136 return *this;
137 }
139
141
152 inline int GetMaxCapacityBuffer() const { return m_maxCapacityBuffer; }
153 inline bool MaxCapacityBufferHasBeenSet() const { return m_maxCapacityBufferHasBeenSet; }
154 inline void SetMaxCapacityBuffer(int value) {
155 m_maxCapacityBufferHasBeenSet = true;
156 m_maxCapacityBuffer = value;
157 }
160 return *this;
161 }
163 private:
165
167
168 int m_schedulingBufferTime{0};
169
171
172 int m_maxCapacityBuffer{0};
173 bool m_metricSpecificationsHasBeenSet = false;
174 bool m_modeHasBeenSet = false;
175 bool m_schedulingBufferTimeHasBeenSet = false;
176 bool m_maxCapacityBreachBehaviorHasBeenSet = false;
177 bool m_maxCapacityBufferHasBeenSet = false;
178};
179
180} // namespace Model
181} // namespace AutoScaling
182} // namespace Aws
AWS_AUTOSCALING_API PredictiveScalingConfiguration()=default
AWS_AUTOSCALING_API void OutputToStream(Aws::OStream &oStream, const char *location) const
PredictiveScalingConfiguration & AddMetricSpecifications(MetricSpecificationsT &&value)
AWS_AUTOSCALING_API PredictiveScalingConfiguration(const Aws::Utils::Xml::XmlNode &xmlNode)
PredictiveScalingConfiguration & WithSchedulingBufferTime(int value)
PredictiveScalingConfiguration & WithMetricSpecifications(MetricSpecificationsT &&value)
PredictiveScalingConfiguration & WithMaxCapacityBuffer(int value)
AWS_AUTOSCALING_API PredictiveScalingConfiguration & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
PredictiveScalingMaxCapacityBreachBehavior GetMaxCapacityBreachBehavior() const
PredictiveScalingConfiguration & WithMode(PredictiveScalingMode value)
AWS_AUTOSCALING_API void OutputToStream(Aws::OStream &ostream, const char *location, unsigned index, const char *locationValue) const
PredictiveScalingConfiguration & WithMaxCapacityBreachBehavior(PredictiveScalingMaxCapacityBreachBehavior value)
void SetMaxCapacityBreachBehavior(PredictiveScalingMaxCapacityBreachBehavior value)
const Aws::Vector< PredictiveScalingMetricSpecification > & GetMetricSpecifications() const
std::vector< T, Aws::Allocator< T > > Vector
std::basic_ostream< char, std::char_traits< char > > OStream