7#include <aws/compute-optimizer/ComputeOptimizer_EXPORTS.h>
8#include <aws/compute-optimizer/model/Scope.h>
9#include <aws/compute-optimizer/model/ResourceType.h>
10#include <aws/compute-optimizer/model/EnhancedInfrastructureMetrics.h>
11#include <aws/compute-optimizer/model/InferredWorkloadTypesPreference.h>
12#include <aws/compute-optimizer/model/ExternalMetricsPreference.h>
13#include <aws/compute-optimizer/model/LookBackPeriodPreference.h>
14#include <aws/core/utils/memory/stl/AWSVector.h>
15#include <aws/compute-optimizer/model/SavingsEstimationMode.h>
16#include <aws/compute-optimizer/model/UtilizationPreference.h>
17#include <aws/compute-optimizer/model/EffectivePreferredResource.h>
30namespace ComputeOptimizer
61 template<
typename ScopeT = Scope>
62 void SetScope(ScopeT&& value) { m_scopeHasBeenSet =
true; m_scope = std::forward<ScopeT>(value); }
63 template<
typename ScopeT = Scope>
122 template<
typename ExternalMetricsPreferenceT = ExternalMetricsPreference>
123 void SetExternalMetricsPreference(ExternalMetricsPreferenceT&& value) { m_externalMetricsPreferenceHasBeenSet =
true; m_externalMetricsPreference = std::forward<ExternalMetricsPreferenceT>(value); }
124 template<
typename ExternalMetricsPreferenceT = ExternalMetricsPreference>
149 template<
typename UtilizationPreferencesT = Aws::Vector<UtilizationPreference>>
150 void SetUtilizationPreferences(UtilizationPreferencesT&& value) { m_utilizationPreferencesHasBeenSet =
true; m_utilizationPreferences = std::forward<UtilizationPreferencesT>(value); }
151 template<
typename UtilizationPreferencesT = Aws::Vector<UtilizationPreference>>
153 template<
typename UtilizationPreferencesT = UtilizationPreference>
166 template<
typename PreferredResourcesT = Aws::Vector<EffectivePreferredResource>>
167 void SetPreferredResources(PreferredResourcesT&& value) { m_preferredResourcesHasBeenSet =
true; m_preferredResources = std::forward<PreferredResourcesT>(value); }
168 template<
typename PreferredResourcesT = Aws::Vector<EffectivePreferredResource>>
170 template<
typename PreferredResourcesT = EffectivePreferredResource>
188 bool m_scopeHasBeenSet =
false;
191 bool m_resourceTypeHasBeenSet =
false;
194 bool m_enhancedInfrastructureMetricsHasBeenSet =
false;
197 bool m_inferredWorkloadTypesHasBeenSet =
false;
199 ExternalMetricsPreference m_externalMetricsPreference;
200 bool m_externalMetricsPreferenceHasBeenSet =
false;
203 bool m_lookBackPeriodHasBeenSet =
false;
206 bool m_utilizationPreferencesHasBeenSet =
false;
209 bool m_preferredResourcesHasBeenSet =
false;
212 bool m_savingsEstimationModeHasBeenSet =
false;
bool ScopeHasBeenSet() const
RecommendationPreferencesDetail & WithLookBackPeriod(LookBackPeriodPreference value)
RecommendationPreferencesDetail & WithSavingsEstimationMode(SavingsEstimationMode value)
void SetSavingsEstimationMode(SavingsEstimationMode value)
const Aws::Vector< EffectivePreferredResource > & GetPreferredResources() const
bool InferredWorkloadTypesHasBeenSet() const
bool EnhancedInfrastructureMetricsHasBeenSet() const
RecommendationPreferencesDetail & AddPreferredResources(PreferredResourcesT &&value)
InferredWorkloadTypesPreference GetInferredWorkloadTypes() const
bool PreferredResourcesHasBeenSet() const
RecommendationPreferencesDetail & WithEnhancedInfrastructureMetrics(EnhancedInfrastructureMetrics value)
void SetExternalMetricsPreference(ExternalMetricsPreferenceT &&value)
RecommendationPreferencesDetail & WithPreferredResources(PreferredResourcesT &&value)
RecommendationPreferencesDetail & AddUtilizationPreferences(UtilizationPreferencesT &&value)
AWS_COMPUTEOPTIMIZER_API RecommendationPreferencesDetail(Aws::Utils::Json::JsonView jsonValue)
bool SavingsEstimationModeHasBeenSet() const
LookBackPeriodPreference GetLookBackPeriod() const
RecommendationPreferencesDetail & WithScope(ScopeT &&value)
ResourceType GetResourceType() const
const ExternalMetricsPreference & GetExternalMetricsPreference() const
bool ResourceTypeHasBeenSet() const
bool UtilizationPreferencesHasBeenSet() const
RecommendationPreferencesDetail & WithResourceType(ResourceType value)
void SetUtilizationPreferences(UtilizationPreferencesT &&value)
bool ExternalMetricsPreferenceHasBeenSet() const
AWS_COMPUTEOPTIMIZER_API RecommendationPreferencesDetail & operator=(Aws::Utils::Json::JsonView jsonValue)
SavingsEstimationMode GetSavingsEstimationMode() const
void SetEnhancedInfrastructureMetrics(EnhancedInfrastructureMetrics value)
void SetInferredWorkloadTypes(InferredWorkloadTypesPreference value)
const Aws::Vector< UtilizationPreference > & GetUtilizationPreferences() const
RecommendationPreferencesDetail & WithExternalMetricsPreference(ExternalMetricsPreferenceT &&value)
const Scope & GetScope() const
EnhancedInfrastructureMetrics GetEnhancedInfrastructureMetrics() const
RecommendationPreferencesDetail & WithUtilizationPreferences(UtilizationPreferencesT &&value)
void SetResourceType(ResourceType value)
AWS_COMPUTEOPTIMIZER_API Aws::Utils::Json::JsonValue Jsonize() const
void SetScope(ScopeT &&value)
void SetPreferredResources(PreferredResourcesT &&value)
RecommendationPreferencesDetail & WithInferredWorkloadTypes(InferredWorkloadTypesPreference value)
bool LookBackPeriodHasBeenSet() const
AWS_COMPUTEOPTIMIZER_API RecommendationPreferencesDetail()=default
void SetLookBackPeriod(LookBackPeriodPreference value)
InferredWorkloadTypesPreference
EnhancedInfrastructureMetrics
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue