AWS SDK for C++

AWS SDK for C++ Version 1.11.440

Loading...
Searching...
No Matches
EffectiveRecommendationPreferences.h
1
6#pragma once
7#include <aws/compute-optimizer/ComputeOptimizer_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSVector.h>
9#include <aws/compute-optimizer/model/EnhancedInfrastructureMetrics.h>
10#include <aws/compute-optimizer/model/InferredWorkloadTypesPreference.h>
11#include <aws/compute-optimizer/model/ExternalMetricsPreference.h>
12#include <aws/compute-optimizer/model/LookBackPeriodPreference.h>
13#include <aws/compute-optimizer/model/InstanceSavingsEstimationMode.h>
14#include <aws/compute-optimizer/model/CpuVendorArchitecture.h>
15#include <aws/compute-optimizer/model/UtilizationPreference.h>
16#include <aws/compute-optimizer/model/EffectivePreferredResource.h>
17#include <utility>
18
19namespace Aws
20{
21namespace Utils
22{
23namespace Json
24{
25 class JsonValue;
26 class JsonView;
27} // namespace Json
28} // namespace Utils
29namespace ComputeOptimizer
30{
31namespace Model
32{
33
41 {
42 public:
43 AWS_COMPUTEOPTIMIZER_API EffectiveRecommendationPreferences();
46 AWS_COMPUTEOPTIMIZER_API Aws::Utils::Json::JsonValue Jsonize() const;
47
48
50
63 inline const Aws::Vector<CpuVendorArchitecture>& GetCpuVendorArchitectures() const{ return m_cpuVendorArchitectures; }
64 inline bool CpuVendorArchitecturesHasBeenSet() const { return m_cpuVendorArchitecturesHasBeenSet; }
65 inline void SetCpuVendorArchitectures(const Aws::Vector<CpuVendorArchitecture>& value) { m_cpuVendorArchitecturesHasBeenSet = true; m_cpuVendorArchitectures = value; }
66 inline void SetCpuVendorArchitectures(Aws::Vector<CpuVendorArchitecture>&& value) { m_cpuVendorArchitecturesHasBeenSet = true; m_cpuVendorArchitectures = std::move(value); }
69 inline EffectiveRecommendationPreferences& AddCpuVendorArchitectures(const CpuVendorArchitecture& value) { m_cpuVendorArchitecturesHasBeenSet = true; m_cpuVendorArchitectures.push_back(value); return *this; }
70 inline EffectiveRecommendationPreferences& AddCpuVendorArchitectures(CpuVendorArchitecture&& value) { m_cpuVendorArchitecturesHasBeenSet = true; m_cpuVendorArchitectures.push_back(std::move(value)); return *this; }
72
74
83 inline const EnhancedInfrastructureMetrics& GetEnhancedInfrastructureMetrics() const{ return m_enhancedInfrastructureMetrics; }
84 inline bool EnhancedInfrastructureMetricsHasBeenSet() const { return m_enhancedInfrastructureMetricsHasBeenSet; }
85 inline void SetEnhancedInfrastructureMetrics(const EnhancedInfrastructureMetrics& value) { m_enhancedInfrastructureMetricsHasBeenSet = true; m_enhancedInfrastructureMetrics = value; }
86 inline void SetEnhancedInfrastructureMetrics(EnhancedInfrastructureMetrics&& value) { m_enhancedInfrastructureMetricsHasBeenSet = true; m_enhancedInfrastructureMetrics = std::move(value); }
90
92
98 inline const InferredWorkloadTypesPreference& GetInferredWorkloadTypes() const{ return m_inferredWorkloadTypes; }
99 inline bool InferredWorkloadTypesHasBeenSet() const { return m_inferredWorkloadTypesHasBeenSet; }
100 inline void SetInferredWorkloadTypes(const InferredWorkloadTypesPreference& value) { m_inferredWorkloadTypesHasBeenSet = true; m_inferredWorkloadTypes = value; }
101 inline void SetInferredWorkloadTypes(InferredWorkloadTypesPreference&& value) { m_inferredWorkloadTypesHasBeenSet = true; m_inferredWorkloadTypes = std::move(value); }
105
107
114 inline const ExternalMetricsPreference& GetExternalMetricsPreference() const{ return m_externalMetricsPreference; }
115 inline bool ExternalMetricsPreferenceHasBeenSet() const { return m_externalMetricsPreferenceHasBeenSet; }
116 inline void SetExternalMetricsPreference(const ExternalMetricsPreference& value) { m_externalMetricsPreferenceHasBeenSet = true; m_externalMetricsPreference = value; }
117 inline void SetExternalMetricsPreference(ExternalMetricsPreference&& value) { m_externalMetricsPreferenceHasBeenSet = true; m_externalMetricsPreference = std::move(value); }
121
123
127 inline const LookBackPeriodPreference& GetLookBackPeriod() const{ return m_lookBackPeriod; }
128 inline bool LookBackPeriodHasBeenSet() const { return m_lookBackPeriodHasBeenSet; }
129 inline void SetLookBackPeriod(const LookBackPeriodPreference& value) { m_lookBackPeriodHasBeenSet = true; m_lookBackPeriod = value; }
130 inline void SetLookBackPeriod(LookBackPeriodPreference&& value) { m_lookBackPeriodHasBeenSet = true; m_lookBackPeriod = std::move(value); }
134
136
142 inline const Aws::Vector<UtilizationPreference>& GetUtilizationPreferences() const{ return m_utilizationPreferences; }
143 inline bool UtilizationPreferencesHasBeenSet() const { return m_utilizationPreferencesHasBeenSet; }
144 inline void SetUtilizationPreferences(const Aws::Vector<UtilizationPreference>& value) { m_utilizationPreferencesHasBeenSet = true; m_utilizationPreferences = value; }
145 inline void SetUtilizationPreferences(Aws::Vector<UtilizationPreference>&& value) { m_utilizationPreferencesHasBeenSet = true; m_utilizationPreferences = std::move(value); }
148 inline EffectiveRecommendationPreferences& AddUtilizationPreferences(const UtilizationPreference& value) { m_utilizationPreferencesHasBeenSet = true; m_utilizationPreferences.push_back(value); return *this; }
149 inline EffectiveRecommendationPreferences& AddUtilizationPreferences(UtilizationPreference&& value) { m_utilizationPreferencesHasBeenSet = true; m_utilizationPreferences.push_back(std::move(value)); return *this; }
151
153
157 inline const Aws::Vector<EffectivePreferredResource>& GetPreferredResources() const{ return m_preferredResources; }
158 inline bool PreferredResourcesHasBeenSet() const { return m_preferredResourcesHasBeenSet; }
159 inline void SetPreferredResources(const Aws::Vector<EffectivePreferredResource>& value) { m_preferredResourcesHasBeenSet = true; m_preferredResources = value; }
160 inline void SetPreferredResources(Aws::Vector<EffectivePreferredResource>&& value) { m_preferredResourcesHasBeenSet = true; m_preferredResources = std::move(value); }
163 inline EffectiveRecommendationPreferences& AddPreferredResources(const EffectivePreferredResource& value) { m_preferredResourcesHasBeenSet = true; m_preferredResources.push_back(value); return *this; }
164 inline EffectiveRecommendationPreferences& AddPreferredResources(EffectivePreferredResource&& value) { m_preferredResourcesHasBeenSet = true; m_preferredResources.push_back(std::move(value)); return *this; }
166
168
172 inline const InstanceSavingsEstimationMode& GetSavingsEstimationMode() const{ return m_savingsEstimationMode; }
173 inline bool SavingsEstimationModeHasBeenSet() const { return m_savingsEstimationModeHasBeenSet; }
174 inline void SetSavingsEstimationMode(const InstanceSavingsEstimationMode& value) { m_savingsEstimationModeHasBeenSet = true; m_savingsEstimationMode = value; }
175 inline void SetSavingsEstimationMode(InstanceSavingsEstimationMode&& value) { m_savingsEstimationModeHasBeenSet = true; m_savingsEstimationMode = std::move(value); }
179 private:
180
181 Aws::Vector<CpuVendorArchitecture> m_cpuVendorArchitectures;
182 bool m_cpuVendorArchitecturesHasBeenSet = false;
183
184 EnhancedInfrastructureMetrics m_enhancedInfrastructureMetrics;
185 bool m_enhancedInfrastructureMetricsHasBeenSet = false;
186
187 InferredWorkloadTypesPreference m_inferredWorkloadTypes;
188 bool m_inferredWorkloadTypesHasBeenSet = false;
189
190 ExternalMetricsPreference m_externalMetricsPreference;
191 bool m_externalMetricsPreferenceHasBeenSet = false;
192
193 LookBackPeriodPreference m_lookBackPeriod;
194 bool m_lookBackPeriodHasBeenSet = false;
195
196 Aws::Vector<UtilizationPreference> m_utilizationPreferences;
197 bool m_utilizationPreferencesHasBeenSet = false;
198
199 Aws::Vector<EffectivePreferredResource> m_preferredResources;
200 bool m_preferredResourcesHasBeenSet = false;
201
202 InstanceSavingsEstimationMode m_savingsEstimationMode;
203 bool m_savingsEstimationModeHasBeenSet = false;
204 };
205
206} // namespace Model
207} // namespace ComputeOptimizer
208} // namespace Aws
const Aws::Vector< EffectivePreferredResource > & GetPreferredResources() const
EffectiveRecommendationPreferences & WithUtilizationPreferences(const Aws::Vector< UtilizationPreference > &value)
EffectiveRecommendationPreferences & WithInferredWorkloadTypes(InferredWorkloadTypesPreference &&value)
EffectiveRecommendationPreferences & WithExternalMetricsPreference(ExternalMetricsPreference &&value)
EffectiveRecommendationPreferences & WithUtilizationPreferences(Aws::Vector< UtilizationPreference > &&value)
AWS_COMPUTEOPTIMIZER_API EffectiveRecommendationPreferences(Aws::Utils::Json::JsonView jsonValue)
const Aws::Vector< UtilizationPreference > & GetUtilizationPreferences() const
EffectiveRecommendationPreferences & WithLookBackPeriod(LookBackPeriodPreference &&value)
EffectiveRecommendationPreferences & WithEnhancedInfrastructureMetrics(const EnhancedInfrastructureMetrics &value)
EffectiveRecommendationPreferences & WithEnhancedInfrastructureMetrics(EnhancedInfrastructureMetrics &&value)
void SetCpuVendorArchitectures(Aws::Vector< CpuVendorArchitecture > &&value)
EffectiveRecommendationPreferences & WithPreferredResources(const Aws::Vector< EffectivePreferredResource > &value)
void SetEnhancedInfrastructureMetrics(const EnhancedInfrastructureMetrics &value)
const Aws::Vector< CpuVendorArchitecture > & GetCpuVendorArchitectures() const
EffectiveRecommendationPreferences & AddPreferredResources(const EffectivePreferredResource &value)
EffectiveRecommendationPreferences & WithSavingsEstimationMode(InstanceSavingsEstimationMode &&value)
EffectiveRecommendationPreferences & WithPreferredResources(Aws::Vector< EffectivePreferredResource > &&value)
AWS_COMPUTEOPTIMIZER_API Aws::Utils::Json::JsonValue Jsonize() const
EffectiveRecommendationPreferences & AddPreferredResources(EffectivePreferredResource &&value)
EffectiveRecommendationPreferences & WithCpuVendorArchitectures(Aws::Vector< CpuVendorArchitecture > &&value)
EffectiveRecommendationPreferences & AddCpuVendorArchitectures(CpuVendorArchitecture &&value)
EffectiveRecommendationPreferences & WithCpuVendorArchitectures(const Aws::Vector< CpuVendorArchitecture > &value)
void SetPreferredResources(const Aws::Vector< EffectivePreferredResource > &value)
EffectiveRecommendationPreferences & WithExternalMetricsPreference(const ExternalMetricsPreference &value)
AWS_COMPUTEOPTIMIZER_API EffectiveRecommendationPreferences & operator=(Aws::Utils::Json::JsonView jsonValue)
EffectiveRecommendationPreferences & WithSavingsEstimationMode(const InstanceSavingsEstimationMode &value)
EffectiveRecommendationPreferences & AddUtilizationPreferences(const UtilizationPreference &value)
EffectiveRecommendationPreferences & WithLookBackPeriod(const LookBackPeriodPreference &value)
EffectiveRecommendationPreferences & AddUtilizationPreferences(UtilizationPreference &&value)
EffectiveRecommendationPreferences & AddCpuVendorArchitectures(const CpuVendorArchitecture &value)
void SetUtilizationPreferences(const Aws::Vector< UtilizationPreference > &value)
void SetPreferredResources(Aws::Vector< EffectivePreferredResource > &&value)
void SetCpuVendorArchitectures(const Aws::Vector< CpuVendorArchitecture > &value)
EffectiveRecommendationPreferences & WithInferredWorkloadTypes(const InferredWorkloadTypesPreference &value)
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue