AWS SDK for C++

AWS SDK for C++ Version 1.11.754

Loading...
Searching...
No Matches
RecommendationPreferencesDetail.h
1
6#pragma once
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>
18
19#include <utility>
20
21namespace Aws {
22namespace Utils {
23namespace Json {
24class JsonValue;
25class JsonView;
26} // namespace Json
27} // namespace Utils
28namespace ComputeOptimizer {
29namespace Model {
30
37 public:
38 AWS_COMPUTEOPTIMIZER_API RecommendationPreferencesDetail() = default;
41 AWS_COMPUTEOPTIMIZER_API Aws::Utils::Json::JsonValue Jsonize() const;
42
44
53 inline const Scope& GetScope() const { return m_scope; }
54 inline bool ScopeHasBeenSet() const { return m_scopeHasBeenSet; }
55 template <typename ScopeT = Scope>
56 void SetScope(ScopeT&& value) {
57 m_scopeHasBeenSet = true;
58 m_scope = std::forward<ScopeT>(value);
59 }
60 template <typename ScopeT = Scope>
62 SetScope(std::forward<ScopeT>(value));
63 return *this;
64 }
66
68
75 inline ResourceType GetResourceType() const { return m_resourceType; }
76 inline bool ResourceTypeHasBeenSet() const { return m_resourceTypeHasBeenSet; }
77 inline void SetResourceType(ResourceType value) {
78 m_resourceTypeHasBeenSet = true;
79 m_resourceType = value;
80 }
82 SetResourceType(value);
83 return *this;
84 }
86
88
98 inline EnhancedInfrastructureMetrics GetEnhancedInfrastructureMetrics() const { return m_enhancedInfrastructureMetrics; }
99 inline bool EnhancedInfrastructureMetricsHasBeenSet() const { return m_enhancedInfrastructureMetricsHasBeenSet; }
101 m_enhancedInfrastructureMetricsHasBeenSet = true;
102 m_enhancedInfrastructureMetrics = value;
103 }
106 return *this;
107 }
109
111
118 inline InferredWorkloadTypesPreference GetInferredWorkloadTypes() const { return m_inferredWorkloadTypes; }
119 inline bool InferredWorkloadTypesHasBeenSet() const { return m_inferredWorkloadTypesHasBeenSet; }
121 m_inferredWorkloadTypesHasBeenSet = true;
122 m_inferredWorkloadTypes = value;
123 }
126 return *this;
127 }
129
131
138 inline const ExternalMetricsPreference& GetExternalMetricsPreference() const { return m_externalMetricsPreference; }
139 inline bool ExternalMetricsPreferenceHasBeenSet() const { return m_externalMetricsPreferenceHasBeenSet; }
140 template <typename ExternalMetricsPreferenceT = ExternalMetricsPreference>
141 void SetExternalMetricsPreference(ExternalMetricsPreferenceT&& value) {
142 m_externalMetricsPreferenceHasBeenSet = true;
143 m_externalMetricsPreference = std::forward<ExternalMetricsPreferenceT>(value);
144 }
145 template <typename ExternalMetricsPreferenceT = ExternalMetricsPreference>
147 SetExternalMetricsPreference(std::forward<ExternalMetricsPreferenceT>(value));
148 return *this;
149 }
151
153
158 inline LookBackPeriodPreference GetLookBackPeriod() const { return m_lookBackPeriod; }
159 inline bool LookBackPeriodHasBeenSet() const { return m_lookBackPeriodHasBeenSet; }
161 m_lookBackPeriodHasBeenSet = true;
162 m_lookBackPeriod = value;
163 }
165 SetLookBackPeriod(value);
166 return *this;
167 }
169
171
177 inline const Aws::Vector<UtilizationPreference>& GetUtilizationPreferences() const { return m_utilizationPreferences; }
178 inline bool UtilizationPreferencesHasBeenSet() const { return m_utilizationPreferencesHasBeenSet; }
179 template <typename UtilizationPreferencesT = Aws::Vector<UtilizationPreference>>
180 void SetUtilizationPreferences(UtilizationPreferencesT&& value) {
181 m_utilizationPreferencesHasBeenSet = true;
182 m_utilizationPreferences = std::forward<UtilizationPreferencesT>(value);
183 }
184 template <typename UtilizationPreferencesT = Aws::Vector<UtilizationPreference>>
186 SetUtilizationPreferences(std::forward<UtilizationPreferencesT>(value));
187 return *this;
188 }
189 template <typename UtilizationPreferencesT = UtilizationPreference>
191 m_utilizationPreferencesHasBeenSet = true;
192 m_utilizationPreferences.emplace_back(std::forward<UtilizationPreferencesT>(value));
193 return *this;
194 }
196
198
204 inline const Aws::Vector<EffectivePreferredResource>& GetPreferredResources() const { return m_preferredResources; }
205 inline bool PreferredResourcesHasBeenSet() const { return m_preferredResourcesHasBeenSet; }
206 template <typename PreferredResourcesT = Aws::Vector<EffectivePreferredResource>>
207 void SetPreferredResources(PreferredResourcesT&& value) {
208 m_preferredResourcesHasBeenSet = true;
209 m_preferredResources = std::forward<PreferredResourcesT>(value);
210 }
211 template <typename PreferredResourcesT = Aws::Vector<EffectivePreferredResource>>
213 SetPreferredResources(std::forward<PreferredResourcesT>(value));
214 return *this;
215 }
216 template <typename PreferredResourcesT = EffectivePreferredResource>
218 m_preferredResourcesHasBeenSet = true;
219 m_preferredResources.emplace_back(std::forward<PreferredResourcesT>(value));
220 return *this;
221 }
223
225
230 inline SavingsEstimationMode GetSavingsEstimationMode() const { return m_savingsEstimationMode; }
231 inline bool SavingsEstimationModeHasBeenSet() const { return m_savingsEstimationModeHasBeenSet; }
233 m_savingsEstimationModeHasBeenSet = true;
234 m_savingsEstimationMode = value;
235 }
238 return *this;
239 }
241 private:
242 Scope m_scope;
243
244 ResourceType m_resourceType{ResourceType::NOT_SET};
245
247
249
250 ExternalMetricsPreference m_externalMetricsPreference;
251
253
254 Aws::Vector<UtilizationPreference> m_utilizationPreferences;
255
256 Aws::Vector<EffectivePreferredResource> m_preferredResources;
257
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;
268};
269
270} // namespace Model
271} // namespace ComputeOptimizer
272} // 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