AWS SDK for C++

AWS SDK for C++ Version 1.11.607

Loading...
Searching...
No Matches
Ec2RecommendationsExportPreferences.h
1
6#pragma once
7#include <aws/discovery/ApplicationDiscoveryService_EXPORTS.h>
8#include <aws/discovery/model/UsageMetricBasis.h>
9#include <aws/discovery/model/Tenancy.h>
10#include <aws/core/utils/memory/stl/AWSVector.h>
11#include <aws/core/utils/memory/stl/AWSString.h>
12#include <aws/discovery/model/ReservedInstanceOptions.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 ApplicationDiscoveryService
26{
27namespace Model
28{
29
38 {
39 public:
40 AWS_APPLICATIONDISCOVERYSERVICE_API Ec2RecommendationsExportPreferences() = default;
41 AWS_APPLICATIONDISCOVERYSERVICE_API Ec2RecommendationsExportPreferences(Aws::Utils::Json::JsonView jsonValue);
42 AWS_APPLICATIONDISCOVERYSERVICE_API Ec2RecommendationsExportPreferences& operator=(Aws::Utils::Json::JsonView jsonValue);
43 AWS_APPLICATIONDISCOVERYSERVICE_API Aws::Utils::Json::JsonValue Jsonize() const;
44
45
47
52 inline bool GetEnabled() const { return m_enabled; }
53 inline bool EnabledHasBeenSet() const { return m_enabledHasBeenSet; }
54 inline void SetEnabled(bool value) { m_enabledHasBeenSet = true; m_enabled = value; }
55 inline Ec2RecommendationsExportPreferences& WithEnabled(bool value) { SetEnabled(value); return *this;}
57
59
63 inline const UsageMetricBasis& GetCpuPerformanceMetricBasis() const { return m_cpuPerformanceMetricBasis; }
64 inline bool CpuPerformanceMetricBasisHasBeenSet() const { return m_cpuPerformanceMetricBasisHasBeenSet; }
65 template<typename CpuPerformanceMetricBasisT = UsageMetricBasis>
66 void SetCpuPerformanceMetricBasis(CpuPerformanceMetricBasisT&& value) { m_cpuPerformanceMetricBasisHasBeenSet = true; m_cpuPerformanceMetricBasis = std::forward<CpuPerformanceMetricBasisT>(value); }
67 template<typename CpuPerformanceMetricBasisT = UsageMetricBasis>
68 Ec2RecommendationsExportPreferences& WithCpuPerformanceMetricBasis(CpuPerformanceMetricBasisT&& value) { SetCpuPerformanceMetricBasis(std::forward<CpuPerformanceMetricBasisT>(value)); return *this;}
70
72
76 inline const UsageMetricBasis& GetRamPerformanceMetricBasis() const { return m_ramPerformanceMetricBasis; }
77 inline bool RamPerformanceMetricBasisHasBeenSet() const { return m_ramPerformanceMetricBasisHasBeenSet; }
78 template<typename RamPerformanceMetricBasisT = UsageMetricBasis>
79 void SetRamPerformanceMetricBasis(RamPerformanceMetricBasisT&& value) { m_ramPerformanceMetricBasisHasBeenSet = true; m_ramPerformanceMetricBasis = std::forward<RamPerformanceMetricBasisT>(value); }
80 template<typename RamPerformanceMetricBasisT = UsageMetricBasis>
81 Ec2RecommendationsExportPreferences& WithRamPerformanceMetricBasis(RamPerformanceMetricBasisT&& value) { SetRamPerformanceMetricBasis(std::forward<RamPerformanceMetricBasisT>(value)); return *this;}
83
85
88 inline Tenancy GetTenancy() const { return m_tenancy; }
89 inline bool TenancyHasBeenSet() const { return m_tenancyHasBeenSet; }
90 inline void SetTenancy(Tenancy value) { m_tenancyHasBeenSet = true; m_tenancy = value; }
91 inline Ec2RecommendationsExportPreferences& WithTenancy(Tenancy value) { SetTenancy(value); return *this;}
93
95
98 inline const Aws::Vector<Aws::String>& GetExcludedInstanceTypes() const { return m_excludedInstanceTypes; }
99 inline bool ExcludedInstanceTypesHasBeenSet() const { return m_excludedInstanceTypesHasBeenSet; }
100 template<typename ExcludedInstanceTypesT = Aws::Vector<Aws::String>>
101 void SetExcludedInstanceTypes(ExcludedInstanceTypesT&& value) { m_excludedInstanceTypesHasBeenSet = true; m_excludedInstanceTypes = std::forward<ExcludedInstanceTypesT>(value); }
102 template<typename ExcludedInstanceTypesT = Aws::Vector<Aws::String>>
103 Ec2RecommendationsExportPreferences& WithExcludedInstanceTypes(ExcludedInstanceTypesT&& value) { SetExcludedInstanceTypes(std::forward<ExcludedInstanceTypesT>(value)); return *this;}
104 template<typename ExcludedInstanceTypesT = Aws::String>
105 Ec2RecommendationsExportPreferences& AddExcludedInstanceTypes(ExcludedInstanceTypesT&& value) { m_excludedInstanceTypesHasBeenSet = true; m_excludedInstanceTypes.emplace_back(std::forward<ExcludedInstanceTypesT>(value)); return *this; }
107
109
116 inline const Aws::String& GetPreferredRegion() const { return m_preferredRegion; }
117 inline bool PreferredRegionHasBeenSet() const { return m_preferredRegionHasBeenSet; }
118 template<typename PreferredRegionT = Aws::String>
119 void SetPreferredRegion(PreferredRegionT&& value) { m_preferredRegionHasBeenSet = true; m_preferredRegion = std::forward<PreferredRegionT>(value); }
120 template<typename PreferredRegionT = Aws::String>
121 Ec2RecommendationsExportPreferences& WithPreferredRegion(PreferredRegionT&& value) { SetPreferredRegion(std::forward<PreferredRegionT>(value)); return *this;}
123
125
129 inline const ReservedInstanceOptions& GetReservedInstanceOptions() const { return m_reservedInstanceOptions; }
130 inline bool ReservedInstanceOptionsHasBeenSet() const { return m_reservedInstanceOptionsHasBeenSet; }
131 template<typename ReservedInstanceOptionsT = ReservedInstanceOptions>
132 void SetReservedInstanceOptions(ReservedInstanceOptionsT&& value) { m_reservedInstanceOptionsHasBeenSet = true; m_reservedInstanceOptions = std::forward<ReservedInstanceOptionsT>(value); }
133 template<typename ReservedInstanceOptionsT = ReservedInstanceOptions>
134 Ec2RecommendationsExportPreferences& WithReservedInstanceOptions(ReservedInstanceOptionsT&& value) { SetReservedInstanceOptions(std::forward<ReservedInstanceOptionsT>(value)); return *this;}
136 private:
137
138 bool m_enabled{false};
139 bool m_enabledHasBeenSet = false;
140
141 UsageMetricBasis m_cpuPerformanceMetricBasis;
142 bool m_cpuPerformanceMetricBasisHasBeenSet = false;
143
144 UsageMetricBasis m_ramPerformanceMetricBasis;
145 bool m_ramPerformanceMetricBasisHasBeenSet = false;
146
147 Tenancy m_tenancy{Tenancy::NOT_SET};
148 bool m_tenancyHasBeenSet = false;
149
150 Aws::Vector<Aws::String> m_excludedInstanceTypes;
151 bool m_excludedInstanceTypesHasBeenSet = false;
152
153 Aws::String m_preferredRegion;
154 bool m_preferredRegionHasBeenSet = false;
155
156 ReservedInstanceOptions m_reservedInstanceOptions;
157 bool m_reservedInstanceOptionsHasBeenSet = false;
158 };
159
160} // namespace Model
161} // namespace ApplicationDiscoveryService
162} // namespace Aws
Ec2RecommendationsExportPreferences & WithCpuPerformanceMetricBasis(CpuPerformanceMetricBasisT &&value)
AWS_APPLICATIONDISCOVERYSERVICE_API Ec2RecommendationsExportPreferences & operator=(Aws::Utils::Json::JsonView jsonValue)
AWS_APPLICATIONDISCOVERYSERVICE_API Ec2RecommendationsExportPreferences(Aws::Utils::Json::JsonView jsonValue)
Ec2RecommendationsExportPreferences & AddExcludedInstanceTypes(ExcludedInstanceTypesT &&value)
Ec2RecommendationsExportPreferences & WithExcludedInstanceTypes(ExcludedInstanceTypesT &&value)
AWS_APPLICATIONDISCOVERYSERVICE_API Aws::Utils::Json::JsonValue Jsonize() const
AWS_APPLICATIONDISCOVERYSERVICE_API Ec2RecommendationsExportPreferences()=default
Ec2RecommendationsExportPreferences & WithReservedInstanceOptions(ReservedInstanceOptionsT &&value)
Ec2RecommendationsExportPreferences & WithRamPerformanceMetricBasis(RamPerformanceMetricBasisT &&value)
Ec2RecommendationsExportPreferences & WithPreferredRegion(PreferredRegionT &&value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue