7#include <aws/compute-optimizer/ComputeOptimizer_EXPORTS.h>
8#include <aws/compute-optimizer/model/AutoScalingGroupConfiguration.h>
9#include <aws/compute-optimizer/model/AutoScalingGroupRecommendationOption.h>
10#include <aws/compute-optimizer/model/CurrentPerformanceRisk.h>
11#include <aws/compute-optimizer/model/EffectiveRecommendationPreferences.h>
12#include <aws/compute-optimizer/model/Finding.h>
13#include <aws/compute-optimizer/model/GpuInfo.h>
14#include <aws/compute-optimizer/model/InferredWorkloadType.h>
15#include <aws/compute-optimizer/model/UtilizationMetric.h>
16#include <aws/core/utils/DateTime.h>
17#include <aws/core/utils/memory/stl/AWSString.h>
18#include <aws/core/utils/memory/stl/AWSVector.h>
29namespace ComputeOptimizer {
51 template <
typename AccountIdT = Aws::String>
53 m_accountIdHasBeenSet =
true;
54 m_accountId = std::forward<AccountIdT>(value);
56 template <
typename AccountIdT = Aws::String>
69 template <
typename AutoScalingGroupArnT = Aws::String>
71 m_autoScalingGroupArnHasBeenSet =
true;
72 m_autoScalingGroupArn = std::forward<AutoScalingGroupArnT>(value);
74 template <
typename AutoScalingGroupArnT = Aws::String>
87 template <
typename AutoScalingGroupNameT = Aws::String>
89 m_autoScalingGroupNameHasBeenSet =
true;
90 m_autoScalingGroupName = std::forward<AutoScalingGroupNameT>(value);
92 template <
typename AutoScalingGroupNameT = Aws::String>
115 m_findingHasBeenSet =
true;
131 template <
typename UtilizationMetricsT = Aws::Vector<UtilizationMetric>>
133 m_utilizationMetricsHasBeenSet =
true;
134 m_utilizationMetrics = std::forward<UtilizationMetricsT>(value);
136 template <
typename UtilizationMetricsT = Aws::Vector<UtilizationMetric>>
141 template <
typename UtilizationMetricsT = UtilizationMetric>
143 m_utilizationMetricsHasBeenSet =
true;
144 m_utilizationMetrics.emplace_back(std::forward<UtilizationMetricsT>(value));
157 m_lookBackPeriodInDaysHasBeenSet =
true;
158 m_lookBackPeriodInDays = value;
173 template <
typename CurrentConfigurationT = AutoScalingGroupConfiguration>
175 m_currentConfigurationHasBeenSet =
true;
176 m_currentConfiguration = std::forward<CurrentConfigurationT>(value);
178 template <
typename CurrentConfigurationT = AutoScalingGroupConfiguration>
192 template <
typename CurrentInstanceGpuInfoT = GpuInfo>
194 m_currentInstanceGpuInfoHasBeenSet =
true;
195 m_currentInstanceGpuInfo = std::forward<CurrentInstanceGpuInfoT>(value);
197 template <
typename CurrentInstanceGpuInfoT = GpuInfo>
211 template <
typename RecommendationOptionsT = Aws::Vector<AutoScalingGroupRecommendationOption>>
213 m_recommendationOptionsHasBeenSet =
true;
214 m_recommendationOptions = std::forward<RecommendationOptionsT>(value);
216 template <
typename RecommendationOptionsT = Aws::Vector<AutoScalingGroupRecommendationOption>>
221 template <
typename RecommendationOptionsT = AutoScalingGroupRecommendationOption>
223 m_recommendationOptionsHasBeenSet =
true;
224 m_recommendationOptions.emplace_back(std::forward<RecommendationOptionsT>(value));
236 template <
typename LastRefreshTimestampT = Aws::Utils::DateTime>
238 m_lastRefreshTimestampHasBeenSet =
true;
239 m_lastRefreshTimestamp = std::forward<LastRefreshTimestampT>(value);
241 template <
typename LastRefreshTimestampT = Aws::Utils::DateTime>
258 m_currentPerformanceRiskHasBeenSet =
true;
259 m_currentPerformanceRisk = value;
273 return m_effectiveRecommendationPreferences;
276 template <
typename EffectiveRecommendationPreferencesT = EffectiveRecommendationPreferences>
278 m_effectiveRecommendationPreferencesHasBeenSet =
true;
279 m_effectiveRecommendationPreferences = std::forward<EffectiveRecommendationPreferencesT>(value);
281 template <
typename EffectiveRecommendationPreferencesT = EffectiveRecommendationPreferences>
309 template <
typename InferredWorkloadTypesT = Aws::Vector<InferredWorkloadType>>
311 m_inferredWorkloadTypesHasBeenSet =
true;
312 m_inferredWorkloadTypes = std::forward<InferredWorkloadTypesT>(value);
314 template <
typename InferredWorkloadTypesT = Aws::Vector<InferredWorkloadType>>
320 m_inferredWorkloadTypesHasBeenSet =
true;
321 m_inferredWorkloadTypes.push_back(value);
336 double m_lookBackPeriodInDays{0.0};
338 AutoScalingGroupConfiguration m_currentConfiguration;
340 GpuInfo m_currentInstanceGpuInfo;
348 EffectiveRecommendationPreferences m_effectiveRecommendationPreferences;
351 bool m_accountIdHasBeenSet =
false;
352 bool m_autoScalingGroupArnHasBeenSet =
false;
353 bool m_autoScalingGroupNameHasBeenSet =
false;
354 bool m_findingHasBeenSet =
false;
355 bool m_utilizationMetricsHasBeenSet =
false;
356 bool m_lookBackPeriodInDaysHasBeenSet =
false;
357 bool m_currentConfigurationHasBeenSet =
false;
358 bool m_currentInstanceGpuInfoHasBeenSet =
false;
359 bool m_recommendationOptionsHasBeenSet =
false;
360 bool m_lastRefreshTimestampHasBeenSet =
false;
361 bool m_currentPerformanceRiskHasBeenSet =
false;
362 bool m_effectiveRecommendationPreferencesHasBeenSet =
false;
363 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