7#include <aws/compute-optimizer/ComputeOptimizer_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/compute-optimizer/model/ServiceConfiguration.h>
10#include <aws/core/utils/memory/stl/AWSVector.h>
11#include <aws/compute-optimizer/model/ECSServiceLaunchType.h>
12#include <aws/core/utils/DateTime.h>
13#include <aws/compute-optimizer/model/ECSServiceRecommendationFinding.h>
14#include <aws/compute-optimizer/model/CurrentPerformanceRisk.h>
15#include <aws/compute-optimizer/model/ECSEffectiveRecommendationPreferences.h>
16#include <aws/compute-optimizer/model/ECSServiceUtilizationMetric.h>
17#include <aws/compute-optimizer/model/ECSServiceRecommendationFindingReasonCode.h>
18#include <aws/compute-optimizer/model/ECSServiceRecommendationOption.h>
19#include <aws/compute-optimizer/model/Tag.h>
32namespace ComputeOptimizer
61 template<
typename ServiceArnT = Aws::String>
62 void SetServiceArn(ServiceArnT&& value) { m_serviceArnHasBeenSet =
true; m_serviceArn = std::forward<ServiceArnT>(value); }
63 template<
typename ServiceArnT = Aws::String>
73 template<
typename AccountIdT = Aws::String>
74 void SetAccountId(AccountIdT&& value) { m_accountIdHasBeenSet =
true; m_accountId = std::forward<AccountIdT>(value); }
75 template<
typename AccountIdT = Aws::String>
85 template<
typename CurrentServiceConfigurationT = ServiceConfiguration>
86 void SetCurrentServiceConfiguration(CurrentServiceConfigurationT&& value) { m_currentServiceConfigurationHasBeenSet =
true; m_currentServiceConfiguration = std::forward<CurrentServiceConfigurationT>(value); }
87 template<
typename CurrentServiceConfigurationT = ServiceConfiguration>
98 template<
typename UtilizationMetricsT = Aws::Vector<ECSServiceUtilizationMetric>>
99 void SetUtilizationMetrics(UtilizationMetricsT&& value) { m_utilizationMetricsHasBeenSet =
true; m_utilizationMetrics = std::forward<UtilizationMetricsT>(value); }
100 template<
typename UtilizationMetricsT = Aws::Vector<ECSServiceUtilizationMetric>>
102 template<
typename UtilizationMetricsT = ECSServiceUtilizationMetric>
113 inline void SetLookbackPeriodInDays(
double value) { m_lookbackPeriodInDaysHasBeenSet =
true; m_lookbackPeriodInDays = value; }
135 template<
typename LastRefreshTimestampT = Aws::Utils::DateTime>
136 void SetLastRefreshTimestamp(LastRefreshTimestampT&& value) { m_lastRefreshTimestampHasBeenSet =
true; m_lastRefreshTimestamp = std::forward<LastRefreshTimestampT>(value); }
137 template<
typename LastRefreshTimestampT = Aws::Utils::DateTime>
183 template<
typename FindingReasonCodesT = Aws::Vector<ECSServiceRecommendationFindingReasonCode>>
184 void SetFindingReasonCodes(FindingReasonCodesT&& value) { m_findingReasonCodesHasBeenSet =
true; m_findingReasonCodes = std::forward<FindingReasonCodesT>(value); }
185 template<
typename FindingReasonCodesT = Aws::Vector<ECSServiceRecommendationFindingReasonCode>>
197 template<
typename ServiceRecommendationOptionsT = Aws::Vector<ECSServiceRecommendationOption>>
198 void SetServiceRecommendationOptions(ServiceRecommendationOptionsT&& value) { m_serviceRecommendationOptionsHasBeenSet =
true; m_serviceRecommendationOptions = std::forward<ServiceRecommendationOptionsT>(value); }
199 template<
typename ServiceRecommendationOptionsT = Aws::Vector<ECSServiceRecommendationOption>>
201 template<
typename ServiceRecommendationOptionsT = ECSServiceRecommendationOption>
224 template<
typename EffectiveRecommendationPreferencesT = ECSEffectiveRecommendationPreferences>
225 void SetEffectiveRecommendationPreferences(EffectiveRecommendationPreferencesT&& value) { m_effectiveRecommendationPreferencesHasBeenSet =
true; m_effectiveRecommendationPreferences = std::forward<EffectiveRecommendationPreferencesT>(value); }
226 template<
typename EffectiveRecommendationPreferencesT = ECSEffectiveRecommendationPreferences>
236 template<
typename TagsT = Aws::Vector<Tag>>
237 void SetTags(TagsT&& value) { m_tagsHasBeenSet =
true; m_tags = std::forward<TagsT>(value); }
238 template<
typename TagsT = Aws::Vector<Tag>>
240 template<
typename TagsT = Tag>
246 bool m_serviceArnHasBeenSet =
false;
249 bool m_accountIdHasBeenSet =
false;
252 bool m_currentServiceConfigurationHasBeenSet =
false;
255 bool m_utilizationMetricsHasBeenSet =
false;
257 double m_lookbackPeriodInDays{0.0};
258 bool m_lookbackPeriodInDaysHasBeenSet =
false;
261 bool m_launchTypeHasBeenSet =
false;
264 bool m_lastRefreshTimestampHasBeenSet =
false;
267 bool m_findingHasBeenSet =
false;
270 bool m_findingReasonCodesHasBeenSet =
false;
273 bool m_serviceRecommendationOptionsHasBeenSet =
false;
276 bool m_currentPerformanceRiskHasBeenSet =
false;
278 ECSEffectiveRecommendationPreferences m_effectiveRecommendationPreferences;
279 bool m_effectiveRecommendationPreferencesHasBeenSet =
false;
282 bool m_tagsHasBeenSet =
false;
bool AccountIdHasBeenSet() const
bool CurrentServiceConfigurationHasBeenSet() const
AWS_COMPUTEOPTIMIZER_API Aws::Utils::Json::JsonValue Jsonize() const
bool LastRefreshTimestampHasBeenSet() const
const Aws::Vector< ECSServiceUtilizationMetric > & GetUtilizationMetrics() const
void SetFindingReasonCodes(FindingReasonCodesT &&value)
const Aws::Vector< ECSServiceRecommendationFindingReasonCode > & GetFindingReasonCodes() const
bool TagsHasBeenSet() const
ECSServiceRecommendation & WithServiceArn(ServiceArnT &&value)
const Aws::String & GetAccountId() const
const Aws::Vector< Tag > & GetTags() const
void SetTags(TagsT &&value)
void SetLaunchType(ECSServiceLaunchType value)
ECSServiceRecommendation & AddUtilizationMetrics(UtilizationMetricsT &&value)
ECSServiceRecommendation & AddFindingReasonCodes(ECSServiceRecommendationFindingReasonCode value)
ECSServiceRecommendation & AddServiceRecommendationOptions(ServiceRecommendationOptionsT &&value)
void SetFinding(ECSServiceRecommendationFinding value)
const Aws::String & GetServiceArn() const
void SetCurrentPerformanceRisk(CurrentPerformanceRisk value)
bool ServiceArnHasBeenSet() const
CurrentPerformanceRisk GetCurrentPerformanceRisk() const
void SetEffectiveRecommendationPreferences(EffectiveRecommendationPreferencesT &&value)
void SetLookbackPeriodInDays(double value)
void SetAccountId(AccountIdT &&value)
ECSServiceRecommendation & WithFinding(ECSServiceRecommendationFinding value)
ECSServiceRecommendation & WithFindingReasonCodes(FindingReasonCodesT &&value)
ECSServiceRecommendation & WithCurrentPerformanceRisk(CurrentPerformanceRisk value)
bool FindingReasonCodesHasBeenSet() const
const Aws::Vector< ECSServiceRecommendationOption > & GetServiceRecommendationOptions() const
void SetUtilizationMetrics(UtilizationMetricsT &&value)
AWS_COMPUTEOPTIMIZER_API ECSServiceRecommendation & operator=(Aws::Utils::Json::JsonView jsonValue)
const ServiceConfiguration & GetCurrentServiceConfiguration() const
ECSServiceRecommendation & WithUtilizationMetrics(UtilizationMetricsT &&value)
const Aws::Utils::DateTime & GetLastRefreshTimestamp() const
bool LookbackPeriodInDaysHasBeenSet() const
ECSServiceRecommendationFinding GetFinding() const
void SetServiceArn(ServiceArnT &&value)
AWS_COMPUTEOPTIMIZER_API ECSServiceRecommendation(Aws::Utils::Json::JsonView jsonValue)
ECSServiceRecommendation & WithLaunchType(ECSServiceLaunchType value)
bool ServiceRecommendationOptionsHasBeenSet() const
bool CurrentPerformanceRiskHasBeenSet() const
bool EffectiveRecommendationPreferencesHasBeenSet() const
void SetLastRefreshTimestamp(LastRefreshTimestampT &&value)
void SetServiceRecommendationOptions(ServiceRecommendationOptionsT &&value)
bool FindingHasBeenSet() const
ECSServiceLaunchType GetLaunchType() const
ECSServiceRecommendation & WithLastRefreshTimestamp(LastRefreshTimestampT &&value)
ECSServiceRecommendation & WithLookbackPeriodInDays(double value)
ECSServiceRecommendation & WithEffectiveRecommendationPreferences(EffectiveRecommendationPreferencesT &&value)
ECSServiceRecommendation & WithServiceRecommendationOptions(ServiceRecommendationOptionsT &&value)
ECSServiceRecommendation & WithTags(TagsT &&value)
ECSServiceRecommendation & AddTags(TagsT &&value)
bool UtilizationMetricsHasBeenSet() const
bool LaunchTypeHasBeenSet() const
void SetCurrentServiceConfiguration(CurrentServiceConfigurationT &&value)
ECSServiceRecommendation & WithAccountId(AccountIdT &&value)
const ECSEffectiveRecommendationPreferences & GetEffectiveRecommendationPreferences() const
ECSServiceRecommendation & WithCurrentServiceConfiguration(CurrentServiceConfigurationT &&value)
AWS_COMPUTEOPTIMIZER_API ECSServiceRecommendation()=default
double GetLookbackPeriodInDays() const
ECSServiceRecommendationFinding
ECSServiceRecommendationFindingReasonCode
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue