AWS SDK for C++

AWS SDK for C++ Version 1.11.744

Loading...
Searching...
No Matches
GetReservationCoverageRequest.h
1
6#pragma once
7#include <aws/ce/CostExplorerRequest.h>
8#include <aws/ce/CostExplorer_EXPORTS.h>
9#include <aws/ce/model/DateInterval.h>
10#include <aws/ce/model/Expression.h>
11#include <aws/ce/model/Granularity.h>
12#include <aws/ce/model/GroupDefinition.h>
13#include <aws/ce/model/SortDefinition.h>
14#include <aws/core/utils/memory/stl/AWSString.h>
15#include <aws/core/utils/memory/stl/AWSVector.h>
16
17#include <utility>
18
19namespace Aws {
20namespace CostExplorer {
21namespace Model {
22
30 public:
31 AWS_COSTEXPLORER_API GetReservationCoverageRequest() = default;
32
33 // Service request name is the Operation name which will send this request out,
34 // each operation should has unique request name, so that we can get operation's name from this request.
35 // Note: this is not true for response, multiple operations may have the same response name,
36 // so we can not get operation's name from response.
37 inline virtual const char* GetServiceRequestName() const override { return "GetReservationCoverage"; }
38
39 AWS_COSTEXPLORER_API Aws::String SerializePayload() const override;
40
41 AWS_COSTEXPLORER_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
42
44
53 inline const DateInterval& GetTimePeriod() const { return m_timePeriod; }
54 inline bool TimePeriodHasBeenSet() const { return m_timePeriodHasBeenSet; }
55 template <typename TimePeriodT = DateInterval>
56 void SetTimePeriod(TimePeriodT&& value) {
57 m_timePeriodHasBeenSet = true;
58 m_timePeriod = std::forward<TimePeriodT>(value);
59 }
60 template <typename TimePeriodT = DateInterval>
62 SetTimePeriod(std::forward<TimePeriodT>(value));
63 return *this;
64 }
66
68
76 inline const Aws::Vector<GroupDefinition>& GetGroupBy() const { return m_groupBy; }
77 inline bool GroupByHasBeenSet() const { return m_groupByHasBeenSet; }
78 template <typename GroupByT = Aws::Vector<GroupDefinition>>
79 void SetGroupBy(GroupByT&& value) {
80 m_groupByHasBeenSet = true;
81 m_groupBy = std::forward<GroupByT>(value);
82 }
83 template <typename GroupByT = Aws::Vector<GroupDefinition>>
85 SetGroupBy(std::forward<GroupByT>(value));
86 return *this;
87 }
88 template <typename GroupByT = GroupDefinition>
90 m_groupByHasBeenSet = true;
91 m_groupBy.emplace_back(std::forward<GroupByT>(value));
92 return *this;
93 }
95
97
106 inline Granularity GetGranularity() const { return m_granularity; }
107 inline bool GranularityHasBeenSet() const { return m_granularityHasBeenSet; }
108 inline void SetGranularity(Granularity value) {
109 m_granularityHasBeenSet = true;
110 m_granularity = value;
111 }
113 SetGranularity(value);
114 return *this;
115 }
117
119
134 inline const Expression& GetFilter() const { return m_filter; }
135 inline bool FilterHasBeenSet() const { return m_filterHasBeenSet; }
136 template <typename FilterT = Expression>
137 void SetFilter(FilterT&& value) {
138 m_filterHasBeenSet = true;
139 m_filter = std::forward<FilterT>(value);
140 }
141 template <typename FilterT = Expression>
143 SetFilter(std::forward<FilterT>(value));
144 return *this;
145 }
147
149
154 inline const Aws::Vector<Aws::String>& GetMetrics() const { return m_metrics; }
155 inline bool MetricsHasBeenSet() const { return m_metricsHasBeenSet; }
156 template <typename MetricsT = Aws::Vector<Aws::String>>
157 void SetMetrics(MetricsT&& value) {
158 m_metricsHasBeenSet = true;
159 m_metrics = std::forward<MetricsT>(value);
160 }
161 template <typename MetricsT = Aws::Vector<Aws::String>>
163 SetMetrics(std::forward<MetricsT>(value));
164 return *this;
165 }
166 template <typename MetricsT = Aws::String>
168 m_metricsHasBeenSet = true;
169 m_metrics.emplace_back(std::forward<MetricsT>(value));
170 return *this;
171 }
173
175
180 inline const Aws::String& GetNextPageToken() const { return m_nextPageToken; }
181 inline bool NextPageTokenHasBeenSet() const { return m_nextPageTokenHasBeenSet; }
182 template <typename NextPageTokenT = Aws::String>
183 void SetNextPageToken(NextPageTokenT&& value) {
184 m_nextPageTokenHasBeenSet = true;
185 m_nextPageToken = std::forward<NextPageTokenT>(value);
186 }
187 template <typename NextPageTokenT = Aws::String>
189 SetNextPageToken(std::forward<NextPageTokenT>(value));
190 return *this;
191 }
193
195
208 inline const SortDefinition& GetSortBy() const { return m_sortBy; }
209 inline bool SortByHasBeenSet() const { return m_sortByHasBeenSet; }
210 template <typename SortByT = SortDefinition>
211 void SetSortBy(SortByT&& value) {
212 m_sortByHasBeenSet = true;
213 m_sortBy = std::forward<SortByT>(value);
214 }
215 template <typename SortByT = SortDefinition>
217 SetSortBy(std::forward<SortByT>(value));
218 return *this;
219 }
221
223
229 inline int GetMaxResults() const { return m_maxResults; }
230 inline bool MaxResultsHasBeenSet() const { return m_maxResultsHasBeenSet; }
231 inline void SetMaxResults(int value) {
232 m_maxResultsHasBeenSet = true;
233 m_maxResults = value;
234 }
236 SetMaxResults(value);
237 return *this;
238 }
240 private:
241 DateInterval m_timePeriod;
242
244
245 Granularity m_granularity{Granularity::NOT_SET};
246
247 Expression m_filter;
248
249 Aws::Vector<Aws::String> m_metrics;
250
251 Aws::String m_nextPageToken;
252
253 SortDefinition m_sortBy;
254
255 int m_maxResults{0};
256 bool m_timePeriodHasBeenSet = false;
257 bool m_groupByHasBeenSet = false;
258 bool m_granularityHasBeenSet = false;
259 bool m_filterHasBeenSet = false;
260 bool m_metricsHasBeenSet = false;
261 bool m_nextPageTokenHasBeenSet = false;
262 bool m_sortByHasBeenSet = false;
263 bool m_maxResultsHasBeenSet = false;
264};
265
266} // namespace Model
267} // namespace CostExplorer
268} // namespace Aws
GetReservationCoverageRequest & WithSortBy(SortByT &&value)
AWS_COSTEXPLORER_API GetReservationCoverageRequest()=default
GetReservationCoverageRequest & AddGroupBy(GroupByT &&value)
GetReservationCoverageRequest & WithGranularity(Granularity value)
GetReservationCoverageRequest & WithTimePeriod(TimePeriodT &&value)
GetReservationCoverageRequest & AddMetrics(MetricsT &&value)
AWS_COSTEXPLORER_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override
AWS_COSTEXPLORER_API Aws::String SerializePayload() const override
GetReservationCoverageRequest & WithFilter(FilterT &&value)
const Aws::Vector< GroupDefinition > & GetGroupBy() const
GetReservationCoverageRequest & WithGroupBy(GroupByT &&value)
GetReservationCoverageRequest & WithMetrics(MetricsT &&value)
GetReservationCoverageRequest & WithNextPageToken(NextPageTokenT &&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