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>
28namespace ComputeOptimizer {
50 template <
typename VolumeArnT = Aws::String>
52 m_volumeArnHasBeenSet =
true;
53 m_volumeArn = std::forward<VolumeArnT>(value);
55 template <
typename VolumeArnT = Aws::String>
68 template <
typename AccountIdT = Aws::String>
70 m_accountIdHasBeenSet =
true;
71 m_accountId = std::forward<AccountIdT>(value);
73 template <
typename AccountIdT = Aws::String>
87 template <
typename CurrentConfigurationT = VolumeConfiguration>
89 m_currentConfigurationHasBeenSet =
true;
90 m_currentConfiguration = std::forward<CurrentConfigurationT>(value);
92 template <
typename CurrentConfigurationT = VolumeConfiguration>
113 m_findingHasBeenSet =
true;
128 template <
typename UtilizationMetricsT = Aws::Vector<EBSUtilizationMetric>>
130 m_utilizationMetricsHasBeenSet =
true;
131 m_utilizationMetrics = std::forward<UtilizationMetricsT>(value);
133 template <
typename UtilizationMetricsT = Aws::Vector<EBSUtilizationMetric>>
138 template <
typename UtilizationMetricsT = EBSUtilizationMetric>
140 m_utilizationMetricsHasBeenSet =
true;
141 m_utilizationMetrics.emplace_back(std::forward<UtilizationMetricsT>(value));
154 m_lookBackPeriodInDaysHasBeenSet =
true;
155 m_lookBackPeriodInDays = value;
170 template <
typename VolumeRecommendationOptionsT = Aws::Vector<VolumeRecommendationOption>>
172 m_volumeRecommendationOptionsHasBeenSet =
true;
173 m_volumeRecommendationOptions = std::forward<VolumeRecommendationOptionsT>(value);
175 template <
typename VolumeRecommendationOptionsT = Aws::Vector<VolumeRecommendationOption>>
180 template <
typename VolumeRecommendationOptionsT = VolumeRecommendationOption>
182 m_volumeRecommendationOptionsHasBeenSet =
true;
183 m_volumeRecommendationOptions.emplace_back(std::forward<VolumeRecommendationOptionsT>(value));
194 template <
typename LastRefreshTimestampT = Aws::Utils::DateTime>
196 m_lastRefreshTimestampHasBeenSet =
true;
197 m_lastRefreshTimestamp = std::forward<LastRefreshTimestampT>(value);
199 template <
typename LastRefreshTimestampT = Aws::Utils::DateTime>
215 m_currentPerformanceRiskHasBeenSet =
true;
216 m_currentPerformanceRisk = value;
230 return m_effectiveRecommendationPreferences;
233 template <
typename EffectiveRecommendationPreferencesT = EBSEffectiveRecommendationPreferences>
235 m_effectiveRecommendationPreferencesHasBeenSet =
true;
236 m_effectiveRecommendationPreferences = std::forward<EffectiveRecommendationPreferencesT>(value);
238 template <
typename EffectiveRecommendationPreferencesT = EBSEffectiveRecommendationPreferences>
251 template <
typename TagsT = Aws::Vector<Tag>>
253 m_tagsHasBeenSet =
true;
254 m_tags = std::forward<TagsT>(value);
256 template <
typename TagsT = Aws::Vector<Tag>>
258 SetTags(std::forward<TagsT>(value));
261 template <
typename TagsT = Tag>
263 m_tagsHasBeenSet =
true;
264 m_tags.emplace_back(std::forward<TagsT>(value));
279 double m_lookBackPeriodInDays{0.0};
287 EBSEffectiveRecommendationPreferences m_effectiveRecommendationPreferences;
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;
const EBSEffectiveRecommendationPreferences & GetEffectiveRecommendationPreferences() const
const Aws::Vector< VolumeRecommendationOption > & GetVolumeRecommendationOptions() const
VolumeRecommendation & AddTags(TagsT &&value)
VolumeRecommendation & WithUtilizationMetrics(UtilizationMetricsT &&value)
bool AccountIdHasBeenSet() const
void SetUtilizationMetrics(UtilizationMetricsT &&value)
EBSFinding GetFinding() const
AWS_COMPUTEOPTIMIZER_API Aws::Utils::Json::JsonValue Jsonize() const
VolumeRecommendation & WithAccountId(AccountIdT &&value)
bool UtilizationMetricsHasBeenSet() const
void SetAccountId(AccountIdT &&value)
void SetLookBackPeriodInDays(double value)
void SetFinding(EBSFinding value)
AWS_COMPUTEOPTIMIZER_API VolumeRecommendation & operator=(Aws::Utils::Json::JsonView jsonValue)
VolumeRecommendation & WithVolumeArn(VolumeArnT &&value)
bool CurrentPerformanceRiskHasBeenSet() const
VolumeRecommendation & WithCurrentPerformanceRisk(CurrentPerformanceRisk value)
const Aws::String & GetAccountId() const
bool LookBackPeriodInDaysHasBeenSet() const
void SetEffectiveRecommendationPreferences(EffectiveRecommendationPreferencesT &&value)
bool VolumeArnHasBeenSet() const
bool VolumeRecommendationOptionsHasBeenSet() const
VolumeRecommendation & WithCurrentConfiguration(CurrentConfigurationT &&value)
void SetVolumeRecommendationOptions(VolumeRecommendationOptionsT &&value)
VolumeRecommendation & WithVolumeRecommendationOptions(VolumeRecommendationOptionsT &&value)
const Aws::String & GetVolumeArn() const
void SetLastRefreshTimestamp(LastRefreshTimestampT &&value)
VolumeRecommendation & WithTags(TagsT &&value)
VolumeRecommendation & WithLastRefreshTimestamp(LastRefreshTimestampT &&value)
bool FindingHasBeenSet() const
AWS_COMPUTEOPTIMIZER_API VolumeRecommendation()=default
void SetTags(TagsT &&value)
VolumeRecommendation & AddUtilizationMetrics(UtilizationMetricsT &&value)
VolumeRecommendation & WithLookBackPeriodInDays(double value)
CurrentPerformanceRisk GetCurrentPerformanceRisk() const
VolumeRecommendation & WithFinding(EBSFinding value)
void SetVolumeArn(VolumeArnT &&value)
const VolumeConfiguration & GetCurrentConfiguration() const
bool TagsHasBeenSet() const
const Aws::Vector< Tag > & GetTags() const
VolumeRecommendation & AddVolumeRecommendationOptions(VolumeRecommendationOptionsT &&value)
void SetCurrentConfiguration(CurrentConfigurationT &&value)
bool LastRefreshTimestampHasBeenSet() const
VolumeRecommendation & WithEffectiveRecommendationPreferences(EffectiveRecommendationPreferencesT &&value)
bool EffectiveRecommendationPreferencesHasBeenSet() const
const Aws::Utils::DateTime & GetLastRefreshTimestamp() const
AWS_COMPUTEOPTIMIZER_API VolumeRecommendation(Aws::Utils::Json::JsonView jsonValue)
void SetCurrentPerformanceRisk(CurrentPerformanceRisk value)
bool CurrentConfigurationHasBeenSet() const
double GetLookBackPeriodInDays() const
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