AWS SDK for C++

AWS SDK for C++ Version 1.11.612

Loading...
Searching...
No Matches
RecommendationPreferencesDetail.h
1
6#pragma once
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>
18#include <utility>
19
20namespace Aws
21{
22namespace Utils
23{
24namespace Json
25{
26 class JsonValue;
27 class JsonView;
28} // namespace Json
29} // namespace Utils
30namespace ComputeOptimizer
31{
32namespace Model
33{
34
41 {
42 public:
43 AWS_COMPUTEOPTIMIZER_API RecommendationPreferencesDetail() = default;
46 AWS_COMPUTEOPTIMIZER_API Aws::Utils::Json::JsonValue Jsonize() const;
47
48
50
59 inline const Scope& GetScope() const { return m_scope; }
60 inline bool ScopeHasBeenSet() const { return m_scopeHasBeenSet; }
61 template<typename ScopeT = Scope>
62 void SetScope(ScopeT&& value) { m_scopeHasBeenSet = true; m_scope = std::forward<ScopeT>(value); }
63 template<typename ScopeT = Scope>
64 RecommendationPreferencesDetail& WithScope(ScopeT&& value) { SetScope(std::forward<ScopeT>(value)); return *this;}
66
68
75 inline ResourceType GetResourceType() const { return m_resourceType; }
76 inline bool ResourceTypeHasBeenSet() const { return m_resourceTypeHasBeenSet; }
77 inline void SetResourceType(ResourceType value) { m_resourceTypeHasBeenSet = true; m_resourceType = value; }
80
82
92 inline EnhancedInfrastructureMetrics GetEnhancedInfrastructureMetrics() const { return m_enhancedInfrastructureMetrics; }
93 inline bool EnhancedInfrastructureMetricsHasBeenSet() const { return m_enhancedInfrastructureMetricsHasBeenSet; }
94 inline void SetEnhancedInfrastructureMetrics(EnhancedInfrastructureMetrics value) { m_enhancedInfrastructureMetricsHasBeenSet = true; m_enhancedInfrastructureMetrics = value; }
97
99
106 inline InferredWorkloadTypesPreference GetInferredWorkloadTypes() const { return m_inferredWorkloadTypes; }
107 inline bool InferredWorkloadTypesHasBeenSet() const { return m_inferredWorkloadTypesHasBeenSet; }
108 inline void SetInferredWorkloadTypes(InferredWorkloadTypesPreference value) { m_inferredWorkloadTypesHasBeenSet = true; m_inferredWorkloadTypes = value; }
111
113
120 inline const ExternalMetricsPreference& GetExternalMetricsPreference() const { return m_externalMetricsPreference; }
121 inline bool ExternalMetricsPreferenceHasBeenSet() const { return m_externalMetricsPreferenceHasBeenSet; }
122 template<typename ExternalMetricsPreferenceT = ExternalMetricsPreference>
123 void SetExternalMetricsPreference(ExternalMetricsPreferenceT&& value) { m_externalMetricsPreferenceHasBeenSet = true; m_externalMetricsPreference = std::forward<ExternalMetricsPreferenceT>(value); }
124 template<typename ExternalMetricsPreferenceT = ExternalMetricsPreference>
125 RecommendationPreferencesDetail& WithExternalMetricsPreference(ExternalMetricsPreferenceT&& value) { SetExternalMetricsPreference(std::forward<ExternalMetricsPreferenceT>(value)); return *this;}
127
129
134 inline LookBackPeriodPreference GetLookBackPeriod() const { return m_lookBackPeriod; }
135 inline bool LookBackPeriodHasBeenSet() const { return m_lookBackPeriodHasBeenSet; }
136 inline void SetLookBackPeriod(LookBackPeriodPreference value) { m_lookBackPeriodHasBeenSet = true; m_lookBackPeriod = value; }
139
141
147 inline const Aws::Vector<UtilizationPreference>& GetUtilizationPreferences() const { return m_utilizationPreferences; }
148 inline bool UtilizationPreferencesHasBeenSet() const { return m_utilizationPreferencesHasBeenSet; }
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>>
152 RecommendationPreferencesDetail& WithUtilizationPreferences(UtilizationPreferencesT&& value) { SetUtilizationPreferences(std::forward<UtilizationPreferencesT>(value)); return *this;}
153 template<typename UtilizationPreferencesT = UtilizationPreference>
154 RecommendationPreferencesDetail& AddUtilizationPreferences(UtilizationPreferencesT&& value) { m_utilizationPreferencesHasBeenSet = true; m_utilizationPreferences.emplace_back(std::forward<UtilizationPreferencesT>(value)); return *this; }
156
158
164 inline const Aws::Vector<EffectivePreferredResource>& GetPreferredResources() const { return m_preferredResources; }
165 inline bool PreferredResourcesHasBeenSet() const { return m_preferredResourcesHasBeenSet; }
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>>
169 RecommendationPreferencesDetail& WithPreferredResources(PreferredResourcesT&& value) { SetPreferredResources(std::forward<PreferredResourcesT>(value)); return *this;}
170 template<typename PreferredResourcesT = EffectivePreferredResource>
171 RecommendationPreferencesDetail& AddPreferredResources(PreferredResourcesT&& value) { m_preferredResourcesHasBeenSet = true; m_preferredResources.emplace_back(std::forward<PreferredResourcesT>(value)); return *this; }
173
175
180 inline SavingsEstimationMode GetSavingsEstimationMode() const { return m_savingsEstimationMode; }
181 inline bool SavingsEstimationModeHasBeenSet() const { return m_savingsEstimationModeHasBeenSet; }
182 inline void SetSavingsEstimationMode(SavingsEstimationMode value) { m_savingsEstimationModeHasBeenSet = true; m_savingsEstimationMode = value; }
185 private:
186
187 Scope m_scope;
188 bool m_scopeHasBeenSet = false;
189
190 ResourceType m_resourceType{ResourceType::NOT_SET};
191 bool m_resourceTypeHasBeenSet = false;
192
194 bool m_enhancedInfrastructureMetricsHasBeenSet = false;
195
197 bool m_inferredWorkloadTypesHasBeenSet = false;
198
199 ExternalMetricsPreference m_externalMetricsPreference;
200 bool m_externalMetricsPreferenceHasBeenSet = false;
201
203 bool m_lookBackPeriodHasBeenSet = false;
204
205 Aws::Vector<UtilizationPreference> m_utilizationPreferences;
206 bool m_utilizationPreferencesHasBeenSet = false;
207
208 Aws::Vector<EffectivePreferredResource> m_preferredResources;
209 bool m_preferredResourcesHasBeenSet = false;
210
212 bool m_savingsEstimationModeHasBeenSet = false;
213 };
214
215} // namespace Model
216} // namespace ComputeOptimizer
217} // namespace Aws
RecommendationPreferencesDetail & WithLookBackPeriod(LookBackPeriodPreference value)
RecommendationPreferencesDetail & WithSavingsEstimationMode(SavingsEstimationMode value)
const Aws::Vector< EffectivePreferredResource > & GetPreferredResources() const
RecommendationPreferencesDetail & AddPreferredResources(PreferredResourcesT &&value)
RecommendationPreferencesDetail & WithEnhancedInfrastructureMetrics(EnhancedInfrastructureMetrics value)
RecommendationPreferencesDetail & WithPreferredResources(PreferredResourcesT &&value)
RecommendationPreferencesDetail & AddUtilizationPreferences(UtilizationPreferencesT &&value)
AWS_COMPUTEOPTIMIZER_API RecommendationPreferencesDetail(Aws::Utils::Json::JsonView jsonValue)
RecommendationPreferencesDetail & WithResourceType(ResourceType value)
AWS_COMPUTEOPTIMIZER_API RecommendationPreferencesDetail & operator=(Aws::Utils::Json::JsonView jsonValue)
const Aws::Vector< UtilizationPreference > & GetUtilizationPreferences() const
RecommendationPreferencesDetail & WithExternalMetricsPreference(ExternalMetricsPreferenceT &&value)
RecommendationPreferencesDetail & WithUtilizationPreferences(UtilizationPreferencesT &&value)
AWS_COMPUTEOPTIMIZER_API Aws::Utils::Json::JsonValue Jsonize() const
RecommendationPreferencesDetail & WithInferredWorkloadTypes(InferredWorkloadTypesPreference value)
AWS_COMPUTEOPTIMIZER_API RecommendationPreferencesDetail()=default
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue