AWS SDK for C++

AWS SDK for C++ Version 1.11.719

Loading...
Searching...
No Matches
GetCostForecastRequest.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/Granularity.h>
12#include <aws/ce/model/Metric.h>
13#include <aws/core/utils/memory/stl/AWSString.h>
14
15#include <utility>
16
17namespace Aws {
18namespace CostExplorer {
19namespace Model {
20
24 public:
25 AWS_COSTEXPLORER_API GetCostForecastRequest() = 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 "GetCostForecast"; }
32
33 AWS_COSTEXPLORER_API Aws::String SerializePayload() const override;
34
35 AWS_COSTEXPLORER_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
36
38
42 inline const DateInterval& GetTimePeriod() const { return m_timePeriod; }
43 inline bool TimePeriodHasBeenSet() const { return m_timePeriodHasBeenSet; }
44 template <typename TimePeriodT = DateInterval>
45 void SetTimePeriod(TimePeriodT&& value) {
46 m_timePeriodHasBeenSet = true;
47 m_timePeriod = std::forward<TimePeriodT>(value);
48 }
49 template <typename TimePeriodT = DateInterval>
50 GetCostForecastRequest& WithTimePeriod(TimePeriodT&& value) {
51 SetTimePeriod(std::forward<TimePeriodT>(value));
52 return *this;
53 }
55
57
67 inline Metric GetMetric() const { return m_metric; }
68 inline bool MetricHasBeenSet() const { return m_metricHasBeenSet; }
69 inline void SetMetric(Metric value) {
70 m_metricHasBeenSet = true;
71 m_metric = value;
72 }
74 SetMetric(value);
75 return *this;
76 }
78
80
86 inline Granularity GetGranularity() const { return m_granularity; }
87 inline bool GranularityHasBeenSet() const { return m_granularityHasBeenSet; }
88 inline void SetGranularity(Granularity value) {
89 m_granularityHasBeenSet = true;
90 m_granularity = value;
91 }
93 SetGranularity(value);
94 return *this;
95 }
97
99
118 inline const Expression& GetFilter() const { return m_filter; }
119 inline bool FilterHasBeenSet() const { return m_filterHasBeenSet; }
120 template <typename FilterT = Expression>
121 void SetFilter(FilterT&& value) {
122 m_filterHasBeenSet = true;
123 m_filter = std::forward<FilterT>(value);
124 }
125 template <typename FilterT = Expression>
127 SetFilter(std::forward<FilterT>(value));
128 return *this;
129 }
131
133
140 inline const Aws::String& GetBillingViewArn() const { return m_billingViewArn; }
141 inline bool BillingViewArnHasBeenSet() const { return m_billingViewArnHasBeenSet; }
142 template <typename BillingViewArnT = Aws::String>
143 void SetBillingViewArn(BillingViewArnT&& value) {
144 m_billingViewArnHasBeenSet = true;
145 m_billingViewArn = std::forward<BillingViewArnT>(value);
146 }
147 template <typename BillingViewArnT = Aws::String>
148 GetCostForecastRequest& WithBillingViewArn(BillingViewArnT&& value) {
149 SetBillingViewArn(std::forward<BillingViewArnT>(value));
150 return *this;
151 }
153
155
162 inline int GetPredictionIntervalLevel() const { return m_predictionIntervalLevel; }
163 inline bool PredictionIntervalLevelHasBeenSet() const { return m_predictionIntervalLevelHasBeenSet; }
164 inline void SetPredictionIntervalLevel(int value) {
165 m_predictionIntervalLevelHasBeenSet = true;
166 m_predictionIntervalLevel = value;
167 }
170 return *this;
171 }
173 private:
174 DateInterval m_timePeriod;
175
176 Metric m_metric{Metric::NOT_SET};
177
178 Granularity m_granularity{Granularity::NOT_SET};
179
180 Expression m_filter;
181
182 Aws::String m_billingViewArn;
183
184 int m_predictionIntervalLevel{0};
185 bool m_timePeriodHasBeenSet = false;
186 bool m_metricHasBeenSet = false;
187 bool m_granularityHasBeenSet = false;
188 bool m_filterHasBeenSet = false;
189 bool m_billingViewArnHasBeenSet = false;
190 bool m_predictionIntervalLevelHasBeenSet = false;
191};
192
193} // namespace Model
194} // namespace CostExplorer
195} // namespace Aws
GetCostForecastRequest & WithBillingViewArn(BillingViewArnT &&value)
AWS_COSTEXPLORER_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override
GetCostForecastRequest & WithMetric(Metric value)
GetCostForecastRequest & WithTimePeriod(TimePeriodT &&value)
virtual const char * GetServiceRequestName() const override
AWS_COSTEXPLORER_API GetCostForecastRequest()=default
GetCostForecastRequest & WithGranularity(Granularity value)
GetCostForecastRequest & WithFilter(FilterT &&value)
GetCostForecastRequest & WithPredictionIntervalLevel(int 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