AWS SDK for C++

AWS SDK for C++ Version 1.11.607

Loading...
Searching...
No Matches
GetRecommendationResult.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/cost-optimization-hub/model/ResourceType.h>
10#include <aws/cost-optimization-hub/model/Source.h>
11#include <aws/core/utils/DateTime.h>
12#include <aws/cost-optimization-hub/model/ImplementationEffort.h>
13#include <aws/cost-optimization-hub/model/ActionType.h>
14#include <aws/cost-optimization-hub/model/ResourceDetails.h>
15#include <aws/core/utils/memory/stl/AWSVector.h>
16#include <aws/cost-optimization-hub/model/Tag.h>
17#include <utility>
18
19namespace Aws
20{
21template<typename RESULT_TYPE>
22class AmazonWebServiceResult;
23
24namespace Utils
25{
26namespace Json
27{
28 class JsonValue;
29} // namespace Json
30} // namespace Utils
31namespace CostOptimizationHub
32{
33namespace Model
34{
36 {
37 public:
38 AWS_COSTOPTIMIZATIONHUB_API GetRecommendationResult() = default;
41
42
44
47 inline const Aws::String& GetRecommendationId() const { return m_recommendationId; }
48 template<typename RecommendationIdT = Aws::String>
49 void SetRecommendationId(RecommendationIdT&& value) { m_recommendationIdHasBeenSet = true; m_recommendationId = std::forward<RecommendationIdT>(value); }
50 template<typename RecommendationIdT = Aws::String>
51 GetRecommendationResult& WithRecommendationId(RecommendationIdT&& value) { SetRecommendationId(std::forward<RecommendationIdT>(value)); return *this;}
53
55
59 inline const Aws::String& GetResourceId() const { return m_resourceId; }
60 template<typename ResourceIdT = Aws::String>
61 void SetResourceId(ResourceIdT&& value) { m_resourceIdHasBeenSet = true; m_resourceId = std::forward<ResourceIdT>(value); }
62 template<typename ResourceIdT = Aws::String>
63 GetRecommendationResult& WithResourceId(ResourceIdT&& value) { SetResourceId(std::forward<ResourceIdT>(value)); return *this;}
65
67
70 inline const Aws::String& GetResourceArn() const { return m_resourceArn; }
71 template<typename ResourceArnT = Aws::String>
72 void SetResourceArn(ResourceArnT&& value) { m_resourceArnHasBeenSet = true; m_resourceArn = std::forward<ResourceArnT>(value); }
73 template<typename ResourceArnT = Aws::String>
74 GetRecommendationResult& WithResourceArn(ResourceArnT&& value) { SetResourceArn(std::forward<ResourceArnT>(value)); return *this;}
76
78
81 inline const Aws::String& GetAccountId() const { return m_accountId; }
82 template<typename AccountIdT = Aws::String>
83 void SetAccountId(AccountIdT&& value) { m_accountIdHasBeenSet = true; m_accountId = std::forward<AccountIdT>(value); }
84 template<typename AccountIdT = Aws::String>
85 GetRecommendationResult& WithAccountId(AccountIdT&& value) { SetAccountId(std::forward<AccountIdT>(value)); return *this;}
87
89
92 inline const Aws::String& GetCurrencyCode() const { return m_currencyCode; }
93 template<typename CurrencyCodeT = Aws::String>
94 void SetCurrencyCode(CurrencyCodeT&& value) { m_currencyCodeHasBeenSet = true; m_currencyCode = std::forward<CurrencyCodeT>(value); }
95 template<typename CurrencyCodeT = Aws::String>
96 GetRecommendationResult& WithCurrencyCode(CurrencyCodeT&& value) { SetCurrencyCode(std::forward<CurrencyCodeT>(value)); return *this;}
98
100
103 inline int GetRecommendationLookbackPeriodInDays() const { return m_recommendationLookbackPeriodInDays; }
104 inline void SetRecommendationLookbackPeriodInDays(int value) { m_recommendationLookbackPeriodInDaysHasBeenSet = true; m_recommendationLookbackPeriodInDays = value; }
107
109
112 inline int GetCostCalculationLookbackPeriodInDays() const { return m_costCalculationLookbackPeriodInDays; }
113 inline void SetCostCalculationLookbackPeriodInDays(int value) { m_costCalculationLookbackPeriodInDaysHasBeenSet = true; m_costCalculationLookbackPeriodInDays = value; }
116
118
122 inline double GetEstimatedSavingsPercentage() const { return m_estimatedSavingsPercentage; }
123 inline void SetEstimatedSavingsPercentage(double value) { m_estimatedSavingsPercentageHasBeenSet = true; m_estimatedSavingsPercentage = value; }
126
128
132 inline double GetEstimatedSavingsOverCostCalculationLookbackPeriod() const { return m_estimatedSavingsOverCostCalculationLookbackPeriod; }
133 inline void SetEstimatedSavingsOverCostCalculationLookbackPeriod(double value) { m_estimatedSavingsOverCostCalculationLookbackPeriodHasBeenSet = true; m_estimatedSavingsOverCostCalculationLookbackPeriod = value; }
136
138
141 inline ResourceType GetCurrentResourceType() const { return m_currentResourceType; }
142 inline void SetCurrentResourceType(ResourceType value) { m_currentResourceTypeHasBeenSet = true; m_currentResourceType = value; }
145
147
150 inline ResourceType GetRecommendedResourceType() const { return m_recommendedResourceType; }
151 inline void SetRecommendedResourceType(ResourceType value) { m_recommendedResourceTypeHasBeenSet = true; m_recommendedResourceType = value; }
154
156
159 inline const Aws::String& GetRegion() const { return m_region; }
160 template<typename RegionT = Aws::String>
161 void SetRegion(RegionT&& value) { m_regionHasBeenSet = true; m_region = std::forward<RegionT>(value); }
162 template<typename RegionT = Aws::String>
163 GetRecommendationResult& WithRegion(RegionT&& value) { SetRegion(std::forward<RegionT>(value)); return *this;}
165
167
170 inline Source GetSource() const { return m_source; }
171 inline void SetSource(Source value) { m_sourceHasBeenSet = true; m_source = value; }
172 inline GetRecommendationResult& WithSource(Source value) { SetSource(value); return *this;}
174
176
179 inline const Aws::Utils::DateTime& GetLastRefreshTimestamp() const { return m_lastRefreshTimestamp; }
180 template<typename LastRefreshTimestampT = Aws::Utils::DateTime>
181 void SetLastRefreshTimestamp(LastRefreshTimestampT&& value) { m_lastRefreshTimestampHasBeenSet = true; m_lastRefreshTimestamp = std::forward<LastRefreshTimestampT>(value); }
182 template<typename LastRefreshTimestampT = Aws::Utils::DateTime>
183 GetRecommendationResult& WithLastRefreshTimestamp(LastRefreshTimestampT&& value) { SetLastRefreshTimestamp(std::forward<LastRefreshTimestampT>(value)); return *this;}
185
187
190 inline double GetEstimatedMonthlySavings() const { return m_estimatedMonthlySavings; }
191 inline void SetEstimatedMonthlySavings(double value) { m_estimatedMonthlySavingsHasBeenSet = true; m_estimatedMonthlySavings = value; }
194
196
200 inline double GetEstimatedMonthlyCost() const { return m_estimatedMonthlyCost; }
201 inline void SetEstimatedMonthlyCost(double value) { m_estimatedMonthlyCostHasBeenSet = true; m_estimatedMonthlyCost = value; }
202 inline GetRecommendationResult& WithEstimatedMonthlyCost(double value) { SetEstimatedMonthlyCost(value); return *this;}
204
206
209 inline ImplementationEffort GetImplementationEffort() const { return m_implementationEffort; }
210 inline void SetImplementationEffort(ImplementationEffort value) { m_implementationEffortHasBeenSet = true; m_implementationEffort = value; }
213
215
218 inline bool GetRestartNeeded() const { return m_restartNeeded; }
219 inline void SetRestartNeeded(bool value) { m_restartNeededHasBeenSet = true; m_restartNeeded = value; }
220 inline GetRecommendationResult& WithRestartNeeded(bool value) { SetRestartNeeded(value); return *this;}
222
224
227 inline ActionType GetActionType() const { return m_actionType; }
228 inline void SetActionType(ActionType value) { m_actionTypeHasBeenSet = true; m_actionType = value; }
229 inline GetRecommendationResult& WithActionType(ActionType value) { SetActionType(value); return *this;}
231
233
236 inline bool GetRollbackPossible() const { return m_rollbackPossible; }
237 inline void SetRollbackPossible(bool value) { m_rollbackPossibleHasBeenSet = true; m_rollbackPossible = value; }
238 inline GetRecommendationResult& WithRollbackPossible(bool value) { SetRollbackPossible(value); return *this;}
240
242
245 inline const ResourceDetails& GetCurrentResourceDetails() const { return m_currentResourceDetails; }
246 template<typename CurrentResourceDetailsT = ResourceDetails>
247 void SetCurrentResourceDetails(CurrentResourceDetailsT&& value) { m_currentResourceDetailsHasBeenSet = true; m_currentResourceDetails = std::forward<CurrentResourceDetailsT>(value); }
248 template<typename CurrentResourceDetailsT = ResourceDetails>
249 GetRecommendationResult& WithCurrentResourceDetails(CurrentResourceDetailsT&& value) { SetCurrentResourceDetails(std::forward<CurrentResourceDetailsT>(value)); return *this;}
251
253
256 inline const ResourceDetails& GetRecommendedResourceDetails() const { return m_recommendedResourceDetails; }
257 template<typename RecommendedResourceDetailsT = ResourceDetails>
258 void SetRecommendedResourceDetails(RecommendedResourceDetailsT&& value) { m_recommendedResourceDetailsHasBeenSet = true; m_recommendedResourceDetails = std::forward<RecommendedResourceDetailsT>(value); }
259 template<typename RecommendedResourceDetailsT = ResourceDetails>
260 GetRecommendationResult& WithRecommendedResourceDetails(RecommendedResourceDetailsT&& value) { SetRecommendedResourceDetails(std::forward<RecommendedResourceDetailsT>(value)); return *this;}
262
264
268 inline const Aws::Vector<Tag>& GetTags() const { return m_tags; }
269 template<typename TagsT = Aws::Vector<Tag>>
270 void SetTags(TagsT&& value) { m_tagsHasBeenSet = true; m_tags = std::forward<TagsT>(value); }
271 template<typename TagsT = Aws::Vector<Tag>>
272 GetRecommendationResult& WithTags(TagsT&& value) { SetTags(std::forward<TagsT>(value)); return *this;}
273 template<typename TagsT = Tag>
274 GetRecommendationResult& AddTags(TagsT&& value) { m_tagsHasBeenSet = true; m_tags.emplace_back(std::forward<TagsT>(value)); return *this; }
276
278
279 inline const Aws::String& GetRequestId() const { return m_requestId; }
280 template<typename RequestIdT = Aws::String>
281 void SetRequestId(RequestIdT&& value) { m_requestIdHasBeenSet = true; m_requestId = std::forward<RequestIdT>(value); }
282 template<typename RequestIdT = Aws::String>
283 GetRecommendationResult& WithRequestId(RequestIdT&& value) { SetRequestId(std::forward<RequestIdT>(value)); return *this;}
285 private:
286
287 Aws::String m_recommendationId;
288 bool m_recommendationIdHasBeenSet = false;
289
290 Aws::String m_resourceId;
291 bool m_resourceIdHasBeenSet = false;
292
293 Aws::String m_resourceArn;
294 bool m_resourceArnHasBeenSet = false;
295
296 Aws::String m_accountId;
297 bool m_accountIdHasBeenSet = false;
298
299 Aws::String m_currencyCode;
300 bool m_currencyCodeHasBeenSet = false;
301
302 int m_recommendationLookbackPeriodInDays{0};
303 bool m_recommendationLookbackPeriodInDaysHasBeenSet = false;
304
305 int m_costCalculationLookbackPeriodInDays{0};
306 bool m_costCalculationLookbackPeriodInDaysHasBeenSet = false;
307
308 double m_estimatedSavingsPercentage{0.0};
309 bool m_estimatedSavingsPercentageHasBeenSet = false;
310
311 double m_estimatedSavingsOverCostCalculationLookbackPeriod{0.0};
312 bool m_estimatedSavingsOverCostCalculationLookbackPeriodHasBeenSet = false;
313
314 ResourceType m_currentResourceType{ResourceType::NOT_SET};
315 bool m_currentResourceTypeHasBeenSet = false;
316
317 ResourceType m_recommendedResourceType{ResourceType::NOT_SET};
318 bool m_recommendedResourceTypeHasBeenSet = false;
319
320 Aws::String m_region;
321 bool m_regionHasBeenSet = false;
322
323 Source m_source{Source::NOT_SET};
324 bool m_sourceHasBeenSet = false;
325
326 Aws::Utils::DateTime m_lastRefreshTimestamp{};
327 bool m_lastRefreshTimestampHasBeenSet = false;
328
329 double m_estimatedMonthlySavings{0.0};
330 bool m_estimatedMonthlySavingsHasBeenSet = false;
331
332 double m_estimatedMonthlyCost{0.0};
333 bool m_estimatedMonthlyCostHasBeenSet = false;
334
336 bool m_implementationEffortHasBeenSet = false;
337
338 bool m_restartNeeded{false};
339 bool m_restartNeededHasBeenSet = false;
340
341 ActionType m_actionType{ActionType::NOT_SET};
342 bool m_actionTypeHasBeenSet = false;
343
344 bool m_rollbackPossible{false};
345 bool m_rollbackPossibleHasBeenSet = false;
346
347 ResourceDetails m_currentResourceDetails;
348 bool m_currentResourceDetailsHasBeenSet = false;
349
350 ResourceDetails m_recommendedResourceDetails;
351 bool m_recommendedResourceDetailsHasBeenSet = false;
352
353 Aws::Vector<Tag> m_tags;
354 bool m_tagsHasBeenSet = false;
355
356 Aws::String m_requestId;
357 bool m_requestIdHasBeenSet = false;
358 };
359
360} // namespace Model
361} // namespace CostOptimizationHub
362} // 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