AWS SDK for C++

AWS SDK for C++ Version 1.11.612

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() = default;
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 template<typename ConfigurationT = AutoScalingGroupConfiguration>
54 void SetConfiguration(ConfigurationT&& value) { m_configurationHasBeenSet = true; m_configuration = std::forward<ConfigurationT>(value); }
55 template<typename ConfigurationT = AutoScalingGroupConfiguration>
56 AutoScalingGroupRecommendationOption& WithConfiguration(ConfigurationT&& value) { SetConfiguration(std::forward<ConfigurationT>(value)); return *this;}
58
60
64 inline const GpuInfo& GetInstanceGpuInfo() const { return m_instanceGpuInfo; }
65 inline bool InstanceGpuInfoHasBeenSet() const { return m_instanceGpuInfoHasBeenSet; }
66 template<typename InstanceGpuInfoT = GpuInfo>
67 void SetInstanceGpuInfo(InstanceGpuInfoT&& value) { m_instanceGpuInfoHasBeenSet = true; m_instanceGpuInfo = std::forward<InstanceGpuInfoT>(value); }
68 template<typename InstanceGpuInfoT = GpuInfo>
69 AutoScalingGroupRecommendationOption& WithInstanceGpuInfo(InstanceGpuInfoT&& value) { SetInstanceGpuInfo(std::forward<InstanceGpuInfoT>(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 template<typename ProjectedUtilizationMetricsT = Aws::Vector<UtilizationMetric>>
86 void SetProjectedUtilizationMetrics(ProjectedUtilizationMetricsT&& value) { m_projectedUtilizationMetricsHasBeenSet = true; m_projectedUtilizationMetrics = std::forward<ProjectedUtilizationMetricsT>(value); }
87 template<typename ProjectedUtilizationMetricsT = Aws::Vector<UtilizationMetric>>
88 AutoScalingGroupRecommendationOption& WithProjectedUtilizationMetrics(ProjectedUtilizationMetricsT&& value) { SetProjectedUtilizationMetrics(std::forward<ProjectedUtilizationMetricsT>(value)); return *this;}
89 template<typename ProjectedUtilizationMetricsT = UtilizationMetric>
90 AutoScalingGroupRecommendationOption& AddProjectedUtilizationMetrics(ProjectedUtilizationMetricsT&& value) { m_projectedUtilizationMetricsHasBeenSet = true; m_projectedUtilizationMetrics.emplace_back(std::forward<ProjectedUtilizationMetricsT>(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 template<typename SavingsOpportunityT = SavingsOpportunity>
135 void SetSavingsOpportunity(SavingsOpportunityT&& value) { m_savingsOpportunityHasBeenSet = true; m_savingsOpportunity = std::forward<SavingsOpportunityT>(value); }
136 template<typename SavingsOpportunityT = SavingsOpportunity>
137 AutoScalingGroupRecommendationOption& WithSavingsOpportunity(SavingsOpportunityT&& value) { SetSavingsOpportunity(std::forward<SavingsOpportunityT>(value)); return *this;}
139
141
147 inline const AutoScalingGroupSavingsOpportunityAfterDiscounts& GetSavingsOpportunityAfterDiscounts() const { return m_savingsOpportunityAfterDiscounts; }
148 inline bool SavingsOpportunityAfterDiscountsHasBeenSet() const { return m_savingsOpportunityAfterDiscountsHasBeenSet; }
149 template<typename SavingsOpportunityAfterDiscountsT = AutoScalingGroupSavingsOpportunityAfterDiscounts>
150 void SetSavingsOpportunityAfterDiscounts(SavingsOpportunityAfterDiscountsT&& value) { m_savingsOpportunityAfterDiscountsHasBeenSet = true; m_savingsOpportunityAfterDiscounts = std::forward<SavingsOpportunityAfterDiscountsT>(value); }
151 template<typename SavingsOpportunityAfterDiscountsT = AutoScalingGroupSavingsOpportunityAfterDiscounts>
152 AutoScalingGroupRecommendationOption& WithSavingsOpportunityAfterDiscounts(SavingsOpportunityAfterDiscountsT&& value) { SetSavingsOpportunityAfterDiscounts(std::forward<SavingsOpportunityAfterDiscountsT>(value)); return *this;}
154
156
166 inline MigrationEffort GetMigrationEffort() const { return m_migrationEffort; }
167 inline bool MigrationEffortHasBeenSet() const { return m_migrationEffortHasBeenSet; }
168 inline void SetMigrationEffort(MigrationEffort value) { m_migrationEffortHasBeenSet = true; m_migrationEffort = value; }
171 private:
172
173 AutoScalingGroupConfiguration m_configuration;
174 bool m_configurationHasBeenSet = false;
175
176 GpuInfo m_instanceGpuInfo;
177 bool m_instanceGpuInfoHasBeenSet = false;
178
179 Aws::Vector<UtilizationMetric> m_projectedUtilizationMetrics;
180 bool m_projectedUtilizationMetricsHasBeenSet = false;
181
182 double m_performanceRisk{0.0};
183 bool m_performanceRiskHasBeenSet = false;
184
185 int m_rank{0};
186 bool m_rankHasBeenSet = false;
187
188 SavingsOpportunity m_savingsOpportunity;
189 bool m_savingsOpportunityHasBeenSet = false;
190
191 AutoScalingGroupSavingsOpportunityAfterDiscounts m_savingsOpportunityAfterDiscounts;
192 bool m_savingsOpportunityAfterDiscountsHasBeenSet = false;
193
194 MigrationEffort m_migrationEffort{MigrationEffort::NOT_SET};
195 bool m_migrationEffortHasBeenSet = false;
196 };
197
198} // namespace Model
199} // namespace ComputeOptimizer
200} // 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