AWS SDK for C++

AWS SDK for C++ Version 1.11.607

Loading...
Searching...
No Matches
GetCostAndUsageComparisonsRequest.h
1
6#pragma once
7#include <aws/ce/CostExplorer_EXPORTS.h>
8#include <aws/ce/CostExplorerRequest.h>
9#include <aws/core/utils/memory/stl/AWSString.h>
10#include <aws/ce/model/DateInterval.h>
11#include <aws/ce/model/Expression.h>
12#include <aws/core/utils/memory/stl/AWSVector.h>
13#include <aws/ce/model/GroupDefinition.h>
14#include <utility>
15
16namespace Aws
17{
18namespace CostExplorer
19{
20namespace Model
21{
22
26 {
27 public:
28 AWS_COSTEXPLORER_API GetCostAndUsageComparisonsRequest() = default;
29
30 // Service request name is the Operation name which will send this request out,
31 // each operation should has unique request name, so that we can get operation's name from this request.
32 // Note: this is not true for response, multiple operations may have the same response name,
33 // so we can not get operation's name from response.
34 inline virtual const char* GetServiceRequestName() const override { return "GetCostAndUsageComparisons"; }
35
36 AWS_COSTEXPLORER_API Aws::String SerializePayload() const override;
37
38 AWS_COSTEXPLORER_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
39
40
42
49 inline const Aws::String& GetBillingViewArn() const { return m_billingViewArn; }
50 inline bool BillingViewArnHasBeenSet() const { return m_billingViewArnHasBeenSet; }
51 template<typename BillingViewArnT = Aws::String>
52 void SetBillingViewArn(BillingViewArnT&& value) { m_billingViewArnHasBeenSet = true; m_billingViewArn = std::forward<BillingViewArnT>(value); }
53 template<typename BillingViewArnT = Aws::String>
54 GetCostAndUsageComparisonsRequest& WithBillingViewArn(BillingViewArnT&& value) { SetBillingViewArn(std::forward<BillingViewArnT>(value)); return *this;}
56
58
64 inline const DateInterval& GetBaselineTimePeriod() const { return m_baselineTimePeriod; }
65 inline bool BaselineTimePeriodHasBeenSet() const { return m_baselineTimePeriodHasBeenSet; }
66 template<typename BaselineTimePeriodT = DateInterval>
67 void SetBaselineTimePeriod(BaselineTimePeriodT&& value) { m_baselineTimePeriodHasBeenSet = true; m_baselineTimePeriod = std::forward<BaselineTimePeriodT>(value); }
68 template<typename BaselineTimePeriodT = DateInterval>
69 GetCostAndUsageComparisonsRequest& WithBaselineTimePeriod(BaselineTimePeriodT&& value) { SetBaselineTimePeriod(std::forward<BaselineTimePeriodT>(value)); return *this;}
71
73
78 inline const DateInterval& GetComparisonTimePeriod() const { return m_comparisonTimePeriod; }
79 inline bool ComparisonTimePeriodHasBeenSet() const { return m_comparisonTimePeriodHasBeenSet; }
80 template<typename ComparisonTimePeriodT = DateInterval>
81 void SetComparisonTimePeriod(ComparisonTimePeriodT&& value) { m_comparisonTimePeriodHasBeenSet = true; m_comparisonTimePeriod = std::forward<ComparisonTimePeriodT>(value); }
82 template<typename ComparisonTimePeriodT = DateInterval>
83 GetCostAndUsageComparisonsRequest& WithComparisonTimePeriod(ComparisonTimePeriodT&& value) { SetComparisonTimePeriod(std::forward<ComparisonTimePeriodT>(value)); return *this;}
85
87
94 inline const Aws::String& GetMetricForComparison() const { return m_metricForComparison; }
95 inline bool MetricForComparisonHasBeenSet() const { return m_metricForComparisonHasBeenSet; }
96 template<typename MetricForComparisonT = Aws::String>
97 void SetMetricForComparison(MetricForComparisonT&& value) { m_metricForComparisonHasBeenSet = true; m_metricForComparison = std::forward<MetricForComparisonT>(value); }
98 template<typename MetricForComparisonT = Aws::String>
99 GetCostAndUsageComparisonsRequest& WithMetricForComparison(MetricForComparisonT&& value) { SetMetricForComparison(std::forward<MetricForComparisonT>(value)); return *this;}
101
103
104 inline const Expression& GetFilter() const { return m_filter; }
105 inline bool FilterHasBeenSet() const { return m_filterHasBeenSet; }
106 template<typename FilterT = Expression>
107 void SetFilter(FilterT&& value) { m_filterHasBeenSet = true; m_filter = std::forward<FilterT>(value); }
108 template<typename FilterT = Expression>
109 GetCostAndUsageComparisonsRequest& WithFilter(FilterT&& value) { SetFilter(std::forward<FilterT>(value)); return *this;}
111
113
117 inline const Aws::Vector<GroupDefinition>& GetGroupBy() const { return m_groupBy; }
118 inline bool GroupByHasBeenSet() const { return m_groupByHasBeenSet; }
119 template<typename GroupByT = Aws::Vector<GroupDefinition>>
120 void SetGroupBy(GroupByT&& value) { m_groupByHasBeenSet = true; m_groupBy = std::forward<GroupByT>(value); }
121 template<typename GroupByT = Aws::Vector<GroupDefinition>>
122 GetCostAndUsageComparisonsRequest& WithGroupBy(GroupByT&& value) { SetGroupBy(std::forward<GroupByT>(value)); return *this;}
123 template<typename GroupByT = GroupDefinition>
124 GetCostAndUsageComparisonsRequest& AddGroupBy(GroupByT&& value) { m_groupByHasBeenSet = true; m_groupBy.emplace_back(std::forward<GroupByT>(value)); return *this; }
126
128
131 inline int GetMaxResults() const { return m_maxResults; }
132 inline bool MaxResultsHasBeenSet() const { return m_maxResultsHasBeenSet; }
133 inline void SetMaxResults(int value) { m_maxResultsHasBeenSet = true; m_maxResults = value; }
134 inline GetCostAndUsageComparisonsRequest& WithMaxResults(int value) { SetMaxResults(value); return *this;}
136
138
141 inline const Aws::String& GetNextPageToken() const { return m_nextPageToken; }
142 inline bool NextPageTokenHasBeenSet() const { return m_nextPageTokenHasBeenSet; }
143 template<typename NextPageTokenT = Aws::String>
144 void SetNextPageToken(NextPageTokenT&& value) { m_nextPageTokenHasBeenSet = true; m_nextPageToken = std::forward<NextPageTokenT>(value); }
145 template<typename NextPageTokenT = Aws::String>
146 GetCostAndUsageComparisonsRequest& WithNextPageToken(NextPageTokenT&& value) { SetNextPageToken(std::forward<NextPageTokenT>(value)); return *this;}
148 private:
149
150 Aws::String m_billingViewArn;
151 bool m_billingViewArnHasBeenSet = false;
152
153 DateInterval m_baselineTimePeriod;
154 bool m_baselineTimePeriodHasBeenSet = false;
155
156 DateInterval m_comparisonTimePeriod;
157 bool m_comparisonTimePeriodHasBeenSet = false;
158
159 Aws::String m_metricForComparison;
160 bool m_metricForComparisonHasBeenSet = false;
161
162 Expression m_filter;
163 bool m_filterHasBeenSet = false;
164
166 bool m_groupByHasBeenSet = false;
167
168 int m_maxResults{0};
169 bool m_maxResultsHasBeenSet = false;
170
171 Aws::String m_nextPageToken;
172 bool m_nextPageTokenHasBeenSet = false;
173 };
174
175} // namespace Model
176} // namespace CostExplorer
177} // namespace Aws
AWS_COSTEXPLORER_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override
GetCostAndUsageComparisonsRequest & WithNextPageToken(NextPageTokenT &&value)
AWS_COSTEXPLORER_API Aws::String SerializePayload() const override
GetCostAndUsageComparisonsRequest & WithMetricForComparison(MetricForComparisonT &&value)
AWS_COSTEXPLORER_API GetCostAndUsageComparisonsRequest()=default
GetCostAndUsageComparisonsRequest & WithBaselineTimePeriod(BaselineTimePeriodT &&value)
GetCostAndUsageComparisonsRequest & WithGroupBy(GroupByT &&value)
GetCostAndUsageComparisonsRequest & AddGroupBy(GroupByT &&value)
GetCostAndUsageComparisonsRequest & WithBillingViewArn(BillingViewArnT &&value)
GetCostAndUsageComparisonsRequest & WithFilter(FilterT &&value)
GetCostAndUsageComparisonsRequest & WithComparisonTimePeriod(ComparisonTimePeriodT &&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