AWS SDK for C++

AWS SDK for C++ Version 1.11.748

Loading...
Searching...
No Matches
LoadForecast.h
1
6#pragma once
7#include <aws/autoscaling/AutoScaling_EXPORTS.h>
8#include <aws/autoscaling/model/PredictiveScalingMetricSpecification.h>
9#include <aws/core/utils/DateTime.h>
10#include <aws/core/utils/memory/stl/AWSStreamFwd.h>
11#include <aws/core/utils/memory/stl/AWSVector.h>
12
13#include <utility>
14
15namespace Aws {
16namespace Utils {
17namespace Xml {
18class XmlNode;
19} // namespace Xml
20} // namespace Utils
21namespace AutoScaling {
22namespace Model {
23
33 public:
34 AWS_AUTOSCALING_API LoadForecast() = default;
35 AWS_AUTOSCALING_API LoadForecast(const Aws::Utils::Xml::XmlNode& xmlNode);
36 AWS_AUTOSCALING_API LoadForecast& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
37
38 AWS_AUTOSCALING_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
39 AWS_AUTOSCALING_API void OutputToStream(Aws::OStream& oStream, const char* location) const;
40
42
45 inline const Aws::Vector<Aws::Utils::DateTime>& GetTimestamps() const { return m_timestamps; }
46 inline bool TimestampsHasBeenSet() const { return m_timestampsHasBeenSet; }
47 template <typename TimestampsT = Aws::Vector<Aws::Utils::DateTime>>
48 void SetTimestamps(TimestampsT&& value) {
49 m_timestampsHasBeenSet = true;
50 m_timestamps = std::forward<TimestampsT>(value);
51 }
52 template <typename TimestampsT = Aws::Vector<Aws::Utils::DateTime>>
53 LoadForecast& WithTimestamps(TimestampsT&& value) {
54 SetTimestamps(std::forward<TimestampsT>(value));
55 return *this;
56 }
57 template <typename TimestampsT = Aws::Utils::DateTime>
58 LoadForecast& AddTimestamps(TimestampsT&& value) {
59 m_timestampsHasBeenSet = true;
60 m_timestamps.emplace_back(std::forward<TimestampsT>(value));
61 return *this;
62 }
64
66
69 inline const Aws::Vector<double>& GetValues() const { return m_values; }
70 inline bool ValuesHasBeenSet() const { return m_valuesHasBeenSet; }
71 template <typename ValuesT = Aws::Vector<double>>
72 void SetValues(ValuesT&& value) {
73 m_valuesHasBeenSet = true;
74 m_values = std::forward<ValuesT>(value);
75 }
76 template <typename ValuesT = Aws::Vector<double>>
77 LoadForecast& WithValues(ValuesT&& value) {
78 SetValues(std::forward<ValuesT>(value));
79 return *this;
80 }
81 inline LoadForecast& AddValues(double value) {
82 m_valuesHasBeenSet = true;
83 m_values.push_back(value);
84 return *this;
85 }
87
89
92 inline const PredictiveScalingMetricSpecification& GetMetricSpecification() const { return m_metricSpecification; }
93 inline bool MetricSpecificationHasBeenSet() const { return m_metricSpecificationHasBeenSet; }
94 template <typename MetricSpecificationT = PredictiveScalingMetricSpecification>
95 void SetMetricSpecification(MetricSpecificationT&& value) {
96 m_metricSpecificationHasBeenSet = true;
97 m_metricSpecification = std::forward<MetricSpecificationT>(value);
98 }
99 template <typename MetricSpecificationT = PredictiveScalingMetricSpecification>
100 LoadForecast& WithMetricSpecification(MetricSpecificationT&& value) {
101 SetMetricSpecification(std::forward<MetricSpecificationT>(value));
102 return *this;
103 }
105 private:
107
108 Aws::Vector<double> m_values;
109
110 PredictiveScalingMetricSpecification m_metricSpecification;
111 bool m_timestampsHasBeenSet = false;
112 bool m_valuesHasBeenSet = false;
113 bool m_metricSpecificationHasBeenSet = false;
114};
115
116} // namespace Model
117} // namespace AutoScaling
118} // namespace Aws
const Aws::Vector< Aws::Utils::DateTime > & GetTimestamps() const
LoadForecast & WithMetricSpecification(MetricSpecificationT &&value)
LoadForecast & WithValues(ValuesT &&value)
AWS_AUTOSCALING_API LoadForecast()=default
AWS_AUTOSCALING_API void OutputToStream(Aws::OStream &ostream, const char *location, unsigned index, const char *locationValue) const
void SetTimestamps(TimestampsT &&value)
const PredictiveScalingMetricSpecification & GetMetricSpecification() const
AWS_AUTOSCALING_API LoadForecast(const Aws::Utils::Xml::XmlNode &xmlNode)
LoadForecast & AddValues(double value)
const Aws::Vector< double > & GetValues() const
LoadForecast & AddTimestamps(TimestampsT &&value)
void SetMetricSpecification(MetricSpecificationT &&value)
AWS_AUTOSCALING_API void OutputToStream(Aws::OStream &oStream, const char *location) const
AWS_AUTOSCALING_API LoadForecast & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
LoadForecast & WithTimestamps(TimestampsT &&value)
std::vector< T, Aws::Allocator< T > > Vector
std::basic_ostream< char, std::char_traits< char > > OStream