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;
96 template <
typename FilterT = Expression>
98 m_filterHasBeenSet =
true;
99 m_filter = std::forward<FilterT>(value);
101 template <
typename FilterT = Expression>
129 template <
typename MetricsT = Aws::Vector<Aws::String>>
131 m_metricsHasBeenSet =
true;
132 m_metrics = std::forward<MetricsT>(value);
134 template <
typename MetricsT = Aws::Vector<Aws::String>>
139 template <
typename MetricsT = Aws::String>
141 m_metricsHasBeenSet =
true;
142 m_metrics.emplace_back(std::forward<MetricsT>(value));
161 template <
typename GroupByT = Aws::Vector<GroupDefinition>>
163 m_groupByHasBeenSet =
true;
164 m_groupBy = std::forward<GroupByT>(value);
166 template <
typename GroupByT = Aws::Vector<GroupDefinition>>
171 template <
typename GroupByT = GroupDefinition>
173 m_groupByHasBeenSet =
true;
174 m_groupBy.emplace_back(std::forward<GroupByT>(value));
189 template <
typename BillingViewArnT = Aws::String>
191 m_billingViewArnHasBeenSet =
true;
192 m_billingViewArn = std::forward<BillingViewArnT>(value);
194 template <
typename BillingViewArnT = Aws::String>
209 template <
typename NextPageTokenT = Aws::String>
211 m_nextPageTokenHasBeenSet =
true;
212 m_nextPageToken = std::forward<NextPageTokenT>(value);
214 template <
typename NextPageTokenT = Aws::String>
234 bool m_timePeriodHasBeenSet =
false;
235 bool m_granularityHasBeenSet =
false;
236 bool m_filterHasBeenSet =
false;
237 bool m_metricsHasBeenSet =
false;
238 bool m_groupByHasBeenSet =
false;
239 bool m_billingViewArnHasBeenSet =
false;
240 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