AWS SDK for C++

AWS SDK for C++ Version 1.11.744

Loading...
Searching...
No Matches
VolumeRecommendation.h
1
6#pragma once
7#include <aws/compute-optimizer/ComputeOptimizer_EXPORTS.h>
8#include <aws/compute-optimizer/model/CurrentPerformanceRisk.h>
9#include <aws/compute-optimizer/model/EBSEffectiveRecommendationPreferences.h>
10#include <aws/compute-optimizer/model/EBSFinding.h>
11#include <aws/compute-optimizer/model/EBSUtilizationMetric.h>
12#include <aws/compute-optimizer/model/Tag.h>
13#include <aws/compute-optimizer/model/VolumeConfiguration.h>
14#include <aws/compute-optimizer/model/VolumeRecommendationOption.h>
15#include <aws/core/utils/DateTime.h>
16#include <aws/core/utils/memory/stl/AWSString.h>
17#include <aws/core/utils/memory/stl/AWSVector.h>
18
19#include <utility>
20
21namespace Aws {
22namespace Utils {
23namespace Json {
24class JsonValue;
25class JsonView;
26} // namespace Json
27} // namespace Utils
28namespace ComputeOptimizer {
29namespace Model {
30
38 public:
39 AWS_COMPUTEOPTIMIZER_API VolumeRecommendation() = default;
40 AWS_COMPUTEOPTIMIZER_API VolumeRecommendation(Aws::Utils::Json::JsonView jsonValue);
41 AWS_COMPUTEOPTIMIZER_API VolumeRecommendation& operator=(Aws::Utils::Json::JsonView jsonValue);
42 AWS_COMPUTEOPTIMIZER_API Aws::Utils::Json::JsonValue Jsonize() const;
43
45
48 inline const Aws::String& GetVolumeArn() const { return m_volumeArn; }
49 inline bool VolumeArnHasBeenSet() const { return m_volumeArnHasBeenSet; }
50 template <typename VolumeArnT = Aws::String>
51 void SetVolumeArn(VolumeArnT&& value) {
52 m_volumeArnHasBeenSet = true;
53 m_volumeArn = std::forward<VolumeArnT>(value);
54 }
55 template <typename VolumeArnT = Aws::String>
56 VolumeRecommendation& WithVolumeArn(VolumeArnT&& value) {
57 SetVolumeArn(std::forward<VolumeArnT>(value));
58 return *this;
59 }
61
63
66 inline const Aws::String& GetAccountId() const { return m_accountId; }
67 inline bool AccountIdHasBeenSet() const { return m_accountIdHasBeenSet; }
68 template <typename AccountIdT = Aws::String>
69 void SetAccountId(AccountIdT&& value) {
70 m_accountIdHasBeenSet = true;
71 m_accountId = std::forward<AccountIdT>(value);
72 }
73 template <typename AccountIdT = Aws::String>
74 VolumeRecommendation& WithAccountId(AccountIdT&& value) {
75 SetAccountId(std::forward<AccountIdT>(value));
76 return *this;
77 }
79
81
85 inline const VolumeConfiguration& GetCurrentConfiguration() const { return m_currentConfiguration; }
86 inline bool CurrentConfigurationHasBeenSet() const { return m_currentConfigurationHasBeenSet; }
87 template <typename CurrentConfigurationT = VolumeConfiguration>
88 void SetCurrentConfiguration(CurrentConfigurationT&& value) {
89 m_currentConfigurationHasBeenSet = true;
90 m_currentConfiguration = std::forward<CurrentConfigurationT>(value);
91 }
92 template <typename CurrentConfigurationT = VolumeConfiguration>
93 VolumeRecommendation& WithCurrentConfiguration(CurrentConfigurationT&& value) {
94 SetCurrentConfiguration(std::forward<CurrentConfigurationT>(value));
95 return *this;
96 }
98
100
110 inline EBSFinding GetFinding() const { return m_finding; }
111 inline bool FindingHasBeenSet() const { return m_findingHasBeenSet; }
112 inline void SetFinding(EBSFinding value) {
113 m_findingHasBeenSet = true;
114 m_finding = value;
115 }
117 SetFinding(value);
118 return *this;
119 }
121
123
126 inline const Aws::Vector<EBSUtilizationMetric>& GetUtilizationMetrics() const { return m_utilizationMetrics; }
127 inline bool UtilizationMetricsHasBeenSet() const { return m_utilizationMetricsHasBeenSet; }
128 template <typename UtilizationMetricsT = Aws::Vector<EBSUtilizationMetric>>
129 void SetUtilizationMetrics(UtilizationMetricsT&& value) {
130 m_utilizationMetricsHasBeenSet = true;
131 m_utilizationMetrics = std::forward<UtilizationMetricsT>(value);
132 }
133 template <typename UtilizationMetricsT = Aws::Vector<EBSUtilizationMetric>>
134 VolumeRecommendation& WithUtilizationMetrics(UtilizationMetricsT&& value) {
135 SetUtilizationMetrics(std::forward<UtilizationMetricsT>(value));
136 return *this;
137 }
138 template <typename UtilizationMetricsT = EBSUtilizationMetric>
139 VolumeRecommendation& AddUtilizationMetrics(UtilizationMetricsT&& value) {
140 m_utilizationMetricsHasBeenSet = true;
141 m_utilizationMetrics.emplace_back(std::forward<UtilizationMetricsT>(value));
142 return *this;
143 }
145
147
151 inline double GetLookBackPeriodInDays() const { return m_lookBackPeriodInDays; }
152 inline bool LookBackPeriodInDaysHasBeenSet() const { return m_lookBackPeriodInDaysHasBeenSet; }
153 inline void SetLookBackPeriodInDays(double value) {
154 m_lookBackPeriodInDaysHasBeenSet = true;
155 m_lookBackPeriodInDays = value;
156 }
159 return *this;
160 }
162
164
168 inline const Aws::Vector<VolumeRecommendationOption>& GetVolumeRecommendationOptions() const { return m_volumeRecommendationOptions; }
169 inline bool VolumeRecommendationOptionsHasBeenSet() const { return m_volumeRecommendationOptionsHasBeenSet; }
170 template <typename VolumeRecommendationOptionsT = Aws::Vector<VolumeRecommendationOption>>
171 void SetVolumeRecommendationOptions(VolumeRecommendationOptionsT&& value) {
172 m_volumeRecommendationOptionsHasBeenSet = true;
173 m_volumeRecommendationOptions = std::forward<VolumeRecommendationOptionsT>(value);
174 }
175 template <typename VolumeRecommendationOptionsT = Aws::Vector<VolumeRecommendationOption>>
176 VolumeRecommendation& WithVolumeRecommendationOptions(VolumeRecommendationOptionsT&& value) {
177 SetVolumeRecommendationOptions(std::forward<VolumeRecommendationOptionsT>(value));
178 return *this;
179 }
180 template <typename VolumeRecommendationOptionsT = VolumeRecommendationOption>
181 VolumeRecommendation& AddVolumeRecommendationOptions(VolumeRecommendationOptionsT&& value) {
182 m_volumeRecommendationOptionsHasBeenSet = true;
183 m_volumeRecommendationOptions.emplace_back(std::forward<VolumeRecommendationOptionsT>(value));
184 return *this;
185 }
187
189
192 inline const Aws::Utils::DateTime& GetLastRefreshTimestamp() const { return m_lastRefreshTimestamp; }
193 inline bool LastRefreshTimestampHasBeenSet() const { return m_lastRefreshTimestampHasBeenSet; }
194 template <typename LastRefreshTimestampT = Aws::Utils::DateTime>
195 void SetLastRefreshTimestamp(LastRefreshTimestampT&& value) {
196 m_lastRefreshTimestampHasBeenSet = true;
197 m_lastRefreshTimestamp = std::forward<LastRefreshTimestampT>(value);
198 }
199 template <typename LastRefreshTimestampT = Aws::Utils::DateTime>
200 VolumeRecommendation& WithLastRefreshTimestamp(LastRefreshTimestampT&& value) {
201 SetLastRefreshTimestamp(std::forward<LastRefreshTimestampT>(value));
202 return *this;
203 }
205
207
212 inline CurrentPerformanceRisk GetCurrentPerformanceRisk() const { return m_currentPerformanceRisk; }
213 inline bool CurrentPerformanceRiskHasBeenSet() const { return m_currentPerformanceRiskHasBeenSet; }
215 m_currentPerformanceRiskHasBeenSet = true;
216 m_currentPerformanceRisk = value;
217 }
220 return *this;
221 }
223
225
230 return m_effectiveRecommendationPreferences;
231 }
232 inline bool EffectiveRecommendationPreferencesHasBeenSet() const { return m_effectiveRecommendationPreferencesHasBeenSet; }
233 template <typename EffectiveRecommendationPreferencesT = EBSEffectiveRecommendationPreferences>
234 void SetEffectiveRecommendationPreferences(EffectiveRecommendationPreferencesT&& value) {
235 m_effectiveRecommendationPreferencesHasBeenSet = true;
236 m_effectiveRecommendationPreferences = std::forward<EffectiveRecommendationPreferencesT>(value);
237 }
238 template <typename EffectiveRecommendationPreferencesT = EBSEffectiveRecommendationPreferences>
239 VolumeRecommendation& WithEffectiveRecommendationPreferences(EffectiveRecommendationPreferencesT&& value) {
240 SetEffectiveRecommendationPreferences(std::forward<EffectiveRecommendationPreferencesT>(value));
241 return *this;
242 }
244
246
249 inline const Aws::Vector<Tag>& GetTags() const { return m_tags; }
250 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
251 template <typename TagsT = Aws::Vector<Tag>>
252 void SetTags(TagsT&& value) {
253 m_tagsHasBeenSet = true;
254 m_tags = std::forward<TagsT>(value);
255 }
256 template <typename TagsT = Aws::Vector<Tag>>
258 SetTags(std::forward<TagsT>(value));
259 return *this;
260 }
261 template <typename TagsT = Tag>
263 m_tagsHasBeenSet = true;
264 m_tags.emplace_back(std::forward<TagsT>(value));
265 return *this;
266 }
268 private:
269 Aws::String m_volumeArn;
270
271 Aws::String m_accountId;
272
273 VolumeConfiguration m_currentConfiguration;
274
276
277 Aws::Vector<EBSUtilizationMetric> m_utilizationMetrics;
278
279 double m_lookBackPeriodInDays{0.0};
280
281 Aws::Vector<VolumeRecommendationOption> m_volumeRecommendationOptions;
282
283 Aws::Utils::DateTime m_lastRefreshTimestamp{};
284
286
287 EBSEffectiveRecommendationPreferences m_effectiveRecommendationPreferences;
288
289 Aws::Vector<Tag> m_tags;
290 bool m_volumeArnHasBeenSet = false;
291 bool m_accountIdHasBeenSet = false;
292 bool m_currentConfigurationHasBeenSet = false;
293 bool m_findingHasBeenSet = false;
294 bool m_utilizationMetricsHasBeenSet = false;
295 bool m_lookBackPeriodInDaysHasBeenSet = false;
296 bool m_volumeRecommendationOptionsHasBeenSet = false;
297 bool m_lastRefreshTimestampHasBeenSet = false;
298 bool m_currentPerformanceRiskHasBeenSet = false;
299 bool m_effectiveRecommendationPreferencesHasBeenSet = false;
300 bool m_tagsHasBeenSet = false;
301};
302
303} // namespace Model
304} // namespace ComputeOptimizer
305} // namespace Aws
const EBSEffectiveRecommendationPreferences & GetEffectiveRecommendationPreferences() const
const Aws::Vector< VolumeRecommendationOption > & GetVolumeRecommendationOptions() const
VolumeRecommendation & WithUtilizationMetrics(UtilizationMetricsT &&value)
void SetUtilizationMetrics(UtilizationMetricsT &&value)
AWS_COMPUTEOPTIMIZER_API Aws::Utils::Json::JsonValue Jsonize() const
VolumeRecommendation & WithAccountId(AccountIdT &&value)
AWS_COMPUTEOPTIMIZER_API VolumeRecommendation & operator=(Aws::Utils::Json::JsonView jsonValue)
VolumeRecommendation & WithVolumeArn(VolumeArnT &&value)
VolumeRecommendation & WithCurrentPerformanceRisk(CurrentPerformanceRisk value)
void SetEffectiveRecommendationPreferences(EffectiveRecommendationPreferencesT &&value)
VolumeRecommendation & WithCurrentConfiguration(CurrentConfigurationT &&value)
void SetVolumeRecommendationOptions(VolumeRecommendationOptionsT &&value)
VolumeRecommendation & WithVolumeRecommendationOptions(VolumeRecommendationOptionsT &&value)
void SetLastRefreshTimestamp(LastRefreshTimestampT &&value)
VolumeRecommendation & WithLastRefreshTimestamp(LastRefreshTimestampT &&value)
AWS_COMPUTEOPTIMIZER_API VolumeRecommendation()=default
VolumeRecommendation & AddUtilizationMetrics(UtilizationMetricsT &&value)
VolumeRecommendation & WithLookBackPeriodInDays(double value)
VolumeRecommendation & WithFinding(EBSFinding value)
const VolumeConfiguration & GetCurrentConfiguration() const
VolumeRecommendation & AddVolumeRecommendationOptions(VolumeRecommendationOptionsT &&value)
void SetCurrentConfiguration(CurrentConfigurationT &&value)
VolumeRecommendation & WithEffectiveRecommendationPreferences(EffectiveRecommendationPreferencesT &&value)
const Aws::Utils::DateTime & GetLastRefreshTimestamp() const
AWS_COMPUTEOPTIMIZER_API VolumeRecommendation(Aws::Utils::Json::JsonView jsonValue)
void SetCurrentPerformanceRisk(CurrentPerformanceRisk value)
const Aws::Vector< EBSUtilizationMetric > & GetUtilizationMetrics() 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