AWS SDK for C++

AWS SDK for C++ Version 1.11.748

Loading...
Searching...
No Matches
Recommendation.h
1
6#pragma once
7#include <aws/core/utils/DateTime.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/core/utils/memory/stl/AWSVector.h>
10#include <aws/cost-optimization-hub/CostOptimizationHub_EXPORTS.h>
11#include <aws/cost-optimization-hub/model/Source.h>
12#include <aws/cost-optimization-hub/model/Tag.h>
13
14#include <utility>
15
16namespace Aws {
17namespace Utils {
18namespace Json {
19class JsonValue;
20class JsonView;
21} // namespace Json
22} // namespace Utils
23namespace CostOptimizationHub {
24namespace Model {
25
32 public:
33 AWS_COSTOPTIMIZATIONHUB_API Recommendation() = default;
34 AWS_COSTOPTIMIZATIONHUB_API Recommendation(Aws::Utils::Json::JsonView jsonValue);
35 AWS_COSTOPTIMIZATIONHUB_API Recommendation& operator=(Aws::Utils::Json::JsonView jsonValue);
36 AWS_COSTOPTIMIZATIONHUB_API Aws::Utils::Json::JsonValue Jsonize() const;
37
39
42 inline const Aws::String& GetRecommendationId() const { return m_recommendationId; }
43 inline bool RecommendationIdHasBeenSet() const { return m_recommendationIdHasBeenSet; }
44 template <typename RecommendationIdT = Aws::String>
45 void SetRecommendationId(RecommendationIdT&& value) {
46 m_recommendationIdHasBeenSet = true;
47 m_recommendationId = std::forward<RecommendationIdT>(value);
48 }
49 template <typename RecommendationIdT = Aws::String>
50 Recommendation& WithRecommendationId(RecommendationIdT&& value) {
51 SetRecommendationId(std::forward<RecommendationIdT>(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>
68 Recommendation& WithAccountId(AccountIdT&& value) {
69 SetAccountId(std::forward<AccountIdT>(value));
70 return *this;
71 }
73
75
78 inline const Aws::String& GetRegion() const { return m_region; }
79 inline bool RegionHasBeenSet() const { return m_regionHasBeenSet; }
80 template <typename RegionT = Aws::String>
81 void SetRegion(RegionT&& value) {
82 m_regionHasBeenSet = true;
83 m_region = std::forward<RegionT>(value);
84 }
85 template <typename RegionT = Aws::String>
86 Recommendation& WithRegion(RegionT&& value) {
87 SetRegion(std::forward<RegionT>(value));
88 return *this;
89 }
91
93
96 inline const Aws::String& GetResourceId() const { return m_resourceId; }
97 inline bool ResourceIdHasBeenSet() const { return m_resourceIdHasBeenSet; }
98 template <typename ResourceIdT = Aws::String>
99 void SetResourceId(ResourceIdT&& value) {
100 m_resourceIdHasBeenSet = true;
101 m_resourceId = std::forward<ResourceIdT>(value);
102 }
103 template <typename ResourceIdT = Aws::String>
104 Recommendation& WithResourceId(ResourceIdT&& value) {
105 SetResourceId(std::forward<ResourceIdT>(value));
106 return *this;
107 }
109
111
114 inline const Aws::String& GetResourceArn() const { return m_resourceArn; }
115 inline bool ResourceArnHasBeenSet() const { return m_resourceArnHasBeenSet; }
116 template <typename ResourceArnT = Aws::String>
117 void SetResourceArn(ResourceArnT&& value) {
118 m_resourceArnHasBeenSet = true;
119 m_resourceArn = std::forward<ResourceArnT>(value);
120 }
121 template <typename ResourceArnT = Aws::String>
122 Recommendation& WithResourceArn(ResourceArnT&& value) {
123 SetResourceArn(std::forward<ResourceArnT>(value));
124 return *this;
125 }
127
129
132 inline const Aws::String& GetCurrentResourceType() const { return m_currentResourceType; }
133 inline bool CurrentResourceTypeHasBeenSet() const { return m_currentResourceTypeHasBeenSet; }
134 template <typename CurrentResourceTypeT = Aws::String>
135 void SetCurrentResourceType(CurrentResourceTypeT&& value) {
136 m_currentResourceTypeHasBeenSet = true;
137 m_currentResourceType = std::forward<CurrentResourceTypeT>(value);
138 }
139 template <typename CurrentResourceTypeT = Aws::String>
140 Recommendation& WithCurrentResourceType(CurrentResourceTypeT&& value) {
141 SetCurrentResourceType(std::forward<CurrentResourceTypeT>(value));
142 return *this;
143 }
145
147
150 inline const Aws::String& GetRecommendedResourceType() const { return m_recommendedResourceType; }
151 inline bool RecommendedResourceTypeHasBeenSet() const { return m_recommendedResourceTypeHasBeenSet; }
152 template <typename RecommendedResourceTypeT = Aws::String>
153 void SetRecommendedResourceType(RecommendedResourceTypeT&& value) {
154 m_recommendedResourceTypeHasBeenSet = true;
155 m_recommendedResourceType = std::forward<RecommendedResourceTypeT>(value);
156 }
157 template <typename RecommendedResourceTypeT = Aws::String>
158 Recommendation& WithRecommendedResourceType(RecommendedResourceTypeT&& value) {
159 SetRecommendedResourceType(std::forward<RecommendedResourceTypeT>(value));
160 return *this;
161 }
163
165
168 inline double GetEstimatedMonthlySavings() const { return m_estimatedMonthlySavings; }
169 inline bool EstimatedMonthlySavingsHasBeenSet() const { return m_estimatedMonthlySavingsHasBeenSet; }
170 inline void SetEstimatedMonthlySavings(double value) {
171 m_estimatedMonthlySavingsHasBeenSet = true;
172 m_estimatedMonthlySavings = value;
173 }
176 return *this;
177 }
179
181
185 inline double GetEstimatedSavingsPercentage() const { return m_estimatedSavingsPercentage; }
186 inline bool EstimatedSavingsPercentageHasBeenSet() const { return m_estimatedSavingsPercentageHasBeenSet; }
187 inline void SetEstimatedSavingsPercentage(double value) {
188 m_estimatedSavingsPercentageHasBeenSet = true;
189 m_estimatedSavingsPercentage = value;
190 }
193 return *this;
194 }
196
198
202 inline double GetEstimatedMonthlyCost() const { return m_estimatedMonthlyCost; }
203 inline bool EstimatedMonthlyCostHasBeenSet() const { return m_estimatedMonthlyCostHasBeenSet; }
204 inline void SetEstimatedMonthlyCost(double value) {
205 m_estimatedMonthlyCostHasBeenSet = true;
206 m_estimatedMonthlyCost = value;
207 }
210 return *this;
211 }
213
215
218 inline const Aws::String& GetCurrencyCode() const { return m_currencyCode; }
219 inline bool CurrencyCodeHasBeenSet() const { return m_currencyCodeHasBeenSet; }
220 template <typename CurrencyCodeT = Aws::String>
221 void SetCurrencyCode(CurrencyCodeT&& value) {
222 m_currencyCodeHasBeenSet = true;
223 m_currencyCode = std::forward<CurrencyCodeT>(value);
224 }
225 template <typename CurrencyCodeT = Aws::String>
226 Recommendation& WithCurrencyCode(CurrencyCodeT&& value) {
227 SetCurrencyCode(std::forward<CurrencyCodeT>(value));
228 return *this;
229 }
231
233
236 inline const Aws::String& GetImplementationEffort() const { return m_implementationEffort; }
237 inline bool ImplementationEffortHasBeenSet() const { return m_implementationEffortHasBeenSet; }
238 template <typename ImplementationEffortT = Aws::String>
239 void SetImplementationEffort(ImplementationEffortT&& value) {
240 m_implementationEffortHasBeenSet = true;
241 m_implementationEffort = std::forward<ImplementationEffortT>(value);
242 }
243 template <typename ImplementationEffortT = Aws::String>
244 Recommendation& WithImplementationEffort(ImplementationEffortT&& value) {
245 SetImplementationEffort(std::forward<ImplementationEffortT>(value));
246 return *this;
247 }
249
251
254 inline bool GetRestartNeeded() const { return m_restartNeeded; }
255 inline bool RestartNeededHasBeenSet() const { return m_restartNeededHasBeenSet; }
256 inline void SetRestartNeeded(bool value) {
257 m_restartNeededHasBeenSet = true;
258 m_restartNeeded = value;
259 }
260 inline Recommendation& WithRestartNeeded(bool value) {
261 SetRestartNeeded(value);
262 return *this;
263 }
265
267
270 inline const Aws::String& GetActionType() const { return m_actionType; }
271 inline bool ActionTypeHasBeenSet() const { return m_actionTypeHasBeenSet; }
272 template <typename ActionTypeT = Aws::String>
273 void SetActionType(ActionTypeT&& value) {
274 m_actionTypeHasBeenSet = true;
275 m_actionType = std::forward<ActionTypeT>(value);
276 }
277 template <typename ActionTypeT = Aws::String>
278 Recommendation& WithActionType(ActionTypeT&& value) {
279 SetActionType(std::forward<ActionTypeT>(value));
280 return *this;
281 }
283
285
288 inline bool GetRollbackPossible() const { return m_rollbackPossible; }
289 inline bool RollbackPossibleHasBeenSet() const { return m_rollbackPossibleHasBeenSet; }
290 inline void SetRollbackPossible(bool value) {
291 m_rollbackPossibleHasBeenSet = true;
292 m_rollbackPossible = value;
293 }
295 SetRollbackPossible(value);
296 return *this;
297 }
299
301
304 inline const Aws::String& GetCurrentResourceSummary() const { return m_currentResourceSummary; }
305 inline bool CurrentResourceSummaryHasBeenSet() const { return m_currentResourceSummaryHasBeenSet; }
306 template <typename CurrentResourceSummaryT = Aws::String>
307 void SetCurrentResourceSummary(CurrentResourceSummaryT&& value) {
308 m_currentResourceSummaryHasBeenSet = true;
309 m_currentResourceSummary = std::forward<CurrentResourceSummaryT>(value);
310 }
311 template <typename CurrentResourceSummaryT = Aws::String>
312 Recommendation& WithCurrentResourceSummary(CurrentResourceSummaryT&& value) {
313 SetCurrentResourceSummary(std::forward<CurrentResourceSummaryT>(value));
314 return *this;
315 }
317
319
322 inline const Aws::String& GetRecommendedResourceSummary() const { return m_recommendedResourceSummary; }
323 inline bool RecommendedResourceSummaryHasBeenSet() const { return m_recommendedResourceSummaryHasBeenSet; }
324 template <typename RecommendedResourceSummaryT = Aws::String>
325 void SetRecommendedResourceSummary(RecommendedResourceSummaryT&& value) {
326 m_recommendedResourceSummaryHasBeenSet = true;
327 m_recommendedResourceSummary = std::forward<RecommendedResourceSummaryT>(value);
328 }
329 template <typename RecommendedResourceSummaryT = Aws::String>
330 Recommendation& WithRecommendedResourceSummary(RecommendedResourceSummaryT&& value) {
331 SetRecommendedResourceSummary(std::forward<RecommendedResourceSummaryT>(value));
332 return *this;
333 }
335
337
340 inline const Aws::Utils::DateTime& GetLastRefreshTimestamp() const { return m_lastRefreshTimestamp; }
341 inline bool LastRefreshTimestampHasBeenSet() const { return m_lastRefreshTimestampHasBeenSet; }
342 template <typename LastRefreshTimestampT = Aws::Utils::DateTime>
343 void SetLastRefreshTimestamp(LastRefreshTimestampT&& value) {
344 m_lastRefreshTimestampHasBeenSet = true;
345 m_lastRefreshTimestamp = std::forward<LastRefreshTimestampT>(value);
346 }
347 template <typename LastRefreshTimestampT = Aws::Utils::DateTime>
348 Recommendation& WithLastRefreshTimestamp(LastRefreshTimestampT&& value) {
349 SetLastRefreshTimestamp(std::forward<LastRefreshTimestampT>(value));
350 return *this;
351 }
353
355
358 inline int GetRecommendationLookbackPeriodInDays() const { return m_recommendationLookbackPeriodInDays; }
359 inline bool RecommendationLookbackPeriodInDaysHasBeenSet() const { return m_recommendationLookbackPeriodInDaysHasBeenSet; }
361 m_recommendationLookbackPeriodInDaysHasBeenSet = true;
362 m_recommendationLookbackPeriodInDays = value;
363 }
366 return *this;
367 }
369
371
374 inline Source GetSource() const { return m_source; }
375 inline bool SourceHasBeenSet() const { return m_sourceHasBeenSet; }
376 inline void SetSource(Source value) {
377 m_sourceHasBeenSet = true;
378 m_source = value;
379 }
381 SetSource(value);
382 return *this;
383 }
385
387
390 inline const Aws::Vector<Tag>& GetTags() const { return m_tags; }
391 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
392 template <typename TagsT = Aws::Vector<Tag>>
393 void SetTags(TagsT&& value) {
394 m_tagsHasBeenSet = true;
395 m_tags = std::forward<TagsT>(value);
396 }
397 template <typename TagsT = Aws::Vector<Tag>>
398 Recommendation& WithTags(TagsT&& value) {
399 SetTags(std::forward<TagsT>(value));
400 return *this;
401 }
402 template <typename TagsT = Tag>
403 Recommendation& AddTags(TagsT&& value) {
404 m_tagsHasBeenSet = true;
405 m_tags.emplace_back(std::forward<TagsT>(value));
406 return *this;
407 }
409 private:
410 Aws::String m_recommendationId;
411
412 Aws::String m_accountId;
413
414 Aws::String m_region;
415
416 Aws::String m_resourceId;
417
418 Aws::String m_resourceArn;
419
420 Aws::String m_currentResourceType;
421
422 Aws::String m_recommendedResourceType;
423
424 double m_estimatedMonthlySavings{0.0};
425
426 double m_estimatedSavingsPercentage{0.0};
427
428 double m_estimatedMonthlyCost{0.0};
429
430 Aws::String m_currencyCode;
431
432 Aws::String m_implementationEffort;
433
434 bool m_restartNeeded{false};
435
436 Aws::String m_actionType;
437
438 bool m_rollbackPossible{false};
439
440 Aws::String m_currentResourceSummary;
441
442 Aws::String m_recommendedResourceSummary;
443
444 Aws::Utils::DateTime m_lastRefreshTimestamp{};
445
446 int m_recommendationLookbackPeriodInDays{0};
447
448 Source m_source{Source::NOT_SET};
449
450 Aws::Vector<Tag> m_tags;
451 bool m_recommendationIdHasBeenSet = false;
452 bool m_accountIdHasBeenSet = false;
453 bool m_regionHasBeenSet = false;
454 bool m_resourceIdHasBeenSet = false;
455 bool m_resourceArnHasBeenSet = false;
456 bool m_currentResourceTypeHasBeenSet = false;
457 bool m_recommendedResourceTypeHasBeenSet = false;
458 bool m_estimatedMonthlySavingsHasBeenSet = false;
459 bool m_estimatedSavingsPercentageHasBeenSet = false;
460 bool m_estimatedMonthlyCostHasBeenSet = false;
461 bool m_currencyCodeHasBeenSet = false;
462 bool m_implementationEffortHasBeenSet = false;
463 bool m_restartNeededHasBeenSet = false;
464 bool m_actionTypeHasBeenSet = false;
465 bool m_rollbackPossibleHasBeenSet = false;
466 bool m_currentResourceSummaryHasBeenSet = false;
467 bool m_recommendedResourceSummaryHasBeenSet = false;
468 bool m_lastRefreshTimestampHasBeenSet = false;
469 bool m_recommendationLookbackPeriodInDaysHasBeenSet = false;
470 bool m_sourceHasBeenSet = false;
471 bool m_tagsHasBeenSet = false;
472};
473
474} // namespace Model
475} // namespace CostOptimizationHub
476} // 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