Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 3 additions & 5 deletions terraform/modules/03.bucket_s3/main.tf
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Módulo S3 para Certified Builder API
# Responsável por criar o bucket S3 para armazenar os arquivos do projeto

resource "aws_s3_bucket" "bucket" {
resource "aws_s3_bucket" "certificates_bucket" {
bucket = var.bucket_name
force_destroy = true # Deleta o bucket mesmo que contenha objetos
tags = {
Expand All @@ -14,9 +14,9 @@ resource "aws_s3_bucket" "bucket" {

# Configuração de ciclo de vida para o bucket S3
# Define regras para expiração automática de objetos baseado em prefixos e tempo
resource "aws_s3_bucket_lifecycle_configuration" "bucket_lifecycle" {
resource "aws_s3_bucket_lifecycle_configuration" "certificates_bucket_lifecycle_config" {
count = length(var.lifecycle_rule) > 0 ? 1 : 0
bucket = aws_s3_bucket.bucket.id
bucket = aws_s3_bucket.certificates_bucket.id

dynamic "rule" {
for_each = var.lifecycle_rule
Expand All @@ -38,6 +38,4 @@ resource "aws_s3_bucket_lifecycle_configuration" "bucket_lifecycle" {
}
}
}

depends_on = [aws_s3_bucket.bucket]
}
10 changes: 5 additions & 5 deletions terraform/modules/03.bucket_s3/outputs.tf
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,15 @@

output "bucket_name" {
description = "Nome do bucket S3"
value = aws_s3_bucket.bucket.id
value = aws_s3_bucket.certificates_bucket.id
}

output "bucket_arn" {
description = "ARN do bucket S3"
value = aws_s3_bucket.bucket.arn
value = aws_s3_bucket.certificates_bucket.arn
}

output "lifecycle_rule" {
description = "Regras de ciclo de vida dos objetos S3"
value = length(aws_s3_bucket_lifecycle_configuration.bucket_lifecycle) > 0 ? aws_s3_bucket_lifecycle_configuration.bucket_lifecycle[0] : null
}
description = "Lista de regras de ciclo de vida configuradas para o bucket S3 (sempre retorna uma lista, vazia se não houver regras)"
value = aws_s3_bucket_lifecycle_configuration.certificates_bucket_lifecycle_config[*].rule
}