AWS SDK for C++

AWS SDK for C++ Version 1.11.440

Loading...
Searching...
No Matches
PutRecommendationPreferencesRequest.h
1
6#pragma once
7#include <aws/compute-optimizer/ComputeOptimizer_EXPORTS.h>
8#include <aws/compute-optimizer/ComputeOptimizerRequest.h>
9#include <aws/compute-optimizer/model/ResourceType.h>
10#include <aws/compute-optimizer/model/Scope.h>
11#include <aws/compute-optimizer/model/EnhancedInfrastructureMetrics.h>
12#include <aws/compute-optimizer/model/InferredWorkloadTypesPreference.h>
13#include <aws/compute-optimizer/model/ExternalMetricsPreference.h>
14#include <aws/compute-optimizer/model/LookBackPeriodPreference.h>
15#include <aws/core/utils/memory/stl/AWSVector.h>
16#include <aws/compute-optimizer/model/SavingsEstimationMode.h>
17#include <aws/compute-optimizer/model/UtilizationPreference.h>
18#include <aws/compute-optimizer/model/PreferredResource.h>
19#include <utility>
20
21namespace Aws
22{
23namespace ComputeOptimizer
24{
25namespace Model
26{
27
31 {
32 public:
33 AWS_COMPUTEOPTIMIZER_API PutRecommendationPreferencesRequest();
34
35 // Service request name is the Operation name which will send this request out,
36 // each operation should has unique request name, so that we can get operation's name from this request.
37 // Note: this is not true for response, multiple operations may have the same response name,
38 // so we can not get operation's name from response.
39 inline virtual const char* GetServiceRequestName() const override { return "PutRecommendationPreferences"; }
40
41 AWS_COMPUTEOPTIMIZER_API Aws::String SerializePayload() const override;
42
43 AWS_COMPUTEOPTIMIZER_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
44
45
47
54 inline const ResourceType& GetResourceType() const{ return m_resourceType; }
55 inline bool ResourceTypeHasBeenSet() const { return m_resourceTypeHasBeenSet; }
56 inline void SetResourceType(const ResourceType& value) { m_resourceTypeHasBeenSet = true; m_resourceType = value; }
57 inline void SetResourceType(ResourceType&& value) { m_resourceTypeHasBeenSet = true; m_resourceType = std::move(value); }
59 inline PutRecommendationPreferencesRequest& WithResourceType(ResourceType&& value) { SetResourceType(std::move(value)); return *this;}
61
63
80 inline const Scope& GetScope() const{ return m_scope; }
81 inline bool ScopeHasBeenSet() const { return m_scopeHasBeenSet; }
82 inline void SetScope(const Scope& value) { m_scopeHasBeenSet = true; m_scope = value; }
83 inline void SetScope(Scope&& value) { m_scopeHasBeenSet = true; m_scope = std::move(value); }
84 inline PutRecommendationPreferencesRequest& WithScope(const Scope& value) { SetScope(value); return *this;}
85 inline PutRecommendationPreferencesRequest& WithScope(Scope&& value) { SetScope(std::move(value)); return *this;}
87
89
97 inline const EnhancedInfrastructureMetrics& GetEnhancedInfrastructureMetrics() const{ return m_enhancedInfrastructureMetrics; }
98 inline bool EnhancedInfrastructureMetricsHasBeenSet() const { return m_enhancedInfrastructureMetricsHasBeenSet; }
99 inline void SetEnhancedInfrastructureMetrics(const EnhancedInfrastructureMetrics& value) { m_enhancedInfrastructureMetricsHasBeenSet = true; m_enhancedInfrastructureMetrics = value; }
100 inline void SetEnhancedInfrastructureMetrics(EnhancedInfrastructureMetrics&& value) { m_enhancedInfrastructureMetricsHasBeenSet = true; m_enhancedInfrastructureMetrics = std::move(value); }
104
106
115 inline const InferredWorkloadTypesPreference& GetInferredWorkloadTypes() const{ return m_inferredWorkloadTypes; }
116 inline bool InferredWorkloadTypesHasBeenSet() const { return m_inferredWorkloadTypesHasBeenSet; }
117 inline void SetInferredWorkloadTypes(const InferredWorkloadTypesPreference& value) { m_inferredWorkloadTypesHasBeenSet = true; m_inferredWorkloadTypes = value; }
118 inline void SetInferredWorkloadTypes(InferredWorkloadTypesPreference&& value) { m_inferredWorkloadTypesHasBeenSet = true; m_inferredWorkloadTypes = std::move(value); }
122
124
134 inline const ExternalMetricsPreference& GetExternalMetricsPreference() const{ return m_externalMetricsPreference; }
135 inline bool ExternalMetricsPreferenceHasBeenSet() const { return m_externalMetricsPreferenceHasBeenSet; }
136 inline void SetExternalMetricsPreference(const ExternalMetricsPreference& value) { m_externalMetricsPreferenceHasBeenSet = true; m_externalMetricsPreference = value; }
137 inline void SetExternalMetricsPreference(ExternalMetricsPreference&& value) { m_externalMetricsPreferenceHasBeenSet = true; m_externalMetricsPreference = std::move(value); }
141
143
153 inline const LookBackPeriodPreference& GetLookBackPeriod() const{ return m_lookBackPeriod; }
154 inline bool LookBackPeriodHasBeenSet() const { return m_lookBackPeriodHasBeenSet; }
155 inline void SetLookBackPeriod(const LookBackPeriodPreference& value) { m_lookBackPeriodHasBeenSet = true; m_lookBackPeriod = value; }
156 inline void SetLookBackPeriod(LookBackPeriodPreference&& value) { m_lookBackPeriodHasBeenSet = true; m_lookBackPeriod = std::move(value); }
160
162
174 inline const Aws::Vector<UtilizationPreference>& GetUtilizationPreferences() const{ return m_utilizationPreferences; }
175 inline bool UtilizationPreferencesHasBeenSet() const { return m_utilizationPreferencesHasBeenSet; }
176 inline void SetUtilizationPreferences(const Aws::Vector<UtilizationPreference>& value) { m_utilizationPreferencesHasBeenSet = true; m_utilizationPreferences = value; }
177 inline void SetUtilizationPreferences(Aws::Vector<UtilizationPreference>&& value) { m_utilizationPreferencesHasBeenSet = true; m_utilizationPreferences = std::move(value); }
180 inline PutRecommendationPreferencesRequest& AddUtilizationPreferences(const UtilizationPreference& value) { m_utilizationPreferencesHasBeenSet = true; m_utilizationPreferences.push_back(value); return *this; }
181 inline PutRecommendationPreferencesRequest& AddUtilizationPreferences(UtilizationPreference&& value) { m_utilizationPreferencesHasBeenSet = true; m_utilizationPreferences.push_back(std::move(value)); return *this; }
183
185
194 inline const Aws::Vector<PreferredResource>& GetPreferredResources() const{ return m_preferredResources; }
195 inline bool PreferredResourcesHasBeenSet() const { return m_preferredResourcesHasBeenSet; }
196 inline void SetPreferredResources(const Aws::Vector<PreferredResource>& value) { m_preferredResourcesHasBeenSet = true; m_preferredResources = value; }
197 inline void SetPreferredResources(Aws::Vector<PreferredResource>&& value) { m_preferredResourcesHasBeenSet = true; m_preferredResources = std::move(value); }
200 inline PutRecommendationPreferencesRequest& AddPreferredResources(const PreferredResource& value) { m_preferredResourcesHasBeenSet = true; m_preferredResources.push_back(value); return *this; }
201 inline PutRecommendationPreferencesRequest& AddPreferredResources(PreferredResource&& value) { m_preferredResourcesHasBeenSet = true; m_preferredResources.push_back(std::move(value)); return *this; }
203
205
214 inline const SavingsEstimationMode& GetSavingsEstimationMode() const{ return m_savingsEstimationMode; }
215 inline bool SavingsEstimationModeHasBeenSet() const { return m_savingsEstimationModeHasBeenSet; }
216 inline void SetSavingsEstimationMode(const SavingsEstimationMode& value) { m_savingsEstimationModeHasBeenSet = true; m_savingsEstimationMode = value; }
217 inline void SetSavingsEstimationMode(SavingsEstimationMode&& value) { m_savingsEstimationModeHasBeenSet = true; m_savingsEstimationMode = std::move(value); }
221 private:
222
223 ResourceType m_resourceType;
224 bool m_resourceTypeHasBeenSet = false;
225
226 Scope m_scope;
227 bool m_scopeHasBeenSet = false;
228
229 EnhancedInfrastructureMetrics m_enhancedInfrastructureMetrics;
230 bool m_enhancedInfrastructureMetricsHasBeenSet = false;
231
232 InferredWorkloadTypesPreference m_inferredWorkloadTypes;
233 bool m_inferredWorkloadTypesHasBeenSet = false;
234
235 ExternalMetricsPreference m_externalMetricsPreference;
236 bool m_externalMetricsPreferenceHasBeenSet = false;
237
238 LookBackPeriodPreference m_lookBackPeriod;
239 bool m_lookBackPeriodHasBeenSet = false;
240
241 Aws::Vector<UtilizationPreference> m_utilizationPreferences;
242 bool m_utilizationPreferencesHasBeenSet = false;
243
244 Aws::Vector<PreferredResource> m_preferredResources;
245 bool m_preferredResourcesHasBeenSet = false;
246
247 SavingsEstimationMode m_savingsEstimationMode;
248 bool m_savingsEstimationModeHasBeenSet = false;
249 };
250
251} // namespace Model
252} // namespace ComputeOptimizer
253} // namespace Aws
PutRecommendationPreferencesRequest & AddPreferredResources(PreferredResource &&value)
PutRecommendationPreferencesRequest & WithSavingsEstimationMode(const SavingsEstimationMode &value)
PutRecommendationPreferencesRequest & WithUtilizationPreferences(Aws::Vector< UtilizationPreference > &&value)
PutRecommendationPreferencesRequest & AddPreferredResources(const PreferredResource &value)
PutRecommendationPreferencesRequest & WithResourceType(ResourceType &&value)
PutRecommendationPreferencesRequest & WithInferredWorkloadTypes(const InferredWorkloadTypesPreference &value)
PutRecommendationPreferencesRequest & WithPreferredResources(Aws::Vector< PreferredResource > &&value)
void SetUtilizationPreferences(const Aws::Vector< UtilizationPreference > &value)
PutRecommendationPreferencesRequest & WithLookBackPeriod(const LookBackPeriodPreference &value)
AWS_COMPUTEOPTIMIZER_API Aws::String SerializePayload() const override
PutRecommendationPreferencesRequest & WithLookBackPeriod(LookBackPeriodPreference &&value)
PutRecommendationPreferencesRequest & WithUtilizationPreferences(const Aws::Vector< UtilizationPreference > &value)
PutRecommendationPreferencesRequest & WithEnhancedInfrastructureMetrics(EnhancedInfrastructureMetrics &&value)
PutRecommendationPreferencesRequest & WithInferredWorkloadTypes(InferredWorkloadTypesPreference &&value)
PutRecommendationPreferencesRequest & AddUtilizationPreferences(const UtilizationPreference &value)
PutRecommendationPreferencesRequest & WithSavingsEstimationMode(SavingsEstimationMode &&value)
PutRecommendationPreferencesRequest & WithExternalMetricsPreference(const ExternalMetricsPreference &value)
PutRecommendationPreferencesRequest & WithResourceType(const ResourceType &value)
PutRecommendationPreferencesRequest & WithExternalMetricsPreference(ExternalMetricsPreference &&value)
PutRecommendationPreferencesRequest & WithPreferredResources(const Aws::Vector< PreferredResource > &value)
const Aws::Vector< UtilizationPreference > & GetUtilizationPreferences() const
PutRecommendationPreferencesRequest & WithEnhancedInfrastructureMetrics(const EnhancedInfrastructureMetrics &value)
PutRecommendationPreferencesRequest & WithScope(const Scope &value)
PutRecommendationPreferencesRequest & AddUtilizationPreferences(UtilizationPreference &&value)
AWS_COMPUTEOPTIMIZER_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override
Aws::Map< Aws::String, Aws::String > HeaderValueCollection
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector