AWS SDK for C++

AWS SDK for C++ Version 1.11.607

Loading...
Searching...
No Matches
Recommendation.h
1
6#pragma once
7#include <aws/cost-optimization-hub/CostOptimizationHub_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/core/utils/DateTime.h>
10#include <aws/cost-optimization-hub/model/Source.h>
11#include <aws/core/utils/memory/stl/AWSVector.h>
12#include <aws/cost-optimization-hub/model/Tag.h>
13#include <utility>
14
15namespace Aws
16{
17namespace Utils
18{
19namespace Json
20{
21 class JsonValue;
22 class JsonView;
23} // namespace Json
24} // namespace Utils
25namespace CostOptimizationHub
26{
27namespace Model
28{
29
36 {
37 public:
38 AWS_COSTOPTIMIZATIONHUB_API Recommendation() = default;
39 AWS_COSTOPTIMIZATIONHUB_API Recommendation(Aws::Utils::Json::JsonView jsonValue);
40 AWS_COSTOPTIMIZATIONHUB_API Recommendation& operator=(Aws::Utils::Json::JsonView jsonValue);
41 AWS_COSTOPTIMIZATIONHUB_API Aws::Utils::Json::JsonValue Jsonize() const;
42
43
45
48 inline const Aws::String& GetRecommendationId() const { return m_recommendationId; }
49 inline bool RecommendationIdHasBeenSet() const { return m_recommendationIdHasBeenSet; }
50 template<typename RecommendationIdT = Aws::String>
51 void SetRecommendationId(RecommendationIdT&& value) { m_recommendationIdHasBeenSet = true; m_recommendationId = std::forward<RecommendationIdT>(value); }
52 template<typename RecommendationIdT = Aws::String>
53 Recommendation& WithRecommendationId(RecommendationIdT&& value) { SetRecommendationId(std::forward<RecommendationIdT>(value)); return *this;}
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) { m_accountIdHasBeenSet = true; m_accountId = std::forward<AccountIdT>(value); }
64 template<typename AccountIdT = Aws::String>
65 Recommendation& WithAccountId(AccountIdT&& value) { SetAccountId(std::forward<AccountIdT>(value)); return *this;}
67
69
72 inline const Aws::String& GetRegion() const { return m_region; }
73 inline bool RegionHasBeenSet() const { return m_regionHasBeenSet; }
74 template<typename RegionT = Aws::String>
75 void SetRegion(RegionT&& value) { m_regionHasBeenSet = true; m_region = std::forward<RegionT>(value); }
76 template<typename RegionT = Aws::String>
77 Recommendation& WithRegion(RegionT&& value) { SetRegion(std::forward<RegionT>(value)); return *this;}
79
81
84 inline const Aws::String& GetResourceId() const { return m_resourceId; }
85 inline bool ResourceIdHasBeenSet() const { return m_resourceIdHasBeenSet; }
86 template<typename ResourceIdT = Aws::String>
87 void SetResourceId(ResourceIdT&& value) { m_resourceIdHasBeenSet = true; m_resourceId = std::forward<ResourceIdT>(value); }
88 template<typename ResourceIdT = Aws::String>
89 Recommendation& WithResourceId(ResourceIdT&& value) { SetResourceId(std::forward<ResourceIdT>(value)); return *this;}
91
93
96 inline const Aws::String& GetResourceArn() const { return m_resourceArn; }
97 inline bool ResourceArnHasBeenSet() const { return m_resourceArnHasBeenSet; }
98 template<typename ResourceArnT = Aws::String>
99 void SetResourceArn(ResourceArnT&& value) { m_resourceArnHasBeenSet = true; m_resourceArn = std::forward<ResourceArnT>(value); }
100 template<typename ResourceArnT = Aws::String>
101 Recommendation& WithResourceArn(ResourceArnT&& value) { SetResourceArn(std::forward<ResourceArnT>(value)); return *this;}
103
105
108 inline const Aws::String& GetCurrentResourceType() const { return m_currentResourceType; }
109 inline bool CurrentResourceTypeHasBeenSet() const { return m_currentResourceTypeHasBeenSet; }
110 template<typename CurrentResourceTypeT = Aws::String>
111 void SetCurrentResourceType(CurrentResourceTypeT&& value) { m_currentResourceTypeHasBeenSet = true; m_currentResourceType = std::forward<CurrentResourceTypeT>(value); }
112 template<typename CurrentResourceTypeT = Aws::String>
113 Recommendation& WithCurrentResourceType(CurrentResourceTypeT&& value) { SetCurrentResourceType(std::forward<CurrentResourceTypeT>(value)); return *this;}
115
117
120 inline const Aws::String& GetRecommendedResourceType() const { return m_recommendedResourceType; }
121 inline bool RecommendedResourceTypeHasBeenSet() const { return m_recommendedResourceTypeHasBeenSet; }
122 template<typename RecommendedResourceTypeT = Aws::String>
123 void SetRecommendedResourceType(RecommendedResourceTypeT&& value) { m_recommendedResourceTypeHasBeenSet = true; m_recommendedResourceType = std::forward<RecommendedResourceTypeT>(value); }
124 template<typename RecommendedResourceTypeT = Aws::String>
125 Recommendation& WithRecommendedResourceType(RecommendedResourceTypeT&& value) { SetRecommendedResourceType(std::forward<RecommendedResourceTypeT>(value)); return *this;}
127
129
132 inline double GetEstimatedMonthlySavings() const { return m_estimatedMonthlySavings; }
133 inline bool EstimatedMonthlySavingsHasBeenSet() const { return m_estimatedMonthlySavingsHasBeenSet; }
134 inline void SetEstimatedMonthlySavings(double value) { m_estimatedMonthlySavingsHasBeenSet = true; m_estimatedMonthlySavings = value; }
135 inline Recommendation& WithEstimatedMonthlySavings(double value) { SetEstimatedMonthlySavings(value); return *this;}
137
139
143 inline double GetEstimatedSavingsPercentage() const { return m_estimatedSavingsPercentage; }
144 inline bool EstimatedSavingsPercentageHasBeenSet() const { return m_estimatedSavingsPercentageHasBeenSet; }
145 inline void SetEstimatedSavingsPercentage(double value) { m_estimatedSavingsPercentageHasBeenSet = true; m_estimatedSavingsPercentage = value; }
148
150
154 inline double GetEstimatedMonthlyCost() const { return m_estimatedMonthlyCost; }
155 inline bool EstimatedMonthlyCostHasBeenSet() const { return m_estimatedMonthlyCostHasBeenSet; }
156 inline void SetEstimatedMonthlyCost(double value) { m_estimatedMonthlyCostHasBeenSet = true; m_estimatedMonthlyCost = value; }
157 inline Recommendation& WithEstimatedMonthlyCost(double value) { SetEstimatedMonthlyCost(value); return *this;}
159
161
164 inline const Aws::String& GetCurrencyCode() const { return m_currencyCode; }
165 inline bool CurrencyCodeHasBeenSet() const { return m_currencyCodeHasBeenSet; }
166 template<typename CurrencyCodeT = Aws::String>
167 void SetCurrencyCode(CurrencyCodeT&& value) { m_currencyCodeHasBeenSet = true; m_currencyCode = std::forward<CurrencyCodeT>(value); }
168 template<typename CurrencyCodeT = Aws::String>
169 Recommendation& WithCurrencyCode(CurrencyCodeT&& value) { SetCurrencyCode(std::forward<CurrencyCodeT>(value)); return *this;}
171
173
176 inline const Aws::String& GetImplementationEffort() const { return m_implementationEffort; }
177 inline bool ImplementationEffortHasBeenSet() const { return m_implementationEffortHasBeenSet; }
178 template<typename ImplementationEffortT = Aws::String>
179 void SetImplementationEffort(ImplementationEffortT&& value) { m_implementationEffortHasBeenSet = true; m_implementationEffort = std::forward<ImplementationEffortT>(value); }
180 template<typename ImplementationEffortT = Aws::String>
181 Recommendation& WithImplementationEffort(ImplementationEffortT&& value) { SetImplementationEffort(std::forward<ImplementationEffortT>(value)); return *this;}
183
185
188 inline bool GetRestartNeeded() const { return m_restartNeeded; }
189 inline bool RestartNeededHasBeenSet() const { return m_restartNeededHasBeenSet; }
190 inline void SetRestartNeeded(bool value) { m_restartNeededHasBeenSet = true; m_restartNeeded = value; }
191 inline Recommendation& WithRestartNeeded(bool value) { SetRestartNeeded(value); return *this;}
193
195
198 inline const Aws::String& GetActionType() const { return m_actionType; }
199 inline bool ActionTypeHasBeenSet() const { return m_actionTypeHasBeenSet; }
200 template<typename ActionTypeT = Aws::String>
201 void SetActionType(ActionTypeT&& value) { m_actionTypeHasBeenSet = true; m_actionType = std::forward<ActionTypeT>(value); }
202 template<typename ActionTypeT = Aws::String>
203 Recommendation& WithActionType(ActionTypeT&& value) { SetActionType(std::forward<ActionTypeT>(value)); return *this;}
205
207
210 inline bool GetRollbackPossible() const { return m_rollbackPossible; }
211 inline bool RollbackPossibleHasBeenSet() const { return m_rollbackPossibleHasBeenSet; }
212 inline void SetRollbackPossible(bool value) { m_rollbackPossibleHasBeenSet = true; m_rollbackPossible = value; }
213 inline Recommendation& WithRollbackPossible(bool value) { SetRollbackPossible(value); return *this;}
215
217
220 inline const Aws::String& GetCurrentResourceSummary() const { return m_currentResourceSummary; }
221 inline bool CurrentResourceSummaryHasBeenSet() const { return m_currentResourceSummaryHasBeenSet; }
222 template<typename CurrentResourceSummaryT = Aws::String>
223 void SetCurrentResourceSummary(CurrentResourceSummaryT&& value) { m_currentResourceSummaryHasBeenSet = true; m_currentResourceSummary = std::forward<CurrentResourceSummaryT>(value); }
224 template<typename CurrentResourceSummaryT = Aws::String>
225 Recommendation& WithCurrentResourceSummary(CurrentResourceSummaryT&& value) { SetCurrentResourceSummary(std::forward<CurrentResourceSummaryT>(value)); return *this;}
227
229
232 inline const Aws::String& GetRecommendedResourceSummary() const { return m_recommendedResourceSummary; }
233 inline bool RecommendedResourceSummaryHasBeenSet() const { return m_recommendedResourceSummaryHasBeenSet; }
234 template<typename RecommendedResourceSummaryT = Aws::String>
235 void SetRecommendedResourceSummary(RecommendedResourceSummaryT&& value) { m_recommendedResourceSummaryHasBeenSet = true; m_recommendedResourceSummary = std::forward<RecommendedResourceSummaryT>(value); }
236 template<typename RecommendedResourceSummaryT = Aws::String>
237 Recommendation& WithRecommendedResourceSummary(RecommendedResourceSummaryT&& value) { SetRecommendedResourceSummary(std::forward<RecommendedResourceSummaryT>(value)); return *this;}
239
241
244 inline const Aws::Utils::DateTime& GetLastRefreshTimestamp() const { return m_lastRefreshTimestamp; }
245 inline bool LastRefreshTimestampHasBeenSet() const { return m_lastRefreshTimestampHasBeenSet; }
246 template<typename LastRefreshTimestampT = Aws::Utils::DateTime>
247 void SetLastRefreshTimestamp(LastRefreshTimestampT&& value) { m_lastRefreshTimestampHasBeenSet = true; m_lastRefreshTimestamp = std::forward<LastRefreshTimestampT>(value); }
248 template<typename LastRefreshTimestampT = Aws::Utils::DateTime>
249 Recommendation& WithLastRefreshTimestamp(LastRefreshTimestampT&& value) { SetLastRefreshTimestamp(std::forward<LastRefreshTimestampT>(value)); return *this;}
251
253
256 inline int GetRecommendationLookbackPeriodInDays() const { return m_recommendationLookbackPeriodInDays; }
257 inline bool RecommendationLookbackPeriodInDaysHasBeenSet() const { return m_recommendationLookbackPeriodInDaysHasBeenSet; }
258 inline void SetRecommendationLookbackPeriodInDays(int value) { m_recommendationLookbackPeriodInDaysHasBeenSet = true; m_recommendationLookbackPeriodInDays = value; }
261
263
266 inline Source GetSource() const { return m_source; }
267 inline bool SourceHasBeenSet() const { return m_sourceHasBeenSet; }
268 inline void SetSource(Source value) { m_sourceHasBeenSet = true; m_source = value; }
269 inline Recommendation& WithSource(Source value) { SetSource(value); return *this;}
271
273
276 inline const Aws::Vector<Tag>& GetTags() const { return m_tags; }
277 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
278 template<typename TagsT = Aws::Vector<Tag>>
279 void SetTags(TagsT&& value) { m_tagsHasBeenSet = true; m_tags = std::forward<TagsT>(value); }
280 template<typename TagsT = Aws::Vector<Tag>>
281 Recommendation& WithTags(TagsT&& value) { SetTags(std::forward<TagsT>(value)); return *this;}
282 template<typename TagsT = Tag>
283 Recommendation& AddTags(TagsT&& value) { m_tagsHasBeenSet = true; m_tags.emplace_back(std::forward<TagsT>(value)); return *this; }
285 private:
286
287 Aws::String m_recommendationId;
288 bool m_recommendationIdHasBeenSet = false;
289
290 Aws::String m_accountId;
291 bool m_accountIdHasBeenSet = false;
292
293 Aws::String m_region;
294 bool m_regionHasBeenSet = false;
295
296 Aws::String m_resourceId;
297 bool m_resourceIdHasBeenSet = false;
298
299 Aws::String m_resourceArn;
300 bool m_resourceArnHasBeenSet = false;
301
302 Aws::String m_currentResourceType;
303 bool m_currentResourceTypeHasBeenSet = false;
304
305 Aws::String m_recommendedResourceType;
306 bool m_recommendedResourceTypeHasBeenSet = false;
307
308 double m_estimatedMonthlySavings{0.0};
309 bool m_estimatedMonthlySavingsHasBeenSet = false;
310
311 double m_estimatedSavingsPercentage{0.0};
312 bool m_estimatedSavingsPercentageHasBeenSet = false;
313
314 double m_estimatedMonthlyCost{0.0};
315 bool m_estimatedMonthlyCostHasBeenSet = false;
316
317 Aws::String m_currencyCode;
318 bool m_currencyCodeHasBeenSet = false;
319
320 Aws::String m_implementationEffort;
321 bool m_implementationEffortHasBeenSet = false;
322
323 bool m_restartNeeded{false};
324 bool m_restartNeededHasBeenSet = false;
325
326 Aws::String m_actionType;
327 bool m_actionTypeHasBeenSet = false;
328
329 bool m_rollbackPossible{false};
330 bool m_rollbackPossibleHasBeenSet = false;
331
332 Aws::String m_currentResourceSummary;
333 bool m_currentResourceSummaryHasBeenSet = false;
334
335 Aws::String m_recommendedResourceSummary;
336 bool m_recommendedResourceSummaryHasBeenSet = false;
337
338 Aws::Utils::DateTime m_lastRefreshTimestamp{};
339 bool m_lastRefreshTimestampHasBeenSet = false;
340
341 int m_recommendationLookbackPeriodInDays{0};
342 bool m_recommendationLookbackPeriodInDaysHasBeenSet = false;
343
344 Source m_source{Source::NOT_SET};
345 bool m_sourceHasBeenSet = false;
346
347 Aws::Vector<Tag> m_tags;
348 bool m_tagsHasBeenSet = false;
349 };
350
351} // namespace Model
352} // namespace CostOptimizationHub
353} // namespace Aws
void SetRecommendedResourceType(RecommendedResourceTypeT &&value)
void SetLastRefreshTimestamp(LastRefreshTimestampT &&value)
Recommendation & WithEstimatedSavingsPercentage(double value)
Recommendation & WithEstimatedMonthlySavings(double value)
Recommendation & WithCurrentResourceType(CurrentResourceTypeT &&value)
void SetRecommendedResourceSummary(RecommendedResourceSummaryT &&value)
Recommendation & WithRecommendedResourceSummary(RecommendedResourceSummaryT &&value)
const Aws::Vector< Tag > & GetTags() const
Recommendation & WithRecommendedResourceType(RecommendedResourceTypeT &&value)
AWS_COSTOPTIMIZATIONHUB_API Recommendation()=default
Recommendation & WithRecommendationLookbackPeriodInDays(int value)
Recommendation & WithImplementationEffort(ImplementationEffortT &&value)
const Aws::String & GetCurrentResourceSummary() const
const Aws::String & GetCurrentResourceType() const
void SetRecommendationId(RecommendationIdT &&value)
Recommendation & WithRollbackPossible(bool value)
Recommendation & WithCurrencyCode(CurrencyCodeT &&value)
const Aws::String & GetRecommendedResourceSummary() const
AWS_COSTOPTIMIZATIONHUB_API Aws::Utils::Json::JsonValue Jsonize() const
Recommendation & WithActionType(ActionTypeT &&value)
Recommendation & WithCurrentResourceSummary(CurrentResourceSummaryT &&value)
void SetCurrentResourceType(CurrentResourceTypeT &&value)
Recommendation & WithRecommendationId(RecommendationIdT &&value)
const Aws::Utils::DateTime & GetLastRefreshTimestamp() const
void SetCurrentResourceSummary(CurrentResourceSummaryT &&value)
const Aws::String & GetRecommendationId() const
AWS_COSTOPTIMIZATIONHUB_API Recommendation(Aws::Utils::Json::JsonView jsonValue)
Recommendation & WithResourceArn(ResourceArnT &&value)
Recommendation & WithLastRefreshTimestamp(LastRefreshTimestampT &&value)
Recommendation & WithResourceId(ResourceIdT &&value)
Recommendation & WithRegion(RegionT &&value)
void SetImplementationEffort(ImplementationEffortT &&value)
const Aws::String & GetRecommendedResourceType() const
const Aws::String & GetImplementationEffort() const
AWS_COSTOPTIMIZATIONHUB_API Recommendation & operator=(Aws::Utils::Json::JsonView jsonValue)
Recommendation & WithAccountId(AccountIdT &&value)
Recommendation & WithEstimatedMonthlyCost(double 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