AWS SDK for C++

AWS SDK for C++ Version 1.11.607

Loading...
Searching...
No Matches
GetUsageForecastRequest.h
1
6#pragma once
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/Metric.h>
11#include <aws/ce/model/Granularity.h>
12#include <aws/ce/model/Expression.h>
13#include <aws/core/utils/memory/stl/AWSString.h>
14#include <utility>
15
16namespace Aws
17{
18namespace CostExplorer
19{
20namespace Model
21{
22
26 {
27 public:
28 AWS_COSTEXPLORER_API GetUsageForecastRequest() = 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 "GetUsageForecast"; }
35
36 AWS_COSTEXPLORER_API Aws::String SerializePayload() const override;
37
38 AWS_COSTEXPLORER_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
39
40
42
52 inline const DateInterval& GetTimePeriod() const { return m_timePeriod; }
53 inline bool TimePeriodHasBeenSet() const { return m_timePeriodHasBeenSet; }
54 template<typename TimePeriodT = DateInterval>
55 void SetTimePeriod(TimePeriodT&& value) { m_timePeriodHasBeenSet = true; m_timePeriod = std::forward<TimePeriodT>(value); }
56 template<typename TimePeriodT = DateInterval>
57 GetUsageForecastRequest& WithTimePeriod(TimePeriodT&& value) { SetTimePeriod(std::forward<TimePeriodT>(value)); return *this;}
59
61
66 inline Metric GetMetric() const { return m_metric; }
67 inline bool MetricHasBeenSet() const { return m_metricHasBeenSet; }
68 inline void SetMetric(Metric value) { m_metricHasBeenSet = true; m_metric = value; }
69 inline GetUsageForecastRequest& WithMetric(Metric value) { SetMetric(value); return *this;}
71
73
79 inline Granularity GetGranularity() const { return m_granularity; }
80 inline bool GranularityHasBeenSet() const { return m_granularityHasBeenSet; }
81 inline void SetGranularity(Granularity value) { m_granularityHasBeenSet = true; m_granularity = value; }
82 inline GetUsageForecastRequest& WithGranularity(Granularity value) { SetGranularity(value); return *this;}
84
86
105 inline const Expression& GetFilter() const { return m_filter; }
106 inline bool FilterHasBeenSet() const { return m_filterHasBeenSet; }
107 template<typename FilterT = Expression>
108 void SetFilter(FilterT&& value) { m_filterHasBeenSet = true; m_filter = std::forward<FilterT>(value); }
109 template<typename FilterT = Expression>
110 GetUsageForecastRequest& WithFilter(FilterT&& value) { SetFilter(std::forward<FilterT>(value)); return *this;}
112
114
121 inline const Aws::String& GetBillingViewArn() const { return m_billingViewArn; }
122 inline bool BillingViewArnHasBeenSet() const { return m_billingViewArnHasBeenSet; }
123 template<typename BillingViewArnT = Aws::String>
124 void SetBillingViewArn(BillingViewArnT&& value) { m_billingViewArnHasBeenSet = true; m_billingViewArn = std::forward<BillingViewArnT>(value); }
125 template<typename BillingViewArnT = Aws::String>
126 GetUsageForecastRequest& WithBillingViewArn(BillingViewArnT&& value) { SetBillingViewArn(std::forward<BillingViewArnT>(value)); return *this;}
128
130
137 inline int GetPredictionIntervalLevel() const { return m_predictionIntervalLevel; }
138 inline bool PredictionIntervalLevelHasBeenSet() const { return m_predictionIntervalLevelHasBeenSet; }
139 inline void SetPredictionIntervalLevel(int value) { m_predictionIntervalLevelHasBeenSet = true; m_predictionIntervalLevel = value; }
142 private:
143
144 DateInterval m_timePeriod;
145 bool m_timePeriodHasBeenSet = false;
146
147 Metric m_metric{Metric::NOT_SET};
148 bool m_metricHasBeenSet = false;
149
150 Granularity m_granularity{Granularity::NOT_SET};
151 bool m_granularityHasBeenSet = false;
152
153 Expression m_filter;
154 bool m_filterHasBeenSet = false;
155
156 Aws::String m_billingViewArn;
157 bool m_billingViewArnHasBeenSet = false;
158
159 int m_predictionIntervalLevel{0};
160 bool m_predictionIntervalLevelHasBeenSet = false;
161 };
162
163} // namespace Model
164} // namespace CostExplorer
165} // namespace Aws
GetUsageForecastRequest & WithTimePeriod(TimePeriodT &&value)
virtual const char * GetServiceRequestName() const override
GetUsageForecastRequest & WithGranularity(Granularity value)
AWS_COSTEXPLORER_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override
AWS_COSTEXPLORER_API GetUsageForecastRequest()=default
GetUsageForecastRequest & WithPredictionIntervalLevel(int value)
AWS_COSTEXPLORER_API Aws::String SerializePayload() const override
GetUsageForecastRequest & WithFilter(FilterT &&value)
GetUsageForecastRequest & WithMetric(Metric value)
GetUsageForecastRequest & WithBillingViewArn(BillingViewArnT &&value)
Aws::Map< Aws::String, Aws::String > HeaderValueCollection
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String