AWS SDK for C++

AWS SDK for C++ Version 1.11.719

Loading...
Searching...
No Matches
SavingsPlansUtilizationByTime.h
1
6#pragma once
7#include <aws/ce/CostExplorer_EXPORTS.h>
8#include <aws/ce/model/DateInterval.h>
9#include <aws/ce/model/SavingsPlansAmortizedCommitment.h>
10#include <aws/ce/model/SavingsPlansSavings.h>
11#include <aws/ce/model/SavingsPlansUtilization.h>
12
13#include <utility>
14
15namespace Aws {
16namespace Utils {
17namespace Json {
18class JsonValue;
19class JsonView;
20} // namespace Json
21} // namespace Utils
22namespace CostExplorer {
23namespace Model {
24
32 public:
33 AWS_COSTEXPLORER_API SavingsPlansUtilizationByTime() = default;
36 AWS_COSTEXPLORER_API Aws::Utils::Json::JsonValue Jsonize() const;
37
39
40 inline const DateInterval& GetTimePeriod() const { return m_timePeriod; }
41 inline bool TimePeriodHasBeenSet() const { return m_timePeriodHasBeenSet; }
42 template <typename TimePeriodT = DateInterval>
43 void SetTimePeriod(TimePeriodT&& value) {
44 m_timePeriodHasBeenSet = true;
45 m_timePeriod = std::forward<TimePeriodT>(value);
46 }
47 template <typename TimePeriodT = DateInterval>
49 SetTimePeriod(std::forward<TimePeriodT>(value));
50 return *this;
51 }
53
55
59 inline const SavingsPlansUtilization& GetUtilization() const { return m_utilization; }
60 inline bool UtilizationHasBeenSet() const { return m_utilizationHasBeenSet; }
61 template <typename UtilizationT = SavingsPlansUtilization>
62 void SetUtilization(UtilizationT&& value) {
63 m_utilizationHasBeenSet = true;
64 m_utilization = std::forward<UtilizationT>(value);
65 }
66 template <typename UtilizationT = SavingsPlansUtilization>
68 SetUtilization(std::forward<UtilizationT>(value));
69 return *this;
70 }
72
74
79 inline const SavingsPlansSavings& GetSavings() const { return m_savings; }
80 inline bool SavingsHasBeenSet() const { return m_savingsHasBeenSet; }
81 template <typename SavingsT = SavingsPlansSavings>
82 void SetSavings(SavingsT&& value) {
83 m_savingsHasBeenSet = true;
84 m_savings = std::forward<SavingsT>(value);
85 }
86 template <typename SavingsT = SavingsPlansSavings>
88 SetSavings(std::forward<SavingsT>(value));
89 return *this;
90 }
92
94
98 inline const SavingsPlansAmortizedCommitment& GetAmortizedCommitment() const { return m_amortizedCommitment; }
99 inline bool AmortizedCommitmentHasBeenSet() const { return m_amortizedCommitmentHasBeenSet; }
100 template <typename AmortizedCommitmentT = SavingsPlansAmortizedCommitment>
101 void SetAmortizedCommitment(AmortizedCommitmentT&& value) {
102 m_amortizedCommitmentHasBeenSet = true;
103 m_amortizedCommitment = std::forward<AmortizedCommitmentT>(value);
104 }
105 template <typename AmortizedCommitmentT = SavingsPlansAmortizedCommitment>
107 SetAmortizedCommitment(std::forward<AmortizedCommitmentT>(value));
108 return *this;
109 }
111 private:
112 DateInterval m_timePeriod;
113
114 SavingsPlansUtilization m_utilization;
115
116 SavingsPlansSavings m_savings;
117
118 SavingsPlansAmortizedCommitment m_amortizedCommitment;
119 bool m_timePeriodHasBeenSet = false;
120 bool m_utilizationHasBeenSet = false;
121 bool m_savingsHasBeenSet = false;
122 bool m_amortizedCommitmentHasBeenSet = false;
123};
124
125} // namespace Model
126} // namespace CostExplorer
127} // namespace Aws
SavingsPlansUtilizationByTime & WithUtilization(UtilizationT &&value)
SavingsPlansUtilizationByTime & WithAmortizedCommitment(AmortizedCommitmentT &&value)
const SavingsPlansAmortizedCommitment & GetAmortizedCommitment() const
AWS_COSTEXPLORER_API SavingsPlansUtilizationByTime(Aws::Utils::Json::JsonView jsonValue)
SavingsPlansUtilizationByTime & WithTimePeriod(TimePeriodT &&value)
SavingsPlansUtilizationByTime & WithSavings(SavingsT &&value)
AWS_COSTEXPLORER_API SavingsPlansUtilizationByTime()=default
AWS_COSTEXPLORER_API SavingsPlansUtilizationByTime & operator=(Aws::Utils::Json::JsonView jsonValue)
AWS_COSTEXPLORER_API Aws::Utils::Json::JsonValue Jsonize() const
Aws::Utils::Json::JsonValue JsonValue