AWS SDK for C++

AWS SDK for C++ Version 1.11.608

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/SavingsPlansUtilization.h>
10#include <aws/ce/model/SavingsPlansSavings.h>
11#include <aws/ce/model/SavingsPlansAmortizedCommitment.h>
12#include <utility>
13
14namespace Aws
15{
16namespace Utils
17{
18namespace Json
19{
20 class JsonValue;
21 class JsonView;
22} // namespace Json
23} // namespace Utils
24namespace CostExplorer
25{
26namespace Model
27{
28
36 {
37 public:
38 AWS_COSTEXPLORER_API SavingsPlansUtilizationByTime() = default;
41 AWS_COSTEXPLORER_API Aws::Utils::Json::JsonValue Jsonize() const;
42
43
45
46 inline const DateInterval& GetTimePeriod() const { return m_timePeriod; }
47 inline bool TimePeriodHasBeenSet() const { return m_timePeriodHasBeenSet; }
48 template<typename TimePeriodT = DateInterval>
49 void SetTimePeriod(TimePeriodT&& value) { m_timePeriodHasBeenSet = true; m_timePeriod = std::forward<TimePeriodT>(value); }
50 template<typename TimePeriodT = DateInterval>
51 SavingsPlansUtilizationByTime& WithTimePeriod(TimePeriodT&& value) { SetTimePeriod(std::forward<TimePeriodT>(value)); return *this;}
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) { m_utilizationHasBeenSet = true; m_utilization = std::forward<UtilizationT>(value); }
63 template<typename UtilizationT = SavingsPlansUtilization>
64 SavingsPlansUtilizationByTime& WithUtilization(UtilizationT&& value) { SetUtilization(std::forward<UtilizationT>(value)); return *this;}
66
68
73 inline const SavingsPlansSavings& GetSavings() const { return m_savings; }
74 inline bool SavingsHasBeenSet() const { return m_savingsHasBeenSet; }
75 template<typename SavingsT = SavingsPlansSavings>
76 void SetSavings(SavingsT&& value) { m_savingsHasBeenSet = true; m_savings = std::forward<SavingsT>(value); }
77 template<typename SavingsT = SavingsPlansSavings>
78 SavingsPlansUtilizationByTime& WithSavings(SavingsT&& value) { SetSavings(std::forward<SavingsT>(value)); return *this;}
80
82
86 inline const SavingsPlansAmortizedCommitment& GetAmortizedCommitment() const { return m_amortizedCommitment; }
87 inline bool AmortizedCommitmentHasBeenSet() const { return m_amortizedCommitmentHasBeenSet; }
88 template<typename AmortizedCommitmentT = SavingsPlansAmortizedCommitment>
89 void SetAmortizedCommitment(AmortizedCommitmentT&& value) { m_amortizedCommitmentHasBeenSet = true; m_amortizedCommitment = std::forward<AmortizedCommitmentT>(value); }
90 template<typename AmortizedCommitmentT = SavingsPlansAmortizedCommitment>
91 SavingsPlansUtilizationByTime& WithAmortizedCommitment(AmortizedCommitmentT&& value) { SetAmortizedCommitment(std::forward<AmortizedCommitmentT>(value)); return *this;}
93 private:
94
95 DateInterval m_timePeriod;
96 bool m_timePeriodHasBeenSet = false;
97
98 SavingsPlansUtilization m_utilization;
99 bool m_utilizationHasBeenSet = false;
100
101 SavingsPlansSavings m_savings;
102 bool m_savingsHasBeenSet = false;
103
104 SavingsPlansAmortizedCommitment m_amortizedCommitment;
105 bool m_amortizedCommitmentHasBeenSet = false;
106 };
107
108} // namespace Model
109} // namespace CostExplorer
110} // 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