AWS SDK for C++

AWS SDK for C++ Version 1.11.747

Loading...
Searching...
No Matches
Ec2RecommendationsExportPreferences.h
1
6#pragma once
7#include <aws/core/utils/memory/stl/AWSString.h>
8#include <aws/core/utils/memory/stl/AWSVector.h>
9#include <aws/discovery/ApplicationDiscoveryService_EXPORTS.h>
10#include <aws/discovery/model/ReservedInstanceOptions.h>
11#include <aws/discovery/model/Tenancy.h>
12#include <aws/discovery/model/UsageMetricBasis.h>
13
14#include <utility>
15
16namespace Aws {
17namespace Utils {
18namespace Json {
19class JsonValue;
20class JsonView;
21} // namespace Json
22} // namespace Utils
23namespace ApplicationDiscoveryService {
24namespace Model {
25
34 public:
35 AWS_APPLICATIONDISCOVERYSERVICE_API Ec2RecommendationsExportPreferences() = default;
36 AWS_APPLICATIONDISCOVERYSERVICE_API Ec2RecommendationsExportPreferences(Aws::Utils::Json::JsonView jsonValue);
37 AWS_APPLICATIONDISCOVERYSERVICE_API Ec2RecommendationsExportPreferences& operator=(Aws::Utils::Json::JsonView jsonValue);
38 AWS_APPLICATIONDISCOVERYSERVICE_API Aws::Utils::Json::JsonValue Jsonize() const;
39
41
46 inline bool GetEnabled() const { return m_enabled; }
47 inline bool EnabledHasBeenSet() const { return m_enabledHasBeenSet; }
48 inline void SetEnabled(bool value) {
49 m_enabledHasBeenSet = true;
50 m_enabled = value;
51 }
53 SetEnabled(value);
54 return *this;
55 }
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) {
67 m_cpuPerformanceMetricBasisHasBeenSet = true;
68 m_cpuPerformanceMetricBasis = std::forward<CpuPerformanceMetricBasisT>(value);
69 }
70 template <typename CpuPerformanceMetricBasisT = UsageMetricBasis>
72 SetCpuPerformanceMetricBasis(std::forward<CpuPerformanceMetricBasisT>(value));
73 return *this;
74 }
76
78
82 inline const UsageMetricBasis& GetRamPerformanceMetricBasis() const { return m_ramPerformanceMetricBasis; }
83 inline bool RamPerformanceMetricBasisHasBeenSet() const { return m_ramPerformanceMetricBasisHasBeenSet; }
84 template <typename RamPerformanceMetricBasisT = UsageMetricBasis>
85 void SetRamPerformanceMetricBasis(RamPerformanceMetricBasisT&& value) {
86 m_ramPerformanceMetricBasisHasBeenSet = true;
87 m_ramPerformanceMetricBasis = std::forward<RamPerformanceMetricBasisT>(value);
88 }
89 template <typename RamPerformanceMetricBasisT = UsageMetricBasis>
91 SetRamPerformanceMetricBasis(std::forward<RamPerformanceMetricBasisT>(value));
92 return *this;
93 }
95
97
100 inline Tenancy GetTenancy() const { return m_tenancy; }
101 inline bool TenancyHasBeenSet() const { return m_tenancyHasBeenSet; }
102 inline void SetTenancy(Tenancy value) {
103 m_tenancyHasBeenSet = true;
104 m_tenancy = value;
105 }
107 SetTenancy(value);
108 return *this;
109 }
111
113
116 inline const Aws::Vector<Aws::String>& GetExcludedInstanceTypes() const { return m_excludedInstanceTypes; }
117 inline bool ExcludedInstanceTypesHasBeenSet() const { return m_excludedInstanceTypesHasBeenSet; }
118 template <typename ExcludedInstanceTypesT = Aws::Vector<Aws::String>>
119 void SetExcludedInstanceTypes(ExcludedInstanceTypesT&& value) {
120 m_excludedInstanceTypesHasBeenSet = true;
121 m_excludedInstanceTypes = std::forward<ExcludedInstanceTypesT>(value);
122 }
123 template <typename ExcludedInstanceTypesT = Aws::Vector<Aws::String>>
125 SetExcludedInstanceTypes(std::forward<ExcludedInstanceTypesT>(value));
126 return *this;
127 }
128 template <typename ExcludedInstanceTypesT = Aws::String>
130 m_excludedInstanceTypesHasBeenSet = true;
131 m_excludedInstanceTypes.emplace_back(std::forward<ExcludedInstanceTypesT>(value));
132 return *this;
133 }
135
137
144 inline const Aws::String& GetPreferredRegion() const { return m_preferredRegion; }
145 inline bool PreferredRegionHasBeenSet() const { return m_preferredRegionHasBeenSet; }
146 template <typename PreferredRegionT = Aws::String>
147 void SetPreferredRegion(PreferredRegionT&& value) {
148 m_preferredRegionHasBeenSet = true;
149 m_preferredRegion = std::forward<PreferredRegionT>(value);
150 }
151 template <typename PreferredRegionT = Aws::String>
153 SetPreferredRegion(std::forward<PreferredRegionT>(value));
154 return *this;
155 }
157
159
163 inline const ReservedInstanceOptions& GetReservedInstanceOptions() const { return m_reservedInstanceOptions; }
164 inline bool ReservedInstanceOptionsHasBeenSet() const { return m_reservedInstanceOptionsHasBeenSet; }
165 template <typename ReservedInstanceOptionsT = ReservedInstanceOptions>
166 void SetReservedInstanceOptions(ReservedInstanceOptionsT&& value) {
167 m_reservedInstanceOptionsHasBeenSet = true;
168 m_reservedInstanceOptions = std::forward<ReservedInstanceOptionsT>(value);
169 }
170 template <typename ReservedInstanceOptionsT = ReservedInstanceOptions>
172 SetReservedInstanceOptions(std::forward<ReservedInstanceOptionsT>(value));
173 return *this;
174 }
176 private:
177 bool m_enabled{false};
178
179 UsageMetricBasis m_cpuPerformanceMetricBasis;
180
181 UsageMetricBasis m_ramPerformanceMetricBasis;
182
183 Tenancy m_tenancy{Tenancy::NOT_SET};
184
185 Aws::Vector<Aws::String> m_excludedInstanceTypes;
186
187 Aws::String m_preferredRegion;
188
189 ReservedInstanceOptions m_reservedInstanceOptions;
190 bool m_enabledHasBeenSet = false;
191 bool m_cpuPerformanceMetricBasisHasBeenSet = false;
192 bool m_ramPerformanceMetricBasisHasBeenSet = false;
193 bool m_tenancyHasBeenSet = false;
194 bool m_excludedInstanceTypesHasBeenSet = false;
195 bool m_preferredRegionHasBeenSet = false;
196 bool m_reservedInstanceOptionsHasBeenSet = false;
197};
198
199} // namespace Model
200} // namespace ApplicationDiscoveryService
201} // 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