7#include <aws/compute-optimizer/ComputeOptimizer_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/compute-optimizer/model/DBStorageConfiguration.h>
10#include <aws/compute-optimizer/model/Idle.h>
11#include <aws/compute-optimizer/model/RDSInstanceFinding.h>
12#include <aws/compute-optimizer/model/RDSStorageFinding.h>
13#include <aws/core/utils/memory/stl/AWSVector.h>
14#include <aws/compute-optimizer/model/RDSCurrentInstancePerformanceRisk.h>
15#include <aws/compute-optimizer/model/RDSEstimatedMonthlyVolumeIOPsCostVariation.h>
16#include <aws/compute-optimizer/model/RDSEffectiveRecommendationPreferences.h>
17#include <aws/core/utils/DateTime.h>
18#include <aws/compute-optimizer/model/RDSInstanceFindingReasonCode.h>
19#include <aws/compute-optimizer/model/RDSStorageFindingReasonCode.h>
20#include <aws/compute-optimizer/model/RDSDBInstanceRecommendationOption.h>
21#include <aws/compute-optimizer/model/RDSDBStorageRecommendationOption.h>
22#include <aws/compute-optimizer/model/RDSDBUtilizationMetric.h>
23#include <aws/compute-optimizer/model/Tag.h>
36namespace ComputeOptimizer
64 template<
typename ResourceArnT = Aws::String>
65 void SetResourceArn(ResourceArnT&& value) { m_resourceArnHasBeenSet =
true; m_resourceArn = std::forward<ResourceArnT>(value); }
66 template<
typename ResourceArnT = Aws::String>
77 template<
typename AccountIdT = Aws::String>
78 void SetAccountId(AccountIdT&& value) { m_accountIdHasBeenSet =
true; m_accountId = std::forward<AccountIdT>(value); }
79 template<
typename AccountIdT = Aws::String>
89 template<
typename EngineT = Aws::String>
90 void SetEngine(EngineT&& value) { m_engineHasBeenSet =
true; m_engine = std::forward<EngineT>(value); }
91 template<
typename EngineT = Aws::String>
101 template<
typename EngineVersionT = Aws::String>
102 void SetEngineVersion(EngineVersionT&& value) { m_engineVersionHasBeenSet =
true; m_engineVersion = std::forward<EngineVersionT>(value); }
103 template<
typename EngineVersionT = Aws::String>
113 inline void SetPromotionTier(
int value) { m_promotionTierHasBeenSet =
true; m_promotionTier = value; }
123 template<
typename CurrentDBInstanceClassT = Aws::String>
124 void SetCurrentDBInstanceClass(CurrentDBInstanceClassT&& value) { m_currentDBInstanceClassHasBeenSet =
true; m_currentDBInstanceClass = std::forward<CurrentDBInstanceClassT>(value); }
125 template<
typename CurrentDBInstanceClassT = Aws::String>
135 template<
typename CurrentStorageConfigurationT = DBStorageConfiguration>
136 void SetCurrentStorageConfiguration(CurrentStorageConfigurationT&& value) { m_currentStorageConfigurationHasBeenSet =
true; m_currentStorageConfiguration = std::forward<CurrentStorageConfigurationT>(value); }
137 template<
typename CurrentStorageConfigurationT = DBStorageConfiguration>
147 template<
typename DbClusterIdentifierT = Aws::String>
148 void SetDbClusterIdentifier(DbClusterIdentifierT&& value) { m_dbClusterIdentifierHasBeenSet =
true; m_dbClusterIdentifier = std::forward<DbClusterIdentifierT>(value); }
149 template<
typename DbClusterIdentifierT = Aws::String>
159 inline void SetIdle(
Idle value) { m_idleHasBeenSet =
true; m_idle = value; }
197 template<
typename InstanceFindingReasonCodesT = Aws::Vector<RDSInstanceFindingReasonCode>>
198 void SetInstanceFindingReasonCodes(InstanceFindingReasonCodesT&& value) { m_instanceFindingReasonCodesHasBeenSet =
true; m_instanceFindingReasonCodes = std::forward<InstanceFindingReasonCodesT>(value); }
199 template<
typename InstanceFindingReasonCodesT = Aws::Vector<RDSInstanceFindingReasonCode>>
231 template<
typename StorageFindingReasonCodesT = Aws::Vector<RDSStorageFindingReasonCode>>
232 void SetStorageFindingReasonCodes(StorageFindingReasonCodesT&& value) { m_storageFindingReasonCodesHasBeenSet =
true; m_storageFindingReasonCodes = std::forward<StorageFindingReasonCodesT>(value); }
233 template<
typename StorageFindingReasonCodesT = Aws::Vector<RDSStorageFindingReasonCode>>
245 template<
typename InstanceRecommendationOptionsT = Aws::Vector<RDSDBInstanceRecommendationOption>>
246 void SetInstanceRecommendationOptions(InstanceRecommendationOptionsT&& value) { m_instanceRecommendationOptionsHasBeenSet =
true; m_instanceRecommendationOptions = std::forward<InstanceRecommendationOptionsT>(value); }
247 template<
typename InstanceRecommendationOptionsT = Aws::Vector<RDSDBInstanceRecommendationOption>>
249 template<
typename InstanceRecommendationOptionsT = RDSDBInstanceRecommendationOption>
260 template<
typename StorageRecommendationOptionsT = Aws::Vector<RDSDBStorageRecommendationOption>>
261 void SetStorageRecommendationOptions(StorageRecommendationOptionsT&& value) { m_storageRecommendationOptionsHasBeenSet =
true; m_storageRecommendationOptions = std::forward<StorageRecommendationOptionsT>(value); }
262 template<
typename StorageRecommendationOptionsT = Aws::Vector<RDSDBStorageRecommendationOption>>
264 template<
typename StorageRecommendationOptionsT = RDSDBStorageRecommendationOption>
275 template<
typename UtilizationMetricsT = Aws::Vector<RDSDBUtilizationMetric>>
276 void SetUtilizationMetrics(UtilizationMetricsT&& value) { m_utilizationMetricsHasBeenSet =
true; m_utilizationMetrics = std::forward<UtilizationMetricsT>(value); }
277 template<
typename UtilizationMetricsT = Aws::Vector<RDSDBUtilizationMetric>>
279 template<
typename UtilizationMetricsT = RDSDBUtilizationMetric>
289 template<
typename EffectiveRecommendationPreferencesT = RDSEffectiveRecommendationPreferences>
290 void SetEffectiveRecommendationPreferences(EffectiveRecommendationPreferencesT&& value) { m_effectiveRecommendationPreferencesHasBeenSet =
true; m_effectiveRecommendationPreferences = std::forward<EffectiveRecommendationPreferencesT>(value); }
291 template<
typename EffectiveRecommendationPreferencesT = RDSEffectiveRecommendationPreferences>
301 inline void SetLookbackPeriodInDays(
double value) { m_lookbackPeriodInDaysHasBeenSet =
true; m_lookbackPeriodInDays = value; }
312 template<
typename LastRefreshTimestampT = Aws::Utils::DateTime>
313 void SetLastRefreshTimestamp(LastRefreshTimestampT&& value) { m_lastRefreshTimestampHasBeenSet =
true; m_lastRefreshTimestamp = std::forward<LastRefreshTimestampT>(value); }
314 template<
typename LastRefreshTimestampT = Aws::Utils::DateTime>
324 template<
typename TagsT = Aws::Vector<Tag>>
325 void SetTags(TagsT&& value) { m_tagsHasBeenSet =
true; m_tags = std::forward<TagsT>(value); }
326 template<
typename TagsT = Aws::Vector<Tag>>
328 template<
typename TagsT = Tag>
334 bool m_resourceArnHasBeenSet =
false;
337 bool m_accountIdHasBeenSet =
false;
340 bool m_engineHasBeenSet =
false;
343 bool m_engineVersionHasBeenSet =
false;
345 int m_promotionTier{0};
346 bool m_promotionTierHasBeenSet =
false;
349 bool m_currentDBInstanceClassHasBeenSet =
false;
351 DBStorageConfiguration m_currentStorageConfiguration;
352 bool m_currentStorageConfigurationHasBeenSet =
false;
355 bool m_dbClusterIdentifierHasBeenSet =
false;
358 bool m_idleHasBeenSet =
false;
361 bool m_instanceFindingHasBeenSet =
false;
364 bool m_storageFindingHasBeenSet =
false;
367 bool m_instanceFindingReasonCodesHasBeenSet =
false;
370 bool m_currentInstancePerformanceRiskHasBeenSet =
false;
373 bool m_currentStorageEstimatedMonthlyVolumeIOPsCostVariationHasBeenSet =
false;
376 bool m_storageFindingReasonCodesHasBeenSet =
false;
379 bool m_instanceRecommendationOptionsHasBeenSet =
false;
382 bool m_storageRecommendationOptionsHasBeenSet =
false;
385 bool m_utilizationMetricsHasBeenSet =
false;
387 RDSEffectiveRecommendationPreferences m_effectiveRecommendationPreferences;
388 bool m_effectiveRecommendationPreferencesHasBeenSet =
false;
390 double m_lookbackPeriodInDays{0.0};
391 bool m_lookbackPeriodInDaysHasBeenSet =
false;
394 bool m_lastRefreshTimestampHasBeenSet =
false;
397 bool m_tagsHasBeenSet =
false;
double GetLookbackPeriodInDays() const
const Aws::String & GetDbClusterIdentifier() const
void SetDbClusterIdentifier(DbClusterIdentifierT &&value)
const Aws::Vector< RDSDBStorageRecommendationOption > & GetStorageRecommendationOptions() const
bool StorageFindingReasonCodesHasBeenSet() const
bool PromotionTierHasBeenSet() const
void SetEngine(EngineT &&value)
void SetEffectiveRecommendationPreferences(EffectiveRecommendationPreferencesT &&value)
void SetStorageFinding(RDSStorageFinding value)
void SetInstanceFindingReasonCodes(InstanceFindingReasonCodesT &&value)
RDSDBRecommendation & WithLastRefreshTimestamp(LastRefreshTimestampT &&value)
RDSCurrentInstancePerformanceRisk GetCurrentInstancePerformanceRisk() const
RDSDBRecommendation & AddStorageFindingReasonCodes(RDSStorageFindingReasonCode value)
RDSDBRecommendation & WithResourceArn(ResourceArnT &&value)
RDSDBRecommendation & WithStorageFindingReasonCodes(StorageFindingReasonCodesT &&value)
const DBStorageConfiguration & GetCurrentStorageConfiguration() const
bool InstanceRecommendationOptionsHasBeenSet() const
void SetCurrentDBInstanceClass(CurrentDBInstanceClassT &&value)
RDSDBRecommendation & WithCurrentDBInstanceClass(CurrentDBInstanceClassT &&value)
void SetCurrentStorageConfiguration(CurrentStorageConfigurationT &&value)
RDSDBRecommendation & WithUtilizationMetrics(UtilizationMetricsT &&value)
bool StorageFindingHasBeenSet() const
const Aws::String & GetResourceArn() const
RDSDBRecommendation & WithEffectiveRecommendationPreferences(EffectiveRecommendationPreferencesT &&value)
RDSDBRecommendation & AddInstanceRecommendationOptions(InstanceRecommendationOptionsT &&value)
bool StorageRecommendationOptionsHasBeenSet() const
const Aws::String & GetAccountId() const
const Aws::String & GetCurrentDBInstanceClass() const
const Aws::Vector< RDSStorageFindingReasonCode > & GetStorageFindingReasonCodes() const
bool CurrentInstancePerformanceRiskHasBeenSet() const
RDSDBRecommendation & WithLookbackPeriodInDays(double value)
bool EngineHasBeenSet() const
const Aws::Vector< RDSInstanceFindingReasonCode > & GetInstanceFindingReasonCodes() const
bool InstanceFindingReasonCodesHasBeenSet() const
bool DbClusterIdentifierHasBeenSet() const
const Aws::String & GetEngineVersion() const
AWS_COMPUTEOPTIMIZER_API Aws::Utils::Json::JsonValue Jsonize() const
RDSDBRecommendation & WithCurrentStorageConfiguration(CurrentStorageConfigurationT &&value)
RDSDBRecommendation & WithCurrentInstancePerformanceRisk(RDSCurrentInstancePerformanceRisk value)
void SetInstanceFinding(RDSInstanceFinding value)
void SetResourceArn(ResourceArnT &&value)
RDSDBRecommendation & WithCurrentStorageEstimatedMonthlyVolumeIOPsCostVariation(RDSEstimatedMonthlyVolumeIOPsCostVariation value)
int GetPromotionTier() const
const RDSEffectiveRecommendationPreferences & GetEffectiveRecommendationPreferences() const
RDSDBRecommendation & WithInstanceFindingReasonCodes(InstanceFindingReasonCodesT &&value)
RDSDBRecommendation & AddInstanceFindingReasonCodes(RDSInstanceFindingReasonCode value)
bool CurrentStorageConfigurationHasBeenSet() const
void SetPromotionTier(int value)
RDSDBRecommendation & AddStorageRecommendationOptions(StorageRecommendationOptionsT &&value)
RDSDBRecommendation & WithStorageFinding(RDSStorageFinding value)
AWS_COMPUTEOPTIMIZER_API RDSDBRecommendation & operator=(Aws::Utils::Json::JsonView jsonValue)
void SetStorageFindingReasonCodes(StorageFindingReasonCodesT &&value)
bool LookbackPeriodInDaysHasBeenSet() const
const Aws::Vector< RDSDBUtilizationMetric > & GetUtilizationMetrics() const
bool EngineVersionHasBeenSet() const
void SetInstanceRecommendationOptions(InstanceRecommendationOptionsT &&value)
void SetTags(TagsT &&value)
bool LastRefreshTimestampHasBeenSet() const
RDSDBRecommendation & AddTags(TagsT &&value)
RDSDBRecommendation & WithInstanceFinding(RDSInstanceFinding value)
bool AccountIdHasBeenSet() const
const Aws::Vector< RDSDBInstanceRecommendationOption > & GetInstanceRecommendationOptions() const
RDSInstanceFinding GetInstanceFinding() const
const Aws::Utils::DateTime & GetLastRefreshTimestamp() const
bool InstanceFindingHasBeenSet() const
RDSStorageFinding GetStorageFinding() const
RDSDBRecommendation & AddUtilizationMetrics(UtilizationMetricsT &&value)
RDSDBRecommendation & WithEngine(EngineT &&value)
RDSEstimatedMonthlyVolumeIOPsCostVariation GetCurrentStorageEstimatedMonthlyVolumeIOPsCostVariation() const
bool UtilizationMetricsHasBeenSet() const
AWS_COMPUTEOPTIMIZER_API RDSDBRecommendation()=default
RDSDBRecommendation & WithStorageRecommendationOptions(StorageRecommendationOptionsT &&value)
const Aws::String & GetEngine() const
void SetCurrentStorageEstimatedMonthlyVolumeIOPsCostVariation(RDSEstimatedMonthlyVolumeIOPsCostVariation value)
void SetEngineVersion(EngineVersionT &&value)
RDSDBRecommendation & WithTags(TagsT &&value)
bool IdleHasBeenSet() const
bool EffectiveRecommendationPreferencesHasBeenSet() const
RDSDBRecommendation & WithInstanceRecommendationOptions(InstanceRecommendationOptionsT &&value)
bool CurrentStorageEstimatedMonthlyVolumeIOPsCostVariationHasBeenSet() const
bool CurrentDBInstanceClassHasBeenSet() const
void SetUtilizationMetrics(UtilizationMetricsT &&value)
bool ResourceArnHasBeenSet() const
const Aws::Vector< Tag > & GetTags() const
void SetStorageRecommendationOptions(StorageRecommendationOptionsT &&value)
RDSDBRecommendation & WithEngineVersion(EngineVersionT &&value)
void SetLookbackPeriodInDays(double value)
void SetCurrentInstancePerformanceRisk(RDSCurrentInstancePerformanceRisk value)
AWS_COMPUTEOPTIMIZER_API RDSDBRecommendation(Aws::Utils::Json::JsonView jsonValue)
RDSDBRecommendation & WithDbClusterIdentifier(DbClusterIdentifierT &&value)
void SetLastRefreshTimestamp(LastRefreshTimestampT &&value)
bool TagsHasBeenSet() const
RDSDBRecommendation & WithPromotionTier(int value)
RDSDBRecommendation & WithIdle(Idle value)
void SetAccountId(AccountIdT &&value)
RDSDBRecommendation & WithAccountId(AccountIdT &&value)
RDSStorageFindingReasonCode
RDSEstimatedMonthlyVolumeIOPsCostVariation
RDSCurrentInstancePerformanceRisk
RDSInstanceFindingReasonCode
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue