7#include <aws/ce/CostExplorer_EXPORTS.h>
8#include <aws/ce/CostExplorerRequest.h>
9#include <aws/ce/model/DateInterval.h>
10#include <aws/ce/model/Granularity.h>
11#include <aws/ce/model/Expression.h>
12#include <aws/core/utils/memory/stl/AWSVector.h>
13#include <aws/core/utils/memory/stl/AWSString.h>
14#include <aws/ce/model/GroupDefinition.h>
53 template<
typename TimePeriodT = DateInterval>
54 void SetTimePeriod(TimePeriodT&& value) { m_timePeriodHasBeenSet =
true; m_timePeriod = std::forward<TimePeriodT>(value); }
55 template<
typename TimePeriodT = DateInterval>
88 template<
typename FilterT = Expression>
89 void SetFilter(FilterT&& value) { m_filterHasBeenSet =
true; m_filter = std::forward<FilterT>(value); }
90 template<
typename FilterT = Expression>
115 template<
typename MetricsT = Aws::Vector<Aws::String>>
116 void SetMetrics(MetricsT&& value) { m_metricsHasBeenSet =
true; m_metrics = std::forward<MetricsT>(value); }
117 template<
typename MetricsT = Aws::Vector<Aws::String>>
119 template<
typename MetricsT = Aws::String>
137 template<
typename GroupByT = Aws::Vector<GroupDefinition>>
138 void SetGroupBy(GroupByT&& value) { m_groupByHasBeenSet =
true; m_groupBy = std::forward<GroupByT>(value); }
139 template<
typename GroupByT = Aws::Vector<GroupDefinition>>
141 template<
typename GroupByT = GroupDefinition>
155 template<
typename BillingViewArnT = Aws::String>
156 void SetBillingViewArn(BillingViewArnT&& value) { m_billingViewArnHasBeenSet =
true; m_billingViewArn = std::forward<BillingViewArnT>(value); }
157 template<
typename BillingViewArnT = Aws::String>
169 template<
typename NextPageTokenT = Aws::String>
170 void SetNextPageToken(NextPageTokenT&& value) { m_nextPageTokenHasBeenSet =
true; m_nextPageToken = std::forward<NextPageTokenT>(value); }
171 template<
typename NextPageTokenT = Aws::String>
177 bool m_timePeriodHasBeenSet =
false;
180 bool m_granularityHasBeenSet =
false;
183 bool m_filterHasBeenSet =
false;
186 bool m_metricsHasBeenSet =
false;
189 bool m_groupByHasBeenSet =
false;
192 bool m_billingViewArnHasBeenSet =
false;
195 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