7#include <aws/compute-optimizer/ComputeOptimizer_EXPORTS.h>
8#include <aws/compute-optimizer/model/CurrentPerformanceRisk.h>
9#include <aws/compute-optimizer/model/LambdaEffectiveRecommendationPreferences.h>
10#include <aws/compute-optimizer/model/LambdaFunctionMemoryRecommendationOption.h>
11#include <aws/compute-optimizer/model/LambdaFunctionRecommendationFinding.h>
12#include <aws/compute-optimizer/model/LambdaFunctionRecommendationFindingReasonCode.h>
13#include <aws/compute-optimizer/model/LambdaFunctionUtilizationMetric.h>
14#include <aws/compute-optimizer/model/Tag.h>
15#include <aws/core/utils/DateTime.h>
16#include <aws/core/utils/memory/stl/AWSString.h>
17#include <aws/core/utils/memory/stl/AWSVector.h>
28namespace ComputeOptimizer {
49 template <
typename FunctionArnT = Aws::String>
51 m_functionArnHasBeenSet =
true;
52 m_functionArn = std::forward<FunctionArnT>(value);
54 template <
typename FunctionArnT = Aws::String>
67 template <
typename FunctionVersionT = Aws::String>
69 m_functionVersionHasBeenSet =
true;
70 m_functionVersion = std::forward<FunctionVersionT>(value);
72 template <
typename FunctionVersionT = Aws::String>
85 template <
typename AccountIdT = Aws::String>
87 m_accountIdHasBeenSet =
true;
88 m_accountId = std::forward<AccountIdT>(value);
90 template <
typename AccountIdT = Aws::String>
104 m_currentMemorySizeHasBeenSet =
true;
105 m_currentMemorySize = value;
121 m_numberOfInvocationsHasBeenSet =
true;
122 m_numberOfInvocations = value;
137 template <
typename UtilizationMetricsT = Aws::Vector<LambdaFunctionUtilizationMetric>>
139 m_utilizationMetricsHasBeenSet =
true;
140 m_utilizationMetrics = std::forward<UtilizationMetricsT>(value);
142 template <
typename UtilizationMetricsT = Aws::Vector<LambdaFunctionUtilizationMetric>>
147 template <
typename UtilizationMetricsT = LambdaFunctionUtilizationMetric>
149 m_utilizationMetricsHasBeenSet =
true;
150 m_utilizationMetrics.emplace_back(std::forward<UtilizationMetricsT>(value));
163 m_lookbackPeriodInDaysHasBeenSet =
true;
164 m_lookbackPeriodInDays = value;
178 template <
typename LastRefreshTimestampT = Aws::Utils::DateTime>
180 m_lastRefreshTimestampHasBeenSet =
true;
181 m_lastRefreshTimestamp = std::forward<LastRefreshTimestampT>(value);
183 template <
typename LastRefreshTimestampT = Aws::Utils::DateTime>
216 m_findingHasBeenSet =
true;
254 template <
typename FindingReasonCodesT = Aws::Vector<LambdaFunctionRecommendationFindingReasonCode>>
256 m_findingReasonCodesHasBeenSet =
true;
257 m_findingReasonCodes = std::forward<FindingReasonCodesT>(value);
259 template <
typename FindingReasonCodesT = Aws::Vector<LambdaFunctionRecommendationFindingReasonCode>>
265 m_findingReasonCodesHasBeenSet =
true;
266 m_findingReasonCodes.push_back(value);
277 return m_memorySizeRecommendationOptions;
280 template <
typename MemorySizeRecommendationOptionsT = Aws::Vector<LambdaFunctionMemoryRecommendationOption>>
282 m_memorySizeRecommendationOptionsHasBeenSet =
true;
283 m_memorySizeRecommendationOptions = std::forward<MemorySizeRecommendationOptionsT>(value);
285 template <
typename MemorySizeRecommendationOptionsT = Aws::Vector<LambdaFunctionMemoryRecommendationOption>>
290 template <
typename MemorySizeRecommendationOptionsT = LambdaFunctionMemoryRecommendationOption>
292 m_memorySizeRecommendationOptionsHasBeenSet =
true;
293 m_memorySizeRecommendationOptions.emplace_back(std::forward<MemorySizeRecommendationOptionsT>(value));
307 m_currentPerformanceRiskHasBeenSet =
true;
308 m_currentPerformanceRisk = value;
322 return m_effectiveRecommendationPreferences;
325 template <
typename EffectiveRecommendationPreferencesT = LambdaEffectiveRecommendationPreferences>
327 m_effectiveRecommendationPreferencesHasBeenSet =
true;
328 m_effectiveRecommendationPreferences = std::forward<EffectiveRecommendationPreferencesT>(value);
330 template <
typename EffectiveRecommendationPreferencesT = LambdaEffectiveRecommendationPreferences>
343 template <
typename TagsT = Aws::Vector<Tag>>
345 m_tagsHasBeenSet =
true;
346 m_tags = std::forward<TagsT>(value);
348 template <
typename TagsT = Aws::Vector<Tag>>
350 SetTags(std::forward<TagsT>(value));
353 template <
typename TagsT = Tag>
355 m_tagsHasBeenSet =
true;
356 m_tags.emplace_back(std::forward<TagsT>(value));
367 int m_currentMemorySize{0};
369 long long m_numberOfInvocations{0};
373 double m_lookbackPeriodInDays{0.0};
385 LambdaEffectiveRecommendationPreferences m_effectiveRecommendationPreferences;
388 bool m_functionArnHasBeenSet =
false;
389 bool m_functionVersionHasBeenSet =
false;
390 bool m_accountIdHasBeenSet =
false;
391 bool m_currentMemorySizeHasBeenSet =
false;
392 bool m_numberOfInvocationsHasBeenSet =
false;
393 bool m_utilizationMetricsHasBeenSet =
false;
394 bool m_lookbackPeriodInDaysHasBeenSet =
false;
395 bool m_lastRefreshTimestampHasBeenSet =
false;
396 bool m_findingHasBeenSet =
false;
397 bool m_findingReasonCodesHasBeenSet =
false;
398 bool m_memorySizeRecommendationOptionsHasBeenSet =
false;
399 bool m_currentPerformanceRiskHasBeenSet =
false;
400 bool m_effectiveRecommendationPreferencesHasBeenSet =
false;
401 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