#[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 ==
.impl StructuralPartialEq for LambdaFunctionRecommendation
Auto Trait Implementations§
impl Freeze for LambdaFunctionRecommendation
impl RefUnwindSafe for LambdaFunctionRecommendation
impl Send for LambdaFunctionRecommendation
impl Sync for LambdaFunctionRecommendation
impl Unpin for LambdaFunctionRecommendation
impl UnwindSafe for LambdaFunctionRecommendation
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> IntoEither for T
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more