AWS SDK for C++

AWS SDK for C++ Version 1.11.717

Loading...
Searching...
No Matches
DimensionKeyDescription.h
1
6#pragma once
7#include <aws/core/utils/memory/stl/AWSMap.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/core/utils/memory/stl/AWSVector.h>
10#include <aws/pi/PI_EXPORTS.h>
11
12#include <utility>
13
14namespace Aws {
15namespace Utils {
16namespace Json {
17class JsonValue;
18class JsonView;
19} // namespace Json
20} // namespace Utils
21namespace PI {
22namespace Model {
23
31 public:
32 AWS_PI_API DimensionKeyDescription() = default;
36
38
41 inline const Aws::Map<Aws::String, Aws::String>& GetDimensions() const { return m_dimensions; }
42 inline bool DimensionsHasBeenSet() const { return m_dimensionsHasBeenSet; }
43 template <typename DimensionsT = Aws::Map<Aws::String, Aws::String>>
44 void SetDimensions(DimensionsT&& value) {
45 m_dimensionsHasBeenSet = true;
46 m_dimensions = std::forward<DimensionsT>(value);
47 }
48 template <typename DimensionsT = Aws::Map<Aws::String, Aws::String>>
50 SetDimensions(std::forward<DimensionsT>(value));
51 return *this;
52 }
53 template <typename DimensionsKeyT = Aws::String, typename DimensionsValueT = Aws::String>
54 DimensionKeyDescription& AddDimensions(DimensionsKeyT&& key, DimensionsValueT&& value) {
55 m_dimensionsHasBeenSet = true;
56 m_dimensions.emplace(std::forward<DimensionsKeyT>(key), std::forward<DimensionsValueT>(value));
57 return *this;
58 }
60
62
66 inline double GetTotal() const { return m_total; }
67 inline bool TotalHasBeenSet() const { return m_totalHasBeenSet; }
68 inline void SetTotal(double value) {
69 m_totalHasBeenSet = true;
70 m_total = value;
71 }
72 inline DimensionKeyDescription& WithTotal(double value) {
73 SetTotal(value);
74 return *this;
75 }
77
79
82 inline const Aws::Map<Aws::String, double>& GetAdditionalMetrics() const { return m_additionalMetrics; }
83 inline bool AdditionalMetricsHasBeenSet() const { return m_additionalMetricsHasBeenSet; }
84 template <typename AdditionalMetricsT = Aws::Map<Aws::String, double>>
85 void SetAdditionalMetrics(AdditionalMetricsT&& value) {
86 m_additionalMetricsHasBeenSet = true;
87 m_additionalMetrics = std::forward<AdditionalMetricsT>(value);
88 }
89 template <typename AdditionalMetricsT = Aws::Map<Aws::String, double>>
90 DimensionKeyDescription& WithAdditionalMetrics(AdditionalMetricsT&& value) {
91 SetAdditionalMetrics(std::forward<AdditionalMetricsT>(value));
92 return *this;
93 }
95 m_additionalMetricsHasBeenSet = true;
96 m_additionalMetrics.emplace(key, value);
97 return *this;
98 }
100
102
106 inline const Aws::Vector<double>& GetPartitions() const { return m_partitions; }
107 inline bool PartitionsHasBeenSet() const { return m_partitionsHasBeenSet; }
108 template <typename PartitionsT = Aws::Vector<double>>
109 void SetPartitions(PartitionsT&& value) {
110 m_partitionsHasBeenSet = true;
111 m_partitions = std::forward<PartitionsT>(value);
112 }
113 template <typename PartitionsT = Aws::Vector<double>>
115 SetPartitions(std::forward<PartitionsT>(value));
116 return *this;
117 }
119 m_partitionsHasBeenSet = true;
120 m_partitions.push_back(value);
121 return *this;
122 }
124 private:
126
127 double m_total{0.0};
128
129 Aws::Map<Aws::String, double> m_additionalMetrics;
130
131 Aws::Vector<double> m_partitions;
132 bool m_dimensionsHasBeenSet = false;
133 bool m_totalHasBeenSet = false;
134 bool m_additionalMetricsHasBeenSet = false;
135 bool m_partitionsHasBeenSet = false;
136};
137
138} // namespace Model
139} // namespace PI
140} // namespace Aws
AWS_PI_API DimensionKeyDescription()=default
DimensionKeyDescription & WithPartitions(PartitionsT &&value)
DimensionKeyDescription & AddPartitions(double value)
const Aws::Map< Aws::String, Aws::String > & GetDimensions() const
void SetAdditionalMetrics(AdditionalMetricsT &&value)
const Aws::Vector< double > & GetPartitions() const
DimensionKeyDescription & AddDimensions(DimensionsKeyT &&key, DimensionsValueT &&value)
const Aws::Map< Aws::String, double > & GetAdditionalMetrics() const
AWS_PI_API DimensionKeyDescription(Aws::Utils::Json::JsonView jsonValue)
DimensionKeyDescription & AddAdditionalMetrics(Aws::String key, double value)
AWS_PI_API Aws::Utils::Json::JsonValue Jsonize() const
DimensionKeyDescription & WithDimensions(DimensionsT &&value)
AWS_PI_API DimensionKeyDescription & operator=(Aws::Utils::Json::JsonView jsonValue)
DimensionKeyDescription & WithAdditionalMetrics(AdditionalMetricsT &&value)
DimensionKeyDescription & WithTotal(double value)
std::map< K, V, std::less< K >, Aws::Allocator< std::pair< const K, V > > > Map
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue