AWS SDK for C++

AWS SDK for C++ Version 1.11.612

Loading...
Searching...
No Matches
PredictiveScalingConfiguration.h
1
6#pragma once
7#include <aws/autoscaling/AutoScaling_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSStreamFwd.h>
9#include <aws/core/utils/memory/stl/AWSVector.h>
10#include <aws/autoscaling/model/PredictiveScalingMode.h>
11#include <aws/autoscaling/model/PredictiveScalingMaxCapacityBreachBehavior.h>
12#include <aws/autoscaling/model/PredictiveScalingMetricSpecification.h>
13#include <utility>
14
15namespace Aws
16{
17namespace Utils
18{
19namespace Xml
20{
21 class XmlNode;
22} // namespace Xml
23} // namespace Utils
24namespace AutoScaling
25{
26namespace Model
27{
28
36 {
37 public:
38 AWS_AUTOSCALING_API PredictiveScalingConfiguration() = default;
39 AWS_AUTOSCALING_API PredictiveScalingConfiguration(const Aws::Utils::Xml::XmlNode& xmlNode);
41
42 AWS_AUTOSCALING_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
43 AWS_AUTOSCALING_API void OutputToStream(Aws::OStream& oStream, const char* location) const;
44
45
47
54 inline const Aws::Vector<PredictiveScalingMetricSpecification>& GetMetricSpecifications() const { return m_metricSpecifications; }
55 inline bool MetricSpecificationsHasBeenSet() const { return m_metricSpecificationsHasBeenSet; }
56 template<typename MetricSpecificationsT = Aws::Vector<PredictiveScalingMetricSpecification>>
57 void SetMetricSpecifications(MetricSpecificationsT&& value) { m_metricSpecificationsHasBeenSet = true; m_metricSpecifications = std::forward<MetricSpecificationsT>(value); }
58 template<typename MetricSpecificationsT = Aws::Vector<PredictiveScalingMetricSpecification>>
59 PredictiveScalingConfiguration& WithMetricSpecifications(MetricSpecificationsT&& value) { SetMetricSpecifications(std::forward<MetricSpecificationsT>(value)); return *this;}
60 template<typename MetricSpecificationsT = PredictiveScalingMetricSpecification>
61 PredictiveScalingConfiguration& AddMetricSpecifications(MetricSpecificationsT&& value) { m_metricSpecificationsHasBeenSet = true; m_metricSpecifications.emplace_back(std::forward<MetricSpecificationsT>(value)); return *this; }
63
65
69 inline PredictiveScalingMode GetMode() const { return m_mode; }
70 inline bool ModeHasBeenSet() const { return m_modeHasBeenSet; }
71 inline void SetMode(PredictiveScalingMode value) { m_modeHasBeenSet = true; m_mode = value; }
74
76
87 inline int GetSchedulingBufferTime() const { return m_schedulingBufferTime; }
88 inline bool SchedulingBufferTimeHasBeenSet() const { return m_schedulingBufferTimeHasBeenSet; }
89 inline void SetSchedulingBufferTime(int value) { m_schedulingBufferTimeHasBeenSet = true; m_schedulingBufferTime = value; }
92
94
112 inline PredictiveScalingMaxCapacityBreachBehavior GetMaxCapacityBreachBehavior() const { return m_maxCapacityBreachBehavior; }
113 inline bool MaxCapacityBreachBehaviorHasBeenSet() const { return m_maxCapacityBreachBehaviorHasBeenSet; }
114 inline void SetMaxCapacityBreachBehavior(PredictiveScalingMaxCapacityBreachBehavior value) { m_maxCapacityBreachBehaviorHasBeenSet = true; m_maxCapacityBreachBehavior = value; }
117
119
130 inline int GetMaxCapacityBuffer() const { return m_maxCapacityBuffer; }
131 inline bool MaxCapacityBufferHasBeenSet() const { return m_maxCapacityBufferHasBeenSet; }
132 inline void SetMaxCapacityBuffer(int value) { m_maxCapacityBufferHasBeenSet = true; m_maxCapacityBuffer = value; }
135 private:
136
138 bool m_metricSpecificationsHasBeenSet = false;
139
141 bool m_modeHasBeenSet = false;
142
143 int m_schedulingBufferTime{0};
144 bool m_schedulingBufferTimeHasBeenSet = false;
145
147 bool m_maxCapacityBreachBehaviorHasBeenSet = false;
148
149 int m_maxCapacityBuffer{0};
150 bool m_maxCapacityBufferHasBeenSet = false;
151 };
152
153} // namespace Model
154} // namespace AutoScaling
155} // 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