AWS SDK for C++

AWS SDK for C++ Version 1.11.788

Loading...
Searching...
No Matches
SummaryMetricQuery.h
1
6#pragma once
7#include <aws/core/utils/DateTime.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/core/utils/memory/stl/AWSVector.h>
10#include <aws/iotwireless/IoTWireless_EXPORTS.h>
11#include <aws/iotwireless/model/AggregationPeriod.h>
12#include <aws/iotwireless/model/Dimension.h>
13#include <aws/iotwireless/model/MetricName.h>
14
15#include <utility>
16
17namespace Aws {
18namespace Utils {
19namespace Json {
20class JsonValue;
21class JsonView;
22} // namespace Json
23} // namespace Utils
24namespace IoTWireless {
25namespace Model {
26
33 public:
34 AWS_IOTWIRELESS_API SummaryMetricQuery() = default;
35 AWS_IOTWIRELESS_API SummaryMetricQuery(Aws::Utils::Json::JsonView jsonValue);
37 AWS_IOTWIRELESS_API Aws::Utils::Json::JsonValue Jsonize() const;
38
40
43 inline const Aws::String& GetQueryId() const { return m_queryId; }
44 inline bool QueryIdHasBeenSet() const { return m_queryIdHasBeenSet; }
45 template <typename QueryIdT = Aws::String>
46 void SetQueryId(QueryIdT&& value) {
47 m_queryIdHasBeenSet = true;
48 m_queryId = std::forward<QueryIdT>(value);
49 }
50 template <typename QueryIdT = Aws::String>
51 SummaryMetricQuery& WithQueryId(QueryIdT&& value) {
52 SetQueryId(std::forward<QueryIdT>(value));
53 return *this;
54 }
56
58
61 inline MetricName GetMetricName() const { return m_metricName; }
62 inline bool MetricNameHasBeenSet() const { return m_metricNameHasBeenSet; }
63 inline void SetMetricName(MetricName value) {
64 m_metricNameHasBeenSet = true;
65 m_metricName = value;
66 }
68 SetMetricName(value);
69 return *this;
70 }
72
74
77 inline const Aws::Vector<Dimension>& GetDimensions() const { return m_dimensions; }
78 inline bool DimensionsHasBeenSet() const { return m_dimensionsHasBeenSet; }
79 template <typename DimensionsT = Aws::Vector<Dimension>>
80 void SetDimensions(DimensionsT&& value) {
81 m_dimensionsHasBeenSet = true;
82 m_dimensions = std::forward<DimensionsT>(value);
83 }
84 template <typename DimensionsT = Aws::Vector<Dimension>>
85 SummaryMetricQuery& WithDimensions(DimensionsT&& value) {
86 SetDimensions(std::forward<DimensionsT>(value));
87 return *this;
88 }
89 template <typename DimensionsT = Dimension>
90 SummaryMetricQuery& AddDimensions(DimensionsT&& value) {
91 m_dimensionsHasBeenSet = true;
92 m_dimensions.emplace_back(std::forward<DimensionsT>(value));
93 return *this;
94 }
96
98
101 inline AggregationPeriod GetAggregationPeriod() const { return m_aggregationPeriod; }
102 inline bool AggregationPeriodHasBeenSet() const { return m_aggregationPeriodHasBeenSet; }
104 m_aggregationPeriodHasBeenSet = true;
105 m_aggregationPeriod = value;
106 }
109 return *this;
110 }
112
114
117 inline const Aws::Utils::DateTime& GetStartTimestamp() const { return m_startTimestamp; }
118 inline bool StartTimestampHasBeenSet() const { return m_startTimestampHasBeenSet; }
119 template <typename StartTimestampT = Aws::Utils::DateTime>
120 void SetStartTimestamp(StartTimestampT&& value) {
121 m_startTimestampHasBeenSet = true;
122 m_startTimestamp = std::forward<StartTimestampT>(value);
123 }
124 template <typename StartTimestampT = Aws::Utils::DateTime>
125 SummaryMetricQuery& WithStartTimestamp(StartTimestampT&& value) {
126 SetStartTimestamp(std::forward<StartTimestampT>(value));
127 return *this;
128 }
130
132
135 inline const Aws::Utils::DateTime& GetEndTimestamp() const { return m_endTimestamp; }
136 inline bool EndTimestampHasBeenSet() const { return m_endTimestampHasBeenSet; }
137 template <typename EndTimestampT = Aws::Utils::DateTime>
138 void SetEndTimestamp(EndTimestampT&& value) {
139 m_endTimestampHasBeenSet = true;
140 m_endTimestamp = std::forward<EndTimestampT>(value);
141 }
142 template <typename EndTimestampT = Aws::Utils::DateTime>
143 SummaryMetricQuery& WithEndTimestamp(EndTimestampT&& value) {
144 SetEndTimestamp(std::forward<EndTimestampT>(value));
145 return *this;
146 }
148 private:
149 Aws::String m_queryId;
150
151 MetricName m_metricName{MetricName::NOT_SET};
152
153 Aws::Vector<Dimension> m_dimensions;
154
156
157 Aws::Utils::DateTime m_startTimestamp{};
158
159 Aws::Utils::DateTime m_endTimestamp{};
160 bool m_queryIdHasBeenSet = false;
161 bool m_metricNameHasBeenSet = false;
162 bool m_dimensionsHasBeenSet = false;
163 bool m_aggregationPeriodHasBeenSet = false;
164 bool m_startTimestampHasBeenSet = false;
165 bool m_endTimestampHasBeenSet = false;
166};
167
168} // namespace Model
169} // namespace IoTWireless
170} // namespace Aws
SummaryMetricQuery & WithMetricName(MetricName value)
const Aws::Vector< Dimension > & GetDimensions() const
void SetAggregationPeriod(AggregationPeriod value)
SummaryMetricQuery & WithQueryId(QueryIdT &&value)
const Aws::Utils::DateTime & GetStartTimestamp() const
AWS_IOTWIRELESS_API SummaryMetricQuery & operator=(Aws::Utils::Json::JsonView jsonValue)
SummaryMetricQuery & WithDimensions(DimensionsT &&value)
SummaryMetricQuery & WithStartTimestamp(StartTimestampT &&value)
AWS_IOTWIRELESS_API SummaryMetricQuery(Aws::Utils::Json::JsonView jsonValue)
AWS_IOTWIRELESS_API SummaryMetricQuery()=default
SummaryMetricQuery & WithAggregationPeriod(AggregationPeriod value)
SummaryMetricQuery & WithEndTimestamp(EndTimestampT &&value)
void SetStartTimestamp(StartTimestampT &&value)
SummaryMetricQuery & AddDimensions(DimensionsT &&value)
const Aws::Utils::DateTime & GetEndTimestamp() const
AWS_IOTWIRELESS_API Aws::Utils::Json::JsonValue Jsonize() const
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue