AWS SDK for C++

AWS SDK for C++ Version 1.11.612

Loading...
Searching...
No Matches
Budget.h
1
6#pragma once
7#include <aws/budgets/Budgets_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/budgets/model/Spend.h>
10#include <aws/core/utils/memory/stl/AWSMap.h>
11#include <aws/budgets/model/TimeUnit.h>
12#include <aws/budgets/model/TimePeriod.h>
13#include <aws/budgets/model/CalculatedSpend.h>
14#include <aws/budgets/model/BudgetType.h>
15#include <aws/core/utils/DateTime.h>
16#include <aws/budgets/model/AutoAdjustData.h>
17#include <aws/budgets/model/Expression.h>
18#include <aws/core/utils/memory/stl/AWSVector.h>
19#include <aws/budgets/model/Metric.h>
20#include <utility>
21
22namespace Aws
23{
24namespace Utils
25{
26namespace Json
27{
28 class JsonValue;
29 class JsonView;
30} // namespace Json
31} // namespace Utils
32namespace Budgets
33{
34namespace Model
35{
36
47 class Budget
48 {
49 public:
50 AWS_BUDGETS_API Budget() = default;
51 AWS_BUDGETS_API Budget(Aws::Utils::Json::JsonView jsonValue);
52 AWS_BUDGETS_API Budget& operator=(Aws::Utils::Json::JsonView jsonValue);
53 AWS_BUDGETS_API Aws::Utils::Json::JsonValue Jsonize() const;
54
55
57
62 inline const Aws::String& GetBudgetName() const { return m_budgetName; }
63 inline bool BudgetNameHasBeenSet() const { return m_budgetNameHasBeenSet; }
64 template<typename BudgetNameT = Aws::String>
65 void SetBudgetName(BudgetNameT&& value) { m_budgetNameHasBeenSet = true; m_budgetName = std::forward<BudgetNameT>(value); }
66 template<typename BudgetNameT = Aws::String>
67 Budget& WithBudgetName(BudgetNameT&& value) { SetBudgetName(std::forward<BudgetNameT>(value)); return *this;}
69
71
81 inline const Spend& GetBudgetLimit() const { return m_budgetLimit; }
82 inline bool BudgetLimitHasBeenSet() const { return m_budgetLimitHasBeenSet; }
83 template<typename BudgetLimitT = Spend>
84 void SetBudgetLimit(BudgetLimitT&& value) { m_budgetLimitHasBeenSet = true; m_budgetLimit = std::forward<BudgetLimitT>(value); }
85 template<typename BudgetLimitT = Spend>
86 Budget& WithBudgetLimit(BudgetLimitT&& value) { SetBudgetLimit(std::forward<BudgetLimitT>(value)); return *this;}
88
90
118 inline const Aws::Map<Aws::String, Spend>& GetPlannedBudgetLimits() const { return m_plannedBudgetLimits; }
119 inline bool PlannedBudgetLimitsHasBeenSet() const { return m_plannedBudgetLimitsHasBeenSet; }
120 template<typename PlannedBudgetLimitsT = Aws::Map<Aws::String, Spend>>
121 void SetPlannedBudgetLimits(PlannedBudgetLimitsT&& value) { m_plannedBudgetLimitsHasBeenSet = true; m_plannedBudgetLimits = std::forward<PlannedBudgetLimitsT>(value); }
122 template<typename PlannedBudgetLimitsT = Aws::Map<Aws::String, Spend>>
123 Budget& WithPlannedBudgetLimits(PlannedBudgetLimitsT&& value) { SetPlannedBudgetLimits(std::forward<PlannedBudgetLimitsT>(value)); return *this;}
124 template<typename PlannedBudgetLimitsKeyT = Aws::String, typename PlannedBudgetLimitsValueT = Spend>
125 Budget& AddPlannedBudgetLimits(PlannedBudgetLimitsKeyT&& key, PlannedBudgetLimitsValueT&& value) {
126 m_plannedBudgetLimitsHasBeenSet = true; m_plannedBudgetLimits.emplace(std::forward<PlannedBudgetLimitsKeyT>(key), std::forward<PlannedBudgetLimitsValueT>(value)); return *this;
127 }
129
131
134 inline TimeUnit GetTimeUnit() const { return m_timeUnit; }
135 inline bool TimeUnitHasBeenSet() const { return m_timeUnitHasBeenSet; }
136 inline void SetTimeUnit(TimeUnit value) { m_timeUnitHasBeenSet = true; m_timeUnit = value; }
137 inline Budget& WithTimeUnit(TimeUnit value) { SetTimeUnit(value); return *this;}
139
141
157 inline const TimePeriod& GetTimePeriod() const { return m_timePeriod; }
158 inline bool TimePeriodHasBeenSet() const { return m_timePeriodHasBeenSet; }
159 template<typename TimePeriodT = TimePeriod>
160 void SetTimePeriod(TimePeriodT&& value) { m_timePeriodHasBeenSet = true; m_timePeriod = std::forward<TimePeriodT>(value); }
161 template<typename TimePeriodT = TimePeriod>
162 Budget& WithTimePeriod(TimePeriodT&& value) { SetTimePeriod(std::forward<TimePeriodT>(value)); return *this;}
164
166
169 inline const CalculatedSpend& GetCalculatedSpend() const { return m_calculatedSpend; }
170 inline bool CalculatedSpendHasBeenSet() const { return m_calculatedSpendHasBeenSet; }
171 template<typename CalculatedSpendT = CalculatedSpend>
172 void SetCalculatedSpend(CalculatedSpendT&& value) { m_calculatedSpendHasBeenSet = true; m_calculatedSpend = std::forward<CalculatedSpendT>(value); }
173 template<typename CalculatedSpendT = CalculatedSpend>
174 Budget& WithCalculatedSpend(CalculatedSpendT&& value) { SetCalculatedSpend(std::forward<CalculatedSpendT>(value)); return *this;}
176
178
182 inline BudgetType GetBudgetType() const { return m_budgetType; }
183 inline bool BudgetTypeHasBeenSet() const { return m_budgetTypeHasBeenSet; }
184 inline void SetBudgetType(BudgetType value) { m_budgetTypeHasBeenSet = true; m_budgetType = value; }
185 inline Budget& WithBudgetType(BudgetType value) { SetBudgetType(value); return *this;}
187
189
192 inline const Aws::Utils::DateTime& GetLastUpdatedTime() const { return m_lastUpdatedTime; }
193 inline bool LastUpdatedTimeHasBeenSet() const { return m_lastUpdatedTimeHasBeenSet; }
194 template<typename LastUpdatedTimeT = Aws::Utils::DateTime>
195 void SetLastUpdatedTime(LastUpdatedTimeT&& value) { m_lastUpdatedTimeHasBeenSet = true; m_lastUpdatedTime = std::forward<LastUpdatedTimeT>(value); }
196 template<typename LastUpdatedTimeT = Aws::Utils::DateTime>
197 Budget& WithLastUpdatedTime(LastUpdatedTimeT&& value) { SetLastUpdatedTime(std::forward<LastUpdatedTimeT>(value)); return *this;}
199
201
205 inline const AutoAdjustData& GetAutoAdjustData() const { return m_autoAdjustData; }
206 inline bool AutoAdjustDataHasBeenSet() const { return m_autoAdjustDataHasBeenSet; }
207 template<typename AutoAdjustDataT = AutoAdjustData>
208 void SetAutoAdjustData(AutoAdjustDataT&& value) { m_autoAdjustDataHasBeenSet = true; m_autoAdjustData = std::forward<AutoAdjustDataT>(value); }
209 template<typename AutoAdjustDataT = AutoAdjustData>
210 Budget& WithAutoAdjustData(AutoAdjustDataT&& value) { SetAutoAdjustData(std::forward<AutoAdjustDataT>(value)); return *this;}
212
214
217 inline const Expression& GetFilterExpression() const { return m_filterExpression; }
218 inline bool FilterExpressionHasBeenSet() const { return m_filterExpressionHasBeenSet; }
219 template<typename FilterExpressionT = Expression>
220 void SetFilterExpression(FilterExpressionT&& value) { m_filterExpressionHasBeenSet = true; m_filterExpression = std::forward<FilterExpressionT>(value); }
221 template<typename FilterExpressionT = Expression>
222 Budget& WithFilterExpression(FilterExpressionT&& value) { SetFilterExpression(std::forward<FilterExpressionT>(value)); return *this;}
224
226
229 inline const Aws::Vector<Metric>& GetMetrics() const { return m_metrics; }
230 inline bool MetricsHasBeenSet() const { return m_metricsHasBeenSet; }
231 template<typename MetricsT = Aws::Vector<Metric>>
232 void SetMetrics(MetricsT&& value) { m_metricsHasBeenSet = true; m_metrics = std::forward<MetricsT>(value); }
233 template<typename MetricsT = Aws::Vector<Metric>>
234 Budget& WithMetrics(MetricsT&& value) { SetMetrics(std::forward<MetricsT>(value)); return *this;}
235 inline Budget& AddMetrics(Metric value) { m_metricsHasBeenSet = true; m_metrics.push_back(value); return *this; }
237 private:
238
239 Aws::String m_budgetName;
240 bool m_budgetNameHasBeenSet = false;
241
242 Spend m_budgetLimit;
243 bool m_budgetLimitHasBeenSet = false;
244
245 Aws::Map<Aws::String, Spend> m_plannedBudgetLimits;
246 bool m_plannedBudgetLimitsHasBeenSet = false;
247
248 TimeUnit m_timeUnit{TimeUnit::NOT_SET};
249 bool m_timeUnitHasBeenSet = false;
250
251 TimePeriod m_timePeriod;
252 bool m_timePeriodHasBeenSet = false;
253
254 CalculatedSpend m_calculatedSpend;
255 bool m_calculatedSpendHasBeenSet = false;
256
257 BudgetType m_budgetType{BudgetType::NOT_SET};
258 bool m_budgetTypeHasBeenSet = false;
259
260 Aws::Utils::DateTime m_lastUpdatedTime{};
261 bool m_lastUpdatedTimeHasBeenSet = false;
262
263 AutoAdjustData m_autoAdjustData;
264 bool m_autoAdjustDataHasBeenSet = false;
265
266 Expression m_filterExpression;
267 bool m_filterExpressionHasBeenSet = false;
268
269 Aws::Vector<Metric> m_metrics;
270 bool m_metricsHasBeenSet = false;
271 };
272
273} // namespace Model
274} // namespace Budgets
275} // namespace Aws
Budget & AddMetrics(Metric value)
Definition Budget.h:235
Budget & WithLastUpdatedTime(LastUpdatedTimeT &&value)
Definition Budget.h:197
const TimePeriod & GetTimePeriod() const
Definition Budget.h:157
bool PlannedBudgetLimitsHasBeenSet() const
Definition Budget.h:119
const Aws::Map< Aws::String, Spend > & GetPlannedBudgetLimits() const
Definition Budget.h:118
TimeUnit GetTimeUnit() const
Definition Budget.h:134
Budget & WithCalculatedSpend(CalculatedSpendT &&value)
Definition Budget.h:174
bool TimeUnitHasBeenSet() const
Definition Budget.h:135
bool LastUpdatedTimeHasBeenSet() const
Definition Budget.h:193
const AutoAdjustData & GetAutoAdjustData() const
Definition Budget.h:205
const Spend & GetBudgetLimit() const
Definition Budget.h:81
void SetAutoAdjustData(AutoAdjustDataT &&value)
Definition Budget.h:208
AWS_BUDGETS_API Budget & operator=(Aws::Utils::Json::JsonView jsonValue)
const Aws::String & GetBudgetName() const
Definition Budget.h:62
const CalculatedSpend & GetCalculatedSpend() const
Definition Budget.h:169
AWS_BUDGETS_API Aws::Utils::Json::JsonValue Jsonize() const
const Aws::Vector< Metric > & GetMetrics() const
Definition Budget.h:229
bool AutoAdjustDataHasBeenSet() const
Definition Budget.h:206
Budget & WithTimeUnit(TimeUnit value)
Definition Budget.h:137
AWS_BUDGETS_API Budget()=default
Budget & WithBudgetName(BudgetNameT &&value)
Definition Budget.h:67
AWS_BUDGETS_API Budget(Aws::Utils::Json::JsonView jsonValue)
bool BudgetNameHasBeenSet() const
Definition Budget.h:63
void SetMetrics(MetricsT &&value)
Definition Budget.h:232
Budget & WithAutoAdjustData(AutoAdjustDataT &&value)
Definition Budget.h:210
Budget & WithTimePeriod(TimePeriodT &&value)
Definition Budget.h:162
Budget & WithBudgetType(BudgetType value)
Definition Budget.h:185
void SetBudgetLimit(BudgetLimitT &&value)
Definition Budget.h:84
bool MetricsHasBeenSet() const
Definition Budget.h:230
bool FilterExpressionHasBeenSet() const
Definition Budget.h:218
const Expression & GetFilterExpression() const
Definition Budget.h:217
bool CalculatedSpendHasBeenSet() const
Definition Budget.h:170
void SetBudgetName(BudgetNameT &&value)
Definition Budget.h:65
bool BudgetTypeHasBeenSet() const
Definition Budget.h:183
Budget & WithPlannedBudgetLimits(PlannedBudgetLimitsT &&value)
Definition Budget.h:123
Budget & WithFilterExpression(FilterExpressionT &&value)
Definition Budget.h:222
Budget & WithBudgetLimit(BudgetLimitT &&value)
Definition Budget.h:86
bool TimePeriodHasBeenSet() const
Definition Budget.h:158
void SetPlannedBudgetLimits(PlannedBudgetLimitsT &&value)
Definition Budget.h:121
void SetCalculatedSpend(CalculatedSpendT &&value)
Definition Budget.h:172
Budget & WithMetrics(MetricsT &&value)
Definition Budget.h:234
BudgetType GetBudgetType() const
Definition Budget.h:182
void SetBudgetType(BudgetType value)
Definition Budget.h:184
void SetTimePeriod(TimePeriodT &&value)
Definition Budget.h:160
void SetFilterExpression(FilterExpressionT &&value)
Definition Budget.h:220
bool BudgetLimitHasBeenSet() const
Definition Budget.h:82
void SetTimeUnit(TimeUnit value)
Definition Budget.h:136
Budget & AddPlannedBudgetLimits(PlannedBudgetLimitsKeyT &&key, PlannedBudgetLimitsValueT &&value)
Definition Budget.h:125
const Aws::Utils::DateTime & GetLastUpdatedTime() const
Definition Budget.h:192
void SetLastUpdatedTime(LastUpdatedTimeT &&value)
Definition Budget.h:195
std::map< K, V, std::less< K >, Aws::Allocator< std::pair< const K, V > > > Map
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue