AWS SDK for C++

AWS SDK for C++ Version 1.11.606

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() = default;
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 ResourceType GetResourceType() const { return m_resourceType; }
55 inline bool ResourceTypeHasBeenSet() const { return m_resourceTypeHasBeenSet; }
56 inline void SetResourceType(ResourceType value) { m_resourceTypeHasBeenSet = true; m_resourceType = value; }
59
61
78 inline const Scope& GetScope() const { return m_scope; }
79 inline bool ScopeHasBeenSet() const { return m_scopeHasBeenSet; }
80 template<typename ScopeT = Scope>
81 void SetScope(ScopeT&& value) { m_scopeHasBeenSet = true; m_scope = std::forward<ScopeT>(value); }
82 template<typename ScopeT = Scope>
83 PutRecommendationPreferencesRequest& WithScope(ScopeT&& value) { SetScope(std::forward<ScopeT>(value)); return *this;}
85
87
95 inline EnhancedInfrastructureMetrics GetEnhancedInfrastructureMetrics() const { return m_enhancedInfrastructureMetrics; }
96 inline bool EnhancedInfrastructureMetricsHasBeenSet() const { return m_enhancedInfrastructureMetricsHasBeenSet; }
97 inline void SetEnhancedInfrastructureMetrics(EnhancedInfrastructureMetrics value) { m_enhancedInfrastructureMetricsHasBeenSet = true; m_enhancedInfrastructureMetrics = value; }
100
102
111 inline InferredWorkloadTypesPreference GetInferredWorkloadTypes() const { return m_inferredWorkloadTypes; }
112 inline bool InferredWorkloadTypesHasBeenSet() const { return m_inferredWorkloadTypesHasBeenSet; }
113 inline void SetInferredWorkloadTypes(InferredWorkloadTypesPreference value) { m_inferredWorkloadTypesHasBeenSet = true; m_inferredWorkloadTypes = value; }
116
118
128 inline const ExternalMetricsPreference& GetExternalMetricsPreference() const { return m_externalMetricsPreference; }
129 inline bool ExternalMetricsPreferenceHasBeenSet() const { return m_externalMetricsPreferenceHasBeenSet; }
130 template<typename ExternalMetricsPreferenceT = ExternalMetricsPreference>
131 void SetExternalMetricsPreference(ExternalMetricsPreferenceT&& value) { m_externalMetricsPreferenceHasBeenSet = true; m_externalMetricsPreference = std::forward<ExternalMetricsPreferenceT>(value); }
132 template<typename ExternalMetricsPreferenceT = ExternalMetricsPreference>
133 PutRecommendationPreferencesRequest& WithExternalMetricsPreference(ExternalMetricsPreferenceT&& value) { SetExternalMetricsPreference(std::forward<ExternalMetricsPreferenceT>(value)); return *this;}
135
137
147 inline LookBackPeriodPreference GetLookBackPeriod() const { return m_lookBackPeriod; }
148 inline bool LookBackPeriodHasBeenSet() const { return m_lookBackPeriodHasBeenSet; }
149 inline void SetLookBackPeriod(LookBackPeriodPreference value) { m_lookBackPeriodHasBeenSet = true; m_lookBackPeriod = value; }
152
154
166 inline const Aws::Vector<UtilizationPreference>& GetUtilizationPreferences() const { return m_utilizationPreferences; }
167 inline bool UtilizationPreferencesHasBeenSet() const { return m_utilizationPreferencesHasBeenSet; }
168 template<typename UtilizationPreferencesT = Aws::Vector<UtilizationPreference>>
169 void SetUtilizationPreferences(UtilizationPreferencesT&& value) { m_utilizationPreferencesHasBeenSet = true; m_utilizationPreferences = std::forward<UtilizationPreferencesT>(value); }
170 template<typename UtilizationPreferencesT = Aws::Vector<UtilizationPreference>>
171 PutRecommendationPreferencesRequest& WithUtilizationPreferences(UtilizationPreferencesT&& value) { SetUtilizationPreferences(std::forward<UtilizationPreferencesT>(value)); return *this;}
172 template<typename UtilizationPreferencesT = UtilizationPreference>
173 PutRecommendationPreferencesRequest& AddUtilizationPreferences(UtilizationPreferencesT&& value) { m_utilizationPreferencesHasBeenSet = true; m_utilizationPreferences.emplace_back(std::forward<UtilizationPreferencesT>(value)); return *this; }
175
177
186 inline const Aws::Vector<PreferredResource>& GetPreferredResources() const { return m_preferredResources; }
187 inline bool PreferredResourcesHasBeenSet() const { return m_preferredResourcesHasBeenSet; }
188 template<typename PreferredResourcesT = Aws::Vector<PreferredResource>>
189 void SetPreferredResources(PreferredResourcesT&& value) { m_preferredResourcesHasBeenSet = true; m_preferredResources = std::forward<PreferredResourcesT>(value); }
190 template<typename PreferredResourcesT = Aws::Vector<PreferredResource>>
191 PutRecommendationPreferencesRequest& WithPreferredResources(PreferredResourcesT&& value) { SetPreferredResources(std::forward<PreferredResourcesT>(value)); return *this;}
192 template<typename PreferredResourcesT = PreferredResource>
193 PutRecommendationPreferencesRequest& AddPreferredResources(PreferredResourcesT&& value) { m_preferredResourcesHasBeenSet = true; m_preferredResources.emplace_back(std::forward<PreferredResourcesT>(value)); return *this; }
195
197
206 inline SavingsEstimationMode GetSavingsEstimationMode() const { return m_savingsEstimationMode; }
207 inline bool SavingsEstimationModeHasBeenSet() const { return m_savingsEstimationModeHasBeenSet; }
208 inline void SetSavingsEstimationMode(SavingsEstimationMode value) { m_savingsEstimationModeHasBeenSet = true; m_savingsEstimationMode = value; }
211 private:
212
213 ResourceType m_resourceType{ResourceType::NOT_SET};
214 bool m_resourceTypeHasBeenSet = false;
215
216 Scope m_scope;
217 bool m_scopeHasBeenSet = false;
218
220 bool m_enhancedInfrastructureMetricsHasBeenSet = false;
221
223 bool m_inferredWorkloadTypesHasBeenSet = false;
224
225 ExternalMetricsPreference m_externalMetricsPreference;
226 bool m_externalMetricsPreferenceHasBeenSet = false;
227
229 bool m_lookBackPeriodHasBeenSet = false;
230
231 Aws::Vector<UtilizationPreference> m_utilizationPreferences;
232 bool m_utilizationPreferencesHasBeenSet = false;
233
234 Aws::Vector<PreferredResource> m_preferredResources;
235 bool m_preferredResourcesHasBeenSet = false;
236
238 bool m_savingsEstimationModeHasBeenSet = false;
239 };
240
241} // namespace Model
242} // namespace ComputeOptimizer
243} // namespace Aws
PutRecommendationPreferencesRequest & WithPreferredResources(PreferredResourcesT &&value)
PutRecommendationPreferencesRequest & WithExternalMetricsPreference(ExternalMetricsPreferenceT &&value)
AWS_COMPUTEOPTIMIZER_API PutRecommendationPreferencesRequest()=default
PutRecommendationPreferencesRequest & WithUtilizationPreferences(UtilizationPreferencesT &&value)
PutRecommendationPreferencesRequest & WithInferredWorkloadTypes(InferredWorkloadTypesPreference value)
PutRecommendationPreferencesRequest & AddPreferredResources(PreferredResourcesT &&value)
AWS_COMPUTEOPTIMIZER_API Aws::String SerializePayload() const override
PutRecommendationPreferencesRequest & WithSavingsEstimationMode(SavingsEstimationMode value)
PutRecommendationPreferencesRequest & WithResourceType(ResourceType value)
PutRecommendationPreferencesRequest & WithEnhancedInfrastructureMetrics(EnhancedInfrastructureMetrics value)
PutRecommendationPreferencesRequest & WithLookBackPeriod(LookBackPeriodPreference value)
const Aws::Vector< UtilizationPreference > & GetUtilizationPreferences() const
AWS_COMPUTEOPTIMIZER_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override
PutRecommendationPreferencesRequest & AddUtilizationPreferences(UtilizationPreferencesT &&value)
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