AWS SDK for C++

AWS SDK for C++ Version 1.11.683

Loading...
Searching...
No Matches
GetDistributionMetricDataRequest.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/lightsail/LightsailRequest.h>
11#include <aws/lightsail/Lightsail_EXPORTS.h>
12#include <aws/lightsail/model/DistributionMetricName.h>
13#include <aws/lightsail/model/MetricStatistic.h>
14#include <aws/lightsail/model/MetricUnit.h>
15
16#include <utility>
17
18namespace Aws {
19namespace Lightsail {
20namespace Model {
21
25 public:
26 AWS_LIGHTSAIL_API GetDistributionMetricDataRequest() = default;
27
28 // Service request name is the Operation name which will send this request out,
29 // each operation should has unique request name, so that we can get operation's name from this request.
30 // Note: this is not true for response, multiple operations may have the same response name,
31 // so we can not get operation's name from response.
32 inline virtual const char* GetServiceRequestName() const override { return "GetDistributionMetricData"; }
33
34 AWS_LIGHTSAIL_API Aws::String SerializePayload() const override;
35
37
39
44 inline const Aws::String& GetDistributionName() const { return m_distributionName; }
45 inline bool DistributionNameHasBeenSet() const { return m_distributionNameHasBeenSet; }
46 template <typename DistributionNameT = Aws::String>
47 void SetDistributionName(DistributionNameT&& value) {
48 m_distributionNameHasBeenSet = true;
49 m_distributionName = std::forward<DistributionNameT>(value);
50 }
51 template <typename DistributionNameT = Aws::String>
53 SetDistributionName(std::forward<DistributionNameT>(value));
54 return *this;
55 }
57
59
94 inline DistributionMetricName GetMetricName() const { return m_metricName; }
95 inline bool MetricNameHasBeenSet() const { return m_metricNameHasBeenSet; }
97 m_metricNameHasBeenSet = true;
98 m_metricName = value;
99 }
101 SetMetricName(value);
102 return *this;
103 }
105
107
116 inline const Aws::Utils::DateTime& GetStartTime() const { return m_startTime; }
117 inline bool StartTimeHasBeenSet() const { return m_startTimeHasBeenSet; }
118 template <typename StartTimeT = Aws::Utils::DateTime>
119 void SetStartTime(StartTimeT&& value) {
120 m_startTimeHasBeenSet = true;
121 m_startTime = std::forward<StartTimeT>(value);
122 }
123 template <typename StartTimeT = Aws::Utils::DateTime>
125 SetStartTime(std::forward<StartTimeT>(value));
126 return *this;
127 }
129
131
140 inline const Aws::Utils::DateTime& GetEndTime() const { return m_endTime; }
141 inline bool EndTimeHasBeenSet() const { return m_endTimeHasBeenSet; }
142 template <typename EndTimeT = Aws::Utils::DateTime>
143 void SetEndTime(EndTimeT&& value) {
144 m_endTimeHasBeenSet = true;
145 m_endTime = std::forward<EndTimeT>(value);
146 }
147 template <typename EndTimeT = Aws::Utils::DateTime>
149 SetEndTime(std::forward<EndTimeT>(value));
150 return *this;
151 }
153
155
159 inline int GetPeriod() const { return m_period; }
160 inline bool PeriodHasBeenSet() const { return m_periodHasBeenSet; }
161 inline void SetPeriod(int value) {
162 m_periodHasBeenSet = true;
163 m_period = value;
164 }
166 SetPeriod(value);
167 return *this;
168 }
170
172
177 inline MetricUnit GetUnit() const { return m_unit; }
178 inline bool UnitHasBeenSet() const { return m_unitHasBeenSet; }
179 inline void SetUnit(MetricUnit value) {
180 m_unitHasBeenSet = true;
181 m_unit = value;
182 }
184 SetUnit(value);
185 return *this;
186 }
188
190
207 inline const Aws::Vector<MetricStatistic>& GetStatistics() const { return m_statistics; }
208 inline bool StatisticsHasBeenSet() const { return m_statisticsHasBeenSet; }
209 template <typename StatisticsT = Aws::Vector<MetricStatistic>>
210 void SetStatistics(StatisticsT&& value) {
211 m_statisticsHasBeenSet = true;
212 m_statistics = std::forward<StatisticsT>(value);
213 }
214 template <typename StatisticsT = Aws::Vector<MetricStatistic>>
216 SetStatistics(std::forward<StatisticsT>(value));
217 return *this;
218 }
220 m_statisticsHasBeenSet = true;
221 m_statistics.push_back(value);
222 return *this;
223 }
225 private:
226 Aws::String m_distributionName;
227 bool m_distributionNameHasBeenSet = false;
228
230 bool m_metricNameHasBeenSet = false;
231
232 Aws::Utils::DateTime m_startTime{};
233 bool m_startTimeHasBeenSet = false;
234
235 Aws::Utils::DateTime m_endTime{};
236 bool m_endTimeHasBeenSet = false;
237
238 int m_period{0};
239 bool m_periodHasBeenSet = false;
240
242 bool m_unitHasBeenSet = false;
243
244 Aws::Vector<MetricStatistic> m_statistics;
245 bool m_statisticsHasBeenSet = false;
246};
247
248} // namespace Model
249} // namespace Lightsail
250} // namespace Aws
AWS_LIGHTSAIL_API GetDistributionMetricDataRequest()=default
GetDistributionMetricDataRequest & WithUnit(MetricUnit value)
AWS_LIGHTSAIL_API Aws::String SerializePayload() const override
GetDistributionMetricDataRequest & WithStartTime(StartTimeT &&value)
GetDistributionMetricDataRequest & WithStatistics(StatisticsT &&value)
GetDistributionMetricDataRequest & AddStatistics(MetricStatistic value)
GetDistributionMetricDataRequest & WithMetricName(DistributionMetricName value)
AWS_LIGHTSAIL_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override
GetDistributionMetricDataRequest & WithDistributionName(DistributionNameT &&value)
GetDistributionMetricDataRequest & WithEndTime(EndTimeT &&value)
Aws::Map< Aws::String, Aws::String > HeaderValueCollection
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector