iac_modules/terraform-hcl-standard/aws-cloud/bootstrap/state/main.tf
2025-12-24 14:28:19 +08:00

48 lines
1006 B
HCL

resource "aws_s3_bucket" "state" {
count = local.create_bucket ? 1 : 0
bucket = local.bucket_name
tags = merge(
{
Name = local.bucket_name
Environment = local.environment
},
local.tags,
)
}
data "aws_s3_bucket" "existing" {
count = local.create_bucket ? 0 : 1
bucket = local.bucket_name
}
resource "aws_s3_bucket_versioning" "versioning" {
count = local.create_bucket ? 1 : 0
bucket = local.bucket_id
versioning_configuration {
status = "Enabled"
}
}
resource "aws_s3_bucket_server_side_encryption_configuration" "sse" {
count = local.create_bucket ? 1 : 0
bucket = local.bucket_id
rule {
apply_server_side_encryption_by_default {
sse_algorithm = "AES256"
}
}
}
resource "aws_s3_bucket_public_access_block" "block" {
count = local.create_bucket ? 1 : 0
bucket = local.bucket_id
block_public_acls = true
block_public_policy = true
ignore_public_acls = true
restrict_public_buckets = true
}