AWS SDK for C++

AWS SDK for C++ Version 1.11.440

Loading...
Searching...
No Matches
InstanceRecommendationOption.h
1
6#pragma once
7#include <aws/compute-optimizer/ComputeOptimizer_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSString.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/InstanceSavingsOpportunityAfterDiscounts.h>
13#include <aws/compute-optimizer/model/MigrationEffort.h>
14#include <aws/compute-optimizer/model/UtilizationMetric.h>
15#include <aws/compute-optimizer/model/PlatformDifference.h>
16#include <utility>
17
18namespace Aws
19{
20namespace Utils
21{
22namespace Json
23{
24 class JsonValue;
25 class JsonView;
26} // namespace Json
27} // namespace Utils
28namespace ComputeOptimizer
29{
30namespace Model
31{
32
40 {
41 public:
42 AWS_COMPUTEOPTIMIZER_API InstanceRecommendationOption();
43 AWS_COMPUTEOPTIMIZER_API InstanceRecommendationOption(Aws::Utils::Json::JsonView jsonValue);
45 AWS_COMPUTEOPTIMIZER_API Aws::Utils::Json::JsonValue Jsonize() const;
46
47
49
52 inline const Aws::String& GetInstanceType() const{ return m_instanceType; }
53 inline bool InstanceTypeHasBeenSet() const { return m_instanceTypeHasBeenSet; }
54 inline void SetInstanceType(const Aws::String& value) { m_instanceTypeHasBeenSet = true; m_instanceType = value; }
55 inline void SetInstanceType(Aws::String&& value) { m_instanceTypeHasBeenSet = true; m_instanceType = std::move(value); }
56 inline void SetInstanceType(const char* value) { m_instanceTypeHasBeenSet = true; m_instanceType.assign(value); }
57 inline InstanceRecommendationOption& WithInstanceType(const Aws::String& value) { SetInstanceType(value); return *this;}
58 inline InstanceRecommendationOption& WithInstanceType(Aws::String&& value) { SetInstanceType(std::move(value)); return *this;}
59 inline InstanceRecommendationOption& WithInstanceType(const char* value) { SetInstanceType(value); return *this;}
61
63
67 inline const GpuInfo& GetInstanceGpuInfo() const{ return m_instanceGpuInfo; }
68 inline bool InstanceGpuInfoHasBeenSet() const { return m_instanceGpuInfoHasBeenSet; }
69 inline void SetInstanceGpuInfo(const GpuInfo& value) { m_instanceGpuInfoHasBeenSet = true; m_instanceGpuInfo = value; }
70 inline void SetInstanceGpuInfo(GpuInfo&& value) { m_instanceGpuInfoHasBeenSet = true; m_instanceGpuInfo = std::move(value); }
71 inline InstanceRecommendationOption& WithInstanceGpuInfo(const GpuInfo& value) { SetInstanceGpuInfo(value); return *this;}
72 inline InstanceRecommendationOption& WithInstanceGpuInfo(GpuInfo&& value) { SetInstanceGpuInfo(std::move(value)); return *this;}
74
76
86 inline const Aws::Vector<UtilizationMetric>& GetProjectedUtilizationMetrics() const{ return m_projectedUtilizationMetrics; }
87 inline bool ProjectedUtilizationMetricsHasBeenSet() const { return m_projectedUtilizationMetricsHasBeenSet; }
88 inline void SetProjectedUtilizationMetrics(const Aws::Vector<UtilizationMetric>& value) { m_projectedUtilizationMetricsHasBeenSet = true; m_projectedUtilizationMetrics = value; }
89 inline void SetProjectedUtilizationMetrics(Aws::Vector<UtilizationMetric>&& value) { m_projectedUtilizationMetricsHasBeenSet = true; m_projectedUtilizationMetrics = std::move(value); }
92 inline InstanceRecommendationOption& AddProjectedUtilizationMetrics(const UtilizationMetric& value) { m_projectedUtilizationMetricsHasBeenSet = true; m_projectedUtilizationMetrics.push_back(value); return *this; }
93 inline InstanceRecommendationOption& AddProjectedUtilizationMetrics(UtilizationMetric&& value) { m_projectedUtilizationMetricsHasBeenSet = true; m_projectedUtilizationMetrics.push_back(std::move(value)); return *this; }
95
97
187 inline const Aws::Vector<PlatformDifference>& GetPlatformDifferences() const{ return m_platformDifferences; }
188 inline bool PlatformDifferencesHasBeenSet() const { return m_platformDifferencesHasBeenSet; }
189 inline void SetPlatformDifferences(const Aws::Vector<PlatformDifference>& value) { m_platformDifferencesHasBeenSet = true; m_platformDifferences = value; }
190 inline void SetPlatformDifferences(Aws::Vector<PlatformDifference>&& value) { m_platformDifferencesHasBeenSet = true; m_platformDifferences = std::move(value); }
193 inline InstanceRecommendationOption& AddPlatformDifferences(const PlatformDifference& value) { m_platformDifferencesHasBeenSet = true; m_platformDifferences.push_back(value); return *this; }
194 inline InstanceRecommendationOption& AddPlatformDifferences(PlatformDifference&& value) { m_platformDifferencesHasBeenSet = true; m_platformDifferences.push_back(std::move(value)); return *this; }
196
198
213 inline double GetPerformanceRisk() const{ return m_performanceRisk; }
214 inline bool PerformanceRiskHasBeenSet() const { return m_performanceRiskHasBeenSet; }
215 inline void SetPerformanceRisk(double value) { m_performanceRiskHasBeenSet = true; m_performanceRisk = value; }
216 inline InstanceRecommendationOption& WithPerformanceRisk(double value) { SetPerformanceRisk(value); return *this;}
218
220
224 inline int GetRank() const{ return m_rank; }
225 inline bool RankHasBeenSet() const { return m_rankHasBeenSet; }
226 inline void SetRank(int value) { m_rankHasBeenSet = true; m_rank = value; }
227 inline InstanceRecommendationOption& WithRank(int value) { SetRank(value); return *this;}
229
231
236 inline const SavingsOpportunity& GetSavingsOpportunity() const{ return m_savingsOpportunity; }
237 inline bool SavingsOpportunityHasBeenSet() const { return m_savingsOpportunityHasBeenSet; }
238 inline void SetSavingsOpportunity(const SavingsOpportunity& value) { m_savingsOpportunityHasBeenSet = true; m_savingsOpportunity = value; }
239 inline void SetSavingsOpportunity(SavingsOpportunity&& value) { m_savingsOpportunityHasBeenSet = true; m_savingsOpportunity = std::move(value); }
243
245
251 inline const InstanceSavingsOpportunityAfterDiscounts& GetSavingsOpportunityAfterDiscounts() const{ return m_savingsOpportunityAfterDiscounts; }
252 inline bool SavingsOpportunityAfterDiscountsHasBeenSet() const { return m_savingsOpportunityAfterDiscountsHasBeenSet; }
253 inline void SetSavingsOpportunityAfterDiscounts(const InstanceSavingsOpportunityAfterDiscounts& value) { m_savingsOpportunityAfterDiscountsHasBeenSet = true; m_savingsOpportunityAfterDiscounts = value; }
254 inline void SetSavingsOpportunityAfterDiscounts(InstanceSavingsOpportunityAfterDiscounts&& value) { m_savingsOpportunityAfterDiscountsHasBeenSet = true; m_savingsOpportunityAfterDiscounts = std::move(value); }
258
260
270 inline const MigrationEffort& GetMigrationEffort() const{ return m_migrationEffort; }
271 inline bool MigrationEffortHasBeenSet() const { return m_migrationEffortHasBeenSet; }
272 inline void SetMigrationEffort(const MigrationEffort& value) { m_migrationEffortHasBeenSet = true; m_migrationEffort = value; }
273 inline void SetMigrationEffort(MigrationEffort&& value) { m_migrationEffortHasBeenSet = true; m_migrationEffort = std::move(value); }
275 inline InstanceRecommendationOption& WithMigrationEffort(MigrationEffort&& value) { SetMigrationEffort(std::move(value)); return *this;}
277 private:
278
279 Aws::String m_instanceType;
280 bool m_instanceTypeHasBeenSet = false;
281
282 GpuInfo m_instanceGpuInfo;
283 bool m_instanceGpuInfoHasBeenSet = false;
284
285 Aws::Vector<UtilizationMetric> m_projectedUtilizationMetrics;
286 bool m_projectedUtilizationMetricsHasBeenSet = false;
287
288 Aws::Vector<PlatformDifference> m_platformDifferences;
289 bool m_platformDifferencesHasBeenSet = false;
290
291 double m_performanceRisk;
292 bool m_performanceRiskHasBeenSet = false;
293
294 int m_rank;
295 bool m_rankHasBeenSet = false;
296
297 SavingsOpportunity m_savingsOpportunity;
298 bool m_savingsOpportunityHasBeenSet = false;
299
300 InstanceSavingsOpportunityAfterDiscounts m_savingsOpportunityAfterDiscounts;
301 bool m_savingsOpportunityAfterDiscountsHasBeenSet = false;
302
303 MigrationEffort m_migrationEffort;
304 bool m_migrationEffortHasBeenSet = false;
305 };
306
307} // namespace Model
308} // namespace ComputeOptimizer
309} // namespace Aws
InstanceRecommendationOption & AddProjectedUtilizationMetrics(const UtilizationMetric &value)
AWS_COMPUTEOPTIMIZER_API InstanceRecommendationOption(Aws::Utils::Json::JsonView jsonValue)
AWS_COMPUTEOPTIMIZER_API Aws::Utils::Json::JsonValue Jsonize() const
InstanceRecommendationOption & WithSavingsOpportunityAfterDiscounts(InstanceSavingsOpportunityAfterDiscounts &&value)
InstanceRecommendationOption & WithSavingsOpportunityAfterDiscounts(const InstanceSavingsOpportunityAfterDiscounts &value)
const InstanceSavingsOpportunityAfterDiscounts & GetSavingsOpportunityAfterDiscounts() const
InstanceRecommendationOption & WithProjectedUtilizationMetrics(Aws::Vector< UtilizationMetric > &&value)
void SetProjectedUtilizationMetrics(Aws::Vector< UtilizationMetric > &&value)
void SetPlatformDifferences(const Aws::Vector< PlatformDifference > &value)
InstanceRecommendationOption & AddPlatformDifferences(const PlatformDifference &value)
InstanceRecommendationOption & WithPlatformDifferences(const Aws::Vector< PlatformDifference > &value)
const Aws::Vector< UtilizationMetric > & GetProjectedUtilizationMetrics() const
InstanceRecommendationOption & WithSavingsOpportunity(const SavingsOpportunity &value)
void SetSavingsOpportunityAfterDiscounts(InstanceSavingsOpportunityAfterDiscounts &&value)
void SetProjectedUtilizationMetrics(const Aws::Vector< UtilizationMetric > &value)
InstanceRecommendationOption & WithSavingsOpportunity(SavingsOpportunity &&value)
InstanceRecommendationOption & WithInstanceGpuInfo(GpuInfo &&value)
InstanceRecommendationOption & AddProjectedUtilizationMetrics(UtilizationMetric &&value)
InstanceRecommendationOption & WithMigrationEffort(MigrationEffort &&value)
InstanceRecommendationOption & WithInstanceType(Aws::String &&value)
void SetPlatformDifferences(Aws::Vector< PlatformDifference > &&value)
InstanceRecommendationOption & AddPlatformDifferences(PlatformDifference &&value)
InstanceRecommendationOption & WithInstanceType(const char *value)
InstanceRecommendationOption & WithInstanceType(const Aws::String &value)
InstanceRecommendationOption & WithProjectedUtilizationMetrics(const Aws::Vector< UtilizationMetric > &value)
InstanceRecommendationOption & WithInstanceGpuInfo(const GpuInfo &value)
AWS_COMPUTEOPTIMIZER_API InstanceRecommendationOption & operator=(Aws::Utils::Json::JsonView jsonValue)
InstanceRecommendationOption & WithMigrationEffort(const MigrationEffort &value)
InstanceRecommendationOption & WithPlatformDifferences(Aws::Vector< PlatformDifference > &&value)
void SetSavingsOpportunityAfterDiscounts(const InstanceSavingsOpportunityAfterDiscounts &value)
const Aws::Vector< PlatformDifference > & GetPlatformDifferences() const
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue