Skip to content

Commit

Permalink
add-main-to-branch
Browse files Browse the repository at this point in the history
  • Loading branch information
ashle001 committed Sep 14, 2020
1 parent acf6a52 commit 4029f0c
Showing 1 changed file with 103 additions and 0 deletions.
103 changes: 103 additions & 0 deletions main.tf.bak
Original file line number Diff line number Diff line change
@@ -0,0 +1,103 @@
/* = About =
* = Usage =
* module "mybucket" {
* source = "git@github.e.it.census.gov:terraform-modules/aws-t26-s3.git"
*
* bucket_name = "myt26bucket"
* }
*
*/

locals {
enforced_tags = {
"boc:safeguard" = "title26"
}
}

#---
# s3 bucket
#---
resource "aws_s3_bucket" "this" {
bucket = var.bucket_name
acl = "private"

server_side_encryption_configuration {
rule {
apply_server_side_encryption_by_default {
kms_master_key_id = var.kms_key_id
sse_algorithm = "aws:kms"
}
}
}

versioning {
enabled = true
}

logging {
target_bucket = var.access_log_bucket
target_prefix = format("%s/%s/", var.access_log_bucket_prefix, var.access_log_bucket)
}

lifecycle {
prevent_destroy = true
}

tags = merge(
var.tags,
local.enforced_tags,
map("Name", var.bucket_name)
)
}

data "aws_iam_policy_document" "this" {
statement {
sid = "DenyIncorrectEncryptionHeader"
effect = "Deny"
actions = ["s3:PutObject"]
principals {
type = "AWS"
identifiers = ["*"]
}
resources = ["${aws_s3_bucket.this.arn}/*"]
condition {
test = "StringNotEquals"
variable = "s3:x-amz-server-side-encryption"
values = ["aws:kms"]
}
}
statement {
sid = "DenyUnEncryptedObjectUploads"
effect = "Deny"
actions = ["s3:PutObject"]
principals {
type = "AWS"
identifiers = ["*"]
}
resources = ["${aws_s3_bucket.this.arn}/*"]
condition {
test = "Null"
variable = "s3:x-amz-server-side-encryption"
values = ["true"]
}
}
}

resource "null_resource" "s3_create_wait" {
triggers = {
bucket = aws_s3_bucket.this.id
}
provisioner "local-exec" {
when = create
command = "sleep 120"
}
}

resource "aws_s3_bucket_object" "this_objects" {
bucket = aws_s3_bucket.this.id
count = length(var.bucket_folders)
key = format("%s/", element(var.bucket_folders, count.index))
source = "/dev/null"

depends_on = [null_resource.s3_create_wait]
}

0 comments on commit 4029f0c

Please sign in to comment.