7#include <aws/compute-optimizer/ComputeOptimizer_EXPORTS.h>
8#include <aws/compute-optimizer/model/AutoScalingGroupConfiguration.h>
9#include <aws/compute-optimizer/model/AutoScalingGroupSavingsOpportunityAfterDiscounts.h>
10#include <aws/compute-optimizer/model/GpuInfo.h>
11#include <aws/compute-optimizer/model/MigrationEffort.h>
12#include <aws/compute-optimizer/model/SavingsOpportunity.h>
13#include <aws/compute-optimizer/model/UtilizationMetric.h>
14#include <aws/core/utils/memory/stl/AWSVector.h>
25namespace ComputeOptimizer {
48 template <
typename ConfigurationT = AutoScalingGroupConfiguration>
50 m_configurationHasBeenSet =
true;
51 m_configuration = std::forward<ConfigurationT>(value);
53 template <
typename ConfigurationT = AutoScalingGroupConfiguration>
67 template <
typename InstanceGpuInfoT = GpuInfo>
69 m_instanceGpuInfoHasBeenSet =
true;
70 m_instanceGpuInfo = std::forward<InstanceGpuInfoT>(value);
72 template <
typename InstanceGpuInfoT = GpuInfo>
92 template <
typename ProjectedUtilizationMetricsT = Aws::Vector<UtilizationMetric>>
94 m_projectedUtilizationMetricsHasBeenSet =
true;
95 m_projectedUtilizationMetrics = std::forward<ProjectedUtilizationMetricsT>(value);
97 template <
typename ProjectedUtilizationMetricsT = Aws::Vector<UtilizationMetric>>
102 template <
typename ProjectedUtilizationMetricsT = UtilizationMetric>
104 m_projectedUtilizationMetricsHasBeenSet =
true;
105 m_projectedUtilizationMetrics.emplace_back(std::forward<ProjectedUtilizationMetricsT>(value));
129 m_performanceRiskHasBeenSet =
true;
130 m_performanceRisk = value;
146 m_rankHasBeenSet =
true;
163 template <
typename SavingsOpportunityT = SavingsOpportunity>
165 m_savingsOpportunityHasBeenSet =
true;
166 m_savingsOpportunity = std::forward<SavingsOpportunityT>(value);
168 template <
typename SavingsOpportunityT = SavingsOpportunity>
183 return m_savingsOpportunityAfterDiscounts;
186 template <
typename SavingsOpportunityAfterDiscountsT = AutoScalingGroupSavingsOpportunityAfterDiscounts>
188 m_savingsOpportunityAfterDiscountsHasBeenSet =
true;
189 m_savingsOpportunityAfterDiscounts = std::forward<SavingsOpportunityAfterDiscountsT>(value);
191 template <
typename SavingsOpportunityAfterDiscountsT = AutoScalingGroupSavingsOpportunityAfterDiscounts>
212 m_migrationEffortHasBeenSet =
true;
213 m_migrationEffort = value;
227 double m_performanceRisk{0.0};
231 SavingsOpportunity m_savingsOpportunity;
233 AutoScalingGroupSavingsOpportunityAfterDiscounts m_savingsOpportunityAfterDiscounts;
236 bool m_configurationHasBeenSet =
false;
237 bool m_instanceGpuInfoHasBeenSet =
false;
238 bool m_projectedUtilizationMetricsHasBeenSet =
false;
239 bool m_performanceRiskHasBeenSet =
false;
240 bool m_rankHasBeenSet =
false;
241 bool m_savingsOpportunityHasBeenSet =
false;
242 bool m_savingsOpportunityAfterDiscountsHasBeenSet =
false;
243 bool m_migrationEffortHasBeenSet =
false;
double GetPerformanceRisk() const
bool ProjectedUtilizationMetricsHasBeenSet() const
void SetPerformanceRisk(double value)
AutoScalingGroupRecommendationOption & WithSavingsOpportunity(SavingsOpportunityT &&value)
const SavingsOpportunity & GetSavingsOpportunity() const
AutoScalingGroupRecommendationOption & WithMigrationEffort(MigrationEffort value)
bool MigrationEffortHasBeenSet() const
void SetProjectedUtilizationMetrics(ProjectedUtilizationMetricsT &&value)
MigrationEffort GetMigrationEffort() const
AWS_COMPUTEOPTIMIZER_API AutoScalingGroupRecommendationOption & operator=(Aws::Utils::Json::JsonView jsonValue)
void SetSavingsOpportunityAfterDiscounts(SavingsOpportunityAfterDiscountsT &&value)
bool ConfigurationHasBeenSet() const
bool InstanceGpuInfoHasBeenSet() const
AWS_COMPUTEOPTIMIZER_API AutoScalingGroupRecommendationOption(Aws::Utils::Json::JsonView jsonValue)
AutoScalingGroupRecommendationOption & WithInstanceGpuInfo(InstanceGpuInfoT &&value)
const GpuInfo & GetInstanceGpuInfo() const
bool SavingsOpportunityHasBeenSet() const
AutoScalingGroupRecommendationOption & WithProjectedUtilizationMetrics(ProjectedUtilizationMetricsT &&value)
AWS_COMPUTEOPTIMIZER_API AutoScalingGroupRecommendationOption()=default
bool RankHasBeenSet() const
AWS_COMPUTEOPTIMIZER_API Aws::Utils::Json::JsonValue Jsonize() const
void SetSavingsOpportunity(SavingsOpportunityT &&value)
AutoScalingGroupRecommendationOption & WithConfiguration(ConfigurationT &&value)
AutoScalingGroupRecommendationOption & WithRank(int value)
AutoScalingGroupRecommendationOption & WithPerformanceRisk(double value)
void SetConfiguration(ConfigurationT &&value)
const AutoScalingGroupConfiguration & GetConfiguration() const
AutoScalingGroupRecommendationOption & WithSavingsOpportunityAfterDiscounts(SavingsOpportunityAfterDiscountsT &&value)
void SetMigrationEffort(MigrationEffort value)
const Aws::Vector< UtilizationMetric > & GetProjectedUtilizationMetrics() const
void SetInstanceGpuInfo(InstanceGpuInfoT &&value)
AutoScalingGroupRecommendationOption & AddProjectedUtilizationMetrics(ProjectedUtilizationMetricsT &&value)
bool SavingsOpportunityAfterDiscountsHasBeenSet() const
const AutoScalingGroupSavingsOpportunityAfterDiscounts & GetSavingsOpportunityAfterDiscounts() const
bool PerformanceRiskHasBeenSet() const
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue