AWS SDK for C++

AWS SDK for C++ Version 1.11.440

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();
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 inline void SetScope(const Scope& value) { m_scopeHasBeenSet = true; m_scope = value; }
62 inline void SetScope(Scope&& value) { m_scopeHasBeenSet = true; m_scope = std::move(value); }
63 inline RecommendationPreferencesDetail& WithScope(const Scope& value) { SetScope(value); return *this;}
64 inline RecommendationPreferencesDetail& WithScope(Scope&& value) { SetScope(std::move(value)); return *this;}
66
68
75 inline const ResourceType& GetResourceType() const{ return m_resourceType; }
76 inline bool ResourceTypeHasBeenSet() const { return m_resourceTypeHasBeenSet; }
77 inline void SetResourceType(const ResourceType& value) { m_resourceTypeHasBeenSet = true; m_resourceType = value; }
78 inline void SetResourceType(ResourceType&& value) { m_resourceTypeHasBeenSet = true; m_resourceType = std::move(value); }
80 inline RecommendationPreferencesDetail& WithResourceType(ResourceType&& value) { SetResourceType(std::move(value)); return *this;}
82
84
94 inline const EnhancedInfrastructureMetrics& GetEnhancedInfrastructureMetrics() const{ return m_enhancedInfrastructureMetrics; }
95 inline bool EnhancedInfrastructureMetricsHasBeenSet() const { return m_enhancedInfrastructureMetricsHasBeenSet; }
96 inline void SetEnhancedInfrastructureMetrics(const EnhancedInfrastructureMetrics& value) { m_enhancedInfrastructureMetricsHasBeenSet = true; m_enhancedInfrastructureMetrics = value; }
97 inline void SetEnhancedInfrastructureMetrics(EnhancedInfrastructureMetrics&& value) { m_enhancedInfrastructureMetricsHasBeenSet = true; m_enhancedInfrastructureMetrics = std::move(value); }
101
103
110 inline const InferredWorkloadTypesPreference& GetInferredWorkloadTypes() const{ return m_inferredWorkloadTypes; }
111 inline bool InferredWorkloadTypesHasBeenSet() const { return m_inferredWorkloadTypesHasBeenSet; }
112 inline void SetInferredWorkloadTypes(const InferredWorkloadTypesPreference& value) { m_inferredWorkloadTypesHasBeenSet = true; m_inferredWorkloadTypes = value; }
113 inline void SetInferredWorkloadTypes(InferredWorkloadTypesPreference&& value) { m_inferredWorkloadTypesHasBeenSet = true; m_inferredWorkloadTypes = std::move(value); }
117
119
126 inline const ExternalMetricsPreference& GetExternalMetricsPreference() const{ return m_externalMetricsPreference; }
127 inline bool ExternalMetricsPreferenceHasBeenSet() const { return m_externalMetricsPreferenceHasBeenSet; }
128 inline void SetExternalMetricsPreference(const ExternalMetricsPreference& value) { m_externalMetricsPreferenceHasBeenSet = true; m_externalMetricsPreference = value; }
129 inline void SetExternalMetricsPreference(ExternalMetricsPreference&& value) { m_externalMetricsPreferenceHasBeenSet = true; m_externalMetricsPreference = std::move(value); }
133
135
140 inline const LookBackPeriodPreference& GetLookBackPeriod() const{ return m_lookBackPeriod; }
141 inline bool LookBackPeriodHasBeenSet() const { return m_lookBackPeriodHasBeenSet; }
142 inline void SetLookBackPeriod(const LookBackPeriodPreference& value) { m_lookBackPeriodHasBeenSet = true; m_lookBackPeriod = value; }
143 inline void SetLookBackPeriod(LookBackPeriodPreference&& value) { m_lookBackPeriodHasBeenSet = true; m_lookBackPeriod = std::move(value); }
147
149
155 inline const Aws::Vector<UtilizationPreference>& GetUtilizationPreferences() const{ return m_utilizationPreferences; }
156 inline bool UtilizationPreferencesHasBeenSet() const { return m_utilizationPreferencesHasBeenSet; }
157 inline void SetUtilizationPreferences(const Aws::Vector<UtilizationPreference>& value) { m_utilizationPreferencesHasBeenSet = true; m_utilizationPreferences = value; }
158 inline void SetUtilizationPreferences(Aws::Vector<UtilizationPreference>&& value) { m_utilizationPreferencesHasBeenSet = true; m_utilizationPreferences = std::move(value); }
161 inline RecommendationPreferencesDetail& AddUtilizationPreferences(const UtilizationPreference& value) { m_utilizationPreferencesHasBeenSet = true; m_utilizationPreferences.push_back(value); return *this; }
162 inline RecommendationPreferencesDetail& AddUtilizationPreferences(UtilizationPreference&& value) { m_utilizationPreferencesHasBeenSet = true; m_utilizationPreferences.push_back(std::move(value)); return *this; }
164
166
172 inline const Aws::Vector<EffectivePreferredResource>& GetPreferredResources() const{ return m_preferredResources; }
173 inline bool PreferredResourcesHasBeenSet() const { return m_preferredResourcesHasBeenSet; }
174 inline void SetPreferredResources(const Aws::Vector<EffectivePreferredResource>& value) { m_preferredResourcesHasBeenSet = true; m_preferredResources = value; }
175 inline void SetPreferredResources(Aws::Vector<EffectivePreferredResource>&& value) { m_preferredResourcesHasBeenSet = true; m_preferredResources = std::move(value); }
178 inline RecommendationPreferencesDetail& AddPreferredResources(const EffectivePreferredResource& value) { m_preferredResourcesHasBeenSet = true; m_preferredResources.push_back(value); return *this; }
179 inline RecommendationPreferencesDetail& AddPreferredResources(EffectivePreferredResource&& value) { m_preferredResourcesHasBeenSet = true; m_preferredResources.push_back(std::move(value)); return *this; }
181
183
188 inline const SavingsEstimationMode& GetSavingsEstimationMode() const{ return m_savingsEstimationMode; }
189 inline bool SavingsEstimationModeHasBeenSet() const { return m_savingsEstimationModeHasBeenSet; }
190 inline void SetSavingsEstimationMode(const SavingsEstimationMode& value) { m_savingsEstimationModeHasBeenSet = true; m_savingsEstimationMode = value; }
191 inline void SetSavingsEstimationMode(SavingsEstimationMode&& value) { m_savingsEstimationModeHasBeenSet = true; m_savingsEstimationMode = std::move(value); }
195 private:
196
197 Scope m_scope;
198 bool m_scopeHasBeenSet = false;
199
200 ResourceType m_resourceType;
201 bool m_resourceTypeHasBeenSet = false;
202
203 EnhancedInfrastructureMetrics m_enhancedInfrastructureMetrics;
204 bool m_enhancedInfrastructureMetricsHasBeenSet = false;
205
206 InferredWorkloadTypesPreference m_inferredWorkloadTypes;
207 bool m_inferredWorkloadTypesHasBeenSet = false;
208
209 ExternalMetricsPreference m_externalMetricsPreference;
210 bool m_externalMetricsPreferenceHasBeenSet = false;
211
212 LookBackPeriodPreference m_lookBackPeriod;
213 bool m_lookBackPeriodHasBeenSet = false;
214
215 Aws::Vector<UtilizationPreference> m_utilizationPreferences;
216 bool m_utilizationPreferencesHasBeenSet = false;
217
218 Aws::Vector<EffectivePreferredResource> m_preferredResources;
219 bool m_preferredResourcesHasBeenSet = false;
220
221 SavingsEstimationMode m_savingsEstimationMode;
222 bool m_savingsEstimationModeHasBeenSet = false;
223 };
224
225} // namespace Model
226} // namespace ComputeOptimizer
227} // namespace Aws
const Aws::Vector< EffectivePreferredResource > & GetPreferredResources() const
void SetPreferredResources(Aws::Vector< EffectivePreferredResource > &&value)
RecommendationPreferencesDetail & WithPreferredResources(Aws::Vector< EffectivePreferredResource > &&value)
RecommendationPreferencesDetail & WithEnhancedInfrastructureMetrics(const EnhancedInfrastructureMetrics &value)
void SetPreferredResources(const Aws::Vector< EffectivePreferredResource > &value)
RecommendationPreferencesDetail & WithSavingsEstimationMode(const SavingsEstimationMode &value)
RecommendationPreferencesDetail & WithLookBackPeriod(LookBackPeriodPreference &&value)
AWS_COMPUTEOPTIMIZER_API RecommendationPreferencesDetail(Aws::Utils::Json::JsonView jsonValue)
RecommendationPreferencesDetail & WithPreferredResources(const Aws::Vector< EffectivePreferredResource > &value)
RecommendationPreferencesDetail & WithSavingsEstimationMode(SavingsEstimationMode &&value)
const EnhancedInfrastructureMetrics & GetEnhancedInfrastructureMetrics() const
RecommendationPreferencesDetail & WithUtilizationPreferences(Aws::Vector< UtilizationPreference > &&value)
RecommendationPreferencesDetail & WithExternalMetricsPreference(const ExternalMetricsPreference &value)
RecommendationPreferencesDetail & WithScope(const Scope &value)
void SetInferredWorkloadTypes(const InferredWorkloadTypesPreference &value)
RecommendationPreferencesDetail & WithResourceType(const ResourceType &value)
AWS_COMPUTEOPTIMIZER_API RecommendationPreferencesDetail & operator=(Aws::Utils::Json::JsonView jsonValue)
RecommendationPreferencesDetail & WithInferredWorkloadTypes(const InferredWorkloadTypesPreference &value)
const Aws::Vector< UtilizationPreference > & GetUtilizationPreferences() const
RecommendationPreferencesDetail & WithResourceType(ResourceType &&value)
RecommendationPreferencesDetail & WithLookBackPeriod(const LookBackPeriodPreference &value)
RecommendationPreferencesDetail & AddPreferredResources(const EffectivePreferredResource &value)
RecommendationPreferencesDetail & WithUtilizationPreferences(const Aws::Vector< UtilizationPreference > &value)
void SetUtilizationPreferences(const Aws::Vector< UtilizationPreference > &value)
RecommendationPreferencesDetail & WithExternalMetricsPreference(ExternalMetricsPreference &&value)
AWS_COMPUTEOPTIMIZER_API Aws::Utils::Json::JsonValue Jsonize() const
RecommendationPreferencesDetail & AddUtilizationPreferences(UtilizationPreference &&value)
void SetEnhancedInfrastructureMetrics(const EnhancedInfrastructureMetrics &value)
void SetUtilizationPreferences(Aws::Vector< UtilizationPreference > &&value)
RecommendationPreferencesDetail & WithInferredWorkloadTypes(InferredWorkloadTypesPreference &&value)
RecommendationPreferencesDetail & WithEnhancedInfrastructureMetrics(EnhancedInfrastructureMetrics &&value)
const InferredWorkloadTypesPreference & GetInferredWorkloadTypes() const
RecommendationPreferencesDetail & AddUtilizationPreferences(const UtilizationPreference &value)
RecommendationPreferencesDetail & AddPreferredResources(EffectivePreferredResource &&value)
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue