# db region forward spec T17 (J4): the deployment bucket expires everything # under db-reads/: current versions a day after they are written, # noncurrent versions a day after they become noncurrent, and expired # delete markers. It is the forwarded read protocol's only deletion. mock_provider "aws" {} variables { deployment_bucket_name = "dep" data_bucket_name = "data" } run "db_reads_expire_with_their_versions_and_markers" { command = plan assert { condition = length([ for r in aws_s3_bucket_lifecycle_configuration.deployment.rule : r if r.id == "db-reads-expire" && r.status == "Enabled" && one(r.filter).prefix == "db-reads/" && one(r.expiration).days == 1 && one(r.noncurrent_version_expiration).noncurrent_days == 1 ]) == 1 error_message = "db-reads/ must expire current versions after 1 day and noncurrent versions 1 day after they become noncurrent" } assert { condition = length([ for r in aws_s3_bucket_lifecycle_configuration.deployment.rule : r if r.id == "db-reads-delete-markers" && r.status == "Enabled" && one(r.filter).prefix == "db-reads/" && one(r.expiration).expired_object_delete_marker == true ]) == 1 error_message = "db-reads/ must remove expired delete markers" } assert { condition = length([ for r in aws_s3_bucket_lifecycle_configuration.deployment.rule : r if r.id == "geoip-noncurrent" && one(r.filter).prefix == "control/geoip/" ]) == 1 error_message = "the control/geoip/ rule must stay as it was" } }