class Aws::ComputeOptimizer::Types::LambdaFunctionRecommendation

Describes an Lambda function recommendation.

@!attribute [rw] function_arn

The Amazon Resource Name (ARN) of the current function.
@return [String]

@!attribute [rw] function_version

The version number of the current function.
@return [String]

@!attribute [rw] account_id

The Amazon Web Services account ID of the function.
@return [String]

@!attribute [rw] current_memory_size

The amount of memory, in MB, that's allocated to the current
function.
@return [Integer]

@!attribute [rw] number_of_invocations

The number of times your function code was applied during the
look-back period.
@return [Integer]

@!attribute [rw] utilization_metrics

An array of objects that describe the utilization metrics of the
function.
@return [Array<Types::LambdaFunctionUtilizationMetric>]

@!attribute [rw] lookback_period_in_days

The number of days for which utilization metrics were analyzed for
the function.
@return [Float]

@!attribute [rw] last_refresh_timestamp

The timestamp of when the function recommendation was last
refreshed.
@return [Time]

@!attribute [rw] finding

The finding classification of the function.

Findings for functions include:

* <b> <code>Optimized</code> </b> — 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.

* <b> <code>NotOptimized</code> </b> — 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.

* <b> <code>Unavailable</code> </b> — 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.

  <note markdown="1"> Functions with a finding of unavailable are not returned unless
  you specify the `filter` parameter with a value of `Unavailable`
  in your `GetLambdaFunctionRecommendations` request.

   </note>
@return [String]

@!attribute [rw] finding_reason_codes

The reason for the finding classification of the function.

<note markdown="1"> Functions that have a finding classification of `Optimized` don't
have a finding reason code.

 </note>

Finding reason codes for functions include:

* <b> <code>MemoryOverprovisioned</code> </b> — 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.

* <b> <code>MemoryUnderprovisioned</code> </b> — 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.

* <b> <code>InsufficientData</code> </b> — The function does not
  have sufficient metric data for Compute Optimizer to generate a
  recommendation. For more information, see the [Supported resources
  and requirements][1] in the *Compute Optimizer User Guide*. This
  finding reason code is part of the `Unavailable` finding
  classification.

* <b> <code>Inconclusive</code> </b> — 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.

[1]: https://docs.aws.amazon.com/compute-optimizer/latest/ug/requirements.html
@return [Array<String>]

@!attribute [rw] memory_size_recommendation_options

An array of objects that describe the memory configuration
recommendation options for the function.
@return [Array<Types::LambdaFunctionMemoryRecommendationOption>]

@see docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/LambdaFunctionRecommendation AWS API Documentation

Constants

SENSITIVE