AWS SDK for C++

AWS SDK for C++ Version 1.11.612

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() = default;
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 template<typename CpuVendorArchitecturesT = Aws::Vector<CpuVendorArchitecture>>
66 void SetCpuVendorArchitectures(CpuVendorArchitecturesT&& value) { m_cpuVendorArchitecturesHasBeenSet = true; m_cpuVendorArchitectures = std::forward<CpuVendorArchitecturesT>(value); }
67 template<typename CpuVendorArchitecturesT = Aws::Vector<CpuVendorArchitecture>>
68 EffectiveRecommendationPreferences& WithCpuVendorArchitectures(CpuVendorArchitecturesT&& value) { SetCpuVendorArchitectures(std::forward<CpuVendorArchitecturesT>(value)); return *this;}
69 inline EffectiveRecommendationPreferences& AddCpuVendorArchitectures(CpuVendorArchitecture value) { m_cpuVendorArchitecturesHasBeenSet = true; m_cpuVendorArchitectures.push_back(value); return *this; }
71
73
82 inline EnhancedInfrastructureMetrics GetEnhancedInfrastructureMetrics() const { return m_enhancedInfrastructureMetrics; }
83 inline bool EnhancedInfrastructureMetricsHasBeenSet() const { return m_enhancedInfrastructureMetricsHasBeenSet; }
84 inline void SetEnhancedInfrastructureMetrics(EnhancedInfrastructureMetrics value) { m_enhancedInfrastructureMetricsHasBeenSet = true; m_enhancedInfrastructureMetrics = value; }
87
89
95 inline InferredWorkloadTypesPreference GetInferredWorkloadTypes() const { return m_inferredWorkloadTypes; }
96 inline bool InferredWorkloadTypesHasBeenSet() const { return m_inferredWorkloadTypesHasBeenSet; }
97 inline void SetInferredWorkloadTypes(InferredWorkloadTypesPreference value) { m_inferredWorkloadTypesHasBeenSet = true; m_inferredWorkloadTypes = value; }
100
102
109 inline const ExternalMetricsPreference& GetExternalMetricsPreference() const { return m_externalMetricsPreference; }
110 inline bool ExternalMetricsPreferenceHasBeenSet() const { return m_externalMetricsPreferenceHasBeenSet; }
111 template<typename ExternalMetricsPreferenceT = ExternalMetricsPreference>
112 void SetExternalMetricsPreference(ExternalMetricsPreferenceT&& value) { m_externalMetricsPreferenceHasBeenSet = true; m_externalMetricsPreference = std::forward<ExternalMetricsPreferenceT>(value); }
113 template<typename ExternalMetricsPreferenceT = ExternalMetricsPreference>
114 EffectiveRecommendationPreferences& WithExternalMetricsPreference(ExternalMetricsPreferenceT&& value) { SetExternalMetricsPreference(std::forward<ExternalMetricsPreferenceT>(value)); return *this;}
116
118
122 inline LookBackPeriodPreference GetLookBackPeriod() const { return m_lookBackPeriod; }
123 inline bool LookBackPeriodHasBeenSet() const { return m_lookBackPeriodHasBeenSet; }
124 inline void SetLookBackPeriod(LookBackPeriodPreference value) { m_lookBackPeriodHasBeenSet = true; m_lookBackPeriod = value; }
127
129
135 inline const Aws::Vector<UtilizationPreference>& GetUtilizationPreferences() const { return m_utilizationPreferences; }
136 inline bool UtilizationPreferencesHasBeenSet() const { return m_utilizationPreferencesHasBeenSet; }
137 template<typename UtilizationPreferencesT = Aws::Vector<UtilizationPreference>>
138 void SetUtilizationPreferences(UtilizationPreferencesT&& value) { m_utilizationPreferencesHasBeenSet = true; m_utilizationPreferences = std::forward<UtilizationPreferencesT>(value); }
139 template<typename UtilizationPreferencesT = Aws::Vector<UtilizationPreference>>
140 EffectiveRecommendationPreferences& WithUtilizationPreferences(UtilizationPreferencesT&& value) { SetUtilizationPreferences(std::forward<UtilizationPreferencesT>(value)); return *this;}
141 template<typename UtilizationPreferencesT = UtilizationPreference>
142 EffectiveRecommendationPreferences& AddUtilizationPreferences(UtilizationPreferencesT&& value) { m_utilizationPreferencesHasBeenSet = true; m_utilizationPreferences.emplace_back(std::forward<UtilizationPreferencesT>(value)); return *this; }
144
146
150 inline const Aws::Vector<EffectivePreferredResource>& GetPreferredResources() const { return m_preferredResources; }
151 inline bool PreferredResourcesHasBeenSet() const { return m_preferredResourcesHasBeenSet; }
152 template<typename PreferredResourcesT = Aws::Vector<EffectivePreferredResource>>
153 void SetPreferredResources(PreferredResourcesT&& value) { m_preferredResourcesHasBeenSet = true; m_preferredResources = std::forward<PreferredResourcesT>(value); }
154 template<typename PreferredResourcesT = Aws::Vector<EffectivePreferredResource>>
155 EffectiveRecommendationPreferences& WithPreferredResources(PreferredResourcesT&& value) { SetPreferredResources(std::forward<PreferredResourcesT>(value)); return *this;}
156 template<typename PreferredResourcesT = EffectivePreferredResource>
157 EffectiveRecommendationPreferences& AddPreferredResources(PreferredResourcesT&& value) { m_preferredResourcesHasBeenSet = true; m_preferredResources.emplace_back(std::forward<PreferredResourcesT>(value)); return *this; }
159
161
165 inline const InstanceSavingsEstimationMode& GetSavingsEstimationMode() const { return m_savingsEstimationMode; }
166 inline bool SavingsEstimationModeHasBeenSet() const { return m_savingsEstimationModeHasBeenSet; }
167 template<typename SavingsEstimationModeT = InstanceSavingsEstimationMode>
168 void SetSavingsEstimationMode(SavingsEstimationModeT&& value) { m_savingsEstimationModeHasBeenSet = true; m_savingsEstimationMode = std::forward<SavingsEstimationModeT>(value); }
169 template<typename SavingsEstimationModeT = InstanceSavingsEstimationMode>
170 EffectiveRecommendationPreferences& WithSavingsEstimationMode(SavingsEstimationModeT&& value) { SetSavingsEstimationMode(std::forward<SavingsEstimationModeT>(value)); return *this;}
172 private:
173
174 Aws::Vector<CpuVendorArchitecture> m_cpuVendorArchitectures;
175 bool m_cpuVendorArchitecturesHasBeenSet = false;
176
178 bool m_enhancedInfrastructureMetricsHasBeenSet = false;
179
181 bool m_inferredWorkloadTypesHasBeenSet = false;
182
183 ExternalMetricsPreference m_externalMetricsPreference;
184 bool m_externalMetricsPreferenceHasBeenSet = false;
185
187 bool m_lookBackPeriodHasBeenSet = false;
188
189 Aws::Vector<UtilizationPreference> m_utilizationPreferences;
190 bool m_utilizationPreferencesHasBeenSet = false;
191
192 Aws::Vector<EffectivePreferredResource> m_preferredResources;
193 bool m_preferredResourcesHasBeenSet = false;
194
195 InstanceSavingsEstimationMode m_savingsEstimationMode;
196 bool m_savingsEstimationModeHasBeenSet = false;
197 };
198
199} // namespace Model
200} // namespace ComputeOptimizer
201} // 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