7#include <aws/compute-optimizer/ComputeOptimizer_EXPORTS.h>
8#include <aws/compute-optimizer/model/CpuVendorArchitecture.h>
9#include <aws/compute-optimizer/model/EffectivePreferredResource.h>
10#include <aws/compute-optimizer/model/EnhancedInfrastructureMetrics.h>
11#include <aws/compute-optimizer/model/ExternalMetricsPreference.h>
12#include <aws/compute-optimizer/model/InferredWorkloadTypesPreference.h>
13#include <aws/compute-optimizer/model/InstanceSavingsEstimationMode.h>
14#include <aws/compute-optimizer/model/LookBackPeriodPreference.h>
15#include <aws/compute-optimizer/model/UtilizationPreference.h>
16#include <aws/core/utils/memory/stl/AWSVector.h>
27namespace ComputeOptimizer {
59 template <
typename CpuVendorArchitecturesT = Aws::Vector<CpuVendorArchitecture>>
61 m_cpuVendorArchitecturesHasBeenSet =
true;
62 m_cpuVendorArchitectures = std::forward<CpuVendorArchitecturesT>(value);
64 template <
typename CpuVendorArchitecturesT = Aws::Vector<CpuVendorArchitecture>>
70 m_cpuVendorArchitecturesHasBeenSet =
true;
71 m_cpuVendorArchitectures.push_back(value);
89 m_enhancedInfrastructureMetricsHasBeenSet =
true;
90 m_enhancedInfrastructureMetrics = value;
108 m_inferredWorkloadTypesHasBeenSet =
true;
109 m_inferredWorkloadTypes = value;
127 template <
typename ExternalMetricsPreferenceT = ExternalMetricsPreference>
129 m_externalMetricsPreferenceHasBeenSet =
true;
130 m_externalMetricsPreference = std::forward<ExternalMetricsPreferenceT>(value);
132 template <
typename ExternalMetricsPreferenceT = ExternalMetricsPreference>
147 m_lookBackPeriodHasBeenSet =
true;
148 m_lookBackPeriod = value;
165 template <
typename UtilizationPreferencesT = Aws::Vector<UtilizationPreference>>
167 m_utilizationPreferencesHasBeenSet =
true;
168 m_utilizationPreferences = std::forward<UtilizationPreferencesT>(value);
170 template <
typename UtilizationPreferencesT = Aws::Vector<UtilizationPreference>>
175 template <
typename UtilizationPreferencesT = UtilizationPreference>
177 m_utilizationPreferencesHasBeenSet =
true;
178 m_utilizationPreferences.emplace_back(std::forward<UtilizationPreferencesT>(value));
190 template <
typename PreferredResourcesT = Aws::Vector<EffectivePreferredResource>>
192 m_preferredResourcesHasBeenSet =
true;
193 m_preferredResources = std::forward<PreferredResourcesT>(value);
195 template <
typename PreferredResourcesT = Aws::Vector<EffectivePreferredResource>>
200 template <
typename PreferredResourcesT = EffectivePreferredResource>
202 m_preferredResourcesHasBeenSet =
true;
203 m_preferredResources.emplace_back(std::forward<PreferredResourcesT>(value));
215 template <
typename SavingsEstimationModeT = InstanceSavingsEstimationMode>
217 m_savingsEstimationModeHasBeenSet =
true;
218 m_savingsEstimationMode = std::forward<SavingsEstimationModeT>(value);
220 template <
typename SavingsEstimationModeT = InstanceSavingsEstimationMode>
233 ExternalMetricsPreference m_externalMetricsPreference;
241 InstanceSavingsEstimationMode m_savingsEstimationMode;
242 bool m_cpuVendorArchitecturesHasBeenSet =
false;
243 bool m_enhancedInfrastructureMetricsHasBeenSet =
false;
244 bool m_inferredWorkloadTypesHasBeenSet =
false;
245 bool m_externalMetricsPreferenceHasBeenSet =
false;
246 bool m_lookBackPeriodHasBeenSet =
false;
247 bool m_utilizationPreferencesHasBeenSet =
false;
248 bool m_preferredResourcesHasBeenSet =
false;
249 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