7#include <aws/compute-optimizer/ComputeOptimizer_EXPORTS.h>
8#include <aws/compute-optimizer/model/CurrentPerformanceRisk.h>
9#include <aws/compute-optimizer/model/ECSEffectiveRecommendationPreferences.h>
10#include <aws/compute-optimizer/model/ECSServiceLaunchType.h>
11#include <aws/compute-optimizer/model/ECSServiceRecommendationFinding.h>
12#include <aws/compute-optimizer/model/ECSServiceRecommendationFindingReasonCode.h>
13#include <aws/compute-optimizer/model/ECSServiceRecommendationOption.h>
14#include <aws/compute-optimizer/model/ECSServiceUtilizationMetric.h>
15#include <aws/compute-optimizer/model/ServiceConfiguration.h>
16#include <aws/compute-optimizer/model/Tag.h>
17#include <aws/core/utils/DateTime.h>
18#include <aws/core/utils/memory/stl/AWSString.h>
19#include <aws/core/utils/memory/stl/AWSVector.h>
30namespace ComputeOptimizer {
55 template <
typename ServiceArnT = Aws::String>
57 m_serviceArnHasBeenSet =
true;
58 m_serviceArn = std::forward<ServiceArnT>(value);
60 template <
typename ServiceArnT = Aws::String>
73 template <
typename AccountIdT = Aws::String>
75 m_accountIdHasBeenSet =
true;
76 m_accountId = std::forward<AccountIdT>(value);
78 template <
typename AccountIdT = Aws::String>
91 template <
typename CurrentServiceConfigurationT = ServiceConfiguration>
93 m_currentServiceConfigurationHasBeenSet =
true;
94 m_currentServiceConfiguration = std::forward<CurrentServiceConfigurationT>(value);
96 template <
typename CurrentServiceConfigurationT = ServiceConfiguration>
110 template <
typename UtilizationMetricsT = Aws::Vector<ECSServiceUtilizationMetric>>
112 m_utilizationMetricsHasBeenSet =
true;
113 m_utilizationMetrics = std::forward<UtilizationMetricsT>(value);
115 template <
typename UtilizationMetricsT = Aws::Vector<ECSServiceUtilizationMetric>>
120 template <
typename UtilizationMetricsT = ECSServiceUtilizationMetric>
122 m_utilizationMetricsHasBeenSet =
true;
123 m_utilizationMetrics.emplace_back(std::forward<UtilizationMetricsT>(value));
136 m_lookbackPeriodInDaysHasBeenSet =
true;
137 m_lookbackPeriodInDays = value;
153 m_launchTypeHasBeenSet =
true;
154 m_launchType = value;
169 template <
typename LastRefreshTimestampT = Aws::Utils::DateTime>
171 m_lastRefreshTimestampHasBeenSet =
true;
172 m_lastRefreshTimestamp = std::forward<LastRefreshTimestampT>(value);
174 template <
typename LastRefreshTimestampT = Aws::Utils::DateTime>
198 m_findingHasBeenSet =
true;
229 template <
typename FindingReasonCodesT = Aws::Vector<ECSServiceRecommendationFindingReasonCode>>
231 m_findingReasonCodesHasBeenSet =
true;
232 m_findingReasonCodes = std::forward<FindingReasonCodesT>(value);
234 template <
typename FindingReasonCodesT = Aws::Vector<ECSServiceRecommendationFindingReasonCode>>
240 m_findingReasonCodesHasBeenSet =
true;
241 m_findingReasonCodes.push_back(value);
252 return m_serviceRecommendationOptions;
255 template <
typename ServiceRecommendationOptionsT = Aws::Vector<ECSServiceRecommendationOption>>
257 m_serviceRecommendationOptionsHasBeenSet =
true;
258 m_serviceRecommendationOptions = std::forward<ServiceRecommendationOptionsT>(value);
260 template <
typename ServiceRecommendationOptionsT = Aws::Vector<ECSServiceRecommendationOption>>
265 template <
typename ServiceRecommendationOptionsT = ECSServiceRecommendationOption>
267 m_serviceRecommendationOptionsHasBeenSet =
true;
268 m_serviceRecommendationOptions.emplace_back(std::forward<ServiceRecommendationOptionsT>(value));
282 m_currentPerformanceRiskHasBeenSet =
true;
283 m_currentPerformanceRisk = value;
297 return m_effectiveRecommendationPreferences;
300 template <
typename EffectiveRecommendationPreferencesT = ECSEffectiveRecommendationPreferences>
302 m_effectiveRecommendationPreferencesHasBeenSet =
true;
303 m_effectiveRecommendationPreferences = std::forward<EffectiveRecommendationPreferencesT>(value);
305 template <
typename EffectiveRecommendationPreferencesT = ECSEffectiveRecommendationPreferences>
318 template <
typename TagsT = Aws::Vector<Tag>>
320 m_tagsHasBeenSet =
true;
321 m_tags = std::forward<TagsT>(value);
323 template <
typename TagsT = Aws::Vector<Tag>>
325 SetTags(std::forward<TagsT>(value));
328 template <
typename TagsT = Tag>
330 m_tagsHasBeenSet =
true;
331 m_tags.emplace_back(std::forward<TagsT>(value));
344 double m_lookbackPeriodInDays{0.0};
358 ECSEffectiveRecommendationPreferences m_effectiveRecommendationPreferences;
361 bool m_serviceArnHasBeenSet =
false;
362 bool m_accountIdHasBeenSet =
false;
363 bool m_currentServiceConfigurationHasBeenSet =
false;
364 bool m_utilizationMetricsHasBeenSet =
false;
365 bool m_lookbackPeriodInDaysHasBeenSet =
false;
366 bool m_launchTypeHasBeenSet =
false;
367 bool m_lastRefreshTimestampHasBeenSet =
false;
368 bool m_findingHasBeenSet =
false;
369 bool m_findingReasonCodesHasBeenSet =
false;
370 bool m_serviceRecommendationOptionsHasBeenSet =
false;
371 bool m_currentPerformanceRiskHasBeenSet =
false;
372 bool m_effectiveRecommendationPreferencesHasBeenSet =
false;
373 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