AWS SDK for C++

AWS SDK for C++ Version 1.11.830

Loading...
Searching...
No Matches
IdleUtilizationMetric.h
1
6#pragma once
7#include <aws/compute-optimizer/ComputeOptimizer_EXPORTS.h>
8#include <aws/compute-optimizer/model/IdleDimension.h>
9#include <aws/compute-optimizer/model/IdleMetricName.h>
10#include <aws/compute-optimizer/model/MetricStatistic.h>
11#include <aws/core/utils/memory/stl/AWSVector.h>
12#include <aws/crt/cbor/Cbor.h>
13
14#include <utility>
15
16namespace Aws {
17namespace Utils {
18namespace Cbor {
19class CborValue;
20} // namespace Cbor
21} // namespace Utils
22namespace ComputeOptimizer {
23namespace Model {
24
32 public:
33 AWS_COMPUTEOPTIMIZER_API IdleUtilizationMetric() = default;
34 AWS_COMPUTEOPTIMIZER_API IdleUtilizationMetric(const std::shared_ptr<Aws::Crt::Cbor::CborDecoder>& decoder);
35 AWS_COMPUTEOPTIMIZER_API IdleUtilizationMetric& operator=(const std::shared_ptr<Aws::Crt::Cbor::CborDecoder>& decoder);
36 AWS_COMPUTEOPTIMIZER_API void CborEncode(Aws::Crt::Cbor::CborEncoder& encoder) const;
37
39
42 inline IdleMetricName GetName() const { return m_name; }
43 inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
44 inline void SetName(IdleMetricName value) {
45 m_nameHasBeenSet = true;
46 m_name = value;
47 }
49 SetName(value);
50 return *this;
51 }
53
55
70 inline MetricStatistic GetStatistic() const { return m_statistic; }
71 inline bool StatisticHasBeenSet() const { return m_statisticHasBeenSet; }
72 inline void SetStatistic(MetricStatistic value) {
73 m_statisticHasBeenSet = true;
74 m_statistic = value;
75 }
77 SetStatistic(value);
78 return *this;
79 }
81
83
86 inline double GetValue() const { return m_value; }
87 inline bool ValueHasBeenSet() const { return m_valueHasBeenSet; }
88 inline void SetValue(double value) {
89 m_valueHasBeenSet = true;
90 m_value = value;
91 }
92 inline IdleUtilizationMetric& WithValue(double value) {
93 SetValue(value);
94 return *this;
95 }
97
99
102 inline const Aws::Vector<IdleDimension>& GetDimensions() const { return m_dimensions; }
103 inline bool DimensionsHasBeenSet() const { return m_dimensionsHasBeenSet; }
104 template <typename DimensionsT = Aws::Vector<IdleDimension>>
105 void SetDimensions(DimensionsT&& value) {
106 m_dimensionsHasBeenSet = true;
107 m_dimensions = std::forward<DimensionsT>(value);
108 }
109 template <typename DimensionsT = Aws::Vector<IdleDimension>>
110 IdleUtilizationMetric& WithDimensions(DimensionsT&& value) {
111 SetDimensions(std::forward<DimensionsT>(value));
112 return *this;
113 }
114 template <typename DimensionsT = IdleDimension>
115 IdleUtilizationMetric& AddDimensions(DimensionsT&& value) {
116 m_dimensionsHasBeenSet = true;
117 m_dimensions.emplace_back(std::forward<DimensionsT>(value));
118 return *this;
119 }
121 private:
123
125
126 double m_value{0.0};
127
128 Aws::Vector<IdleDimension> m_dimensions;
129 bool m_nameHasBeenSet = false;
130 bool m_statisticHasBeenSet = false;
131 bool m_valueHasBeenSet = false;
132 bool m_dimensionsHasBeenSet = false;
133};
134
135} // namespace Model
136} // namespace ComputeOptimizer
137} // namespace Aws
AWS_COMPUTEOPTIMIZER_API IdleUtilizationMetric & operator=(const std::shared_ptr< Aws::Crt::Cbor::CborDecoder > &decoder)
AWS_COMPUTEOPTIMIZER_API IdleUtilizationMetric(const std::shared_ptr< Aws::Crt::Cbor::CborDecoder > &decoder)
AWS_COMPUTEOPTIMIZER_API IdleUtilizationMetric()=default
IdleUtilizationMetric & AddDimensions(DimensionsT &&value)
IdleUtilizationMetric & WithStatistic(MetricStatistic value)
IdleUtilizationMetric & WithDimensions(DimensionsT &&value)
IdleUtilizationMetric & WithName(IdleMetricName value)
const Aws::Vector< IdleDimension > & GetDimensions() const
AWS_COMPUTEOPTIMIZER_API void CborEncode(Aws::Crt::Cbor::CborEncoder &encoder) const
std::vector< T, Aws::Allocator< T > > Vector