AWS SDK for C++

AWS SDK for C++ Version 1.11.758

Loading...
Searching...
No Matches
AutoScalingGroupRecommendationOption.h
1
6#pragma once
7#include <aws/compute-optimizer/ComputeOptimizer_EXPORTS.h>
8#include <aws/compute-optimizer/model/AutoScalingGroupConfiguration.h>
9#include <aws/compute-optimizer/model/AutoScalingGroupSavingsOpportunityAfterDiscounts.h>
10#include <aws/compute-optimizer/model/GpuInfo.h>
11#include <aws/compute-optimizer/model/MigrationEffort.h>
12#include <aws/compute-optimizer/model/SavingsOpportunity.h>
13#include <aws/compute-optimizer/model/UtilizationMetric.h>
14#include <aws/core/utils/memory/stl/AWSVector.h>
15
16#include <utility>
17
18namespace Aws {
19namespace Utils {
20namespace Json {
21class JsonValue;
22class JsonView;
23} // namespace Json
24} // namespace Utils
25namespace ComputeOptimizer {
26namespace Model {
27
35 public:
36 AWS_COMPUTEOPTIMIZER_API AutoScalingGroupRecommendationOption() = default;
39 AWS_COMPUTEOPTIMIZER_API Aws::Utils::Json::JsonValue Jsonize() const;
40
42
46 inline const AutoScalingGroupConfiguration& GetConfiguration() const { return m_configuration; }
47 inline bool ConfigurationHasBeenSet() const { return m_configurationHasBeenSet; }
48 template <typename ConfigurationT = AutoScalingGroupConfiguration>
49 void SetConfiguration(ConfigurationT&& value) {
50 m_configurationHasBeenSet = true;
51 m_configuration = std::forward<ConfigurationT>(value);
52 }
53 template <typename ConfigurationT = AutoScalingGroupConfiguration>
55 SetConfiguration(std::forward<ConfigurationT>(value));
56 return *this;
57 }
59
61
65 inline const GpuInfo& GetInstanceGpuInfo() const { return m_instanceGpuInfo; }
66 inline bool InstanceGpuInfoHasBeenSet() const { return m_instanceGpuInfoHasBeenSet; }
67 template <typename InstanceGpuInfoT = GpuInfo>
68 void SetInstanceGpuInfo(InstanceGpuInfoT&& value) {
69 m_instanceGpuInfoHasBeenSet = true;
70 m_instanceGpuInfo = std::forward<InstanceGpuInfoT>(value);
71 }
72 template <typename InstanceGpuInfoT = GpuInfo>
74 SetInstanceGpuInfo(std::forward<InstanceGpuInfoT>(value));
75 return *this;
76 }
78
80
90 inline const Aws::Vector<UtilizationMetric>& GetProjectedUtilizationMetrics() const { return m_projectedUtilizationMetrics; }
91 inline bool ProjectedUtilizationMetricsHasBeenSet() const { return m_projectedUtilizationMetricsHasBeenSet; }
92 template <typename ProjectedUtilizationMetricsT = Aws::Vector<UtilizationMetric>>
93 void SetProjectedUtilizationMetrics(ProjectedUtilizationMetricsT&& value) {
94 m_projectedUtilizationMetricsHasBeenSet = true;
95 m_projectedUtilizationMetrics = std::forward<ProjectedUtilizationMetricsT>(value);
96 }
97 template <typename ProjectedUtilizationMetricsT = Aws::Vector<UtilizationMetric>>
99 SetProjectedUtilizationMetrics(std::forward<ProjectedUtilizationMetricsT>(value));
100 return *this;
101 }
102 template <typename ProjectedUtilizationMetricsT = UtilizationMetric>
104 m_projectedUtilizationMetricsHasBeenSet = true;
105 m_projectedUtilizationMetrics.emplace_back(std::forward<ProjectedUtilizationMetricsT>(value));
106 return *this;
107 }
109
111
126 inline double GetPerformanceRisk() const { return m_performanceRisk; }
127 inline bool PerformanceRiskHasBeenSet() const { return m_performanceRiskHasBeenSet; }
128 inline void SetPerformanceRisk(double value) {
129 m_performanceRiskHasBeenSet = true;
130 m_performanceRisk = value;
131 }
133 SetPerformanceRisk(value);
134 return *this;
135 }
137
139
143 inline int GetRank() const { return m_rank; }
144 inline bool RankHasBeenSet() const { return m_rankHasBeenSet; }
145 inline void SetRank(int value) {
146 m_rankHasBeenSet = true;
147 m_rank = value;
148 }
150 SetRank(value);
151 return *this;
152 }
154
156
161 inline const SavingsOpportunity& GetSavingsOpportunity() const { return m_savingsOpportunity; }
162 inline bool SavingsOpportunityHasBeenSet() const { return m_savingsOpportunityHasBeenSet; }
163 template <typename SavingsOpportunityT = SavingsOpportunity>
164 void SetSavingsOpportunity(SavingsOpportunityT&& value) {
165 m_savingsOpportunityHasBeenSet = true;
166 m_savingsOpportunity = std::forward<SavingsOpportunityT>(value);
167 }
168 template <typename SavingsOpportunityT = SavingsOpportunity>
170 SetSavingsOpportunity(std::forward<SavingsOpportunityT>(value));
171 return *this;
172 }
174
176
183 return m_savingsOpportunityAfterDiscounts;
184 }
185 inline bool SavingsOpportunityAfterDiscountsHasBeenSet() const { return m_savingsOpportunityAfterDiscountsHasBeenSet; }
186 template <typename SavingsOpportunityAfterDiscountsT = AutoScalingGroupSavingsOpportunityAfterDiscounts>
187 void SetSavingsOpportunityAfterDiscounts(SavingsOpportunityAfterDiscountsT&& value) {
188 m_savingsOpportunityAfterDiscountsHasBeenSet = true;
189 m_savingsOpportunityAfterDiscounts = std::forward<SavingsOpportunityAfterDiscountsT>(value);
190 }
191 template <typename SavingsOpportunityAfterDiscountsT = AutoScalingGroupSavingsOpportunityAfterDiscounts>
193 SetSavingsOpportunityAfterDiscounts(std::forward<SavingsOpportunityAfterDiscountsT>(value));
194 return *this;
195 }
197
199
209 inline MigrationEffort GetMigrationEffort() const { return m_migrationEffort; }
210 inline bool MigrationEffortHasBeenSet() const { return m_migrationEffortHasBeenSet; }
212 m_migrationEffortHasBeenSet = true;
213 m_migrationEffort = value;
214 }
216 SetMigrationEffort(value);
217 return *this;
218 }
220 private:
221 AutoScalingGroupConfiguration m_configuration;
222
223 GpuInfo m_instanceGpuInfo;
224
225 Aws::Vector<UtilizationMetric> m_projectedUtilizationMetrics;
226
227 double m_performanceRisk{0.0};
228
229 int m_rank{0};
230
231 SavingsOpportunity m_savingsOpportunity;
232
233 AutoScalingGroupSavingsOpportunityAfterDiscounts m_savingsOpportunityAfterDiscounts;
234
235 MigrationEffort m_migrationEffort{MigrationEffort::NOT_SET};
236 bool m_configurationHasBeenSet = false;
237 bool m_instanceGpuInfoHasBeenSet = false;
238 bool m_projectedUtilizationMetricsHasBeenSet = false;
239 bool m_performanceRiskHasBeenSet = false;
240 bool m_rankHasBeenSet = false;
241 bool m_savingsOpportunityHasBeenSet = false;
242 bool m_savingsOpportunityAfterDiscountsHasBeenSet = false;
243 bool m_migrationEffortHasBeenSet = false;
244};
245
246} // namespace Model
247} // namespace ComputeOptimizer
248} // namespace Aws
AutoScalingGroupRecommendationOption & WithSavingsOpportunity(SavingsOpportunityT &&value)
AutoScalingGroupRecommendationOption & WithMigrationEffort(MigrationEffort value)
AWS_COMPUTEOPTIMIZER_API AutoScalingGroupRecommendationOption & operator=(Aws::Utils::Json::JsonView jsonValue)
AWS_COMPUTEOPTIMIZER_API AutoScalingGroupRecommendationOption(Aws::Utils::Json::JsonView jsonValue)
AutoScalingGroupRecommendationOption & WithInstanceGpuInfo(InstanceGpuInfoT &&value)
AutoScalingGroupRecommendationOption & WithProjectedUtilizationMetrics(ProjectedUtilizationMetricsT &&value)
AWS_COMPUTEOPTIMIZER_API AutoScalingGroupRecommendationOption()=default
AWS_COMPUTEOPTIMIZER_API Aws::Utils::Json::JsonValue Jsonize() const
AutoScalingGroupRecommendationOption & WithConfiguration(ConfigurationT &&value)
AutoScalingGroupRecommendationOption & WithSavingsOpportunityAfterDiscounts(SavingsOpportunityAfterDiscountsT &&value)
AutoScalingGroupRecommendationOption & AddProjectedUtilizationMetrics(ProjectedUtilizationMetricsT &&value)
const AutoScalingGroupSavingsOpportunityAfterDiscounts & GetSavingsOpportunityAfterDiscounts() const
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue