AWS SDK for C++

AWS SDK for C++ Version 1.11.719

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 private:
156 AccountScope m_accountScope{AccountScope::NOT_SET};
157
158 Aws::String m_accountId;
159
160 AnalysisType m_analysisType{AnalysisType::NOT_SET};
161
162 Aws::Vector<SavingsPlans> m_savingsPlansToAdd;
163
164 Aws::Vector<Aws::String> m_savingsPlansToExclude;
165
166 DateInterval m_lookBackTimePeriod;
167 bool m_accountScopeHasBeenSet = false;
168 bool m_accountIdHasBeenSet = false;
169 bool m_analysisTypeHasBeenSet = false;
170 bool m_savingsPlansToAddHasBeenSet = false;
171 bool m_savingsPlansToExcludeHasBeenSet = false;
172 bool m_lookBackTimePeriodHasBeenSet = false;
173};
174
175} // namespace Model
176} // namespace CostExplorer
177} // 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