AWS SDK for C++

AWS SDK for C++ Version 1.11.606

Loading...
Searching...
No Matches
GetDistributionMetricDataRequest.h
1
6#pragma once
7#include <aws/lightsail/Lightsail_EXPORTS.h>
8#include <aws/lightsail/LightsailRequest.h>
9#include <aws/core/utils/memory/stl/AWSString.h>
10#include <aws/lightsail/model/DistributionMetricName.h>
11#include <aws/core/utils/DateTime.h>
12#include <aws/lightsail/model/MetricUnit.h>
13#include <aws/core/utils/memory/stl/AWSVector.h>
14#include <aws/lightsail/model/MetricStatistic.h>
15#include <utility>
16
17namespace Aws
18{
19namespace Lightsail
20{
21namespace Model
22{
23
27 {
28 public:
29 AWS_LIGHTSAIL_API GetDistributionMetricDataRequest() = default;
30
31 // Service request name is the Operation name which will send this request out,
32 // each operation should has unique request name, so that we can get operation's name from this request.
33 // Note: this is not true for response, multiple operations may have the same response name,
34 // so we can not get operation's name from response.
35 inline virtual const char* GetServiceRequestName() const override { return "GetDistributionMetricData"; }
36
37 AWS_LIGHTSAIL_API Aws::String SerializePayload() const override;
38
40
41
43
48 inline const Aws::String& GetDistributionName() const { return m_distributionName; }
49 inline bool DistributionNameHasBeenSet() const { return m_distributionNameHasBeenSet; }
50 template<typename DistributionNameT = Aws::String>
51 void SetDistributionName(DistributionNameT&& value) { m_distributionNameHasBeenSet = true; m_distributionName = std::forward<DistributionNameT>(value); }
52 template<typename DistributionNameT = Aws::String>
53 GetDistributionMetricDataRequest& WithDistributionName(DistributionNameT&& value) { SetDistributionName(std::forward<DistributionNameT>(value)); return *this;}
55
57
92 inline DistributionMetricName GetMetricName() const { return m_metricName; }
93 inline bool MetricNameHasBeenSet() const { return m_metricNameHasBeenSet; }
94 inline void SetMetricName(DistributionMetricName value) { m_metricNameHasBeenSet = true; m_metricName = value; }
97
99
108 inline const Aws::Utils::DateTime& GetStartTime() const { return m_startTime; }
109 inline bool StartTimeHasBeenSet() const { return m_startTimeHasBeenSet; }
110 template<typename StartTimeT = Aws::Utils::DateTime>
111 void SetStartTime(StartTimeT&& value) { m_startTimeHasBeenSet = true; m_startTime = std::forward<StartTimeT>(value); }
112 template<typename StartTimeT = Aws::Utils::DateTime>
113 GetDistributionMetricDataRequest& WithStartTime(StartTimeT&& value) { SetStartTime(std::forward<StartTimeT>(value)); return *this;}
115
117
126 inline const Aws::Utils::DateTime& GetEndTime() const { return m_endTime; }
127 inline bool EndTimeHasBeenSet() const { return m_endTimeHasBeenSet; }
128 template<typename EndTimeT = Aws::Utils::DateTime>
129 void SetEndTime(EndTimeT&& value) { m_endTimeHasBeenSet = true; m_endTime = std::forward<EndTimeT>(value); }
130 template<typename EndTimeT = Aws::Utils::DateTime>
131 GetDistributionMetricDataRequest& WithEndTime(EndTimeT&& value) { SetEndTime(std::forward<EndTimeT>(value)); return *this;}
133
135
139 inline int GetPeriod() const { return m_period; }
140 inline bool PeriodHasBeenSet() const { return m_periodHasBeenSet; }
141 inline void SetPeriod(int value) { m_periodHasBeenSet = true; m_period = value; }
142 inline GetDistributionMetricDataRequest& WithPeriod(int value) { SetPeriod(value); return *this;}
144
146
151 inline MetricUnit GetUnit() const { return m_unit; }
152 inline bool UnitHasBeenSet() const { return m_unitHasBeenSet; }
153 inline void SetUnit(MetricUnit value) { m_unitHasBeenSet = true; m_unit = value; }
154 inline GetDistributionMetricDataRequest& WithUnit(MetricUnit value) { SetUnit(value); return *this;}
156
158
175 inline const Aws::Vector<MetricStatistic>& GetStatistics() const { return m_statistics; }
176 inline bool StatisticsHasBeenSet() const { return m_statisticsHasBeenSet; }
177 template<typename StatisticsT = Aws::Vector<MetricStatistic>>
178 void SetStatistics(StatisticsT&& value) { m_statisticsHasBeenSet = true; m_statistics = std::forward<StatisticsT>(value); }
179 template<typename StatisticsT = Aws::Vector<MetricStatistic>>
180 GetDistributionMetricDataRequest& WithStatistics(StatisticsT&& value) { SetStatistics(std::forward<StatisticsT>(value)); return *this;}
181 inline GetDistributionMetricDataRequest& AddStatistics(MetricStatistic value) { m_statisticsHasBeenSet = true; m_statistics.push_back(value); return *this; }
183 private:
184
185 Aws::String m_distributionName;
186 bool m_distributionNameHasBeenSet = false;
187
189 bool m_metricNameHasBeenSet = false;
190
191 Aws::Utils::DateTime m_startTime{};
192 bool m_startTimeHasBeenSet = false;
193
194 Aws::Utils::DateTime m_endTime{};
195 bool m_endTimeHasBeenSet = false;
196
197 int m_period{0};
198 bool m_periodHasBeenSet = false;
199
201 bool m_unitHasBeenSet = false;
202
203 Aws::Vector<MetricStatistic> m_statistics;
204 bool m_statisticsHasBeenSet = false;
205 };
206
207} // namespace Model
208} // namespace Lightsail
209} // 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