7#include <aws/compute-optimizer/ComputeOptimizer_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/compute-optimizer/model/Finding.h>
10#include <aws/core/utils/memory/stl/AWSVector.h>
11#include <aws/compute-optimizer/model/AutoScalingGroupConfiguration.h>
12#include <aws/compute-optimizer/model/GpuInfo.h>
13#include <aws/core/utils/DateTime.h>
14#include <aws/compute-optimizer/model/CurrentPerformanceRisk.h>
15#include <aws/compute-optimizer/model/EffectiveRecommendationPreferences.h>
16#include <aws/compute-optimizer/model/UtilizationMetric.h>
17#include <aws/compute-optimizer/model/AutoScalingGroupRecommendationOption.h>
18#include <aws/compute-optimizer/model/InferredWorkloadType.h>
31namespace ComputeOptimizer
56 template<
typename AccountIdT = Aws::String>
57 void SetAccountId(AccountIdT&& value) { m_accountIdHasBeenSet =
true; m_accountId = std::forward<AccountIdT>(value); }
58 template<
typename AccountIdT = Aws::String>
68 template<
typename AutoScalingGroupArnT = Aws::String>
69 void SetAutoScalingGroupArn(AutoScalingGroupArnT&& value) { m_autoScalingGroupArnHasBeenSet =
true; m_autoScalingGroupArn = std::forward<AutoScalingGroupArnT>(value); }
70 template<
typename AutoScalingGroupArnT = Aws::String>
80 template<
typename AutoScalingGroupNameT = Aws::String>
81 void SetAutoScalingGroupName(AutoScalingGroupNameT&& value) { m_autoScalingGroupNameHasBeenSet =
true; m_autoScalingGroupName = std::forward<AutoScalingGroupNameT>(value); }
82 template<
typename AutoScalingGroupNameT = Aws::String>
111 template<
typename UtilizationMetricsT = Aws::Vector<UtilizationMetric>>
112 void SetUtilizationMetrics(UtilizationMetricsT&& value) { m_utilizationMetricsHasBeenSet =
true; m_utilizationMetrics = std::forward<UtilizationMetricsT>(value); }
113 template<
typename UtilizationMetricsT = Aws::Vector<UtilizationMetric>>
115 template<
typename UtilizationMetricsT = UtilizationMetric>
126 inline void SetLookBackPeriodInDays(
double value) { m_lookBackPeriodInDaysHasBeenSet =
true; m_lookBackPeriodInDays = value; }
137 template<
typename CurrentConfigurationT = AutoScalingGroupConfiguration>
138 void SetCurrentConfiguration(CurrentConfigurationT&& value) { m_currentConfigurationHasBeenSet =
true; m_currentConfiguration = std::forward<CurrentConfigurationT>(value); }
139 template<
typename CurrentConfigurationT = AutoScalingGroupConfiguration>
150 template<
typename CurrentInstanceGpuInfoT = GpuInfo>
151 void SetCurrentInstanceGpuInfo(CurrentInstanceGpuInfoT&& value) { m_currentInstanceGpuInfoHasBeenSet =
true; m_currentInstanceGpuInfo = std::forward<CurrentInstanceGpuInfoT>(value); }
152 template<
typename CurrentInstanceGpuInfoT = GpuInfo>
163 template<
typename RecommendationOptionsT = Aws::Vector<AutoScalingGroupRecommendationOption>>
164 void SetRecommendationOptions(RecommendationOptionsT&& value) { m_recommendationOptionsHasBeenSet =
true; m_recommendationOptions = std::forward<RecommendationOptionsT>(value); }
165 template<
typename RecommendationOptionsT = Aws::Vector<AutoScalingGroupRecommendationOption>>
167 template<
typename RecommendationOptionsT = AutoScalingGroupRecommendationOption>
178 template<
typename LastRefreshTimestampT = Aws::Utils::DateTime>
179 void SetLastRefreshTimestamp(LastRefreshTimestampT&& value) { m_lastRefreshTimestampHasBeenSet =
true; m_lastRefreshTimestamp = std::forward<LastRefreshTimestampT>(value); }
180 template<
typename LastRefreshTimestampT = Aws::Utils::DateTime>
204 template<
typename EffectiveRecommendationPreferencesT = EffectiveRecommendationPreferences>
205 void SetEffectiveRecommendationPreferences(EffectiveRecommendationPreferencesT&& value) { m_effectiveRecommendationPreferencesHasBeenSet =
true; m_effectiveRecommendationPreferences = std::forward<EffectiveRecommendationPreferencesT>(value); }
206 template<
typename EffectiveRecommendationPreferencesT = EffectiveRecommendationPreferences>
231 template<
typename InferredWorkloadTypesT = Aws::Vector<InferredWorkloadType>>
232 void SetInferredWorkloadTypes(InferredWorkloadTypesT&& value) { m_inferredWorkloadTypesHasBeenSet =
true; m_inferredWorkloadTypes = std::forward<InferredWorkloadTypesT>(value); }
233 template<
typename InferredWorkloadTypesT = Aws::Vector<InferredWorkloadType>>
240 bool m_accountIdHasBeenSet =
false;
243 bool m_autoScalingGroupArnHasBeenSet =
false;
246 bool m_autoScalingGroupNameHasBeenSet =
false;
249 bool m_findingHasBeenSet =
false;
252 bool m_utilizationMetricsHasBeenSet =
false;
254 double m_lookBackPeriodInDays{0.0};
255 bool m_lookBackPeriodInDaysHasBeenSet =
false;
257 AutoScalingGroupConfiguration m_currentConfiguration;
258 bool m_currentConfigurationHasBeenSet =
false;
260 GpuInfo m_currentInstanceGpuInfo;
261 bool m_currentInstanceGpuInfoHasBeenSet =
false;
264 bool m_recommendationOptionsHasBeenSet =
false;
267 bool m_lastRefreshTimestampHasBeenSet =
false;
270 bool m_currentPerformanceRiskHasBeenSet =
false;
272 EffectiveRecommendationPreferences m_effectiveRecommendationPreferences;
273 bool m_effectiveRecommendationPreferencesHasBeenSet =
false;
276 bool m_inferredWorkloadTypesHasBeenSet =
false;
AutoScalingGroupRecommendation & WithInferredWorkloadTypes(InferredWorkloadTypesT &&value)
void SetUtilizationMetrics(UtilizationMetricsT &&value)
const Aws::String & GetAccountId() const
AutoScalingGroupRecommendation & WithRecommendationOptions(RecommendationOptionsT &&value)
AutoScalingGroupRecommendation & AddRecommendationOptions(RecommendationOptionsT &&value)
bool LastRefreshTimestampHasBeenSet() const
void SetCurrentInstanceGpuInfo(CurrentInstanceGpuInfoT &&value)
Finding GetFinding() const
bool RecommendationOptionsHasBeenSet() const
const Aws::Vector< InferredWorkloadType > & GetInferredWorkloadTypes() const
bool CurrentConfigurationHasBeenSet() const
bool FindingHasBeenSet() const
AutoScalingGroupRecommendation & WithCurrentConfiguration(CurrentConfigurationT &&value)
AutoScalingGroupRecommendation & WithLastRefreshTimestamp(LastRefreshTimestampT &&value)
AutoScalingGroupRecommendation & WithCurrentInstanceGpuInfo(CurrentInstanceGpuInfoT &&value)
AWS_COMPUTEOPTIMIZER_API AutoScalingGroupRecommendation(Aws::Utils::Json::JsonView jsonValue)
AutoScalingGroupRecommendation & AddUtilizationMetrics(UtilizationMetricsT &&value)
CurrentPerformanceRisk GetCurrentPerformanceRisk() const
AutoScalingGroupRecommendation & WithEffectiveRecommendationPreferences(EffectiveRecommendationPreferencesT &&value)
bool EffectiveRecommendationPreferencesHasBeenSet() const
bool CurrentInstanceGpuInfoHasBeenSet() const
AutoScalingGroupRecommendation & WithCurrentPerformanceRisk(CurrentPerformanceRisk value)
AutoScalingGroupRecommendation & WithFinding(Finding value)
void SetLastRefreshTimestamp(LastRefreshTimestampT &&value)
bool AutoScalingGroupNameHasBeenSet() const
bool CurrentPerformanceRiskHasBeenSet() const
bool AccountIdHasBeenSet() const
bool AutoScalingGroupArnHasBeenSet() const
const EffectiveRecommendationPreferences & GetEffectiveRecommendationPreferences() const
const Aws::Vector< UtilizationMetric > & GetUtilizationMetrics() const
AutoScalingGroupRecommendation & WithUtilizationMetrics(UtilizationMetricsT &&value)
void SetCurrentPerformanceRisk(CurrentPerformanceRisk value)
void SetAccountId(AccountIdT &&value)
void SetCurrentConfiguration(CurrentConfigurationT &&value)
const AutoScalingGroupConfiguration & GetCurrentConfiguration() const
AutoScalingGroupRecommendation & WithAccountId(AccountIdT &&value)
AutoScalingGroupRecommendation & WithAutoScalingGroupArn(AutoScalingGroupArnT &&value)
void SetFinding(Finding value)
void SetLookBackPeriodInDays(double value)
AutoScalingGroupRecommendation & AddInferredWorkloadTypes(InferredWorkloadType value)
const Aws::Utils::DateTime & GetLastRefreshTimestamp() const
void SetAutoScalingGroupName(AutoScalingGroupNameT &&value)
void SetEffectiveRecommendationPreferences(EffectiveRecommendationPreferencesT &&value)
AutoScalingGroupRecommendation & WithAutoScalingGroupName(AutoScalingGroupNameT &&value)
AWS_COMPUTEOPTIMIZER_API Aws::Utils::Json::JsonValue Jsonize() const
void SetRecommendationOptions(RecommendationOptionsT &&value)
const Aws::Vector< AutoScalingGroupRecommendationOption > & GetRecommendationOptions() const
const Aws::String & GetAutoScalingGroupName() const
AutoScalingGroupRecommendation & WithLookBackPeriodInDays(double value)
bool InferredWorkloadTypesHasBeenSet() const
AWS_COMPUTEOPTIMIZER_API AutoScalingGroupRecommendation()=default
AWS_COMPUTEOPTIMIZER_API AutoScalingGroupRecommendation & operator=(Aws::Utils::Json::JsonView jsonValue)
void SetAutoScalingGroupArn(AutoScalingGroupArnT &&value)
bool UtilizationMetricsHasBeenSet() const
double GetLookBackPeriodInDays() const
const Aws::String & GetAutoScalingGroupArn() const
bool LookBackPeriodInDaysHasBeenSet() const
void SetInferredWorkloadTypes(InferredWorkloadTypesT &&value)
const GpuInfo & GetCurrentInstanceGpuInfo() 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