AWS SDK for C++

AWS SDK for C++ Version 1.11.612

Loading...
Searching...
No Matches
RDSEffectiveRecommendationPreferences.h
1
6#pragma once
7#include <aws/compute-optimizer/ComputeOptimizer_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSVector.h>
9#include <aws/compute-optimizer/model/EnhancedInfrastructureMetrics.h>
10#include <aws/compute-optimizer/model/LookBackPeriodPreference.h>
11#include <aws/compute-optimizer/model/RDSSavingsEstimationMode.h>
12#include <aws/compute-optimizer/model/CpuVendorArchitecture.h>
13#include <utility>
14
15namespace Aws
16{
17namespace Utils
18{
19namespace Json
20{
21 class JsonValue;
22 class JsonView;
23} // namespace Json
24} // namespace Utils
25namespace ComputeOptimizer
26{
27namespace Model
28{
29
37 {
38 public:
39 AWS_COMPUTEOPTIMIZER_API RDSEffectiveRecommendationPreferences() = default;
42 AWS_COMPUTEOPTIMIZER_API Aws::Utils::Json::JsonValue Jsonize() const;
43
44
46
50 inline const Aws::Vector<CpuVendorArchitecture>& GetCpuVendorArchitectures() const { return m_cpuVendorArchitectures; }
51 inline bool CpuVendorArchitecturesHasBeenSet() const { return m_cpuVendorArchitecturesHasBeenSet; }
52 template<typename CpuVendorArchitecturesT = Aws::Vector<CpuVendorArchitecture>>
53 void SetCpuVendorArchitectures(CpuVendorArchitecturesT&& value) { m_cpuVendorArchitecturesHasBeenSet = true; m_cpuVendorArchitectures = std::forward<CpuVendorArchitecturesT>(value); }
54 template<typename CpuVendorArchitecturesT = Aws::Vector<CpuVendorArchitecture>>
55 RDSEffectiveRecommendationPreferences& WithCpuVendorArchitectures(CpuVendorArchitecturesT&& value) { SetCpuVendorArchitectures(std::forward<CpuVendorArchitecturesT>(value)); return *this;}
56 inline RDSEffectiveRecommendationPreferences& AddCpuVendorArchitectures(CpuVendorArchitecture value) { m_cpuVendorArchitecturesHasBeenSet = true; m_cpuVendorArchitectures.push_back(value); return *this; }
58
60
69 inline EnhancedInfrastructureMetrics GetEnhancedInfrastructureMetrics() const { return m_enhancedInfrastructureMetrics; }
70 inline bool EnhancedInfrastructureMetricsHasBeenSet() const { return m_enhancedInfrastructureMetricsHasBeenSet; }
71 inline void SetEnhancedInfrastructureMetrics(EnhancedInfrastructureMetrics value) { m_enhancedInfrastructureMetricsHasBeenSet = true; m_enhancedInfrastructureMetrics = value; }
74
76
80 inline LookBackPeriodPreference GetLookBackPeriod() const { return m_lookBackPeriod; }
81 inline bool LookBackPeriodHasBeenSet() const { return m_lookBackPeriodHasBeenSet; }
82 inline void SetLookBackPeriod(LookBackPeriodPreference value) { m_lookBackPeriodHasBeenSet = true; m_lookBackPeriod = value; }
85
87
91 inline const RDSSavingsEstimationMode& GetSavingsEstimationMode() const { return m_savingsEstimationMode; }
92 inline bool SavingsEstimationModeHasBeenSet() const { return m_savingsEstimationModeHasBeenSet; }
93 template<typename SavingsEstimationModeT = RDSSavingsEstimationMode>
94 void SetSavingsEstimationMode(SavingsEstimationModeT&& value) { m_savingsEstimationModeHasBeenSet = true; m_savingsEstimationMode = std::forward<SavingsEstimationModeT>(value); }
95 template<typename SavingsEstimationModeT = RDSSavingsEstimationMode>
96 RDSEffectiveRecommendationPreferences& WithSavingsEstimationMode(SavingsEstimationModeT&& value) { SetSavingsEstimationMode(std::forward<SavingsEstimationModeT>(value)); return *this;}
98 private:
99
100 Aws::Vector<CpuVendorArchitecture> m_cpuVendorArchitectures;
101 bool m_cpuVendorArchitecturesHasBeenSet = false;
102
104 bool m_enhancedInfrastructureMetricsHasBeenSet = false;
105
107 bool m_lookBackPeriodHasBeenSet = false;
108
109 RDSSavingsEstimationMode m_savingsEstimationMode;
110 bool m_savingsEstimationModeHasBeenSet = false;
111 };
112
113} // namespace Model
114} // namespace ComputeOptimizer
115} // namespace Aws
AWS_COMPUTEOPTIMIZER_API RDSEffectiveRecommendationPreferences(Aws::Utils::Json::JsonView jsonValue)
RDSEffectiveRecommendationPreferences & AddCpuVendorArchitectures(CpuVendorArchitecture value)
RDSEffectiveRecommendationPreferences & WithLookBackPeriod(LookBackPeriodPreference value)
RDSEffectiveRecommendationPreferences & WithSavingsEstimationMode(SavingsEstimationModeT &&value)
RDSEffectiveRecommendationPreferences & WithCpuVendorArchitectures(CpuVendorArchitecturesT &&value)
AWS_COMPUTEOPTIMIZER_API RDSEffectiveRecommendationPreferences & operator=(Aws::Utils::Json::JsonView jsonValue)
AWS_COMPUTEOPTIMIZER_API Aws::Utils::Json::JsonValue Jsonize() const
RDSEffectiveRecommendationPreferences & WithEnhancedInfrastructureMetrics(EnhancedInfrastructureMetrics value)
AWS_COMPUTEOPTIMIZER_API RDSEffectiveRecommendationPreferences()=default
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue