# Get the AWS accountID data "aws_caller_identity" "current" { } # Create S3 buckets for logging and tfstate resource "aws_s3_bucket" "tflogs" { bucket = var.s3bucketlogs acl = "log-delivery-write" tags = { Name = var.s3bucketlogs "ManagedBy" = "terraform" } # Enable server-side encryption by default server_side_encryption_configuration { rule { apply_server_side_encryption_by_default { sse_algorithm = "AES256" } } } } resource "aws_s3_bucket" "tfstate" { bucket = var.s3bucketstate tags = { Name = var.s3bucketstate "ManagedBy" = "terraform" } logging { target_bucket = aws_s3_bucket.tflogs.id target_prefix = "log/" } versioning { enabled = true } lifecycle { prevent_destroy = true } # Enable server-side encryption by default server_side_encryption_configuration { rule { apply_server_side_encryption_by_default { sse_algorithm = "AES256" } } } } resource "aws_s3_bucket_policy" "tfstate" { bucket = aws_s3_bucket.tfstate.id policy = <