#[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
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional 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 the MemoryUnderprovisioned and MemoryUnderprovisioned 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 the InsufficientData and Inconclusive finding reason codes.

    Functions with a finding of unavailable are not returned unless you specify the filter parameter with a value of Unavailable in your GetLambdaFunctionRecommendations 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 the NotOptimized 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 the NotOptimized 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 the Unavailable 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 the Unavailable 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.

§tags: Option<Vec<Tag>>

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

source

pub fn function_arn(&self) -> Option<&str>

The Amazon Resource Name (ARN) of the current function.

source

pub fn function_version(&self) -> Option<&str>

The version number of the current function.

source

pub fn account_id(&self) -> Option<&str>

The Amazon Web Services account ID of the function.

source

pub fn current_memory_size(&self) -> i32

The amount of memory, in MB, that's allocated to the current function.

source

pub fn number_of_invocations(&self) -> i64

The number of times your function code was applied during the look-back period.

source

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().

source

pub fn lookback_period_in_days(&self) -> f64

The number of days for which utilization metrics were analyzed for the function.

source

pub fn last_refresh_timestamp(&self) -> Option<&DateTime>

The timestamp of when the function recommendation was last generated.

source

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 the MemoryUnderprovisioned and MemoryUnderprovisioned 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 the InsufficientData and Inconclusive finding reason codes.

    Functions with a finding of unavailable are not returned unless you specify the filter parameter with a value of Unavailable in your GetLambdaFunctionRecommendations request.

source

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 the NotOptimized 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 the NotOptimized 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 the Unavailable 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 the Unavailable 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().

source

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().

source

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.

source

pub fn tags(&self) -> &[Tag]

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().

source

pub fn effective_recommendation_preferences( &self ) -> Option<&LambdaEffectiveRecommendationPreferences>

Describes the effective recommendation preferences for Lambda functions.

source§

impl LambdaFunctionRecommendation

source

pub fn builder() -> LambdaFunctionRecommendationBuilder

Creates a new builder-style object to manufacture LambdaFunctionRecommendation.

Trait Implementations§

source§

impl Clone for LambdaFunctionRecommendation

source§

fn clone(&self) -> LambdaFunctionRecommendation

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for LambdaFunctionRecommendation

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl PartialEq for LambdaFunctionRecommendation

source§

fn eq(&self, other: &LambdaFunctionRecommendation) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl StructuralPartialEq for LambdaFunctionRecommendation

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T> Instrument for T

source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts 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 more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts 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
source§

impl<Unshared, Shared> IntoShared<Shared> for Unshared
where Shared: FromUnshared<Unshared>,

source§

fn into_shared(self) -> Shared

Creates a shared type from an unshared type.
source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<T> WithSubscriber for T

source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more