#[non_exhaustive]pub struct LambdaFunctionRecommendation {Show 14 fields
pub function_arn: Option<String>,
pub function_version: Option<String>,
pub account_id: Option<String>,
pub current_memory_size: i32,
pub number_of_invocations: i64,
pub utilization_metrics: Option<Vec<LambdaFunctionUtilizationMetric>>,
pub lookback_period_in_days: f64,
pub last_refresh_timestamp: Option<DateTime>,
pub finding: Option<LambdaFunctionRecommendationFinding>,
pub finding_reason_codes: Option<Vec<LambdaFunctionRecommendationFindingReasonCode>>,
pub memory_size_recommendation_options: Option<Vec<LambdaFunctionMemoryRecommendationOption>>,
pub current_performance_risk: Option<CurrentPerformanceRisk>,
pub tags: Option<Vec<Tag>>,
pub effective_recommendation_preferences: Option<LambdaEffectiveRecommendationPreferences>,
}
Expand description
Describes an Lambda function recommendation.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. }
syntax; cannot be matched against without a wildcard ..
; and struct update syntax will not work.function_arn: Option<String>
The Amazon Resource Name (ARN) of the current function.
function_version: Option<String>
The version number of the current function.
account_id: Option<String>
The Amazon Web Services account ID of the function.
current_memory_size: i32
The amount of memory, in MB, that's allocated to the current function.
number_of_invocations: i64
The number of times your function code was applied during the look-back period.
utilization_metrics: Option<Vec<LambdaFunctionUtilizationMetric>>
An array of objects that describe the utilization metrics of the function.
lookback_period_in_days: f64
The number of days for which utilization metrics were analyzed for the function.
last_refresh_timestamp: Option<DateTime>
The timestamp of when the function recommendation was last generated.
finding: Option<LambdaFunctionRecommendationFinding>
The finding classification of the function.
Findings for functions include:
-
Optimized
— The function is correctly provisioned to run your workload based on its current configuration and its utilization history. This finding classification does not include finding reason codes. -
NotOptimized
— The function is performing at a higher level (over-provisioned) or at a lower level (under-provisioned) than required for your workload because its current configuration is not optimal. Over-provisioned resources might lead to unnecessary infrastructure cost, and under-provisioned resources might lead to poor application performance. This finding classification can include theMemoryUnderprovisioned
andMemoryUnderprovisioned
finding reason codes. -
Unavailable
— Compute Optimizer was unable to generate a recommendation for the function. This could be because the function has not accumulated sufficient metric data, or the function does not qualify for a recommendation. This finding classification can include theInsufficientData
andInconclusive
finding reason codes.Functions with a finding of unavailable are not returned unless you specify the
filter
parameter with a value ofUnavailable
in yourGetLambdaFunctionRecommendations
request.
finding_reason_codes: Option<Vec<LambdaFunctionRecommendationFindingReasonCode>>
The reason for the finding classification of the function.
Functions that have a finding classification of Optimized
don't have a finding reason code.
Finding reason codes for functions include:
-
MemoryOverprovisioned
— The function is over-provisioned when its memory configuration can be sized down while still meeting the performance requirements of your workload. An over-provisioned function might lead to unnecessary infrastructure cost. This finding reason code is part of theNotOptimized
finding classification. -
MemoryUnderprovisioned
— The function is under-provisioned when its memory configuration doesn't meet the performance requirements of the workload. An under-provisioned function might lead to poor application performance. This finding reason code is part of theNotOptimized
finding classification. -
InsufficientData
— The function does not have sufficient metric data for Compute Optimizer to generate a recommendation. For more information, see the Supported resources and requirements in the Compute Optimizer User Guide. This finding reason code is part of theUnavailable
finding classification. -
Inconclusive
— The function does not qualify for a recommendation because Compute Optimizer cannot generate a recommendation with a high degree of confidence. This finding reason code is part of theUnavailable
finding classification.
memory_size_recommendation_options: Option<Vec<LambdaFunctionMemoryRecommendationOption>>
An array of objects that describe the memory configuration recommendation options for the function.
current_performance_risk: Option<CurrentPerformanceRisk>
The risk of the current Lambda function not meeting the performance needs of its workloads. The higher the risk, the more likely the current Lambda function requires more memory.
A list of tags assigned to your Lambda function recommendations.
effective_recommendation_preferences: Option<LambdaEffectiveRecommendationPreferences>
Describes the effective recommendation preferences for Lambda functions.
Implementations§
source§impl LambdaFunctionRecommendation
impl LambdaFunctionRecommendation
sourcepub fn function_arn(&self) -> Option<&str>
pub fn function_arn(&self) -> Option<&str>
The Amazon Resource Name (ARN) of the current function.
sourcepub fn function_version(&self) -> Option<&str>
pub fn function_version(&self) -> Option<&str>
The version number of the current function.
sourcepub fn account_id(&self) -> Option<&str>
pub fn account_id(&self) -> Option<&str>
The Amazon Web Services account ID of the function.
sourcepub fn current_memory_size(&self) -> i32
pub fn current_memory_size(&self) -> i32
The amount of memory, in MB, that's allocated to the current function.
sourcepub fn number_of_invocations(&self) -> i64
pub fn number_of_invocations(&self) -> i64
The number of times your function code was applied during the look-back period.
sourcepub fn utilization_metrics(&self) -> &[LambdaFunctionUtilizationMetric]
pub fn utilization_metrics(&self) -> &[LambdaFunctionUtilizationMetric]
An array of objects that describe the utilization metrics of the function.
If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use .utilization_metrics.is_none()
.
sourcepub fn lookback_period_in_days(&self) -> f64
pub fn lookback_period_in_days(&self) -> f64
The number of days for which utilization metrics were analyzed for the function.
sourcepub fn last_refresh_timestamp(&self) -> Option<&DateTime>
pub fn last_refresh_timestamp(&self) -> Option<&DateTime>
The timestamp of when the function recommendation was last generated.
sourcepub fn finding(&self) -> Option<&LambdaFunctionRecommendationFinding>
pub fn finding(&self) -> Option<&LambdaFunctionRecommendationFinding>
The finding classification of the function.
Findings for functions include:
-
Optimized
— The function is correctly provisioned to run your workload based on its current configuration and its utilization history. This finding classification does not include finding reason codes. -
NotOptimized
— The function is performing at a higher level (over-provisioned) or at a lower level (under-provisioned) than required for your workload because its current configuration is not optimal. Over-provisioned resources might lead to unnecessary infrastructure cost, and under-provisioned resources might lead to poor application performance. This finding classification can include theMemoryUnderprovisioned
andMemoryUnderprovisioned
finding reason codes. -
Unavailable
— Compute Optimizer was unable to generate a recommendation for the function. This could be because the function has not accumulated sufficient metric data, or the function does not qualify for a recommendation. This finding classification can include theInsufficientData
andInconclusive
finding reason codes.Functions with a finding of unavailable are not returned unless you specify the
filter
parameter with a value ofUnavailable
in yourGetLambdaFunctionRecommendations
request.
sourcepub fn finding_reason_codes(
&self
) -> &[LambdaFunctionRecommendationFindingReasonCode]
pub fn finding_reason_codes( &self ) -> &[LambdaFunctionRecommendationFindingReasonCode]
The reason for the finding classification of the function.
Functions that have a finding classification of Optimized
don't have a finding reason code.
Finding reason codes for functions include:
-
MemoryOverprovisioned
— The function is over-provisioned when its memory configuration can be sized down while still meeting the performance requirements of your workload. An over-provisioned function might lead to unnecessary infrastructure cost. This finding reason code is part of theNotOptimized
finding classification. -
MemoryUnderprovisioned
— The function is under-provisioned when its memory configuration doesn't meet the performance requirements of the workload. An under-provisioned function might lead to poor application performance. This finding reason code is part of theNotOptimized
finding classification. -
InsufficientData
— The function does not have sufficient metric data for Compute Optimizer to generate a recommendation. For more information, see the Supported resources and requirements in the Compute Optimizer User Guide. This finding reason code is part of theUnavailable
finding classification. -
Inconclusive
— The function does not qualify for a recommendation because Compute Optimizer cannot generate a recommendation with a high degree of confidence. This finding reason code is part of theUnavailable
finding classification.
If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use .finding_reason_codes.is_none()
.
sourcepub fn memory_size_recommendation_options(
&self
) -> &[LambdaFunctionMemoryRecommendationOption]
pub fn memory_size_recommendation_options( &self ) -> &[LambdaFunctionMemoryRecommendationOption]
An array of objects that describe the memory configuration recommendation options for the function.
If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use .memory_size_recommendation_options.is_none()
.
sourcepub fn current_performance_risk(&self) -> Option<&CurrentPerformanceRisk>
pub fn current_performance_risk(&self) -> Option<&CurrentPerformanceRisk>
The risk of the current Lambda function not meeting the performance needs of its workloads. The higher the risk, the more likely the current Lambda function requires more memory.
A list of tags assigned to your Lambda function recommendations.
If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use .tags.is_none()
.
sourcepub fn effective_recommendation_preferences(
&self
) -> Option<&LambdaEffectiveRecommendationPreferences>
pub fn effective_recommendation_preferences( &self ) -> Option<&LambdaEffectiveRecommendationPreferences>
Describes the effective recommendation preferences for Lambda functions.
source§impl LambdaFunctionRecommendation
impl LambdaFunctionRecommendation
sourcepub fn builder() -> LambdaFunctionRecommendationBuilder
pub fn builder() -> LambdaFunctionRecommendationBuilder
Creates a new builder-style object to manufacture LambdaFunctionRecommendation
.
Trait Implementations§
source§impl Clone for LambdaFunctionRecommendation
impl Clone for LambdaFunctionRecommendation
source§fn clone(&self) -> LambdaFunctionRecommendation
fn clone(&self) -> LambdaFunctionRecommendation
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for LambdaFunctionRecommendation
impl Debug for LambdaFunctionRecommendation
source§impl PartialEq for LambdaFunctionRecommendation
impl PartialEq for LambdaFunctionRecommendation
source§fn eq(&self, other: &LambdaFunctionRecommendation) -> bool
fn eq(&self, other: &LambdaFunctionRecommendation) -> bool
self
and other
values to be equal, and is used
by ==
.