AWS SDK for C++

AWS SDK for C++ Version 1.11.751

Loading...
Searching...
No Matches
PredictiveScalingMetricSpecification.h
1
6#pragma once
7#include <aws/autoscaling/AutoScaling_EXPORTS.h>
8#include <aws/autoscaling/model/PredictiveScalingCustomizedCapacityMetric.h>
9#include <aws/autoscaling/model/PredictiveScalingCustomizedLoadMetric.h>
10#include <aws/autoscaling/model/PredictiveScalingCustomizedScalingMetric.h>
11#include <aws/autoscaling/model/PredictiveScalingPredefinedLoadMetric.h>
12#include <aws/autoscaling/model/PredictiveScalingPredefinedMetricPair.h>
13#include <aws/autoscaling/model/PredictiveScalingPredefinedScalingMetric.h>
14#include <aws/core/utils/memory/stl/AWSStreamFwd.h>
15
16#include <utility>
17
18namespace Aws {
19namespace Utils {
20namespace Xml {
21class XmlNode;
22} // namespace Xml
23} // namespace Utils
24namespace AutoScaling {
25namespace Model {
26
62 public:
63 AWS_AUTOSCALING_API PredictiveScalingMetricSpecification() = default;
66
67 AWS_AUTOSCALING_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
68 AWS_AUTOSCALING_API void OutputToStream(Aws::OStream& oStream, const char* location) const;
69
71
79 inline double GetTargetValue() const { return m_targetValue; }
80 inline bool TargetValueHasBeenSet() const { return m_targetValueHasBeenSet; }
81 inline void SetTargetValue(double value) {
82 m_targetValueHasBeenSet = true;
83 m_targetValue = value;
84 }
86 SetTargetValue(value);
87 return *this;
88 }
90
92
97 return m_predefinedMetricPairSpecification;
98 }
99 inline bool PredefinedMetricPairSpecificationHasBeenSet() const { return m_predefinedMetricPairSpecificationHasBeenSet; }
100 template <typename PredefinedMetricPairSpecificationT = PredictiveScalingPredefinedMetricPair>
101 void SetPredefinedMetricPairSpecification(PredefinedMetricPairSpecificationT&& value) {
102 m_predefinedMetricPairSpecificationHasBeenSet = true;
103 m_predefinedMetricPairSpecification = std::forward<PredefinedMetricPairSpecificationT>(value);
104 }
105 template <typename PredefinedMetricPairSpecificationT = PredictiveScalingPredefinedMetricPair>
107 SetPredefinedMetricPairSpecification(std::forward<PredefinedMetricPairSpecificationT>(value));
108 return *this;
109 }
111
113
117 return m_predefinedScalingMetricSpecification;
118 }
119 inline bool PredefinedScalingMetricSpecificationHasBeenSet() const { return m_predefinedScalingMetricSpecificationHasBeenSet; }
120 template <typename PredefinedScalingMetricSpecificationT = PredictiveScalingPredefinedScalingMetric>
121 void SetPredefinedScalingMetricSpecification(PredefinedScalingMetricSpecificationT&& value) {
122 m_predefinedScalingMetricSpecificationHasBeenSet = true;
123 m_predefinedScalingMetricSpecification = std::forward<PredefinedScalingMetricSpecificationT>(value);
124 }
125 template <typename PredefinedScalingMetricSpecificationT = PredictiveScalingPredefinedScalingMetric>
127 SetPredefinedScalingMetricSpecification(std::forward<PredefinedScalingMetricSpecificationT>(value));
128 return *this;
129 }
131
133
137 return m_predefinedLoadMetricSpecification;
138 }
139 inline bool PredefinedLoadMetricSpecificationHasBeenSet() const { return m_predefinedLoadMetricSpecificationHasBeenSet; }
140 template <typename PredefinedLoadMetricSpecificationT = PredictiveScalingPredefinedLoadMetric>
141 void SetPredefinedLoadMetricSpecification(PredefinedLoadMetricSpecificationT&& value) {
142 m_predefinedLoadMetricSpecificationHasBeenSet = true;
143 m_predefinedLoadMetricSpecification = std::forward<PredefinedLoadMetricSpecificationT>(value);
144 }
145 template <typename PredefinedLoadMetricSpecificationT = PredictiveScalingPredefinedLoadMetric>
147 SetPredefinedLoadMetricSpecification(std::forward<PredefinedLoadMetricSpecificationT>(value));
148 return *this;
149 }
151
153
157 return m_customizedScalingMetricSpecification;
158 }
159 inline bool CustomizedScalingMetricSpecificationHasBeenSet() const { return m_customizedScalingMetricSpecificationHasBeenSet; }
160 template <typename CustomizedScalingMetricSpecificationT = PredictiveScalingCustomizedScalingMetric>
161 void SetCustomizedScalingMetricSpecification(CustomizedScalingMetricSpecificationT&& value) {
162 m_customizedScalingMetricSpecificationHasBeenSet = true;
163 m_customizedScalingMetricSpecification = std::forward<CustomizedScalingMetricSpecificationT>(value);
164 }
165 template <typename CustomizedScalingMetricSpecificationT = PredictiveScalingCustomizedScalingMetric>
167 SetCustomizedScalingMetricSpecification(std::forward<CustomizedScalingMetricSpecificationT>(value));
168 return *this;
169 }
171
173
177 return m_customizedLoadMetricSpecification;
178 }
179 inline bool CustomizedLoadMetricSpecificationHasBeenSet() const { return m_customizedLoadMetricSpecificationHasBeenSet; }
180 template <typename CustomizedLoadMetricSpecificationT = PredictiveScalingCustomizedLoadMetric>
181 void SetCustomizedLoadMetricSpecification(CustomizedLoadMetricSpecificationT&& value) {
182 m_customizedLoadMetricSpecificationHasBeenSet = true;
183 m_customizedLoadMetricSpecification = std::forward<CustomizedLoadMetricSpecificationT>(value);
184 }
185 template <typename CustomizedLoadMetricSpecificationT = PredictiveScalingCustomizedLoadMetric>
187 SetCustomizedLoadMetricSpecification(std::forward<CustomizedLoadMetricSpecificationT>(value));
188 return *this;
189 }
191
193
197 return m_customizedCapacityMetricSpecification;
198 }
199 inline bool CustomizedCapacityMetricSpecificationHasBeenSet() const { return m_customizedCapacityMetricSpecificationHasBeenSet; }
200 template <typename CustomizedCapacityMetricSpecificationT = PredictiveScalingCustomizedCapacityMetric>
201 void SetCustomizedCapacityMetricSpecification(CustomizedCapacityMetricSpecificationT&& value) {
202 m_customizedCapacityMetricSpecificationHasBeenSet = true;
203 m_customizedCapacityMetricSpecification = std::forward<CustomizedCapacityMetricSpecificationT>(value);
204 }
205 template <typename CustomizedCapacityMetricSpecificationT = PredictiveScalingCustomizedCapacityMetric>
207 SetCustomizedCapacityMetricSpecification(std::forward<CustomizedCapacityMetricSpecificationT>(value));
208 return *this;
209 }
211 private:
212 double m_targetValue{0.0};
213
214 PredictiveScalingPredefinedMetricPair m_predefinedMetricPairSpecification;
215
216 PredictiveScalingPredefinedScalingMetric m_predefinedScalingMetricSpecification;
217
218 PredictiveScalingPredefinedLoadMetric m_predefinedLoadMetricSpecification;
219
220 PredictiveScalingCustomizedScalingMetric m_customizedScalingMetricSpecification;
221
222 PredictiveScalingCustomizedLoadMetric m_customizedLoadMetricSpecification;
223
224 PredictiveScalingCustomizedCapacityMetric m_customizedCapacityMetricSpecification;
225 bool m_targetValueHasBeenSet = false;
226 bool m_predefinedMetricPairSpecificationHasBeenSet = false;
227 bool m_predefinedScalingMetricSpecificationHasBeenSet = false;
228 bool m_predefinedLoadMetricSpecificationHasBeenSet = false;
229 bool m_customizedScalingMetricSpecificationHasBeenSet = false;
230 bool m_customizedLoadMetricSpecificationHasBeenSet = false;
231 bool m_customizedCapacityMetricSpecificationHasBeenSet = false;
232};
233
234} // namespace Model
235} // namespace AutoScaling
236} // namespace Aws
PredictiveScalingMetricSpecification & WithCustomizedLoadMetricSpecification(CustomizedLoadMetricSpecificationT &&value)
AWS_AUTOSCALING_API PredictiveScalingMetricSpecification(const Aws::Utils::Xml::XmlNode &xmlNode)
PredictiveScalingMetricSpecification & WithPredefinedMetricPairSpecification(PredefinedMetricPairSpecificationT &&value)
PredictiveScalingMetricSpecification & WithPredefinedLoadMetricSpecification(PredefinedLoadMetricSpecificationT &&value)
const PredictiveScalingCustomizedScalingMetric & GetCustomizedScalingMetricSpecification() const
void SetCustomizedCapacityMetricSpecification(CustomizedCapacityMetricSpecificationT &&value)
PredictiveScalingMetricSpecification & WithPredefinedScalingMetricSpecification(PredefinedScalingMetricSpecificationT &&value)
AWS_AUTOSCALING_API PredictiveScalingMetricSpecification()=default
void SetPredefinedLoadMetricSpecification(PredefinedLoadMetricSpecificationT &&value)
void SetPredefinedMetricPairSpecification(PredefinedMetricPairSpecificationT &&value)
AWS_AUTOSCALING_API void OutputToStream(Aws::OStream &oStream, const char *location) const
void SetPredefinedScalingMetricSpecification(PredefinedScalingMetricSpecificationT &&value)
const PredictiveScalingPredefinedLoadMetric & GetPredefinedLoadMetricSpecification() const
AWS_AUTOSCALING_API PredictiveScalingMetricSpecification & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
PredictiveScalingMetricSpecification & WithCustomizedCapacityMetricSpecification(CustomizedCapacityMetricSpecificationT &&value)
const PredictiveScalingCustomizedCapacityMetric & GetCustomizedCapacityMetricSpecification() const
const PredictiveScalingPredefinedMetricPair & GetPredefinedMetricPairSpecification() const
void SetCustomizedScalingMetricSpecification(CustomizedScalingMetricSpecificationT &&value)
void SetCustomizedLoadMetricSpecification(CustomizedLoadMetricSpecificationT &&value)
AWS_AUTOSCALING_API void OutputToStream(Aws::OStream &ostream, const char *location, unsigned index, const char *locationValue) const
PredictiveScalingMetricSpecification & WithCustomizedScalingMetricSpecification(CustomizedScalingMetricSpecificationT &&value)
const PredictiveScalingCustomizedLoadMetric & GetCustomizedLoadMetricSpecification() const
const PredictiveScalingPredefinedScalingMetric & GetPredefinedScalingMetricSpecification() const
std::basic_ostream< char, std::char_traits< char > > OStream