AWS SDK for C++

AWS SDK for C++ Version 1.11.440

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/GpuInfo.h>
10#include <aws/core/utils/memory/stl/AWSVector.h>
11#include <aws/compute-optimizer/model/SavingsOpportunity.h>
12#include <aws/compute-optimizer/model/AutoScalingGroupSavingsOpportunityAfterDiscounts.h>
13#include <aws/compute-optimizer/model/MigrationEffort.h>
14#include <aws/compute-optimizer/model/UtilizationMetric.h>
15#include <utility>
16
17namespace Aws
18{
19namespace Utils
20{
21namespace Json
22{
23 class JsonValue;
24 class JsonView;
25} // namespace Json
26} // namespace Utils
27namespace ComputeOptimizer
28{
29namespace Model
30{
31
39 {
40 public:
41 AWS_COMPUTEOPTIMIZER_API AutoScalingGroupRecommendationOption();
44 AWS_COMPUTEOPTIMIZER_API Aws::Utils::Json::JsonValue Jsonize() const;
45
46
48
51 inline const AutoScalingGroupConfiguration& GetConfiguration() const{ return m_configuration; }
52 inline bool ConfigurationHasBeenSet() const { return m_configurationHasBeenSet; }
53 inline void SetConfiguration(const AutoScalingGroupConfiguration& value) { m_configurationHasBeenSet = true; m_configuration = value; }
54 inline void SetConfiguration(AutoScalingGroupConfiguration&& value) { m_configurationHasBeenSet = true; m_configuration = std::move(value); }
58
60
64 inline const GpuInfo& GetInstanceGpuInfo() const{ return m_instanceGpuInfo; }
65 inline bool InstanceGpuInfoHasBeenSet() const { return m_instanceGpuInfoHasBeenSet; }
66 inline void SetInstanceGpuInfo(const GpuInfo& value) { m_instanceGpuInfoHasBeenSet = true; m_instanceGpuInfo = value; }
67 inline void SetInstanceGpuInfo(GpuInfo&& value) { m_instanceGpuInfoHasBeenSet = true; m_instanceGpuInfo = std::move(value); }
69 inline AutoScalingGroupRecommendationOption& WithInstanceGpuInfo(GpuInfo&& value) { SetInstanceGpuInfo(std::move(value)); return *this;}
71
73
83 inline const Aws::Vector<UtilizationMetric>& GetProjectedUtilizationMetrics() const{ return m_projectedUtilizationMetrics; }
84 inline bool ProjectedUtilizationMetricsHasBeenSet() const { return m_projectedUtilizationMetricsHasBeenSet; }
85 inline void SetProjectedUtilizationMetrics(const Aws::Vector<UtilizationMetric>& value) { m_projectedUtilizationMetricsHasBeenSet = true; m_projectedUtilizationMetrics = value; }
86 inline void SetProjectedUtilizationMetrics(Aws::Vector<UtilizationMetric>&& value) { m_projectedUtilizationMetricsHasBeenSet = true; m_projectedUtilizationMetrics = std::move(value); }
89 inline AutoScalingGroupRecommendationOption& AddProjectedUtilizationMetrics(const UtilizationMetric& value) { m_projectedUtilizationMetricsHasBeenSet = true; m_projectedUtilizationMetrics.push_back(value); return *this; }
90 inline AutoScalingGroupRecommendationOption& AddProjectedUtilizationMetrics(UtilizationMetric&& value) { m_projectedUtilizationMetricsHasBeenSet = true; m_projectedUtilizationMetrics.push_back(std::move(value)); return *this; }
92
94
109 inline double GetPerformanceRisk() const{ return m_performanceRisk; }
110 inline bool PerformanceRiskHasBeenSet() const { return m_performanceRiskHasBeenSet; }
111 inline void SetPerformanceRisk(double value) { m_performanceRiskHasBeenSet = true; m_performanceRisk = value; }
114
116
120 inline int GetRank() const{ return m_rank; }
121 inline bool RankHasBeenSet() const { return m_rankHasBeenSet; }
122 inline void SetRank(int value) { m_rankHasBeenSet = true; m_rank = value; }
123 inline AutoScalingGroupRecommendationOption& WithRank(int value) { SetRank(value); return *this;}
125
127
132 inline const SavingsOpportunity& GetSavingsOpportunity() const{ return m_savingsOpportunity; }
133 inline bool SavingsOpportunityHasBeenSet() const { return m_savingsOpportunityHasBeenSet; }
134 inline void SetSavingsOpportunity(const SavingsOpportunity& value) { m_savingsOpportunityHasBeenSet = true; m_savingsOpportunity = value; }
135 inline void SetSavingsOpportunity(SavingsOpportunity&& value) { m_savingsOpportunityHasBeenSet = true; m_savingsOpportunity = std::move(value); }
139
141
147 inline const AutoScalingGroupSavingsOpportunityAfterDiscounts& GetSavingsOpportunityAfterDiscounts() const{ return m_savingsOpportunityAfterDiscounts; }
148 inline bool SavingsOpportunityAfterDiscountsHasBeenSet() const { return m_savingsOpportunityAfterDiscountsHasBeenSet; }
149 inline void SetSavingsOpportunityAfterDiscounts(const AutoScalingGroupSavingsOpportunityAfterDiscounts& value) { m_savingsOpportunityAfterDiscountsHasBeenSet = true; m_savingsOpportunityAfterDiscounts = value; }
150 inline void SetSavingsOpportunityAfterDiscounts(AutoScalingGroupSavingsOpportunityAfterDiscounts&& value) { m_savingsOpportunityAfterDiscountsHasBeenSet = true; m_savingsOpportunityAfterDiscounts = std::move(value); }
154
156
166 inline const MigrationEffort& GetMigrationEffort() const{ return m_migrationEffort; }
167 inline bool MigrationEffortHasBeenSet() const { return m_migrationEffortHasBeenSet; }
168 inline void SetMigrationEffort(const MigrationEffort& value) { m_migrationEffortHasBeenSet = true; m_migrationEffort = value; }
169 inline void SetMigrationEffort(MigrationEffort&& value) { m_migrationEffortHasBeenSet = true; m_migrationEffort = std::move(value); }
173 private:
174
175 AutoScalingGroupConfiguration m_configuration;
176 bool m_configurationHasBeenSet = false;
177
178 GpuInfo m_instanceGpuInfo;
179 bool m_instanceGpuInfoHasBeenSet = false;
180
181 Aws::Vector<UtilizationMetric> m_projectedUtilizationMetrics;
182 bool m_projectedUtilizationMetricsHasBeenSet = false;
183
184 double m_performanceRisk;
185 bool m_performanceRiskHasBeenSet = false;
186
187 int m_rank;
188 bool m_rankHasBeenSet = false;
189
190 SavingsOpportunity m_savingsOpportunity;
191 bool m_savingsOpportunityHasBeenSet = false;
192
193 AutoScalingGroupSavingsOpportunityAfterDiscounts m_savingsOpportunityAfterDiscounts;
194 bool m_savingsOpportunityAfterDiscountsHasBeenSet = false;
195
196 MigrationEffort m_migrationEffort;
197 bool m_migrationEffortHasBeenSet = false;
198 };
199
200} // namespace Model
201} // namespace ComputeOptimizer
202} // namespace Aws
AutoScalingGroupRecommendationOption & WithSavingsOpportunityAfterDiscounts(AutoScalingGroupSavingsOpportunityAfterDiscounts &&value)
void SetSavingsOpportunityAfterDiscounts(const AutoScalingGroupSavingsOpportunityAfterDiscounts &value)
AutoScalingGroupRecommendationOption & AddProjectedUtilizationMetrics(const UtilizationMetric &value)
AutoScalingGroupRecommendationOption & WithSavingsOpportunityAfterDiscounts(const AutoScalingGroupSavingsOpportunityAfterDiscounts &value)
void SetProjectedUtilizationMetrics(const Aws::Vector< UtilizationMetric > &value)
AutoScalingGroupRecommendationOption & WithSavingsOpportunity(const SavingsOpportunity &value)
AutoScalingGroupRecommendationOption & AddProjectedUtilizationMetrics(UtilizationMetric &&value)
AutoScalingGroupRecommendationOption & WithSavingsOpportunity(SavingsOpportunity &&value)
AutoScalingGroupRecommendationOption & WithProjectedUtilizationMetrics(Aws::Vector< UtilizationMetric > &&value)
AutoScalingGroupRecommendationOption & WithInstanceGpuInfo(const GpuInfo &value)
AWS_COMPUTEOPTIMIZER_API AutoScalingGroupRecommendationOption & operator=(Aws::Utils::Json::JsonView jsonValue)
void SetSavingsOpportunityAfterDiscounts(AutoScalingGroupSavingsOpportunityAfterDiscounts &&value)
AutoScalingGroupRecommendationOption & WithConfiguration(AutoScalingGroupConfiguration &&value)
AutoScalingGroupRecommendationOption & WithConfiguration(const AutoScalingGroupConfiguration &value)
AWS_COMPUTEOPTIMIZER_API AutoScalingGroupRecommendationOption(Aws::Utils::Json::JsonView jsonValue)
AWS_COMPUTEOPTIMIZER_API Aws::Utils::Json::JsonValue Jsonize() const
AutoScalingGroupRecommendationOption & WithMigrationEffort(MigrationEffort &&value)
AutoScalingGroupRecommendationOption & WithMigrationEffort(const MigrationEffort &value)
AutoScalingGroupRecommendationOption & WithInstanceGpuInfo(GpuInfo &&value)
AutoScalingGroupRecommendationOption & WithProjectedUtilizationMetrics(const Aws::Vector< UtilizationMetric > &value)
const AutoScalingGroupSavingsOpportunityAfterDiscounts & GetSavingsOpportunityAfterDiscounts() const
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue