AWS SDK for C++

AWS SDK for C++ Version 1.11.827

Loading...
Searching...
No Matches
SavingsPlansPurchaseAnalysisConfiguration.h
1
6#pragma once
7#include <aws/ce/CostExplorer_EXPORTS.h>
8#include <aws/ce/model/AccountScope.h>
9#include <aws/ce/model/AnalysisType.h>
10#include <aws/ce/model/DateInterval.h>
11#include <aws/ce/model/SavingsPlans.h>
12#include <aws/core/utils/memory/stl/AWSString.h>
13#include <aws/core/utils/memory/stl/AWSVector.h>
14
15#include <utility>
16
17namespace Aws {
18namespace Utils {
19namespace Json {
20class JsonValue;
21class JsonView;
22} // namespace Json
23} // namespace Utils
24namespace CostExplorer {
25namespace Model {
26
34 public:
35 AWS_COSTEXPLORER_API SavingsPlansPurchaseAnalysisConfiguration() = default;
38 AWS_COSTEXPLORER_API Aws::Utils::Json::JsonValue Jsonize() const;
39
41
44 inline AccountScope GetAccountScope() const { return m_accountScope; }
45 inline bool AccountScopeHasBeenSet() const { return m_accountScopeHasBeenSet; }
46 inline void SetAccountScope(AccountScope value) {
47 m_accountScopeHasBeenSet = true;
48 m_accountScope = value;
49 }
51 SetAccountScope(value);
52 return *this;
53 }
55
57
60 inline const Aws::String& GetAccountId() const { return m_accountId; }
61 inline bool AccountIdHasBeenSet() const { return m_accountIdHasBeenSet; }
62 template <typename AccountIdT = Aws::String>
63 void SetAccountId(AccountIdT&& value) {
64 m_accountIdHasBeenSet = true;
65 m_accountId = std::forward<AccountIdT>(value);
66 }
67 template <typename AccountIdT = Aws::String>
69 SetAccountId(std::forward<AccountIdT>(value));
70 return *this;
71 }
73
75
78 inline AnalysisType GetAnalysisType() const { return m_analysisType; }
79 inline bool AnalysisTypeHasBeenSet() const { return m_analysisTypeHasBeenSet; }
80 inline void SetAnalysisType(AnalysisType value) {
81 m_analysisTypeHasBeenSet = true;
82 m_analysisType = value;
83 }
85 SetAnalysisType(value);
86 return *this;
87 }
89
91
94 inline const Aws::Vector<SavingsPlans>& GetSavingsPlansToAdd() const { return m_savingsPlansToAdd; }
95 inline bool SavingsPlansToAddHasBeenSet() const { return m_savingsPlansToAddHasBeenSet; }
96 template <typename SavingsPlansToAddT = Aws::Vector<SavingsPlans>>
97 void SetSavingsPlansToAdd(SavingsPlansToAddT&& value) {
98 m_savingsPlansToAddHasBeenSet = true;
99 m_savingsPlansToAdd = std::forward<SavingsPlansToAddT>(value);
100 }
101 template <typename SavingsPlansToAddT = Aws::Vector<SavingsPlans>>
103 SetSavingsPlansToAdd(std::forward<SavingsPlansToAddT>(value));
104 return *this;
105 }
106 template <typename SavingsPlansToAddT = SavingsPlans>
108 m_savingsPlansToAddHasBeenSet = true;
109 m_savingsPlansToAdd.emplace_back(std::forward<SavingsPlansToAddT>(value));
110 return *this;
111 }
113
115
118 inline const Aws::Vector<Aws::String>& GetSavingsPlansToExclude() const { return m_savingsPlansToExclude; }
119 inline bool SavingsPlansToExcludeHasBeenSet() const { return m_savingsPlansToExcludeHasBeenSet; }
120 template <typename SavingsPlansToExcludeT = Aws::Vector<Aws::String>>
121 void SetSavingsPlansToExclude(SavingsPlansToExcludeT&& value) {
122 m_savingsPlansToExcludeHasBeenSet = true;
123 m_savingsPlansToExclude = std::forward<SavingsPlansToExcludeT>(value);
124 }
125 template <typename SavingsPlansToExcludeT = Aws::Vector<Aws::String>>
127 SetSavingsPlansToExclude(std::forward<SavingsPlansToExcludeT>(value));
128 return *this;
129 }
130 template <typename SavingsPlansToExcludeT = Aws::String>
132 m_savingsPlansToExcludeHasBeenSet = true;
133 m_savingsPlansToExclude.emplace_back(std::forward<SavingsPlansToExcludeT>(value));
134 return *this;
135 }
137
139
142 inline const DateInterval& GetLookBackTimePeriod() const { return m_lookBackTimePeriod; }
143 inline bool LookBackTimePeriodHasBeenSet() const { return m_lookBackTimePeriodHasBeenSet; }
144 template <typename LookBackTimePeriodT = DateInterval>
145 void SetLookBackTimePeriod(LookBackTimePeriodT&& value) {
146 m_lookBackTimePeriodHasBeenSet = true;
147 m_lookBackTimePeriod = std::forward<LookBackTimePeriodT>(value);
148 }
149 template <typename LookBackTimePeriodT = DateInterval>
151 SetLookBackTimePeriod(std::forward<LookBackTimePeriodT>(value));
152 return *this;
153 }
155
157
164 inline int GetSavingsPlansTargetCoverage() const { return m_savingsPlansTargetCoverage; }
165 inline bool SavingsPlansTargetCoverageHasBeenSet() const { return m_savingsPlansTargetCoverageHasBeenSet; }
166 inline void SetSavingsPlansTargetCoverage(int value) {
167 m_savingsPlansTargetCoverageHasBeenSet = true;
168 m_savingsPlansTargetCoverage = value;
169 }
172 return *this;
173 }
175 private:
176 AccountScope m_accountScope{AccountScope::NOT_SET};
177
178 Aws::String m_accountId;
179
180 AnalysisType m_analysisType{AnalysisType::NOT_SET};
181
182 Aws::Vector<SavingsPlans> m_savingsPlansToAdd;
183
184 Aws::Vector<Aws::String> m_savingsPlansToExclude;
185
186 DateInterval m_lookBackTimePeriod;
187
188 int m_savingsPlansTargetCoverage{0};
189 bool m_accountScopeHasBeenSet = false;
190 bool m_accountIdHasBeenSet = false;
191 bool m_analysisTypeHasBeenSet = false;
192 bool m_savingsPlansToAddHasBeenSet = false;
193 bool m_savingsPlansToExcludeHasBeenSet = false;
194 bool m_lookBackTimePeriodHasBeenSet = false;
195 bool m_savingsPlansTargetCoverageHasBeenSet = false;
196};
197
198} // namespace Model
199} // namespace CostExplorer
200} // namespace Aws
SavingsPlansPurchaseAnalysisConfiguration & WithAccountScope(AccountScope value)
SavingsPlansPurchaseAnalysisConfiguration & AddSavingsPlansToExclude(SavingsPlansToExcludeT &&value)
SavingsPlansPurchaseAnalysisConfiguration & WithAccountId(AccountIdT &&value)
AWS_COSTEXPLORER_API SavingsPlansPurchaseAnalysisConfiguration & operator=(Aws::Utils::Json::JsonView jsonValue)
SavingsPlansPurchaseAnalysisConfiguration & WithAnalysisType(AnalysisType value)
SavingsPlansPurchaseAnalysisConfiguration & WithSavingsPlansToExclude(SavingsPlansToExcludeT &&value)
AWS_COSTEXPLORER_API Aws::Utils::Json::JsonValue Jsonize() const
AWS_COSTEXPLORER_API SavingsPlansPurchaseAnalysisConfiguration(Aws::Utils::Json::JsonView jsonValue)
SavingsPlansPurchaseAnalysisConfiguration & AddSavingsPlansToAdd(SavingsPlansToAddT &&value)
SavingsPlansPurchaseAnalysisConfiguration & WithLookBackTimePeriod(LookBackTimePeriodT &&value)
SavingsPlansPurchaseAnalysisConfiguration & WithSavingsPlansToAdd(SavingsPlansToAddT &&value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue