7#include <aws/compute-optimizer/ComputeOptimizer_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSVector.h>
9#include <aws/compute-optimizer/model/EnhancedInfrastructureMetrics.h>
10#include <aws/compute-optimizer/model/InferredWorkloadTypesPreference.h>
11#include <aws/compute-optimizer/model/ExternalMetricsPreference.h>
12#include <aws/compute-optimizer/model/LookBackPeriodPreference.h>
13#include <aws/compute-optimizer/model/InstanceSavingsEstimationMode.h>
14#include <aws/compute-optimizer/model/CpuVendorArchitecture.h>
15#include <aws/compute-optimizer/model/UtilizationPreference.h>
16#include <aws/compute-optimizer/model/EffectivePreferredResource.h>
29namespace ComputeOptimizer
65 template<
typename CpuVendorArchitecturesT = Aws::Vector<CpuVendorArchitecture>>
66 void SetCpuVendorArchitectures(CpuVendorArchitecturesT&& value) { m_cpuVendorArchitecturesHasBeenSet =
true; m_cpuVendorArchitectures = std::forward<CpuVendorArchitecturesT>(value); }
67 template<
typename CpuVendorArchitecturesT = Aws::Vector<CpuVendorArchitecture>>
111 template<
typename ExternalMetricsPreferenceT = ExternalMetricsPreference>
112 void SetExternalMetricsPreference(ExternalMetricsPreferenceT&& value) { m_externalMetricsPreferenceHasBeenSet =
true; m_externalMetricsPreference = std::forward<ExternalMetricsPreferenceT>(value); }
113 template<
typename ExternalMetricsPreferenceT = ExternalMetricsPreference>
137 template<
typename UtilizationPreferencesT = Aws::Vector<UtilizationPreference>>
138 void SetUtilizationPreferences(UtilizationPreferencesT&& value) { m_utilizationPreferencesHasBeenSet =
true; m_utilizationPreferences = std::forward<UtilizationPreferencesT>(value); }
139 template<
typename UtilizationPreferencesT = Aws::Vector<UtilizationPreference>>
141 template<
typename UtilizationPreferencesT = UtilizationPreference>
152 template<
typename PreferredResourcesT = Aws::Vector<EffectivePreferredResource>>
153 void SetPreferredResources(PreferredResourcesT&& value) { m_preferredResourcesHasBeenSet =
true; m_preferredResources = std::forward<PreferredResourcesT>(value); }
154 template<
typename PreferredResourcesT = Aws::Vector<EffectivePreferredResource>>
156 template<
typename PreferredResourcesT = EffectivePreferredResource>
167 template<
typename SavingsEstimationModeT = InstanceSavingsEstimationMode>
168 void SetSavingsEstimationMode(SavingsEstimationModeT&& value) { m_savingsEstimationModeHasBeenSet =
true; m_savingsEstimationMode = std::forward<SavingsEstimationModeT>(value); }
169 template<
typename SavingsEstimationModeT = InstanceSavingsEstimationMode>
175 bool m_cpuVendorArchitecturesHasBeenSet =
false;
178 bool m_enhancedInfrastructureMetricsHasBeenSet =
false;
181 bool m_inferredWorkloadTypesHasBeenSet =
false;
183 ExternalMetricsPreference m_externalMetricsPreference;
184 bool m_externalMetricsPreferenceHasBeenSet =
false;
187 bool m_lookBackPeriodHasBeenSet =
false;
190 bool m_utilizationPreferencesHasBeenSet =
false;
193 bool m_preferredResourcesHasBeenSet =
false;
195 InstanceSavingsEstimationMode m_savingsEstimationMode;
196 bool m_savingsEstimationModeHasBeenSet =
false;
const Aws::Vector< EffectivePreferredResource > & GetPreferredResources() const
bool EnhancedInfrastructureMetricsHasBeenSet() const
EnhancedInfrastructureMetrics GetEnhancedInfrastructureMetrics() const
const ExternalMetricsPreference & GetExternalMetricsPreference() const
bool UtilizationPreferencesHasBeenSet() const
void SetInferredWorkloadTypes(InferredWorkloadTypesPreference value)
EffectiveRecommendationPreferences & WithCpuVendorArchitectures(CpuVendorArchitecturesT &&value)
EffectiveRecommendationPreferences & AddPreferredResources(PreferredResourcesT &&value)
AWS_COMPUTEOPTIMIZER_API EffectiveRecommendationPreferences(Aws::Utils::Json::JsonView jsonValue)
const Aws::Vector< UtilizationPreference > & GetUtilizationPreferences() const
void SetPreferredResources(PreferredResourcesT &&value)
AWS_COMPUTEOPTIMIZER_API EffectiveRecommendationPreferences()=default
EffectiveRecommendationPreferences & WithEnhancedInfrastructureMetrics(EnhancedInfrastructureMetrics value)
const Aws::Vector< CpuVendorArchitecture > & GetCpuVendorArchitectures() const
EffectiveRecommendationPreferences & WithLookBackPeriod(LookBackPeriodPreference value)
EffectiveRecommendationPreferences & WithExternalMetricsPreference(ExternalMetricsPreferenceT &&value)
bool ExternalMetricsPreferenceHasBeenSet() const
const InstanceSavingsEstimationMode & GetSavingsEstimationMode() const
void SetCpuVendorArchitectures(CpuVendorArchitecturesT &&value)
bool LookBackPeriodHasBeenSet() const
void SetExternalMetricsPreference(ExternalMetricsPreferenceT &&value)
EffectiveRecommendationPreferences & WithInferredWorkloadTypes(InferredWorkloadTypesPreference value)
AWS_COMPUTEOPTIMIZER_API Aws::Utils::Json::JsonValue Jsonize() const
EffectiveRecommendationPreferences & WithSavingsEstimationMode(SavingsEstimationModeT &&value)
EffectiveRecommendationPreferences & WithUtilizationPreferences(UtilizationPreferencesT &&value)
AWS_COMPUTEOPTIMIZER_API EffectiveRecommendationPreferences & operator=(Aws::Utils::Json::JsonView jsonValue)
void SetEnhancedInfrastructureMetrics(EnhancedInfrastructureMetrics value)
EffectiveRecommendationPreferences & AddUtilizationPreferences(UtilizationPreferencesT &&value)
bool SavingsEstimationModeHasBeenSet() const
LookBackPeriodPreference GetLookBackPeriod() const
bool PreferredResourcesHasBeenSet() const
EffectiveRecommendationPreferences & WithPreferredResources(PreferredResourcesT &&value)
EffectiveRecommendationPreferences & AddCpuVendorArchitectures(CpuVendorArchitecture value)
void SetLookBackPeriod(LookBackPeriodPreference value)
bool CpuVendorArchitecturesHasBeenSet() const
bool InferredWorkloadTypesHasBeenSet() const
void SetUtilizationPreferences(UtilizationPreferencesT &&value)
void SetSavingsEstimationMode(SavingsEstimationModeT &&value)
InferredWorkloadTypesPreference GetInferredWorkloadTypes() const
InferredWorkloadTypesPreference
EnhancedInfrastructureMetrics
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue