From 76b98057048dc63e2bd5f63eddb72c6a3adae88e Mon Sep 17 00:00:00 2001 From: Leandro Damascena Date: Thu, 26 Sep 2024 16:31:23 +0100 Subject: [PATCH] Fix etage and size required fields --- aws_lambda_powertools/utilities/parser/models/s3.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/aws_lambda_powertools/utilities/parser/models/s3.py b/aws_lambda_powertools/utilities/parser/models/s3.py index 4de89d42c78..282a66f96fd 100644 --- a/aws_lambda_powertools/utilities/parser/models/s3.py +++ b/aws_lambda_powertools/utilities/parser/models/s3.py @@ -103,8 +103,10 @@ class S3RecordModel(BaseModel): def validate_s3_object(cls, values): event_name = values.get("eventName") s3_object = values.get("s3").get("object") - if "ObjectRemoved" not in event_name and (s3_object.get("size") is None or s3_object.get("eTag") is None): - raise ValueError("S3Object.size and S3Object.eTag are required for non-ObjectRemoved events") + if ":Delete" not in event_name and (s3_object.get("size") is None or s3_object.get("eTag") is None): + raise ValueError( + "Size and eTag fields are required for all events except ObjectRemoved:* and LifecycleExpiration:*.", + ) return values