7#include <aws/compute-optimizer/ComputeOptimizer_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSString.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/InstanceSavingsOpportunityAfterDiscounts.h>
13#include <aws/compute-optimizer/model/MigrationEffort.h>
14#include <aws/compute-optimizer/model/UtilizationMetric.h>
15#include <aws/compute-optimizer/model/PlatformDifference.h>
28namespace ComputeOptimizer
54 template<
typename InstanceTypeT = Aws::String>
55 void SetInstanceType(InstanceTypeT&& value) { m_instanceTypeHasBeenSet =
true; m_instanceType = std::forward<InstanceTypeT>(value); }
56 template<
typename InstanceTypeT = Aws::String>
67 template<
typename InstanceGpuInfoT = GpuInfo>
68 void SetInstanceGpuInfo(InstanceGpuInfoT&& value) { m_instanceGpuInfoHasBeenSet =
true; m_instanceGpuInfo = std::forward<InstanceGpuInfoT>(value); }
69 template<
typename InstanceGpuInfoT = GpuInfo>
86 template<
typename ProjectedUtilizationMetricsT = Aws::Vector<UtilizationMetric>>
87 void SetProjectedUtilizationMetrics(ProjectedUtilizationMetricsT&& value) { m_projectedUtilizationMetricsHasBeenSet =
true; m_projectedUtilizationMetrics = std::forward<ProjectedUtilizationMetricsT>(value); }
88 template<
typename ProjectedUtilizationMetricsT = Aws::Vector<UtilizationMetric>>
90 template<
typename ProjectedUtilizationMetricsT = UtilizationMetric>
187 template<
typename PlatformDifferencesT = Aws::Vector<PlatformDifference>>
188 void SetPlatformDifferences(PlatformDifferencesT&& value) { m_platformDifferencesHasBeenSet =
true; m_platformDifferences = std::forward<PlatformDifferencesT>(value); }
189 template<
typename PlatformDifferencesT = Aws::Vector<PlatformDifference>>
212 inline void SetPerformanceRisk(
double value) { m_performanceRiskHasBeenSet =
true; m_performanceRisk = value; }
223 inline void SetRank(
int value) { m_rankHasBeenSet =
true; m_rank = value; }
235 template<
typename SavingsOpportunityT = SavingsOpportunity>
236 void SetSavingsOpportunity(SavingsOpportunityT&& value) { m_savingsOpportunityHasBeenSet =
true; m_savingsOpportunity = std::forward<SavingsOpportunityT>(value); }
237 template<
typename SavingsOpportunityT = SavingsOpportunity>
250 template<
typename SavingsOpportunityAfterDiscountsT = InstanceSavingsOpportunityAfterDiscounts>
251 void SetSavingsOpportunityAfterDiscounts(SavingsOpportunityAfterDiscountsT&& value) { m_savingsOpportunityAfterDiscountsHasBeenSet =
true; m_savingsOpportunityAfterDiscounts = std::forward<SavingsOpportunityAfterDiscountsT>(value); }
252 template<
typename SavingsOpportunityAfterDiscountsT = InstanceSavingsOpportunityAfterDiscounts>
275 bool m_instanceTypeHasBeenSet =
false;
278 bool m_instanceGpuInfoHasBeenSet =
false;
281 bool m_projectedUtilizationMetricsHasBeenSet =
false;
284 bool m_platformDifferencesHasBeenSet =
false;
286 double m_performanceRisk{0.0};
287 bool m_performanceRiskHasBeenSet =
false;
290 bool m_rankHasBeenSet =
false;
292 SavingsOpportunity m_savingsOpportunity;
293 bool m_savingsOpportunityHasBeenSet =
false;
295 InstanceSavingsOpportunityAfterDiscounts m_savingsOpportunityAfterDiscounts;
296 bool m_savingsOpportunityAfterDiscountsHasBeenSet =
false;
299 bool m_migrationEffortHasBeenSet =
false;
void SetProjectedUtilizationMetrics(ProjectedUtilizationMetricsT &&value)
AWS_COMPUTEOPTIMIZER_API InstanceRecommendationOption(Aws::Utils::Json::JsonView jsonValue)
bool SavingsOpportunityAfterDiscountsHasBeenSet() const
void SetSavingsOpportunityAfterDiscounts(SavingsOpportunityAfterDiscountsT &&value)
bool ProjectedUtilizationMetricsHasBeenSet() const
AWS_COMPUTEOPTIMIZER_API Aws::Utils::Json::JsonValue Jsonize() const
bool PerformanceRiskHasBeenSet() const
const InstanceSavingsOpportunityAfterDiscounts & GetSavingsOpportunityAfterDiscounts() const
InstanceRecommendationOption & WithPerformanceRisk(double value)
bool RankHasBeenSet() const
void SetInstanceGpuInfo(InstanceGpuInfoT &&value)
bool MigrationEffortHasBeenSet() const
InstanceRecommendationOption & WithMigrationEffort(MigrationEffort value)
bool PlatformDifferencesHasBeenSet() const
const Aws::Vector< UtilizationMetric > & GetProjectedUtilizationMetrics() const
void SetPerformanceRisk(double value)
void SetPlatformDifferences(PlatformDifferencesT &&value)
InstanceRecommendationOption & WithPlatformDifferences(PlatformDifferencesT &&value)
bool SavingsOpportunityHasBeenSet() const
InstanceRecommendationOption & WithInstanceGpuInfo(InstanceGpuInfoT &&value)
double GetPerformanceRisk() const
void SetInstanceType(InstanceTypeT &&value)
MigrationEffort GetMigrationEffort() const
const SavingsOpportunity & GetSavingsOpportunity() const
InstanceRecommendationOption & WithSavingsOpportunityAfterDiscounts(SavingsOpportunityAfterDiscountsT &&value)
AWS_COMPUTEOPTIMIZER_API InstanceRecommendationOption()=default
bool InstanceTypeHasBeenSet() const
InstanceRecommendationOption & WithSavingsOpportunity(SavingsOpportunityT &&value)
InstanceRecommendationOption & WithInstanceType(InstanceTypeT &&value)
void SetSavingsOpportunity(SavingsOpportunityT &&value)
AWS_COMPUTEOPTIMIZER_API InstanceRecommendationOption & operator=(Aws::Utils::Json::JsonView jsonValue)
InstanceRecommendationOption & AddPlatformDifferences(PlatformDifference value)
const GpuInfo & GetInstanceGpuInfo() const
const Aws::String & GetInstanceType() const
InstanceRecommendationOption & WithRank(int value)
bool InstanceGpuInfoHasBeenSet() const
void SetMigrationEffort(MigrationEffort value)
InstanceRecommendationOption & WithProjectedUtilizationMetrics(ProjectedUtilizationMetricsT &&value)
InstanceRecommendationOption & AddProjectedUtilizationMetrics(ProjectedUtilizationMetricsT &&value)
const Aws::Vector< PlatformDifference > & GetPlatformDifferences() const
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue