AWS SDK for C++

AWS SDK for C++ Version 1.11.754

Loading...
Searching...
No Matches
GetRecommendationResult.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/ActionType.h>
12#include <aws/cost-optimization-hub/model/ImplementationEffort.h>
13#include <aws/cost-optimization-hub/model/ResourceDetails.h>
14#include <aws/cost-optimization-hub/model/ResourceType.h>
15#include <aws/cost-optimization-hub/model/Source.h>
16#include <aws/cost-optimization-hub/model/Tag.h>
17
18#include <utility>
19
20namespace Aws {
21template <typename RESULT_TYPE>
22class AmazonWebServiceResult;
23
24namespace Utils {
25namespace Json {
26class JsonValue;
27} // namespace Json
28} // namespace Utils
29namespace CostOptimizationHub {
30namespace Model {
32 public:
33 AWS_COSTOPTIMIZATIONHUB_API GetRecommendationResult() = default;
36
38
41 inline const Aws::String& GetRecommendationId() const { return m_recommendationId; }
42 template <typename RecommendationIdT = Aws::String>
43 void SetRecommendationId(RecommendationIdT&& value) {
44 m_recommendationIdHasBeenSet = true;
45 m_recommendationId = std::forward<RecommendationIdT>(value);
46 }
47 template <typename RecommendationIdT = Aws::String>
48 GetRecommendationResult& WithRecommendationId(RecommendationIdT&& value) {
49 SetRecommendationId(std::forward<RecommendationIdT>(value));
50 return *this;
51 }
53
55
59 inline const Aws::String& GetResourceId() const { return m_resourceId; }
60 template <typename ResourceIdT = Aws::String>
61 void SetResourceId(ResourceIdT&& value) {
62 m_resourceIdHasBeenSet = true;
63 m_resourceId = std::forward<ResourceIdT>(value);
64 }
65 template <typename ResourceIdT = Aws::String>
67 SetResourceId(std::forward<ResourceIdT>(value));
68 return *this;
69 }
71
73
76 inline const Aws::String& GetResourceArn() const { return m_resourceArn; }
77 template <typename ResourceArnT = Aws::String>
78 void SetResourceArn(ResourceArnT&& value) {
79 m_resourceArnHasBeenSet = true;
80 m_resourceArn = std::forward<ResourceArnT>(value);
81 }
82 template <typename ResourceArnT = Aws::String>
84 SetResourceArn(std::forward<ResourceArnT>(value));
85 return *this;
86 }
88
90
93 inline const Aws::String& GetAccountId() const { return m_accountId; }
94 template <typename AccountIdT = Aws::String>
95 void SetAccountId(AccountIdT&& value) {
96 m_accountIdHasBeenSet = true;
97 m_accountId = std::forward<AccountIdT>(value);
98 }
99 template <typename AccountIdT = Aws::String>
101 SetAccountId(std::forward<AccountIdT>(value));
102 return *this;
103 }
105
107
110 inline const Aws::String& GetCurrencyCode() const { return m_currencyCode; }
111 template <typename CurrencyCodeT = Aws::String>
112 void SetCurrencyCode(CurrencyCodeT&& value) {
113 m_currencyCodeHasBeenSet = true;
114 m_currencyCode = std::forward<CurrencyCodeT>(value);
115 }
116 template <typename CurrencyCodeT = Aws::String>
118 SetCurrencyCode(std::forward<CurrencyCodeT>(value));
119 return *this;
120 }
122
124
127 inline int GetRecommendationLookbackPeriodInDays() const { return m_recommendationLookbackPeriodInDays; }
129 m_recommendationLookbackPeriodInDaysHasBeenSet = true;
130 m_recommendationLookbackPeriodInDays = value;
131 }
134 return *this;
135 }
137
139
142 inline int GetCostCalculationLookbackPeriodInDays() const { return m_costCalculationLookbackPeriodInDays; }
144 m_costCalculationLookbackPeriodInDaysHasBeenSet = true;
145 m_costCalculationLookbackPeriodInDays = value;
146 }
149 return *this;
150 }
152
154
158 inline double GetEstimatedSavingsPercentage() const { return m_estimatedSavingsPercentage; }
159 inline void SetEstimatedSavingsPercentage(double value) {
160 m_estimatedSavingsPercentageHasBeenSet = true;
161 m_estimatedSavingsPercentage = value;
162 }
165 return *this;
166 }
168
170
174 inline double GetEstimatedSavingsOverCostCalculationLookbackPeriod() const { return m_estimatedSavingsOverCostCalculationLookbackPeriod; }
176 m_estimatedSavingsOverCostCalculationLookbackPeriodHasBeenSet = true;
177 m_estimatedSavingsOverCostCalculationLookbackPeriod = value;
178 }
181 return *this;
182 }
184
186
189 inline ResourceType GetCurrentResourceType() const { return m_currentResourceType; }
191 m_currentResourceTypeHasBeenSet = true;
192 m_currentResourceType = value;
193 }
196 return *this;
197 }
199
201
204 inline ResourceType GetRecommendedResourceType() const { return m_recommendedResourceType; }
206 m_recommendedResourceTypeHasBeenSet = true;
207 m_recommendedResourceType = value;
208 }
211 return *this;
212 }
214
216
219 inline const Aws::String& GetRegion() const { return m_region; }
220 template <typename RegionT = Aws::String>
221 void SetRegion(RegionT&& value) {
222 m_regionHasBeenSet = true;
223 m_region = std::forward<RegionT>(value);
224 }
225 template <typename RegionT = Aws::String>
227 SetRegion(std::forward<RegionT>(value));
228 return *this;
229 }
231
233
236 inline Source GetSource() const { return m_source; }
237 inline void SetSource(Source value) {
238 m_sourceHasBeenSet = true;
239 m_source = value;
240 }
242 SetSource(value);
243 return *this;
244 }
246
248
251 inline const Aws::Utils::DateTime& GetLastRefreshTimestamp() const { return m_lastRefreshTimestamp; }
252 template <typename LastRefreshTimestampT = Aws::Utils::DateTime>
253 void SetLastRefreshTimestamp(LastRefreshTimestampT&& value) {
254 m_lastRefreshTimestampHasBeenSet = true;
255 m_lastRefreshTimestamp = std::forward<LastRefreshTimestampT>(value);
256 }
257 template <typename LastRefreshTimestampT = Aws::Utils::DateTime>
258 GetRecommendationResult& WithLastRefreshTimestamp(LastRefreshTimestampT&& value) {
259 SetLastRefreshTimestamp(std::forward<LastRefreshTimestampT>(value));
260 return *this;
261 }
263
265
268 inline double GetEstimatedMonthlySavings() const { return m_estimatedMonthlySavings; }
269 inline void SetEstimatedMonthlySavings(double value) {
270 m_estimatedMonthlySavingsHasBeenSet = true;
271 m_estimatedMonthlySavings = value;
272 }
275 return *this;
276 }
278
280
284 inline double GetEstimatedMonthlyCost() const { return m_estimatedMonthlyCost; }
285 inline void SetEstimatedMonthlyCost(double value) {
286 m_estimatedMonthlyCostHasBeenSet = true;
287 m_estimatedMonthlyCost = value;
288 }
291 return *this;
292 }
294
296
299 inline ImplementationEffort GetImplementationEffort() const { return m_implementationEffort; }
301 m_implementationEffortHasBeenSet = true;
302 m_implementationEffort = value;
303 }
306 return *this;
307 }
309
311
314 inline bool GetRestartNeeded() const { return m_restartNeeded; }
315 inline void SetRestartNeeded(bool value) {
316 m_restartNeededHasBeenSet = true;
317 m_restartNeeded = value;
318 }
320 SetRestartNeeded(value);
321 return *this;
322 }
324
326
329 inline ActionType GetActionType() const { return m_actionType; }
330 inline void SetActionType(ActionType value) {
331 m_actionTypeHasBeenSet = true;
332 m_actionType = value;
333 }
335 SetActionType(value);
336 return *this;
337 }
339
341
344 inline bool GetRollbackPossible() const { return m_rollbackPossible; }
345 inline void SetRollbackPossible(bool value) {
346 m_rollbackPossibleHasBeenSet = true;
347 m_rollbackPossible = value;
348 }
350 SetRollbackPossible(value);
351 return *this;
352 }
354
356
359 inline const ResourceDetails& GetCurrentResourceDetails() const { return m_currentResourceDetails; }
360 template <typename CurrentResourceDetailsT = ResourceDetails>
361 void SetCurrentResourceDetails(CurrentResourceDetailsT&& value) {
362 m_currentResourceDetailsHasBeenSet = true;
363 m_currentResourceDetails = std::forward<CurrentResourceDetailsT>(value);
364 }
365 template <typename CurrentResourceDetailsT = ResourceDetails>
366 GetRecommendationResult& WithCurrentResourceDetails(CurrentResourceDetailsT&& value) {
367 SetCurrentResourceDetails(std::forward<CurrentResourceDetailsT>(value));
368 return *this;
369 }
371
373
376 inline const ResourceDetails& GetRecommendedResourceDetails() const { return m_recommendedResourceDetails; }
377 template <typename RecommendedResourceDetailsT = ResourceDetails>
378 void SetRecommendedResourceDetails(RecommendedResourceDetailsT&& value) {
379 m_recommendedResourceDetailsHasBeenSet = true;
380 m_recommendedResourceDetails = std::forward<RecommendedResourceDetailsT>(value);
381 }
382 template <typename RecommendedResourceDetailsT = ResourceDetails>
383 GetRecommendationResult& WithRecommendedResourceDetails(RecommendedResourceDetailsT&& value) {
384 SetRecommendedResourceDetails(std::forward<RecommendedResourceDetailsT>(value));
385 return *this;
386 }
388
390
394 inline const Aws::Vector<Tag>& GetTags() const { return m_tags; }
395 template <typename TagsT = Aws::Vector<Tag>>
396 void SetTags(TagsT&& value) {
397 m_tagsHasBeenSet = true;
398 m_tags = std::forward<TagsT>(value);
399 }
400 template <typename TagsT = Aws::Vector<Tag>>
402 SetTags(std::forward<TagsT>(value));
403 return *this;
404 }
405 template <typename TagsT = Tag>
407 m_tagsHasBeenSet = true;
408 m_tags.emplace_back(std::forward<TagsT>(value));
409 return *this;
410 }
412
414
415 inline const Aws::String& GetRequestId() const { return m_requestId; }
416 template <typename RequestIdT = Aws::String>
417 void SetRequestId(RequestIdT&& value) {
418 m_requestIdHasBeenSet = true;
419 m_requestId = std::forward<RequestIdT>(value);
420 }
421 template <typename RequestIdT = Aws::String>
423 SetRequestId(std::forward<RequestIdT>(value));
424 return *this;
425 }
427 private:
428 Aws::String m_recommendationId;
429
430 Aws::String m_resourceId;
431
432 Aws::String m_resourceArn;
433
434 Aws::String m_accountId;
435
436 Aws::String m_currencyCode;
437
438 int m_recommendationLookbackPeriodInDays{0};
439
440 int m_costCalculationLookbackPeriodInDays{0};
441
442 double m_estimatedSavingsPercentage{0.0};
443
444 double m_estimatedSavingsOverCostCalculationLookbackPeriod{0.0};
445
446 ResourceType m_currentResourceType{ResourceType::NOT_SET};
447
448 ResourceType m_recommendedResourceType{ResourceType::NOT_SET};
449
450 Aws::String m_region;
451
452 Source m_source{Source::NOT_SET};
453
454 Aws::Utils::DateTime m_lastRefreshTimestamp{};
455
456 double m_estimatedMonthlySavings{0.0};
457
458 double m_estimatedMonthlyCost{0.0};
459
461
462 bool m_restartNeeded{false};
463
464 ActionType m_actionType{ActionType::NOT_SET};
465
466 bool m_rollbackPossible{false};
467
468 ResourceDetails m_currentResourceDetails;
469
470 ResourceDetails m_recommendedResourceDetails;
471
472 Aws::Vector<Tag> m_tags;
473
474 Aws::String m_requestId;
475 bool m_recommendationIdHasBeenSet = false;
476 bool m_resourceIdHasBeenSet = false;
477 bool m_resourceArnHasBeenSet = false;
478 bool m_accountIdHasBeenSet = false;
479 bool m_currencyCodeHasBeenSet = false;
480 bool m_recommendationLookbackPeriodInDaysHasBeenSet = false;
481 bool m_costCalculationLookbackPeriodInDaysHasBeenSet = false;
482 bool m_estimatedSavingsPercentageHasBeenSet = false;
483 bool m_estimatedSavingsOverCostCalculationLookbackPeriodHasBeenSet = false;
484 bool m_currentResourceTypeHasBeenSet = false;
485 bool m_recommendedResourceTypeHasBeenSet = false;
486 bool m_regionHasBeenSet = false;
487 bool m_sourceHasBeenSet = false;
488 bool m_lastRefreshTimestampHasBeenSet = false;
489 bool m_estimatedMonthlySavingsHasBeenSet = false;
490 bool m_estimatedMonthlyCostHasBeenSet = false;
491 bool m_implementationEffortHasBeenSet = false;
492 bool m_restartNeededHasBeenSet = false;
493 bool m_actionTypeHasBeenSet = false;
494 bool m_rollbackPossibleHasBeenSet = false;
495 bool m_currentResourceDetailsHasBeenSet = false;
496 bool m_recommendedResourceDetailsHasBeenSet = false;
497 bool m_tagsHasBeenSet = false;
498 bool m_requestIdHasBeenSet = false;
499};
500
501} // namespace Model
502} // namespace CostOptimizationHub
503} // namespace Aws
GetRecommendationResult & WithRequestId(RequestIdT &&value)
GetRecommendationResult & WithEstimatedSavingsOverCostCalculationLookbackPeriod(double value)
GetRecommendationResult & WithCurrentResourceType(ResourceType value)
GetRecommendationResult & WithLastRefreshTimestamp(LastRefreshTimestampT &&value)
GetRecommendationResult & WithResourceId(ResourceIdT &&value)
void SetRecommendedResourceDetails(RecommendedResourceDetailsT &&value)
GetRecommendationResult & WithEstimatedSavingsPercentage(double value)
GetRecommendationResult & WithRecommendedResourceType(ResourceType value)
GetRecommendationResult & WithCostCalculationLookbackPeriodInDays(int value)
GetRecommendationResult & WithResourceArn(ResourceArnT &&value)
GetRecommendationResult & WithEstimatedMonthlyCost(double value)
GetRecommendationResult & WithCurrencyCode(CurrencyCodeT &&value)
GetRecommendationResult & WithAccountId(AccountIdT &&value)
GetRecommendationResult & WithRecommendationId(RecommendationIdT &&value)
GetRecommendationResult & WithRecommendationLookbackPeriodInDays(int value)
GetRecommendationResult & WithEstimatedMonthlySavings(double value)
AWS_COSTOPTIMIZATIONHUB_API GetRecommendationResult()=default
GetRecommendationResult & WithActionType(ActionType value)
GetRecommendationResult & WithImplementationEffort(ImplementationEffort value)
GetRecommendationResult & WithCurrentResourceDetails(CurrentResourceDetailsT &&value)
AWS_COSTOPTIMIZATIONHUB_API GetRecommendationResult & operator=(const Aws::AmazonWebServiceResult< Aws::Utils::Json::JsonValue > &result)
GetRecommendationResult & WithRecommendedResourceDetails(RecommendedResourceDetailsT &&value)
AWS_COSTOPTIMIZATIONHUB_API GetRecommendationResult(const Aws::AmazonWebServiceResult< Aws::Utils::Json::JsonValue > &result)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue