Enabling S3 versioning will enable easy recovery from both unintended user actions, like deletes and overwrites.
In AWS Console -
In Terraform -
Current AWS Provider versions:
AWS Provider versions prior to 3.x (field is deprecated starting in version 3.x):
References:
https://docs.aws.amazon.com/AmazonS3/latest/userguide/manage-versioning-examples.html
https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/s3_bucket_versioning
https://registry.terraform.io/providers/hashicorp/aws/2.70.4/docs/resources/s3_bucket#versioning