7#include <aws/compute-optimizer/ComputeOptimizer_EXPORTS.h>
8#include <aws/compute-optimizer/model/AutoScalingGroupConfiguration.h>
9#include <aws/compute-optimizer/model/GpuInfo.h>
10#include <aws/core/utils/memory/stl/AWSVector.h>
11#include <aws/compute-optimizer/model/SavingsOpportunity.h>
12#include <aws/compute-optimizer/model/AutoScalingGroupSavingsOpportunityAfterDiscounts.h>
13#include <aws/compute-optimizer/model/MigrationEffort.h>
14#include <aws/compute-optimizer/model/UtilizationMetric.h>
27namespace ComputeOptimizer
53 template<
typename ConfigurationT = AutoScalingGroupConfiguration>
54 void SetConfiguration(ConfigurationT&& value) { m_configurationHasBeenSet =
true; m_configuration = std::forward<ConfigurationT>(value); }
55 template<
typename ConfigurationT = AutoScalingGroupConfiguration>
66 template<
typename InstanceGpuInfoT = GpuInfo>
67 void SetInstanceGpuInfo(InstanceGpuInfoT&& value) { m_instanceGpuInfoHasBeenSet =
true; m_instanceGpuInfo = std::forward<InstanceGpuInfoT>(value); }
68 template<
typename InstanceGpuInfoT = GpuInfo>
85 template<
typename ProjectedUtilizationMetricsT = Aws::Vector<UtilizationMetric>>
86 void SetProjectedUtilizationMetrics(ProjectedUtilizationMetricsT&& value) { m_projectedUtilizationMetricsHasBeenSet =
true; m_projectedUtilizationMetrics = std::forward<ProjectedUtilizationMetricsT>(value); }
87 template<
typename ProjectedUtilizationMetricsT = Aws::Vector<UtilizationMetric>>
89 template<
typename ProjectedUtilizationMetricsT = UtilizationMetric>
111 inline void SetPerformanceRisk(
double value) { m_performanceRiskHasBeenSet =
true; m_performanceRisk = value; }
122 inline void SetRank(
int value) { m_rankHasBeenSet =
true; m_rank = value; }
134 template<
typename SavingsOpportunityT = SavingsOpportunity>
135 void SetSavingsOpportunity(SavingsOpportunityT&& value) { m_savingsOpportunityHasBeenSet =
true; m_savingsOpportunity = std::forward<SavingsOpportunityT>(value); }
136 template<
typename SavingsOpportunityT = SavingsOpportunity>
149 template<
typename SavingsOpportunityAfterDiscountsT = AutoScalingGroupSavingsOpportunityAfterDiscounts>
150 void SetSavingsOpportunityAfterDiscounts(SavingsOpportunityAfterDiscountsT&& value) { m_savingsOpportunityAfterDiscountsHasBeenSet =
true; m_savingsOpportunityAfterDiscounts = std::forward<SavingsOpportunityAfterDiscountsT>(value); }
151 template<
typename SavingsOpportunityAfterDiscountsT = AutoScalingGroupSavingsOpportunityAfterDiscounts>
174 bool m_configurationHasBeenSet =
false;
177 bool m_instanceGpuInfoHasBeenSet =
false;
180 bool m_projectedUtilizationMetricsHasBeenSet =
false;
182 double m_performanceRisk{0.0};
183 bool m_performanceRiskHasBeenSet =
false;
186 bool m_rankHasBeenSet =
false;
188 SavingsOpportunity m_savingsOpportunity;
189 bool m_savingsOpportunityHasBeenSet =
false;
191 AutoScalingGroupSavingsOpportunityAfterDiscounts m_savingsOpportunityAfterDiscounts;
192 bool m_savingsOpportunityAfterDiscountsHasBeenSet =
false;
195 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