AWS SDK for C++

AWS SDK for C++ Version 1.11.719

Loading...
Searching...
No Matches
MetricStat.h
1
6#pragma once
7#include <aws/core/utils/memory/stl/AWSString.h>
8#include <aws/crt/cbor/Cbor.h>
9#include <aws/monitoring/CloudWatch_EXPORTS.h>
10#include <aws/monitoring/model/Metric.h>
11#include <aws/monitoring/model/StandardUnit.h>
12
13#include <utility>
14
15namespace Aws {
16namespace Utils {
17namespace Cbor {
18class CborValue;
19} // namespace Cbor
20} // namespace Utils
21namespace CloudWatch {
22namespace Model {
23
31 public:
32 AWS_CLOUDWATCH_API MetricStat() = default;
33 AWS_CLOUDWATCH_API MetricStat(const std::shared_ptr<Aws::Crt::Cbor::CborDecoder>& decoder);
34 AWS_CLOUDWATCH_API MetricStat& operator=(const std::shared_ptr<Aws::Crt::Cbor::CborDecoder>& decoder);
35 AWS_CLOUDWATCH_API void CborEncode(Aws::Crt::Cbor::CborEncoder& encoder) const;
36
38
42 inline const Metric& GetMetric() const { return m_metric; }
43 inline bool MetricHasBeenSet() const { return m_metricHasBeenSet; }
44 template <typename MetricT = Metric>
45 void SetMetric(MetricT&& value) {
46 m_metricHasBeenSet = true;
47 m_metric = std::forward<MetricT>(value);
48 }
49 template <typename MetricT = Metric>
50 MetricStat& WithMetric(MetricT&& value) {
51 SetMetric(std::forward<MetricT>(value));
52 return *this;
53 }
55
57
72 inline int64_t GetPeriod() const { return m_period; }
73 inline bool PeriodHasBeenSet() const { return m_periodHasBeenSet; }
74 inline void SetPeriod(int64_t value) {
75 m_periodHasBeenSet = true;
76 m_period = value;
77 }
78 inline MetricStat& WithPeriod(int64_t value) {
79 SetPeriod(value);
80 return *this;
81 }
83
85
89 inline const Aws::String& GetStat() const { return m_stat; }
90 inline bool StatHasBeenSet() const { return m_statHasBeenSet; }
91 template <typename StatT = Aws::String>
92 void SetStat(StatT&& value) {
93 m_statHasBeenSet = true;
94 m_stat = std::forward<StatT>(value);
95 }
96 template <typename StatT = Aws::String>
97 MetricStat& WithStat(StatT&& value) {
98 SetStat(std::forward<StatT>(value));
99 return *this;
100 }
102
104
114 inline StandardUnit GetUnit() const { return m_unit; }
115 inline bool UnitHasBeenSet() const { return m_unitHasBeenSet; }
116 inline void SetUnit(StandardUnit value) {
117 m_unitHasBeenSet = true;
118 m_unit = value;
119 }
121 SetUnit(value);
122 return *this;
123 }
125 private:
126 Metric m_metric;
127
128 int64_t m_period{0};
129
130 Aws::String m_stat;
131
133 bool m_metricHasBeenSet = false;
134 bool m_periodHasBeenSet = false;
135 bool m_statHasBeenSet = false;
136 bool m_unitHasBeenSet = false;
137};
138
139} // namespace Model
140} // namespace CloudWatch
141} // namespace Aws
MetricStat & WithStat(StatT &&value)
Definition MetricStat.h:97
AWS_CLOUDWATCH_API void CborEncode(Aws::Crt::Cbor::CborEncoder &encoder) const
MetricStat & WithPeriod(int64_t value)
Definition MetricStat.h:78
AWS_CLOUDWATCH_API MetricStat()=default
MetricStat & WithMetric(MetricT &&value)
Definition MetricStat.h:50
MetricStat & WithUnit(StandardUnit value)
Definition MetricStat.h:120
void SetPeriod(int64_t value)
Definition MetricStat.h:74
AWS_CLOUDWATCH_API MetricStat & operator=(const std::shared_ptr< Aws::Crt::Cbor::CborDecoder > &decoder)
void SetUnit(StandardUnit value)
Definition MetricStat.h:116
void SetMetric(MetricT &&value)
Definition MetricStat.h:45
const Aws::String & GetStat() const
Definition MetricStat.h:89
AWS_CLOUDWATCH_API MetricStat(const std::shared_ptr< Aws::Crt::Cbor::CborDecoder > &decoder)
const Metric & GetMetric() const
Definition MetricStat.h:42
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String