7#include <aws/compute-optimizer/ComputeOptimizer_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/core/utils/memory/stl/AWSVector.h>
10#include <aws/core/utils/DateTime.h>
11#include <aws/compute-optimizer/model/LambdaFunctionRecommendationFinding.h>
12#include <aws/compute-optimizer/model/CurrentPerformanceRisk.h>
13#include <aws/compute-optimizer/model/LambdaEffectiveRecommendationPreferences.h>
14#include <aws/compute-optimizer/model/LambdaFunctionUtilizationMetric.h>
15#include <aws/compute-optimizer/model/LambdaFunctionRecommendationFindingReasonCode.h>
16#include <aws/compute-optimizer/model/LambdaFunctionMemoryRecommendationOption.h>
17#include <aws/compute-optimizer/model/Tag.h>
30namespace ComputeOptimizer
55 template<
typename FunctionArnT = Aws::String>
56 void SetFunctionArn(FunctionArnT&& value) { m_functionArnHasBeenSet =
true; m_functionArn = std::forward<FunctionArnT>(value); }
57 template<
typename FunctionArnT = Aws::String>
67 template<
typename FunctionVersionT = Aws::String>
68 void SetFunctionVersion(FunctionVersionT&& value) { m_functionVersionHasBeenSet =
true; m_functionVersion = std::forward<FunctionVersionT>(value); }
69 template<
typename FunctionVersionT = Aws::String>
79 template<
typename AccountIdT = Aws::String>
80 void SetAccountId(AccountIdT&& value) { m_accountIdHasBeenSet =
true; m_accountId = std::forward<AccountIdT>(value); }
81 template<
typename AccountIdT = Aws::String>
91 inline void SetCurrentMemorySize(
int value) { m_currentMemorySizeHasBeenSet =
true; m_currentMemorySize = value; }
102 inline void SetNumberOfInvocations(
long long value) { m_numberOfInvocationsHasBeenSet =
true; m_numberOfInvocations = value; }
113 template<
typename UtilizationMetricsT = Aws::Vector<LambdaFunctionUtilizationMetric>>
114 void SetUtilizationMetrics(UtilizationMetricsT&& value) { m_utilizationMetricsHasBeenSet =
true; m_utilizationMetrics = std::forward<UtilizationMetricsT>(value); }
115 template<
typename UtilizationMetricsT = Aws::Vector<LambdaFunctionUtilizationMetric>>
117 template<
typename UtilizationMetricsT = LambdaFunctionUtilizationMetric>
128 inline void SetLookbackPeriodInDays(
double value) { m_lookbackPeriodInDaysHasBeenSet =
true; m_lookbackPeriodInDays = value; }
138 template<
typename LastRefreshTimestampT = Aws::Utils::DateTime>
139 void SetLastRefreshTimestamp(LastRefreshTimestampT&& value) { m_lastRefreshTimestampHasBeenSet =
true; m_lastRefreshTimestamp = std::forward<LastRefreshTimestampT>(value); }
140 template<
typename LastRefreshTimestampT = Aws::Utils::DateTime>
202 template<
typename FindingReasonCodesT = Aws::Vector<LambdaFunctionRecommendationFindingReasonCode>>
203 void SetFindingReasonCodes(FindingReasonCodesT&& value) { m_findingReasonCodesHasBeenSet =
true; m_findingReasonCodes = std::forward<FindingReasonCodesT>(value); }
204 template<
typename FindingReasonCodesT = Aws::Vector<LambdaFunctionRecommendationFindingReasonCode>>
216 template<
typename MemorySizeRecommendationOptionsT = Aws::Vector<LambdaFunctionMemoryRecommendationOption>>
217 void SetMemorySizeRecommendationOptions(MemorySizeRecommendationOptionsT&& value) { m_memorySizeRecommendationOptionsHasBeenSet =
true; m_memorySizeRecommendationOptions = std::forward<MemorySizeRecommendationOptionsT>(value); }
218 template<
typename MemorySizeRecommendationOptionsT = Aws::Vector<LambdaFunctionMemoryRecommendationOption>>
220 template<
typename MemorySizeRecommendationOptionsT = LambdaFunctionMemoryRecommendationOption>
243 template<
typename EffectiveRecommendationPreferencesT = LambdaEffectiveRecommendationPreferences>
244 void SetEffectiveRecommendationPreferences(EffectiveRecommendationPreferencesT&& value) { m_effectiveRecommendationPreferencesHasBeenSet =
true; m_effectiveRecommendationPreferences = std::forward<EffectiveRecommendationPreferencesT>(value); }
245 template<
typename EffectiveRecommendationPreferencesT = LambdaEffectiveRecommendationPreferences>
255 template<
typename TagsT = Aws::Vector<Tag>>
256 void SetTags(TagsT&& value) { m_tagsHasBeenSet =
true; m_tags = std::forward<TagsT>(value); }
257 template<
typename TagsT = Aws::Vector<Tag>>
259 template<
typename TagsT = Tag>
265 bool m_functionArnHasBeenSet =
false;
268 bool m_functionVersionHasBeenSet =
false;
271 bool m_accountIdHasBeenSet =
false;
273 int m_currentMemorySize{0};
274 bool m_currentMemorySizeHasBeenSet =
false;
276 long long m_numberOfInvocations{0};
277 bool m_numberOfInvocationsHasBeenSet =
false;
280 bool m_utilizationMetricsHasBeenSet =
false;
282 double m_lookbackPeriodInDays{0.0};
283 bool m_lookbackPeriodInDaysHasBeenSet =
false;
286 bool m_lastRefreshTimestampHasBeenSet =
false;
289 bool m_findingHasBeenSet =
false;
292 bool m_findingReasonCodesHasBeenSet =
false;
295 bool m_memorySizeRecommendationOptionsHasBeenSet =
false;
298 bool m_currentPerformanceRiskHasBeenSet =
false;
300 LambdaEffectiveRecommendationPreferences m_effectiveRecommendationPreferences;
301 bool m_effectiveRecommendationPreferencesHasBeenSet =
false;
304 bool m_tagsHasBeenSet =
false;
LambdaFunctionRecommendation & WithFindingReasonCodes(FindingReasonCodesT &&value)
void SetMemorySizeRecommendationOptions(MemorySizeRecommendationOptionsT &&value)
LambdaFunctionRecommendation & WithCurrentMemorySize(int value)
LambdaFunctionRecommendation & WithMemorySizeRecommendationOptions(MemorySizeRecommendationOptionsT &&value)
void SetFinding(LambdaFunctionRecommendationFinding value)
LambdaFunctionRecommendation & WithTags(TagsT &&value)
void SetNumberOfInvocations(long long value)
void SetFindingReasonCodes(FindingReasonCodesT &&value)
long long GetNumberOfInvocations() const
LambdaFunctionRecommendation & WithCurrentPerformanceRisk(CurrentPerformanceRisk value)
LambdaFunctionRecommendation & WithFinding(LambdaFunctionRecommendationFinding value)
void SetAccountId(AccountIdT &&value)
void SetEffectiveRecommendationPreferences(EffectiveRecommendationPreferencesT &&value)
bool FunctionArnHasBeenSet() const
LambdaFunctionRecommendation & AddFindingReasonCodes(LambdaFunctionRecommendationFindingReasonCode value)
bool UtilizationMetricsHasBeenSet() const
bool CurrentMemorySizeHasBeenSet() const
void SetCurrentMemorySize(int value)
LambdaFunctionRecommendation & WithFunctionArn(FunctionArnT &&value)
LambdaFunctionRecommendation & WithFunctionVersion(FunctionVersionT &&value)
LambdaFunctionRecommendation & AddUtilizationMetrics(UtilizationMetricsT &&value)
void SetLastRefreshTimestamp(LastRefreshTimestampT &&value)
const Aws::Utils::DateTime & GetLastRefreshTimestamp() const
void SetFunctionVersion(FunctionVersionT &&value)
LambdaFunctionRecommendation & WithEffectiveRecommendationPreferences(EffectiveRecommendationPreferencesT &&value)
bool FindingHasBeenSet() const
void SetCurrentPerformanceRisk(CurrentPerformanceRisk value)
bool NumberOfInvocationsHasBeenSet() const
LambdaFunctionRecommendationFinding GetFinding() const
bool FunctionVersionHasBeenSet() const
double GetLookbackPeriodInDays() const
const Aws::Vector< LambdaFunctionMemoryRecommendationOption > & GetMemorySizeRecommendationOptions() const
void SetFunctionArn(FunctionArnT &&value)
bool LookbackPeriodInDaysHasBeenSet() const
const Aws::String & GetFunctionArn() const
bool FindingReasonCodesHasBeenSet() const
LambdaFunctionRecommendation & WithUtilizationMetrics(UtilizationMetricsT &&value)
LambdaFunctionRecommendation & WithLookbackPeriodInDays(double value)
void SetTags(TagsT &&value)
const Aws::String & GetFunctionVersion() const
AWS_COMPUTEOPTIMIZER_API LambdaFunctionRecommendation()=default
LambdaFunctionRecommendation & WithAccountId(AccountIdT &&value)
bool CurrentPerformanceRiskHasBeenSet() const
bool AccountIdHasBeenSet() const
void SetUtilizationMetrics(UtilizationMetricsT &&value)
int GetCurrentMemorySize() const
const Aws::Vector< LambdaFunctionRecommendationFindingReasonCode > & GetFindingReasonCodes() const
bool MemorySizeRecommendationOptionsHasBeenSet() const
LambdaFunctionRecommendation & WithLastRefreshTimestamp(LastRefreshTimestampT &&value)
AWS_COMPUTEOPTIMIZER_API LambdaFunctionRecommendation & operator=(Aws::Utils::Json::JsonView jsonValue)
bool LastRefreshTimestampHasBeenSet() const
LambdaFunctionRecommendation & AddMemorySizeRecommendationOptions(MemorySizeRecommendationOptionsT &&value)
const Aws::Vector< LambdaFunctionUtilizationMetric > & GetUtilizationMetrics() const
const LambdaEffectiveRecommendationPreferences & GetEffectiveRecommendationPreferences() const
void SetLookbackPeriodInDays(double value)
const Aws::String & GetAccountId() const
CurrentPerformanceRisk GetCurrentPerformanceRisk() const
bool TagsHasBeenSet() const
AWS_COMPUTEOPTIMIZER_API Aws::Utils::Json::JsonValue Jsonize() const
const Aws::Vector< Tag > & GetTags() const
LambdaFunctionRecommendation & WithNumberOfInvocations(long long value)
bool EffectiveRecommendationPreferencesHasBeenSet() const
LambdaFunctionRecommendation & AddTags(TagsT &&value)
AWS_COMPUTEOPTIMIZER_API LambdaFunctionRecommendation(Aws::Utils::Json::JsonView jsonValue)
LambdaFunctionRecommendationFindingReasonCode
LambdaFunctionRecommendationFinding
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue