Expiration Lifecycle on versioning-enabled buckets

If versioning is enabled or suspended on a bucket, a regular day or date based Expiration lifecycle action creates a delete marker on the expired object, as opposed to permanently deleting the current version. This is similar to how a DELETE object creates a delete marker in this situation.

Expiration lifecycle creates only the delete marker if the object’s current version is not already a delete marker. This prevents unnecessarily adding a delete marker to the object’s version history every day. If the user writes a new version to that object, a delete marker is created again once that new version expires.

In addition, a regular Expiration action will also delete Expired Object Delete Markers based on the configured days or date parameter.