Skip to content

Commit ff1bafa

Browse files
fix(parser): make size and etag optional for LifecycleExpiration events in S3 (#5250)
Fix etage and size required fields
1 parent da25083 commit ff1bafa

File tree

1 file changed

+4
-2
lines changed
  • aws_lambda_powertools/utilities/parser/models

1 file changed

+4
-2
lines changed

Diff for: aws_lambda_powertools/utilities/parser/models/s3.py

+4-2
Original file line numberDiff line numberDiff line change
@@ -103,8 +103,10 @@ class S3RecordModel(BaseModel):
103103
def validate_s3_object(cls, values):
104104
event_name = values.get("eventName")
105105
s3_object = values.get("s3").get("object")
106-
if "ObjectRemoved" not in event_name and (s3_object.get("size") is None or s3_object.get("eTag") is None):
107-
raise ValueError("S3Object.size and S3Object.eTag are required for non-ObjectRemoved events")
106+
if ":Delete" not in event_name and (s3_object.get("size") is None or s3_object.get("eTag") is None):
107+
raise ValueError(
108+
"Size and eTag fields are required for all events except ObjectRemoved:* and LifecycleExpiration:*.",
109+
)
108110
return values
109111

110112

0 commit comments

Comments
 (0)