AWS SDK for C++

AWS SDK for C++ Version 1.11.747

Loading...
Searching...
No Matches
EffectiveRecommendationPreferences.h
1
6#pragma once
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>
17
18#include <utility>
19
20namespace Aws {
21namespace Utils {
22namespace Json {
23class JsonValue;
24class JsonView;
25} // namespace Json
26} // namespace Utils
27namespace ComputeOptimizer {
28namespace Model {
29
37 public:
38 AWS_COMPUTEOPTIMIZER_API EffectiveRecommendationPreferences() = default;
41 AWS_COMPUTEOPTIMIZER_API Aws::Utils::Json::JsonValue Jsonize() const;
42
44
57 inline const Aws::Vector<CpuVendorArchitecture>& GetCpuVendorArchitectures() const { return m_cpuVendorArchitectures; }
58 inline bool CpuVendorArchitecturesHasBeenSet() const { return m_cpuVendorArchitecturesHasBeenSet; }
59 template <typename CpuVendorArchitecturesT = Aws::Vector<CpuVendorArchitecture>>
60 void SetCpuVendorArchitectures(CpuVendorArchitecturesT&& value) {
61 m_cpuVendorArchitecturesHasBeenSet = true;
62 m_cpuVendorArchitectures = std::forward<CpuVendorArchitecturesT>(value);
63 }
64 template <typename CpuVendorArchitecturesT = Aws::Vector<CpuVendorArchitecture>>
66 SetCpuVendorArchitectures(std::forward<CpuVendorArchitecturesT>(value));
67 return *this;
68 }
70 m_cpuVendorArchitecturesHasBeenSet = true;
71 m_cpuVendorArchitectures.push_back(value);
72 return *this;
73 }
75
77
86 inline EnhancedInfrastructureMetrics GetEnhancedInfrastructureMetrics() const { return m_enhancedInfrastructureMetrics; }
87 inline bool EnhancedInfrastructureMetricsHasBeenSet() const { return m_enhancedInfrastructureMetricsHasBeenSet; }
89 m_enhancedInfrastructureMetricsHasBeenSet = true;
90 m_enhancedInfrastructureMetrics = value;
91 }
94 return *this;
95 }
97
99
105 inline InferredWorkloadTypesPreference GetInferredWorkloadTypes() const { return m_inferredWorkloadTypes; }
106 inline bool InferredWorkloadTypesHasBeenSet() const { return m_inferredWorkloadTypesHasBeenSet; }
108 m_inferredWorkloadTypesHasBeenSet = true;
109 m_inferredWorkloadTypes = value;
110 }
113 return *this;
114 }
116
118
125 inline const ExternalMetricsPreference& GetExternalMetricsPreference() const { return m_externalMetricsPreference; }
126 inline bool ExternalMetricsPreferenceHasBeenSet() const { return m_externalMetricsPreferenceHasBeenSet; }
127 template <typename ExternalMetricsPreferenceT = ExternalMetricsPreference>
128 void SetExternalMetricsPreference(ExternalMetricsPreferenceT&& value) {
129 m_externalMetricsPreferenceHasBeenSet = true;
130 m_externalMetricsPreference = std::forward<ExternalMetricsPreferenceT>(value);
131 }
132 template <typename ExternalMetricsPreferenceT = ExternalMetricsPreference>
134 SetExternalMetricsPreference(std::forward<ExternalMetricsPreferenceT>(value));
135 return *this;
136 }
138
140
144 inline LookBackPeriodPreference GetLookBackPeriod() const { return m_lookBackPeriod; }
145 inline bool LookBackPeriodHasBeenSet() const { return m_lookBackPeriodHasBeenSet; }
147 m_lookBackPeriodHasBeenSet = true;
148 m_lookBackPeriod = value;
149 }
151 SetLookBackPeriod(value);
152 return *this;
153 }
155
157
163 inline const Aws::Vector<UtilizationPreference>& GetUtilizationPreferences() const { return m_utilizationPreferences; }
164 inline bool UtilizationPreferencesHasBeenSet() const { return m_utilizationPreferencesHasBeenSet; }
165 template <typename UtilizationPreferencesT = Aws::Vector<UtilizationPreference>>
166 void SetUtilizationPreferences(UtilizationPreferencesT&& value) {
167 m_utilizationPreferencesHasBeenSet = true;
168 m_utilizationPreferences = std::forward<UtilizationPreferencesT>(value);
169 }
170 template <typename UtilizationPreferencesT = Aws::Vector<UtilizationPreference>>
172 SetUtilizationPreferences(std::forward<UtilizationPreferencesT>(value));
173 return *this;
174 }
175 template <typename UtilizationPreferencesT = UtilizationPreference>
177 m_utilizationPreferencesHasBeenSet = true;
178 m_utilizationPreferences.emplace_back(std::forward<UtilizationPreferencesT>(value));
179 return *this;
180 }
182
184
188 inline const Aws::Vector<EffectivePreferredResource>& GetPreferredResources() const { return m_preferredResources; }
189 inline bool PreferredResourcesHasBeenSet() const { return m_preferredResourcesHasBeenSet; }
190 template <typename PreferredResourcesT = Aws::Vector<EffectivePreferredResource>>
191 void SetPreferredResources(PreferredResourcesT&& value) {
192 m_preferredResourcesHasBeenSet = true;
193 m_preferredResources = std::forward<PreferredResourcesT>(value);
194 }
195 template <typename PreferredResourcesT = Aws::Vector<EffectivePreferredResource>>
197 SetPreferredResources(std::forward<PreferredResourcesT>(value));
198 return *this;
199 }
200 template <typename PreferredResourcesT = EffectivePreferredResource>
202 m_preferredResourcesHasBeenSet = true;
203 m_preferredResources.emplace_back(std::forward<PreferredResourcesT>(value));
204 return *this;
205 }
207
209
213 inline const InstanceSavingsEstimationMode& GetSavingsEstimationMode() const { return m_savingsEstimationMode; }
214 inline bool SavingsEstimationModeHasBeenSet() const { return m_savingsEstimationModeHasBeenSet; }
215 template <typename SavingsEstimationModeT = InstanceSavingsEstimationMode>
216 void SetSavingsEstimationMode(SavingsEstimationModeT&& value) {
217 m_savingsEstimationModeHasBeenSet = true;
218 m_savingsEstimationMode = std::forward<SavingsEstimationModeT>(value);
219 }
220 template <typename SavingsEstimationModeT = InstanceSavingsEstimationMode>
222 SetSavingsEstimationMode(std::forward<SavingsEstimationModeT>(value));
223 return *this;
224 }
226 private:
227 Aws::Vector<CpuVendorArchitecture> m_cpuVendorArchitectures;
228
230
232
233 ExternalMetricsPreference m_externalMetricsPreference;
234
236
237 Aws::Vector<UtilizationPreference> m_utilizationPreferences;
238
239 Aws::Vector<EffectivePreferredResource> m_preferredResources;
240
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;
250};
251
252} // namespace Model
253} // namespace ComputeOptimizer
254} // namespace Aws
const Aws::Vector< EffectivePreferredResource > & GetPreferredResources() const
EffectiveRecommendationPreferences & WithCpuVendorArchitectures(CpuVendorArchitecturesT &&value)
EffectiveRecommendationPreferences & AddPreferredResources(PreferredResourcesT &&value)
AWS_COMPUTEOPTIMIZER_API EffectiveRecommendationPreferences(Aws::Utils::Json::JsonView jsonValue)
const Aws::Vector< UtilizationPreference > & GetUtilizationPreferences() const
AWS_COMPUTEOPTIMIZER_API EffectiveRecommendationPreferences()=default
EffectiveRecommendationPreferences & WithEnhancedInfrastructureMetrics(EnhancedInfrastructureMetrics value)
const Aws::Vector< CpuVendorArchitecture > & GetCpuVendorArchitectures() const
EffectiveRecommendationPreferences & WithLookBackPeriod(LookBackPeriodPreference value)
EffectiveRecommendationPreferences & WithExternalMetricsPreference(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)
EffectiveRecommendationPreferences & AddUtilizationPreferences(UtilizationPreferencesT &&value)
EffectiveRecommendationPreferences & WithPreferredResources(PreferredResourcesT &&value)
EffectiveRecommendationPreferences & AddCpuVendorArchitectures(CpuVendorArchitecture value)
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue