7#include <aws/compute-optimizer/ComputeOptimizer_EXPORTS.h>
8#include <aws/compute-optimizer/model/EffectivePreferredResource.h>
9#include <aws/compute-optimizer/model/EnhancedInfrastructureMetrics.h>
10#include <aws/compute-optimizer/model/ExternalMetricsPreference.h>
11#include <aws/compute-optimizer/model/InferredWorkloadTypesPreference.h>
12#include <aws/compute-optimizer/model/LookBackPeriodPreference.h>
13#include <aws/compute-optimizer/model/ResourceType.h>
14#include <aws/compute-optimizer/model/SavingsEstimationMode.h>
15#include <aws/compute-optimizer/model/Scope.h>
16#include <aws/compute-optimizer/model/UtilizationPreference.h>
17#include <aws/core/utils/memory/stl/AWSVector.h>
28namespace ComputeOptimizer {
55 template <
typename ScopeT = Scope>
57 m_scopeHasBeenSet =
true;
58 m_scope = std::forward<ScopeT>(value);
60 template <
typename ScopeT = Scope>
62 SetScope(std::forward<ScopeT>(value));
78 m_resourceTypeHasBeenSet =
true;
79 m_resourceType = value;
101 m_enhancedInfrastructureMetricsHasBeenSet =
true;
102 m_enhancedInfrastructureMetrics = value;
121 m_inferredWorkloadTypesHasBeenSet =
true;
122 m_inferredWorkloadTypes = value;
140 template <
typename ExternalMetricsPreferenceT = ExternalMetricsPreference>
142 m_externalMetricsPreferenceHasBeenSet =
true;
143 m_externalMetricsPreference = std::forward<ExternalMetricsPreferenceT>(value);
145 template <
typename ExternalMetricsPreferenceT = ExternalMetricsPreference>
161 m_lookBackPeriodHasBeenSet =
true;
162 m_lookBackPeriod = value;
179 template <
typename UtilizationPreferencesT = Aws::Vector<UtilizationPreference>>
181 m_utilizationPreferencesHasBeenSet =
true;
182 m_utilizationPreferences = std::forward<UtilizationPreferencesT>(value);
184 template <
typename UtilizationPreferencesT = Aws::Vector<UtilizationPreference>>
189 template <
typename UtilizationPreferencesT = UtilizationPreference>
191 m_utilizationPreferencesHasBeenSet =
true;
192 m_utilizationPreferences.emplace_back(std::forward<UtilizationPreferencesT>(value));
206 template <
typename PreferredResourcesT = Aws::Vector<EffectivePreferredResource>>
208 m_preferredResourcesHasBeenSet =
true;
209 m_preferredResources = std::forward<PreferredResourcesT>(value);
211 template <
typename PreferredResourcesT = Aws::Vector<EffectivePreferredResource>>
216 template <
typename PreferredResourcesT = EffectivePreferredResource>
218 m_preferredResourcesHasBeenSet =
true;
219 m_preferredResources.emplace_back(std::forward<PreferredResourcesT>(value));
233 m_savingsEstimationModeHasBeenSet =
true;
234 m_savingsEstimationMode = value;
250 ExternalMetricsPreference m_externalMetricsPreference;
259 bool m_scopeHasBeenSet =
false;
260 bool m_resourceTypeHasBeenSet =
false;
261 bool m_enhancedInfrastructureMetricsHasBeenSet =
false;
262 bool m_inferredWorkloadTypesHasBeenSet =
false;
263 bool m_externalMetricsPreferenceHasBeenSet =
false;
264 bool m_lookBackPeriodHasBeenSet =
false;
265 bool m_utilizationPreferencesHasBeenSet =
false;
266 bool m_preferredResourcesHasBeenSet =
false;
267 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