π§ AWS Lambda Function memory is overprovisioned - prod.logic.yamlπ’
- Contextual name: π§ prod.logic.yamlπ’
- ID:
/ce/ca/aws/lambda/function-memory-overprovisioned/prod.logic.yaml - Tags:
- π’ Logic test success
- π’ Logic with extracts
- π’ Logic with test data
Usesβ
- π AWS Lambda Function
- π AWS Lambda Function - object.extracts.yaml
- π AWS Compute Optimizer Lambda Func. Rec. - object.extracts.yaml
- π§ͺ test-data.json
Test Results π’β
Generated at: 2026-10-17T12:03:42.543628661Z Open
| Result | Id | Condition Index | Condition Text | Runtime Error |
|---|---|---|---|---|
| π’ | overprovisioned | βοΈ 499 | βοΈ CA10A2__AWS_Compute_Optimizer_Lambda_Func_Recs__r.has(INCOMPLIANT) | βοΈ null |
| π’ | no-recommendations | βοΈ 700 | βοΈ otherwise | βοΈ null |
| π’ | underprovisioned | βοΈ 699 | βοΈ CA10A2__AWS_Compute_Optimizer_Lambda_Func_Recs__r.has(COMPLIANT) | βοΈ null |
| π’ | optimized | βοΈ 699 | βοΈ CA10A2__AWS_Compute_Optimizer_Lambda_Func_Recs__r.has(COMPLIANT) | βοΈ null |
| π’ | optimized-with-reason | βοΈ 599 | βοΈ CA10A2__AWS_Compute_Optimizer_Lambda_Func_Recs__r.has(UNDETERMINED) | βοΈ null |
| π’ | unavailable | βοΈ 599 | βοΈ CA10A2__AWS_Compute_Optimizer_Lambda_Func_Recs__r.has(UNDETERMINED) | βοΈ null |
| π’ | unknown-finding | βοΈ 599 | βοΈ CA10A2__AWS_Compute_Optimizer_Lambda_Func_Recs__r.has(UNDETERMINED) | βοΈ null |
| π’ | unknown-reason | βοΈ 599 | βοΈ CA10A2__AWS_Compute_Optimizer_Lambda_Func_Recs__r.has(UNDETERMINED) | βοΈ null |
| π’ | combined-reasons | βοΈ 599 | βοΈ CA10A2__AWS_Compute_Optimizer_Lambda_Func_Recs__r.has(UNDETERMINED) | βοΈ null |
| π’ | missing-reason | βοΈ 599 | βοΈ CA10A2__AWS_Compute_Optimizer_Lambda_Func_Recs__r.has(UNDETERMINED) | βοΈ null |
| π’ | old-refresh-timestamp-ignored | βοΈ 499 | βοΈ CA10A2__AWS_Compute_Optimizer_Lambda_Func_Recs__r.has(INCOMPLIANT) | βοΈ null |
| π’ | short-lookback | βοΈ 599 | βοΈ CA10A2__AWS_Compute_Optimizer_Lambda_Func_Recs__r.has(UNDETERMINED) | βοΈ null |
| π’ | mismatched-memory | βοΈ 599 | βοΈ CA10A2__AWS_Compute_Optimizer_Lambda_Func_Recs__r.has(UNDETERMINED) | βοΈ null |
| π’ | published-version | βοΈ 700 | βοΈ otherwise | βοΈ null |
| π’ | deleted-recommendation | βοΈ 700 | βοΈ otherwise | βοΈ null |
| π’ | missing-parent | βοΈ 700 | βοΈ otherwise | βοΈ null |
| π’ | missing-CA10A2__lambdaFunctionVersion__c | βοΈ 599 | βοΈ CA10A2__AWS_Compute_Optimizer_Lambda_Func_Recs__r.has(UNDETERMINED) | βοΈ null |
| π’ | missing-CA10A2__lastRefreshTimestamp__c | βοΈ 499 | βοΈ CA10A2__AWS_Compute_Optimizer_Lambda_Func_Recs__r.has(INCOMPLIANT) | βοΈ null |
| π’ | missing-CA10A2__lookbackPeriodInDays__c | βοΈ 599 | βοΈ CA10A2__AWS_Compute_Optimizer_Lambda_Func_Recs__r.has(UNDETERMINED) | βοΈ null |
| π’ | missing-CA10A2__currentMemorySize__c | βοΈ 599 | βοΈ CA10A2__AWS_Compute_Optimizer_Lambda_Func_Recs__r.has(UNDETERMINED) | βοΈ null |
| π’ | missing-CA10A2__finding__c | βοΈ 599 | βοΈ CA10A2__AWS_Compute_Optimizer_Lambda_Func_Recs__r.has(UNDETERMINED) | βοΈ null |
| π’ | missing-CA10__version__c | βοΈ 101 | βοΈ CA10__version__c.isEmpty() | βοΈ null |
| π’ | missing-CA10__memorySizeMb__c | βοΈ 201 | βοΈ CA10__memorySizeMb__c.isEmpty() | βοΈ null |
| π’ | missing-CA10__lastModified__c | βοΈ 499 | βοΈ CA10A2__AWS_Compute_Optimizer_Lambda_Func_Recs__r.has(INCOMPLIANT) | βοΈ null |
| π’ | new-configuration | βοΈ 499 | βοΈ CA10A2__AWS_Compute_Optimizer_Lambda_Func_Recs__r.has(INCOMPLIANT) | βοΈ null |
| π’ | unsupported-memory | βοΈ 299 | βοΈ extract('CA10__memorySizeMb__c') > number(1792.0) | βοΈ null |
| π’ | invalid-memory | βοΈ 399 | βοΈ extract('CA10__memorySizeMb__c') < number(128.0) | βοΈ null |
| π’ | non-latest-root | βοΈ 199 | βοΈ extract('CA10__version__c') != '$LATEST' | βοΈ null |
| π’ | deleted-function | βοΈ 99 | βοΈ isDisappeared(CA10__disappearanceTime__c) | βοΈ null |
| π’ | overrides-uncertainty | βοΈ 499 | βοΈ CA10A2__AWS_Compute_Optimizer_Lambda_Func_Recs__r.has(INCOMPLIANT) | βοΈ null |
| π’ | confirmed-overprovisioning-precedes-optimized-evidence | βοΈ 499 | βοΈ CA10A2__AWS_Compute_Optimizer_Lambda_Func_Recs__r.has(INCOMPLIANT) | βοΈ null |
| π’ | clock-independent-recommendation | βοΈ 499 | βοΈ CA10A2__AWS_Compute_Optimizer_Lambda_Func_Recs__r.has(INCOMPLIANT) | βοΈ null |
| π’ | long-lookback | βοΈ 599 | βοΈ CA10A2__AWS_Compute_Optimizer_Lambda_Func_Recs__r.has(UNDETERMINED) | βοΈ null |
| π’ | missing-memory-options | βοΈ 599 | βοΈ CA10A2__AWS_Compute_Optimizer_Lambda_Func_Recs__r.has(UNDETERMINED) | βοΈ null |
| π’ | empty-memory-options | βοΈ 599 | βοΈ CA10A2__AWS_Compute_Optimizer_Lambda_Func_Recs__r.has(UNDETERMINED) | βοΈ null |
| π’ | malformed-memory-options | βοΈ 599 | βοΈ CA10A2__AWS_Compute_Optimizer_Lambda_Func_Recs__r.has(UNDETERMINED) | βοΈ null |
| π’ | missing-recommended-memory | βοΈ 599 | βοΈ CA10A2__AWS_Compute_Optimizer_Lambda_Func_Recs__r.has(UNDETERMINED) | βοΈ null |
| π’ | nonnumeric-recommended-memory | βοΈ 599 | βοΈ CA10A2__AWS_Compute_Optimizer_Lambda_Func_Recs__r.has(UNDETERMINED) | βοΈ null |
| π’ | below-minimum-recommended-memory | βοΈ 599 | βοΈ CA10A2__AWS_Compute_Optimizer_Lambda_Func_Recs__r.has(UNDETERMINED) | βοΈ null |
| π’ | unchanged-recommended-memory | βοΈ 599 | βοΈ CA10A2__AWS_Compute_Optimizer_Lambda_Func_Recs__r.has(UNDETERMINED) | βοΈ null |
| π’ | larger-recommended-memory | βοΈ 599 | βοΈ CA10A2__AWS_Compute_Optimizer_Lambda_Func_Recs__r.has(UNDETERMINED) | βοΈ null |
| π’ | missing-top-ranked-option | βοΈ 599 | βοΈ CA10A2__AWS_Compute_Optimizer_Lambda_Func_Recs__r.has(UNDETERMINED) | βοΈ null |
| π’ | top-ranked-option-not-first | βοΈ 499 | βοΈ CA10A2__AWS_Compute_Optimizer_Lambda_Func_Recs__r.has(INCOMPLIANT) | βοΈ null |
| π’ | minimum-recommended-memory | βοΈ 499 | βοΈ CA10A2__AWS_Compute_Optimizer_Lambda_Func_Recs__r.has(INCOMPLIANT) | βοΈ null |
| π’ | eligibility-memory-boundary | βοΈ 499 | βοΈ CA10A2__AWS_Compute_Optimizer_Lambda_Func_Recs__r.has(INCOMPLIANT) | βοΈ null |
| π’ | missing-analyzed-invocations | βοΈ 599 | βοΈ CA10A2__AWS_Compute_Optimizer_Lambda_Func_Recs__r.has(UNDETERMINED) | βοΈ null |
| π’ | insufficient-analyzed-invocations | βοΈ 599 | βοΈ CA10A2__AWS_Compute_Optimizer_Lambda_Func_Recs__r.has(UNDETERMINED) | βοΈ null |
| π’ | zero-analyzed-invocations | βοΈ 599 | βοΈ CA10A2__AWS_Compute_Optimizer_Lambda_Func_Recs__r.has(UNDETERMINED) | βοΈ null |
| π’ | invocation-eligibility-boundary | βοΈ 499 | βοΈ CA10A2__AWS_Compute_Optimizer_Lambda_Func_Recs__r.has(INCOMPLIANT) | βοΈ null |
| π’ | rolling-count-does-not-replace-analyzed-count | βοΈ 499 | βοΈ CA10A2__AWS_Compute_Optimizer_Lambda_Func_Recs__r.has(INCOMPLIANT) | βοΈ null |
| π’ | observed-optimized-0 | βοΈ 699 | βοΈ CA10A2__AWS_Compute_Optimizer_Lambda_Func_Recs__r.has(COMPLIANT) | βοΈ null |
| π’ | observed-optimized-1 | βοΈ 699 | βοΈ CA10A2__AWS_Compute_Optimizer_Lambda_Func_Recs__r.has(COMPLIANT) | βοΈ null |
| π’ | observed-overprovisioned-2 | βοΈ 499 | βοΈ CA10A2__AWS_Compute_Optimizer_Lambda_Func_Recs__r.has(INCOMPLIANT) | βοΈ null |
| π’ | observed-overprovisioned-3 | βοΈ 499 | βοΈ CA10A2__AWS_Compute_Optimizer_Lambda_Func_Recs__r.has(INCOMPLIANT) | βοΈ null |
| π’ | observed-underprovisioned-4 | βοΈ 699 | βοΈ CA10A2__AWS_Compute_Optimizer_Lambda_Func_Recs__r.has(COMPLIANT) | βοΈ null |
| π’ | observed-underprovisioned-5 | βοΈ 699 | βοΈ CA10A2__AWS_Compute_Optimizer_Lambda_Func_Recs__r.has(COMPLIANT) | βοΈ null |
| π’ | observed-overprovisioned-zero-savings | βοΈ 499 | βοΈ CA10A2__AWS_Compute_Optimizer_Lambda_Func_Recs__r.has(INCOMPLIANT) | βοΈ null |
Generation Bundleβ
| File | MD5 | |
|---|---|---|
| Open | /ce/ca/aws/lambda/function-memory-overprovisioned/policy.yaml | 0B91F61EA6E3BC52D68341E7FC01A95A |
| Open | /ce/ca/aws/lambda/function-memory-overprovisioned/prod.logic.yaml | BAC6C1F2CBEE2A13A5F830164AC7D130 |
| Open | /ce/ca/aws/lambda/function-memory-overprovisioned/test-data.json | 96C69E14847B5CEF30FDE075964B6FDD |
| Open | /types/CA10__CaAwsLambdaFunction__c/object.extracts.yaml | 6BD1B54FA0262220283211F236C080FA |
| Open | /types/CA10A2__CaAwsComputeOptimizerLambdaFuncRec__c/object.extracts.yaml | A6569320CC3A1CF4A8BC41DB4503A918 |
Available Commandsβ
repo-manager policies generate FULL /ce/ca/aws/lambda/function-memory-overprovisioned/prod.logic.yaml
repo-manager policies generate DEBUG /ce/ca/aws/lambda/function-memory-overprovisioned/prod.logic.yaml
repo-manager policies generate CAPTURE_TEST_DATA /ce/ca/aws/lambda/function-memory-overprovisioned/prod.logic.yaml
repo-manager policies generate TESTS /ce/ca/aws/lambda/function-memory-overprovisioned/prod.logic.yaml
# Execute tests
repo-manager policies test /ce/ca/aws/lambda/function-memory-overprovisioned/prod.logic.yaml
Contentβ
---
inputType: "CA10__CaAwsLambdaFunction__c"
importExtracts:
- file: "/types/CA10__CaAwsLambdaFunction__c/object.extracts.yaml"
testData:
- file: "test-data.json"
conditions:
- status: "INAPPLICABLE"
currentStateMessage: "Only the $LATEST function configuration is evaluated."
check:
NOT_EQUAL:
left:
EXTRACT: "CA10__version__c"
right:
TEXT: "$LATEST"
- status: "INAPPLICABLE"
currentStateMessage: "Memory recommendations are unavailable for functions configured with more than 1792 MB."
check:
GREATER_THAN:
left:
EXTRACT: "CA10__memorySizeMb__c"
right:
NUMBER: 1792
- status: "UNDETERMINED"
currentStateMessage: "The configured memory size is below the 128 MB minimum."
check:
LESS_THAN:
left:
EXTRACT: "CA10__memorySizeMb__c"
right:
NUMBER: 128
- status: "INCOMPLIANT"
currentStateMessage: "The function's memory is overprovisioned; a lower memory setting is recommended."
remediationMessage: "Benchmark the recommended memory setting and confirm performance and cost savings before applying it."
check:
RELATED_LIST_HAS:
status: "INCOMPLIANT"
relationshipName: "CA10A2__AWS_Compute_Optimizer_Lambda_Func_Recs__r"
- status: "UNDETERMINED"
currentStateMessage: "Memory overprovisioning cannot be determined from the available recommendation data."
check:
RELATED_LIST_HAS:
status: "UNDETERMINED"
relationshipName: "CA10A2__AWS_Compute_Optimizer_Lambda_Func_Recs__r"
- status: "COMPLIANT"
currentStateMessage: "No memory overprovisioning was found for the function."
check:
RELATED_LIST_HAS:
status: "COMPLIANT"
relationshipName: "CA10A2__AWS_Compute_Optimizer_Lambda_Func_Recs__r"
otherwise:
status: "UNDETERMINED"
currentStateMessage: "No usable memory recommendation is available for the function."
relatedLists:
- relationshipName: "CA10A2__AWS_Compute_Optimizer_Lambda_Func_Recs__r"
importExtracts:
- file: "/types/CA10A2__CaAwsComputeOptimizerLambdaFuncRec__c/object.extracts.yaml"
- file: "/types/CA10__CaAwsLambdaFunction__c/object.extracts.yaml"
conditions:
- status: "INAPPLICABLE"
currentStateMessage: "The recommendation applies to a published function version."
check:
NOT_EQUAL:
left:
EXTRACT: "CA10A2__lambdaFunctionVersion__c"
right:
TEXT: "$LATEST"
- status: "UNDETERMINED"
currentStateMessage: "The recommendation's analysis period is not 14 days."
check:
NOT_EQUAL:
left:
EXTRACT: "CA10A2__lookbackPeriodInDays__c"
right:
NUMBER: 14
- status: "UNDETERMINED"
currentStateMessage: "The analysis includes fewer than the required 50 invocations."
check:
LESS_THAN:
left:
EXTRACT: "CA10A2__numberOfInvocations__c"
right:
NUMBER: 50
- status: "UNDETERMINED"
currentStateMessage: "The analyzed memory size does not match the function's configured memory."
check:
NOT_EQUAL:
left:
EXTRACT: "CA10A2__currentMemorySize__c"
right:
EXTRACT: "CA10A2__lambdaFunction__r.CA10__memorySizeMb__c"
- status: "COMPLIANT"
currentStateMessage: "The function's memory allocation is optimized for the analyzed workload."
check:
AND:
args:
- IS_EQUAL:
left:
EXTRACT: "CA10A2__finding__c"
right:
TEXT: "Optimized"
- IS_EMPTY:
arg:
EXTRACT: "CA10A2__findingReasonCodes__c"
- status: "INCOMPLIANT"
currentStateMessage: "The function's memory is overprovisioned; a lower memory setting is recommended."
remediationMessage: "Benchmark the recommended memory setting and confirm performance and cost savings before applying it."
check:
AND:
args:
- IS_EQUAL:
left:
EXTRACT: "CA10A2__finding__c"
right:
TEXT: "NotOptimized"
- IS_EQUAL:
left:
EXTRACT: "CA10A2__findingReasonCodes__c"
right:
TEXT: "MemoryOverprovisioned"
- LESS_THAN:
left:
JSON_QUERY_NUMBER:
arg:
EXTRACT: "caJsonFrom__memorySizeRecommendationOptionsJson__c"
expression: '[?rank == `1` && memorySize >= `128`].memorySize | [0]'
undeterminedIf:
evaluationError: "The recommended memory size could not be retrieved."
resultTypeMismatch: "The recommended memory size is not a number."
resultIsEmpty: "The top-ranked recommendation has no valid memory size of at least 128 MB."
right:
EXTRACT: "CA10A2__currentMemorySize__c"
- status: "COMPLIANT"
currentStateMessage: "The function's memory is underprovisioned for the analyzed workload."
check:
AND:
args:
- IS_EQUAL:
left:
EXTRACT: "CA10A2__finding__c"
right:
TEXT: "NotOptimized"
- IS_EQUAL:
left:
EXTRACT: "CA10A2__findingReasonCodes__c"
right:
TEXT: "MemoryUnderprovisioned"
otherwise:
status: "UNDETERMINED"
currentStateMessage: "The recommendation's memory finding is unrecognized or inconsistent."