7#include <aws/compute-optimizer/ComputeOptimizer_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/compute-optimizer/model/VolumeConfiguration.h>
10#include <aws/compute-optimizer/model/EBSFinding.h>
11#include <aws/core/utils/memory/stl/AWSVector.h>
12#include <aws/core/utils/DateTime.h>
13#include <aws/compute-optimizer/model/CurrentPerformanceRisk.h>
14#include <aws/compute-optimizer/model/EBSEffectiveRecommendationPreferences.h>
15#include <aws/compute-optimizer/model/EBSUtilizationMetric.h>
16#include <aws/compute-optimizer/model/VolumeRecommendationOption.h>
17#include <aws/compute-optimizer/model/Tag.h>
30namespace ComputeOptimizer
56 template<
typename VolumeArnT = Aws::String>
57 void SetVolumeArn(VolumeArnT&& value) { m_volumeArnHasBeenSet =
true; m_volumeArn = std::forward<VolumeArnT>(value); }
58 template<
typename VolumeArnT = Aws::String>
68 template<
typename AccountIdT = Aws::String>
69 void SetAccountId(AccountIdT&& value) { m_accountIdHasBeenSet =
true; m_accountId = std::forward<AccountIdT>(value); }
70 template<
typename AccountIdT = Aws::String>
81 template<
typename CurrentConfigurationT = VolumeConfiguration>
82 void SetCurrentConfiguration(CurrentConfigurationT&& value) { m_currentConfigurationHasBeenSet =
true; m_currentConfiguration = std::forward<CurrentConfigurationT>(value); }
83 template<
typename CurrentConfigurationT = VolumeConfiguration>
110 template<
typename UtilizationMetricsT = Aws::Vector<EBSUtilizationMetric>>
111 void SetUtilizationMetrics(UtilizationMetricsT&& value) { m_utilizationMetricsHasBeenSet =
true; m_utilizationMetrics = std::forward<UtilizationMetricsT>(value); }
112 template<
typename UtilizationMetricsT = Aws::Vector<EBSUtilizationMetric>>
114 template<
typename UtilizationMetricsT = EBSUtilizationMetric>
125 inline void SetLookBackPeriodInDays(
double value) { m_lookBackPeriodInDaysHasBeenSet =
true; m_lookBackPeriodInDays = value; }
136 template<
typename VolumeRecommendationOptionsT = Aws::Vector<VolumeRecommendationOption>>
137 void SetVolumeRecommendationOptions(VolumeRecommendationOptionsT&& value) { m_volumeRecommendationOptionsHasBeenSet =
true; m_volumeRecommendationOptions = std::forward<VolumeRecommendationOptionsT>(value); }
138 template<
typename VolumeRecommendationOptionsT = Aws::Vector<VolumeRecommendationOption>>
140 template<
typename VolumeRecommendationOptionsT = VolumeRecommendationOption>
150 template<
typename LastRefreshTimestampT = Aws::Utils::DateTime>
151 void SetLastRefreshTimestamp(LastRefreshTimestampT&& value) { m_lastRefreshTimestampHasBeenSet =
true; m_lastRefreshTimestamp = std::forward<LastRefreshTimestampT>(value); }
152 template<
typename LastRefreshTimestampT = Aws::Utils::DateTime>
175 template<
typename EffectiveRecommendationPreferencesT = EBSEffectiveRecommendationPreferences>
176 void SetEffectiveRecommendationPreferences(EffectiveRecommendationPreferencesT&& value) { m_effectiveRecommendationPreferencesHasBeenSet =
true; m_effectiveRecommendationPreferences = std::forward<EffectiveRecommendationPreferencesT>(value); }
177 template<
typename EffectiveRecommendationPreferencesT = EBSEffectiveRecommendationPreferences>
187 template<
typename TagsT = Aws::Vector<Tag>>
188 void SetTags(TagsT&& value) { m_tagsHasBeenSet =
true; m_tags = std::forward<TagsT>(value); }
189 template<
typename TagsT = Aws::Vector<Tag>>
191 template<
typename TagsT = Tag>
197 bool m_volumeArnHasBeenSet =
false;
200 bool m_accountIdHasBeenSet =
false;
203 bool m_currentConfigurationHasBeenSet =
false;
206 bool m_findingHasBeenSet =
false;
209 bool m_utilizationMetricsHasBeenSet =
false;
211 double m_lookBackPeriodInDays{0.0};
212 bool m_lookBackPeriodInDaysHasBeenSet =
false;
215 bool m_volumeRecommendationOptionsHasBeenSet =
false;
218 bool m_lastRefreshTimestampHasBeenSet =
false;
221 bool m_currentPerformanceRiskHasBeenSet =
false;
223 EBSEffectiveRecommendationPreferences m_effectiveRecommendationPreferences;
224 bool m_effectiveRecommendationPreferencesHasBeenSet =
false;
227 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