1 parent
64be99308b
commit
5cba142003
38 files changed
+565
-353
No files matched your search
@@ -0,0 +1,33 @@
|
||||
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"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
output "name" {
|
||||
value = minio_s3_bucket.this.bucket
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
variable "name" {
|
||||
type = string
|
||||
}
|
||||
|
||||
variable "versioning" {
|
||||
type = bool
|
||||
}
|
||||
|
||||
variable "noncurrent_days" {
|
||||
type = number
|
||||
}
|
||||
|
||||
variable "expire_days" {
|
||||
type = number
|
||||
default = null
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
terraform {
|
||||
required_providers {
|
||||
minio = {
|
||||
source = "aminueza/minio"
|
||||
version = ">= 3.44.0"
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user