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/core/utils/memory/stl/AWSString.h>
14#include <aws/core/utils/memory/stl/AWSVector.h>
19namespace CostExplorer {
49 template <
typename TimePeriodT = DateInterval>
51 m_timePeriodHasBeenSet =
true;
52 m_timePeriod = std::forward<TimePeriodT>(value);
54 template <
typename TimePeriodT = DateInterval>
71 m_granularityHasBeenSet =
true;
72 m_granularity = value;
106 template <
typename FilterT = Expression>
108 m_filterHasBeenSet =
true;
109 m_filter = std::forward<FilterT>(value);
111 template <
typename FilterT = Expression>
139 template <
typename MetricsT = Aws::Vector<Aws::String>>
141 m_metricsHasBeenSet =
true;
142 m_metrics = std::forward<MetricsT>(value);
144 template <
typename MetricsT = Aws::Vector<Aws::String>>
149 template <
typename MetricsT = Aws::String>
151 m_metricsHasBeenSet =
true;
152 m_metrics.emplace_back(std::forward<MetricsT>(value));
184 template <
typename GroupByT = Aws::Vector<GroupDefinition>>
186 m_groupByHasBeenSet =
true;
187 m_groupBy = std::forward<GroupByT>(value);
189 template <
typename GroupByT = Aws::Vector<GroupDefinition>>
194 template <
typename GroupByT = GroupDefinition>
196 m_groupByHasBeenSet =
true;
197 m_groupBy.emplace_back(std::forward<GroupByT>(value));
212 template <
typename BillingViewArnT = Aws::String>
214 m_billingViewArnHasBeenSet =
true;
215 m_billingViewArn = std::forward<BillingViewArnT>(value);
217 template <
typename BillingViewArnT = Aws::String>
232 template <
typename NextPageTokenT = Aws::String>
234 m_nextPageTokenHasBeenSet =
true;
235 m_nextPageToken = std::forward<NextPageTokenT>(value);
237 template <
typename NextPageTokenT = Aws::String>
257 bool m_timePeriodHasBeenSet =
false;
258 bool m_granularityHasBeenSet =
false;
259 bool m_filterHasBeenSet =
false;
260 bool m_metricsHasBeenSet =
false;
261 bool m_groupByHasBeenSet =
false;
262 bool m_billingViewArnHasBeenSet =
false;
263 bool m_nextPageTokenHasBeenSet =
false;
GetCostAndUsageRequest & AddMetrics(MetricsT &&value)
bool TimePeriodHasBeenSet() const
GetCostAndUsageRequest & WithGranularity(Granularity value)
Granularity GetGranularity() const
void SetNextPageToken(NextPageTokenT &&value)
void SetFilter(FilterT &&value)
GetCostAndUsageRequest & WithMetrics(MetricsT &&value)
void SetGroupBy(GroupByT &&value)
bool FilterHasBeenSet() const
bool NextPageTokenHasBeenSet() const
GetCostAndUsageRequest & WithTimePeriod(TimePeriodT &&value)
void SetTimePeriod(TimePeriodT &&value)
const DateInterval & GetTimePeriod() const
GetCostAndUsageRequest & WithFilter(FilterT &&value)
bool GranularityHasBeenSet() const
AWS_COSTEXPLORER_API GetCostAndUsageRequest()=default
GetCostAndUsageRequest & WithGroupBy(GroupByT &&value)
bool BillingViewArnHasBeenSet() const
AWS_COSTEXPLORER_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override
void SetMetrics(MetricsT &&value)
GetCostAndUsageRequest & AddGroupBy(GroupByT &&value)
const Aws::Vector< Aws::String > & GetMetrics() const
void SetBillingViewArn(BillingViewArnT &&value)
const Aws::String & GetBillingViewArn() const
bool GroupByHasBeenSet() const
void SetGranularity(Granularity value)
GetCostAndUsageRequest & WithBillingViewArn(BillingViewArnT &&value)
GetCostAndUsageRequest & WithNextPageToken(NextPageTokenT &&value)
const Aws::Vector< GroupDefinition > & GetGroupBy() const
bool MetricsHasBeenSet() const
const Aws::String & GetNextPageToken() const
const Expression & GetFilter() const
AWS_COSTEXPLORER_API Aws::String SerializePayload() const override
virtual const char * GetServiceRequestName() 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