34 lines
788 B
Terraform
34 lines
788 B
Terraform
resource "minio_s3_bucket" "this" {
|
|
bucket = var.name
|
|
acl = "private"
|
|
}
|
|
|
|
resource "minio_s3_bucket_versioning" "this" {
|
|
count = var.versioning ? 1 : 0
|
|
bucket = minio_s3_bucket.this.bucket
|
|
|
|
versioning_configuration {
|
|
status = "Enabled"
|
|
}
|
|
}
|
|
|
|
resource "minio_ilm_policy" "this" {
|
|
bucket = minio_s3_bucket.this.bucket
|
|
|
|
rule {
|
|
id = "cleanup"
|
|
status = "Enabled"
|
|
expiration = var.expire_days == null ? null : "${var.expire_days}d"
|
|
dynamic "noncurrent_expiration" {
|
|
for_each = var.versioning ? [1] : []
|
|
content {
|
|
days = "${var.noncurrent_days}d"
|
|
}
|
|
}
|
|
expired_object_delete_marker = var.versioning && var.expire_days == null
|
|
abort_incomplete_multipart_upload {
|
|
days_after_initiation = "3d"
|
|
}
|
|
}
|
|
}
|