AWS SDK for C++

AWS SDK for C++ Version 1.11.719

Loading...
Searching...
No Matches
GetCostComparisonDriversRequest.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/GroupDefinition.h>
12#include <aws/core/utils/memory/stl/AWSString.h>
13#include <aws/core/utils/memory/stl/AWSVector.h>
14
15#include <utility>
16
17namespace Aws {
18namespace CostExplorer {
19namespace Model {
20
24 public:
25 AWS_COSTEXPLORER_API GetCostComparisonDriversRequest() = default;
26
27 // Service request name is the Operation name which will send this request out,
28 // each operation should has unique request name, so that we can get operation's name from this request.
29 // Note: this is not true for response, multiple operations may have the same response name,
30 // so we can not get operation's name from response.
31 inline virtual const char* GetServiceRequestName() const override { return "GetCostComparisonDrivers"; }
32
33 AWS_COSTEXPLORER_API Aws::String SerializePayload() const override;
34
35 AWS_COSTEXPLORER_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
36
38
45 inline const Aws::String& GetBillingViewArn() const { return m_billingViewArn; }
46 inline bool BillingViewArnHasBeenSet() const { return m_billingViewArnHasBeenSet; }
47 template <typename BillingViewArnT = Aws::String>
48 void SetBillingViewArn(BillingViewArnT&& value) {
49 m_billingViewArnHasBeenSet = true;
50 m_billingViewArn = std::forward<BillingViewArnT>(value);
51 }
52 template <typename BillingViewArnT = Aws::String>
54 SetBillingViewArn(std::forward<BillingViewArnT>(value));
55 return *this;
56 }
58
60
66 inline const DateInterval& GetBaselineTimePeriod() const { return m_baselineTimePeriod; }
67 inline bool BaselineTimePeriodHasBeenSet() const { return m_baselineTimePeriodHasBeenSet; }
68 template <typename BaselineTimePeriodT = DateInterval>
69 void SetBaselineTimePeriod(BaselineTimePeriodT&& value) {
70 m_baselineTimePeriodHasBeenSet = true;
71 m_baselineTimePeriod = std::forward<BaselineTimePeriodT>(value);
72 }
73 template <typename BaselineTimePeriodT = DateInterval>
75 SetBaselineTimePeriod(std::forward<BaselineTimePeriodT>(value));
76 return *this;
77 }
79
81
86 inline const DateInterval& GetComparisonTimePeriod() const { return m_comparisonTimePeriod; }
87 inline bool ComparisonTimePeriodHasBeenSet() const { return m_comparisonTimePeriodHasBeenSet; }
88 template <typename ComparisonTimePeriodT = DateInterval>
89 void SetComparisonTimePeriod(ComparisonTimePeriodT&& value) {
90 m_comparisonTimePeriodHasBeenSet = true;
91 m_comparisonTimePeriod = std::forward<ComparisonTimePeriodT>(value);
92 }
93 template <typename ComparisonTimePeriodT = DateInterval>
95 SetComparisonTimePeriod(std::forward<ComparisonTimePeriodT>(value));
96 return *this;
97 }
99
101
108 inline const Aws::String& GetMetricForComparison() const { return m_metricForComparison; }
109 inline bool MetricForComparisonHasBeenSet() const { return m_metricForComparisonHasBeenSet; }
110 template <typename MetricForComparisonT = Aws::String>
111 void SetMetricForComparison(MetricForComparisonT&& value) {
112 m_metricForComparisonHasBeenSet = true;
113 m_metricForComparison = std::forward<MetricForComparisonT>(value);
114 }
115 template <typename MetricForComparisonT = Aws::String>
117 SetMetricForComparison(std::forward<MetricForComparisonT>(value));
118 return *this;
119 }
121
123
124 inline const Expression& GetFilter() const { return m_filter; }
125 inline bool FilterHasBeenSet() const { return m_filterHasBeenSet; }
126 template <typename FilterT = Expression>
127 void SetFilter(FilterT&& value) {
128 m_filterHasBeenSet = true;
129 m_filter = std::forward<FilterT>(value);
130 }
131 template <typename FilterT = Expression>
133 SetFilter(std::forward<FilterT>(value));
134 return *this;
135 }
137
139
145 inline const Aws::Vector<GroupDefinition>& GetGroupBy() const { return m_groupBy; }
146 inline bool GroupByHasBeenSet() const { return m_groupByHasBeenSet; }
147 template <typename GroupByT = Aws::Vector<GroupDefinition>>
148 void SetGroupBy(GroupByT&& value) {
149 m_groupByHasBeenSet = true;
150 m_groupBy = std::forward<GroupByT>(value);
151 }
152 template <typename GroupByT = Aws::Vector<GroupDefinition>>
154 SetGroupBy(std::forward<GroupByT>(value));
155 return *this;
156 }
157 template <typename GroupByT = GroupDefinition>
159 m_groupByHasBeenSet = true;
160 m_groupBy.emplace_back(std::forward<GroupByT>(value));
161 return *this;
162 }
164
166
169 inline int GetMaxResults() const { return m_maxResults; }
170 inline bool MaxResultsHasBeenSet() const { return m_maxResultsHasBeenSet; }
171 inline void SetMaxResults(int value) {
172 m_maxResultsHasBeenSet = true;
173 m_maxResults = value;
174 }
176 SetMaxResults(value);
177 return *this;
178 }
180
182
185 inline const Aws::String& GetNextPageToken() const { return m_nextPageToken; }
186 inline bool NextPageTokenHasBeenSet() const { return m_nextPageTokenHasBeenSet; }
187 template <typename NextPageTokenT = Aws::String>
188 void SetNextPageToken(NextPageTokenT&& value) {
189 m_nextPageTokenHasBeenSet = true;
190 m_nextPageToken = std::forward<NextPageTokenT>(value);
191 }
192 template <typename NextPageTokenT = Aws::String>
194 SetNextPageToken(std::forward<NextPageTokenT>(value));
195 return *this;
196 }
198 private:
199 Aws::String m_billingViewArn;
200
201 DateInterval m_baselineTimePeriod;
202
203 DateInterval m_comparisonTimePeriod;
204
205 Aws::String m_metricForComparison;
206
207 Expression m_filter;
208
210
211 int m_maxResults{0};
212
213 Aws::String m_nextPageToken;
214 bool m_billingViewArnHasBeenSet = false;
215 bool m_baselineTimePeriodHasBeenSet = false;
216 bool m_comparisonTimePeriodHasBeenSet = false;
217 bool m_metricForComparisonHasBeenSet = false;
218 bool m_filterHasBeenSet = false;
219 bool m_groupByHasBeenSet = false;
220 bool m_maxResultsHasBeenSet = false;
221 bool m_nextPageTokenHasBeenSet = false;
222};
223
224} // namespace Model
225} // namespace CostExplorer
226} // namespace Aws
GetCostComparisonDriversRequest & WithComparisonTimePeriod(ComparisonTimePeriodT &&value)
GetCostComparisonDriversRequest & WithMetricForComparison(MetricForComparisonT &&value)
AWS_COSTEXPLORER_API GetCostComparisonDriversRequest()=default
GetCostComparisonDriversRequest & AddGroupBy(GroupByT &&value)
AWS_COSTEXPLORER_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override
GetCostComparisonDriversRequest & WithNextPageToken(NextPageTokenT &&value)
GetCostComparisonDriversRequest & WithBaselineTimePeriod(BaselineTimePeriodT &&value)
GetCostComparisonDriversRequest & WithBillingViewArn(BillingViewArnT &&value)
GetCostComparisonDriversRequest & WithFilter(FilterT &&value)
GetCostComparisonDriversRequest & WithGroupBy(GroupByT &&value)
AWS_COSTEXPLORER_API Aws::String SerializePayload() const override
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