AWS SDK for C++

AWS SDK for C++ Version 1.11.644

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/HealthStatus.h>
20#include <aws/budgets/model/Metric.h>
21#include <utility>
22
23namespace Aws
24{
25namespace Utils
26{
27namespace Json
28{
29 class JsonValue;
30 class JsonView;
31} // namespace Json
32} // namespace Utils
33namespace Budgets
34{
35namespace Model
36{
37
48 class Budget
49 {
50 public:
51 AWS_BUDGETS_API Budget() = default;
52 AWS_BUDGETS_API Budget(Aws::Utils::Json::JsonView jsonValue);
53 AWS_BUDGETS_API Budget& operator=(Aws::Utils::Json::JsonView jsonValue);
54 AWS_BUDGETS_API Aws::Utils::Json::JsonValue Jsonize() const;
55
56
58
63 inline const Aws::String& GetBudgetName() const { return m_budgetName; }
64 inline bool BudgetNameHasBeenSet() const { return m_budgetNameHasBeenSet; }
65 template<typename BudgetNameT = Aws::String>
66 void SetBudgetName(BudgetNameT&& value) { m_budgetNameHasBeenSet = true; m_budgetName = std::forward<BudgetNameT>(value); }
67 template<typename BudgetNameT = Aws::String>
68 Budget& WithBudgetName(BudgetNameT&& value) { SetBudgetName(std::forward<BudgetNameT>(value)); return *this;}
70
72
82 inline const Spend& GetBudgetLimit() const { return m_budgetLimit; }
83 inline bool BudgetLimitHasBeenSet() const { return m_budgetLimitHasBeenSet; }
84 template<typename BudgetLimitT = Spend>
85 void SetBudgetLimit(BudgetLimitT&& value) { m_budgetLimitHasBeenSet = true; m_budgetLimit = std::forward<BudgetLimitT>(value); }
86 template<typename BudgetLimitT = Spend>
87 Budget& WithBudgetLimit(BudgetLimitT&& value) { SetBudgetLimit(std::forward<BudgetLimitT>(value)); return *this;}
89
91
119 inline const Aws::Map<Aws::String, Spend>& GetPlannedBudgetLimits() const { return m_plannedBudgetLimits; }
120 inline bool PlannedBudgetLimitsHasBeenSet() const { return m_plannedBudgetLimitsHasBeenSet; }
121 template<typename PlannedBudgetLimitsT = Aws::Map<Aws::String, Spend>>
122 void SetPlannedBudgetLimits(PlannedBudgetLimitsT&& value) { m_plannedBudgetLimitsHasBeenSet = true; m_plannedBudgetLimits = std::forward<PlannedBudgetLimitsT>(value); }
123 template<typename PlannedBudgetLimitsT = Aws::Map<Aws::String, Spend>>
124 Budget& WithPlannedBudgetLimits(PlannedBudgetLimitsT&& value) { SetPlannedBudgetLimits(std::forward<PlannedBudgetLimitsT>(value)); return *this;}
125 template<typename PlannedBudgetLimitsKeyT = Aws::String, typename PlannedBudgetLimitsValueT = Spend>
126 Budget& AddPlannedBudgetLimits(PlannedBudgetLimitsKeyT&& key, PlannedBudgetLimitsValueT&& value) {
127 m_plannedBudgetLimitsHasBeenSet = true; m_plannedBudgetLimits.emplace(std::forward<PlannedBudgetLimitsKeyT>(key), std::forward<PlannedBudgetLimitsValueT>(value)); return *this;
128 }
130
132
135 inline TimeUnit GetTimeUnit() const { return m_timeUnit; }
136 inline bool TimeUnitHasBeenSet() const { return m_timeUnitHasBeenSet; }
137 inline void SetTimeUnit(TimeUnit value) { m_timeUnitHasBeenSet = true; m_timeUnit = value; }
138 inline Budget& WithTimeUnit(TimeUnit value) { SetTimeUnit(value); return *this;}
140
142
158 inline const TimePeriod& GetTimePeriod() const { return m_timePeriod; }
159 inline bool TimePeriodHasBeenSet() const { return m_timePeriodHasBeenSet; }
160 template<typename TimePeriodT = TimePeriod>
161 void SetTimePeriod(TimePeriodT&& value) { m_timePeriodHasBeenSet = true; m_timePeriod = std::forward<TimePeriodT>(value); }
162 template<typename TimePeriodT = TimePeriod>
163 Budget& WithTimePeriod(TimePeriodT&& value) { SetTimePeriod(std::forward<TimePeriodT>(value)); return *this;}
165
167
170 inline const CalculatedSpend& GetCalculatedSpend() const { return m_calculatedSpend; }
171 inline bool CalculatedSpendHasBeenSet() const { return m_calculatedSpendHasBeenSet; }
172 template<typename CalculatedSpendT = CalculatedSpend>
173 void SetCalculatedSpend(CalculatedSpendT&& value) { m_calculatedSpendHasBeenSet = true; m_calculatedSpend = std::forward<CalculatedSpendT>(value); }
174 template<typename CalculatedSpendT = CalculatedSpend>
175 Budget& WithCalculatedSpend(CalculatedSpendT&& value) { SetCalculatedSpend(std::forward<CalculatedSpendT>(value)); return *this;}
177
179
183 inline BudgetType GetBudgetType() const { return m_budgetType; }
184 inline bool BudgetTypeHasBeenSet() const { return m_budgetTypeHasBeenSet; }
185 inline void SetBudgetType(BudgetType value) { m_budgetTypeHasBeenSet = true; m_budgetType = value; }
186 inline Budget& WithBudgetType(BudgetType value) { SetBudgetType(value); return *this;}
188
190
193 inline const Aws::Utils::DateTime& GetLastUpdatedTime() const { return m_lastUpdatedTime; }
194 inline bool LastUpdatedTimeHasBeenSet() const { return m_lastUpdatedTimeHasBeenSet; }
195 template<typename LastUpdatedTimeT = Aws::Utils::DateTime>
196 void SetLastUpdatedTime(LastUpdatedTimeT&& value) { m_lastUpdatedTimeHasBeenSet = true; m_lastUpdatedTime = std::forward<LastUpdatedTimeT>(value); }
197 template<typename LastUpdatedTimeT = Aws::Utils::DateTime>
198 Budget& WithLastUpdatedTime(LastUpdatedTimeT&& value) { SetLastUpdatedTime(std::forward<LastUpdatedTimeT>(value)); return *this;}
200
202
206 inline const AutoAdjustData& GetAutoAdjustData() const { return m_autoAdjustData; }
207 inline bool AutoAdjustDataHasBeenSet() const { return m_autoAdjustDataHasBeenSet; }
208 template<typename AutoAdjustDataT = AutoAdjustData>
209 void SetAutoAdjustData(AutoAdjustDataT&& value) { m_autoAdjustDataHasBeenSet = true; m_autoAdjustData = std::forward<AutoAdjustDataT>(value); }
210 template<typename AutoAdjustDataT = AutoAdjustData>
211 Budget& WithAutoAdjustData(AutoAdjustDataT&& value) { SetAutoAdjustData(std::forward<AutoAdjustDataT>(value)); return *this;}
213
215
218 inline const Expression& GetFilterExpression() const { return m_filterExpression; }
219 inline bool FilterExpressionHasBeenSet() const { return m_filterExpressionHasBeenSet; }
220 template<typename FilterExpressionT = Expression>
221 void SetFilterExpression(FilterExpressionT&& value) { m_filterExpressionHasBeenSet = true; m_filterExpression = std::forward<FilterExpressionT>(value); }
222 template<typename FilterExpressionT = Expression>
223 Budget& WithFilterExpression(FilterExpressionT&& value) { SetFilterExpression(std::forward<FilterExpressionT>(value)); return *this;}
225
227
230 inline const Aws::Vector<Metric>& GetMetrics() const { return m_metrics; }
231 inline bool MetricsHasBeenSet() const { return m_metricsHasBeenSet; }
232 template<typename MetricsT = Aws::Vector<Metric>>
233 void SetMetrics(MetricsT&& value) { m_metricsHasBeenSet = true; m_metrics = std::forward<MetricsT>(value); }
234 template<typename MetricsT = Aws::Vector<Metric>>
235 Budget& WithMetrics(MetricsT&& value) { SetMetrics(std::forward<MetricsT>(value)); return *this;}
236 inline Budget& AddMetrics(Metric value) { m_metricsHasBeenSet = true; m_metrics.push_back(value); return *this; }
238
240
247 inline const Aws::String& GetBillingViewArn() const { return m_billingViewArn; }
248 inline bool BillingViewArnHasBeenSet() const { return m_billingViewArnHasBeenSet; }
249 template<typename BillingViewArnT = Aws::String>
250 void SetBillingViewArn(BillingViewArnT&& value) { m_billingViewArnHasBeenSet = true; m_billingViewArn = std::forward<BillingViewArnT>(value); }
251 template<typename BillingViewArnT = Aws::String>
252 Budget& WithBillingViewArn(BillingViewArnT&& value) { SetBillingViewArn(std::forward<BillingViewArnT>(value)); return *this;}
254
256
259 inline const HealthStatus& GetHealthStatus() const { return m_healthStatus; }
260 inline bool HealthStatusHasBeenSet() const { return m_healthStatusHasBeenSet; }
261 template<typename HealthStatusT = HealthStatus>
262 void SetHealthStatus(HealthStatusT&& value) { m_healthStatusHasBeenSet = true; m_healthStatus = std::forward<HealthStatusT>(value); }
263 template<typename HealthStatusT = HealthStatus>
264 Budget& WithHealthStatus(HealthStatusT&& value) { SetHealthStatus(std::forward<HealthStatusT>(value)); return *this;}
266 private:
267
268 Aws::String m_budgetName;
269 bool m_budgetNameHasBeenSet = false;
270
271 Spend m_budgetLimit;
272 bool m_budgetLimitHasBeenSet = false;
273
274 Aws::Map<Aws::String, Spend> m_plannedBudgetLimits;
275 bool m_plannedBudgetLimitsHasBeenSet = false;
276
277 TimeUnit m_timeUnit{TimeUnit::NOT_SET};
278 bool m_timeUnitHasBeenSet = false;
279
280 TimePeriod m_timePeriod;
281 bool m_timePeriodHasBeenSet = false;
282
283 CalculatedSpend m_calculatedSpend;
284 bool m_calculatedSpendHasBeenSet = false;
285
286 BudgetType m_budgetType{BudgetType::NOT_SET};
287 bool m_budgetTypeHasBeenSet = false;
288
289 Aws::Utils::DateTime m_lastUpdatedTime{};
290 bool m_lastUpdatedTimeHasBeenSet = false;
291
292 AutoAdjustData m_autoAdjustData;
293 bool m_autoAdjustDataHasBeenSet = false;
294
295 Expression m_filterExpression;
296 bool m_filterExpressionHasBeenSet = false;
297
298 Aws::Vector<Metric> m_metrics;
299 bool m_metricsHasBeenSet = false;
300
301 Aws::String m_billingViewArn;
302 bool m_billingViewArnHasBeenSet = false;
303
304 HealthStatus m_healthStatus;
305 bool m_healthStatusHasBeenSet = false;
306 };
307
308} // namespace Model
309} // namespace Budgets
310} // namespace Aws
Budget & AddMetrics(Metric value)
Definition Budget.h:236
Budget & WithLastUpdatedTime(LastUpdatedTimeT &&value)
Definition Budget.h:198
const TimePeriod & GetTimePeriod() const
Definition Budget.h:158
bool PlannedBudgetLimitsHasBeenSet() const
Definition Budget.h:120
const Aws::Map< Aws::String, Spend > & GetPlannedBudgetLimits() const
Definition Budget.h:119
TimeUnit GetTimeUnit() const
Definition Budget.h:135
Budget & WithCalculatedSpend(CalculatedSpendT &&value)
Definition Budget.h:175
Budget & WithHealthStatus(HealthStatusT &&value)
Definition Budget.h:264
bool TimeUnitHasBeenSet() const
Definition Budget.h:136
bool LastUpdatedTimeHasBeenSet() const
Definition Budget.h:194
const AutoAdjustData & GetAutoAdjustData() const
Definition Budget.h:206
const Spend & GetBudgetLimit() const
Definition Budget.h:82
void SetBillingViewArn(BillingViewArnT &&value)
Definition Budget.h:250
void SetAutoAdjustData(AutoAdjustDataT &&value)
Definition Budget.h:209
AWS_BUDGETS_API Budget & operator=(Aws::Utils::Json::JsonView jsonValue)
const Aws::String & GetBudgetName() const
Definition Budget.h:63
const CalculatedSpend & GetCalculatedSpend() const
Definition Budget.h:170
AWS_BUDGETS_API Aws::Utils::Json::JsonValue Jsonize() const
const Aws::String & GetBillingViewArn() const
Definition Budget.h:247
const Aws::Vector< Metric > & GetMetrics() const
Definition Budget.h:230
bool AutoAdjustDataHasBeenSet() const
Definition Budget.h:207
Budget & WithTimeUnit(TimeUnit value)
Definition Budget.h:138
AWS_BUDGETS_API Budget()=default
bool BillingViewArnHasBeenSet() const
Definition Budget.h:248
Budget & WithBillingViewArn(BillingViewArnT &&value)
Definition Budget.h:252
Budget & WithBudgetName(BudgetNameT &&value)
Definition Budget.h:68
AWS_BUDGETS_API Budget(Aws::Utils::Json::JsonView jsonValue)
bool BudgetNameHasBeenSet() const
Definition Budget.h:64
void SetMetrics(MetricsT &&value)
Definition Budget.h:233
Budget & WithAutoAdjustData(AutoAdjustDataT &&value)
Definition Budget.h:211
Budget & WithTimePeriod(TimePeriodT &&value)
Definition Budget.h:163
Budget & WithBudgetType(BudgetType value)
Definition Budget.h:186
void SetBudgetLimit(BudgetLimitT &&value)
Definition Budget.h:85
bool MetricsHasBeenSet() const
Definition Budget.h:231
bool FilterExpressionHasBeenSet() const
Definition Budget.h:219
const HealthStatus & GetHealthStatus() const
Definition Budget.h:259
const Expression & GetFilterExpression() const
Definition Budget.h:218
bool CalculatedSpendHasBeenSet() const
Definition Budget.h:171
void SetBudgetName(BudgetNameT &&value)
Definition Budget.h:66
bool BudgetTypeHasBeenSet() const
Definition Budget.h:184
Budget & WithPlannedBudgetLimits(PlannedBudgetLimitsT &&value)
Definition Budget.h:124
Budget & WithFilterExpression(FilterExpressionT &&value)
Definition Budget.h:223
Budget & WithBudgetLimit(BudgetLimitT &&value)
Definition Budget.h:87
bool TimePeriodHasBeenSet() const
Definition Budget.h:159
void SetHealthStatus(HealthStatusT &&value)
Definition Budget.h:262
void SetPlannedBudgetLimits(PlannedBudgetLimitsT &&value)
Definition Budget.h:122
void SetCalculatedSpend(CalculatedSpendT &&value)
Definition Budget.h:173
Budget & WithMetrics(MetricsT &&value)
Definition Budget.h:235
BudgetType GetBudgetType() const
Definition Budget.h:183
void SetBudgetType(BudgetType value)
Definition Budget.h:185
void SetTimePeriod(TimePeriodT &&value)
Definition Budget.h:161
void SetFilterExpression(FilterExpressionT &&value)
Definition Budget.h:221
bool BudgetLimitHasBeenSet() const
Definition Budget.h:83
bool HealthStatusHasBeenSet() const
Definition Budget.h:260
void SetTimeUnit(TimeUnit value)
Definition Budget.h:137
Budget & AddPlannedBudgetLimits(PlannedBudgetLimitsKeyT &&key, PlannedBudgetLimitsValueT &&value)
Definition Budget.h:126
const Aws::Utils::DateTime & GetLastUpdatedTime() const
Definition Budget.h:193
void SetLastUpdatedTime(LastUpdatedTimeT &&value)
Definition Budget.h:196
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