7#include <aws/compute-optimizer/ComputeOptimizer_EXPORTS.h>
8#include <aws/compute-optimizer/model/EBSSavingsOpportunityAfterDiscounts.h>
9#include <aws/compute-optimizer/model/SavingsOpportunity.h>
10#include <aws/compute-optimizer/model/VolumeConfiguration.h>
11#include <aws/crt/cbor/Cbor.h>
21namespace ComputeOptimizer {
35 AWS_COMPUTEOPTIMIZER_API
void CborEncode(Aws::Crt::Cbor::CborEncoder& encoder)
const;
43 template <
typename ConfigurationT = VolumeConfiguration>
45 m_configurationHasBeenSet =
true;
46 m_configuration = std::forward<ConfigurationT>(value);
48 template <
typename ConfigurationT = VolumeConfiguration>
69 m_performanceRiskHasBeenSet =
true;
70 m_performanceRisk = value;
83 inline int64_t
GetRank()
const {
return m_rank; }
86 m_rankHasBeenSet =
true;
103 template <
typename SavingsOpportunityT = SavingsOpportunity>
105 m_savingsOpportunityHasBeenSet =
true;
106 m_savingsOpportunity = std::forward<SavingsOpportunityT>(value);
108 template <
typename SavingsOpportunityT = SavingsOpportunity>
122 return m_savingsOpportunityAfterDiscounts;
125 template <
typename SavingsOpportunityAfterDiscountsT = EBSSavingsOpportunityAfterDiscounts>
127 m_savingsOpportunityAfterDiscountsHasBeenSet =
true;
128 m_savingsOpportunityAfterDiscounts = std::forward<SavingsOpportunityAfterDiscountsT>(value);
130 template <
typename SavingsOpportunityAfterDiscountsT = EBSSavingsOpportunityAfterDiscounts>
139 double m_performanceRisk{0.0};
143 SavingsOpportunity m_savingsOpportunity;
145 EBSSavingsOpportunityAfterDiscounts m_savingsOpportunityAfterDiscounts;
146 bool m_configurationHasBeenSet =
false;
147 bool m_performanceRiskHasBeenSet =
false;
148 bool m_rankHasBeenSet =
false;
149 bool m_savingsOpportunityHasBeenSet =
false;
150 bool m_savingsOpportunityAfterDiscountsHasBeenSet =
false;
VolumeRecommendationOption & WithPerformanceRisk(double value)
bool RankHasBeenSet() const
void SetSavingsOpportunityAfterDiscounts(SavingsOpportunityAfterDiscountsT &&value)
VolumeRecommendationOption & WithSavingsOpportunityAfterDiscounts(SavingsOpportunityAfterDiscountsT &&value)
void SetRank(int64_t value)
void SetConfiguration(ConfigurationT &&value)
const EBSSavingsOpportunityAfterDiscounts & GetSavingsOpportunityAfterDiscounts() const
const SavingsOpportunity & GetSavingsOpportunity() const
bool PerformanceRiskHasBeenSet() const
void SetSavingsOpportunity(SavingsOpportunityT &&value)
bool SavingsOpportunityAfterDiscountsHasBeenSet() const
bool ConfigurationHasBeenSet() const
void SetPerformanceRisk(double value)
VolumeRecommendationOption & WithSavingsOpportunity(SavingsOpportunityT &&value)
VolumeRecommendationOption & WithConfiguration(ConfigurationT &&value)
AWS_COMPUTEOPTIMIZER_API VolumeRecommendationOption(const std::shared_ptr< Aws::Crt::Cbor::CborDecoder > &decoder)
AWS_COMPUTEOPTIMIZER_API void CborEncode(Aws::Crt::Cbor::CborEncoder &encoder) const
double GetPerformanceRisk() const
bool SavingsOpportunityHasBeenSet() const
AWS_COMPUTEOPTIMIZER_API VolumeRecommendationOption()=default
VolumeRecommendationOption & WithRank(int64_t value)
const VolumeConfiguration & GetConfiguration() const
AWS_COMPUTEOPTIMIZER_API VolumeRecommendationOption & operator=(const std::shared_ptr< Aws::Crt::Cbor::CborDecoder > &decoder)