AWS SDK for C++

AWS SDK for C++ Version 1.11.791

Loading...
Searching...
No Matches
GetRecommendationResult.h
1
6#pragma once
7#include <aws/core/http/HttpResponse.h>
8#include <aws/core/utils/DateTime.h>
9#include <aws/core/utils/memory/stl/AWSString.h>
10#include <aws/core/utils/memory/stl/AWSVector.h>
11#include <aws/cost-optimization-hub/CostOptimizationHub_EXPORTS.h>
12#include <aws/cost-optimization-hub/model/ActionType.h>
13#include <aws/cost-optimization-hub/model/ImplementationEffort.h>
14#include <aws/cost-optimization-hub/model/ResourceDetails.h>
15#include <aws/cost-optimization-hub/model/ResourceType.h>
16#include <aws/cost-optimization-hub/model/Source.h>
17#include <aws/cost-optimization-hub/model/Tag.h>
18
19#include <utility>
20
21namespace Aws {
22template <typename RESULT_TYPE>
23class AmazonWebServiceResult;
24
25namespace Utils {
26namespace Json {
27class JsonValue;
28} // namespace Json
29} // namespace Utils
30namespace CostOptimizationHub {
31namespace Model {
33 public:
34 AWS_COSTOPTIMIZATIONHUB_API GetRecommendationResult() = default;
37
39
42 inline const Aws::String& GetRecommendationId() const { return m_recommendationId; }
43 template <typename RecommendationIdT = Aws::String>
44 void SetRecommendationId(RecommendationIdT&& value) {
45 m_recommendationIdHasBeenSet = true;
46 m_recommendationId = std::forward<RecommendationIdT>(value);
47 }
48 template <typename RecommendationIdT = Aws::String>
49 GetRecommendationResult& WithRecommendationId(RecommendationIdT&& value) {
50 SetRecommendationId(std::forward<RecommendationIdT>(value));
51 return *this;
52 }
54
56
60 inline const Aws::String& GetResourceId() const { return m_resourceId; }
61 template <typename ResourceIdT = Aws::String>
62 void SetResourceId(ResourceIdT&& value) {
63 m_resourceIdHasBeenSet = true;
64 m_resourceId = std::forward<ResourceIdT>(value);
65 }
66 template <typename ResourceIdT = Aws::String>
68 SetResourceId(std::forward<ResourceIdT>(value));
69 return *this;
70 }
72
74
77 inline const Aws::String& GetResourceArn() const { return m_resourceArn; }
78 template <typename ResourceArnT = Aws::String>
79 void SetResourceArn(ResourceArnT&& value) {
80 m_resourceArnHasBeenSet = true;
81 m_resourceArn = std::forward<ResourceArnT>(value);
82 }
83 template <typename ResourceArnT = Aws::String>
85 SetResourceArn(std::forward<ResourceArnT>(value));
86 return *this;
87 }
89
91
94 inline const Aws::String& GetAccountId() const { return m_accountId; }
95 template <typename AccountIdT = Aws::String>
96 void SetAccountId(AccountIdT&& value) {
97 m_accountIdHasBeenSet = true;
98 m_accountId = std::forward<AccountIdT>(value);
99 }
100 template <typename AccountIdT = Aws::String>
102 SetAccountId(std::forward<AccountIdT>(value));
103 return *this;
104 }
106
108
111 inline const Aws::String& GetCurrencyCode() const { return m_currencyCode; }
112 template <typename CurrencyCodeT = Aws::String>
113 void SetCurrencyCode(CurrencyCodeT&& value) {
114 m_currencyCodeHasBeenSet = true;
115 m_currencyCode = std::forward<CurrencyCodeT>(value);
116 }
117 template <typename CurrencyCodeT = Aws::String>
119 SetCurrencyCode(std::forward<CurrencyCodeT>(value));
120 return *this;
121 }
123
125
128 inline int GetRecommendationLookbackPeriodInDays() const { return m_recommendationLookbackPeriodInDays; }
130 m_recommendationLookbackPeriodInDaysHasBeenSet = true;
131 m_recommendationLookbackPeriodInDays = value;
132 }
135 return *this;
136 }
138
140
143 inline int GetCostCalculationLookbackPeriodInDays() const { return m_costCalculationLookbackPeriodInDays; }
145 m_costCalculationLookbackPeriodInDaysHasBeenSet = true;
146 m_costCalculationLookbackPeriodInDays = value;
147 }
150 return *this;
151 }
153
155
159 inline double GetEstimatedSavingsPercentage() const { return m_estimatedSavingsPercentage; }
160 inline void SetEstimatedSavingsPercentage(double value) {
161 m_estimatedSavingsPercentageHasBeenSet = true;
162 m_estimatedSavingsPercentage = value;
163 }
166 return *this;
167 }
169
171
175 inline double GetEstimatedSavingsOverCostCalculationLookbackPeriod() const { return m_estimatedSavingsOverCostCalculationLookbackPeriod; }
177 m_estimatedSavingsOverCostCalculationLookbackPeriodHasBeenSet = true;
178 m_estimatedSavingsOverCostCalculationLookbackPeriod = value;
179 }
182 return *this;
183 }
185
187
190 inline ResourceType GetCurrentResourceType() const { return m_currentResourceType; }
192 m_currentResourceTypeHasBeenSet = true;
193 m_currentResourceType = value;
194 }
197 return *this;
198 }
200
202
205 inline ResourceType GetRecommendedResourceType() const { return m_recommendedResourceType; }
207 m_recommendedResourceTypeHasBeenSet = true;
208 m_recommendedResourceType = value;
209 }
212 return *this;
213 }
215
217
220 inline const Aws::String& GetRegion() const { return m_region; }
221 template <typename RegionT = Aws::String>
222 void SetRegion(RegionT&& value) {
223 m_regionHasBeenSet = true;
224 m_region = std::forward<RegionT>(value);
225 }
226 template <typename RegionT = Aws::String>
228 SetRegion(std::forward<RegionT>(value));
229 return *this;
230 }
232
234
237 inline Source GetSource() const { return m_source; }
238 inline void SetSource(Source value) {
239 m_sourceHasBeenSet = true;
240 m_source = value;
241 }
243 SetSource(value);
244 return *this;
245 }
247
249
252 inline const Aws::Utils::DateTime& GetLastRefreshTimestamp() const { return m_lastRefreshTimestamp; }
253 template <typename LastRefreshTimestampT = Aws::Utils::DateTime>
254 void SetLastRefreshTimestamp(LastRefreshTimestampT&& value) {
255 m_lastRefreshTimestampHasBeenSet = true;
256 m_lastRefreshTimestamp = std::forward<LastRefreshTimestampT>(value);
257 }
258 template <typename LastRefreshTimestampT = Aws::Utils::DateTime>
259 GetRecommendationResult& WithLastRefreshTimestamp(LastRefreshTimestampT&& value) {
260 SetLastRefreshTimestamp(std::forward<LastRefreshTimestampT>(value));
261 return *this;
262 }
264
266
269 inline double GetEstimatedMonthlySavings() const { return m_estimatedMonthlySavings; }
270 inline void SetEstimatedMonthlySavings(double value) {
271 m_estimatedMonthlySavingsHasBeenSet = true;
272 m_estimatedMonthlySavings = value;
273 }
276 return *this;
277 }
279
281
285 inline double GetEstimatedMonthlyCost() const { return m_estimatedMonthlyCost; }
286 inline void SetEstimatedMonthlyCost(double value) {
287 m_estimatedMonthlyCostHasBeenSet = true;
288 m_estimatedMonthlyCost = value;
289 }
292 return *this;
293 }
295
297
300 inline ImplementationEffort GetImplementationEffort() const { return m_implementationEffort; }
302 m_implementationEffortHasBeenSet = true;
303 m_implementationEffort = value;
304 }
307 return *this;
308 }
310
312
315 inline bool GetRestartNeeded() const { return m_restartNeeded; }
316 inline void SetRestartNeeded(bool value) {
317 m_restartNeededHasBeenSet = true;
318 m_restartNeeded = value;
319 }
321 SetRestartNeeded(value);
322 return *this;
323 }
325
327
330 inline ActionType GetActionType() const { return m_actionType; }
331 inline void SetActionType(ActionType value) {
332 m_actionTypeHasBeenSet = true;
333 m_actionType = value;
334 }
336 SetActionType(value);
337 return *this;
338 }
340
342
345 inline bool GetRollbackPossible() const { return m_rollbackPossible; }
346 inline void SetRollbackPossible(bool value) {
347 m_rollbackPossibleHasBeenSet = true;
348 m_rollbackPossible = value;
349 }
351 SetRollbackPossible(value);
352 return *this;
353 }
355
357
360 inline const ResourceDetails& GetCurrentResourceDetails() const { return m_currentResourceDetails; }
361 template <typename CurrentResourceDetailsT = ResourceDetails>
362 void SetCurrentResourceDetails(CurrentResourceDetailsT&& value) {
363 m_currentResourceDetailsHasBeenSet = true;
364 m_currentResourceDetails = std::forward<CurrentResourceDetailsT>(value);
365 }
366 template <typename CurrentResourceDetailsT = ResourceDetails>
367 GetRecommendationResult& WithCurrentResourceDetails(CurrentResourceDetailsT&& value) {
368 SetCurrentResourceDetails(std::forward<CurrentResourceDetailsT>(value));
369 return *this;
370 }
372
374
377 inline const ResourceDetails& GetRecommendedResourceDetails() const { return m_recommendedResourceDetails; }
378 template <typename RecommendedResourceDetailsT = ResourceDetails>
379 void SetRecommendedResourceDetails(RecommendedResourceDetailsT&& value) {
380 m_recommendedResourceDetailsHasBeenSet = true;
381 m_recommendedResourceDetails = std::forward<RecommendedResourceDetailsT>(value);
382 }
383 template <typename RecommendedResourceDetailsT = ResourceDetails>
384 GetRecommendationResult& WithRecommendedResourceDetails(RecommendedResourceDetailsT&& value) {
385 SetRecommendedResourceDetails(std::forward<RecommendedResourceDetailsT>(value));
386 return *this;
387 }
389
391
395 inline const Aws::Vector<Tag>& GetTags() const { return m_tags; }
396 template <typename TagsT = Aws::Vector<Tag>>
397 void SetTags(TagsT&& value) {
398 m_tagsHasBeenSet = true;
399 m_tags = std::forward<TagsT>(value);
400 }
401 template <typename TagsT = Aws::Vector<Tag>>
403 SetTags(std::forward<TagsT>(value));
404 return *this;
405 }
406 template <typename TagsT = Tag>
408 m_tagsHasBeenSet = true;
409 m_tags.emplace_back(std::forward<TagsT>(value));
410 return *this;
411 }
413
415
416 inline const Aws::String& GetRequestId() const { return m_requestId; }
417 template <typename RequestIdT = Aws::String>
418 void SetRequestId(RequestIdT&& value) {
419 m_requestIdHasBeenSet = true;
420 m_requestId = std::forward<RequestIdT>(value);
421 }
422 template <typename RequestIdT = Aws::String>
424 SetRequestId(std::forward<RequestIdT>(value));
425 return *this;
426 }
428 inline Aws::Http::HttpResponseCode GetHttpResponseCode() const { return m_HttpResponseCode; }
429
430 private:
431 Aws::String m_recommendationId;
432
433 Aws::String m_resourceId;
434
435 Aws::String m_resourceArn;
436
437 Aws::String m_accountId;
438
439 Aws::String m_currencyCode;
440
441 int m_recommendationLookbackPeriodInDays{0};
442
443 int m_costCalculationLookbackPeriodInDays{0};
444
445 double m_estimatedSavingsPercentage{0.0};
446
447 double m_estimatedSavingsOverCostCalculationLookbackPeriod{0.0};
448
449 ResourceType m_currentResourceType{ResourceType::NOT_SET};
450
451 ResourceType m_recommendedResourceType{ResourceType::NOT_SET};
452
453 Aws::String m_region;
454
455 Source m_source{Source::NOT_SET};
456
457 Aws::Utils::DateTime m_lastRefreshTimestamp{};
458
459 double m_estimatedMonthlySavings{0.0};
460
461 double m_estimatedMonthlyCost{0.0};
462
464
465 bool m_restartNeeded{false};
466
467 ActionType m_actionType{ActionType::NOT_SET};
468
469 bool m_rollbackPossible{false};
470
471 ResourceDetails m_currentResourceDetails;
472
473 ResourceDetails m_recommendedResourceDetails;
474
475 Aws::Vector<Tag> m_tags;
476
477 Aws::String m_requestId;
478 Aws::Http::HttpResponseCode m_HttpResponseCode;
479 bool m_recommendationIdHasBeenSet = false;
480 bool m_resourceIdHasBeenSet = false;
481 bool m_resourceArnHasBeenSet = false;
482 bool m_accountIdHasBeenSet = false;
483 bool m_currencyCodeHasBeenSet = false;
484 bool m_recommendationLookbackPeriodInDaysHasBeenSet = false;
485 bool m_costCalculationLookbackPeriodInDaysHasBeenSet = false;
486 bool m_estimatedSavingsPercentageHasBeenSet = false;
487 bool m_estimatedSavingsOverCostCalculationLookbackPeriodHasBeenSet = false;
488 bool m_currentResourceTypeHasBeenSet = false;
489 bool m_recommendedResourceTypeHasBeenSet = false;
490 bool m_regionHasBeenSet = false;
491 bool m_sourceHasBeenSet = false;
492 bool m_lastRefreshTimestampHasBeenSet = false;
493 bool m_estimatedMonthlySavingsHasBeenSet = false;
494 bool m_estimatedMonthlyCostHasBeenSet = false;
495 bool m_implementationEffortHasBeenSet = false;
496 bool m_restartNeededHasBeenSet = false;
497 bool m_actionTypeHasBeenSet = false;
498 bool m_rollbackPossibleHasBeenSet = false;
499 bool m_currentResourceDetailsHasBeenSet = false;
500 bool m_recommendedResourceDetailsHasBeenSet = false;
501 bool m_tagsHasBeenSet = false;
502 bool m_requestIdHasBeenSet = false;
503};
504
505} // namespace Model
506} // namespace CostOptimizationHub
507} // 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