Skip to content

Instantly share code, notes, and snippets.

@lkrimphove
Last active August 7, 2023 21:42
Show Gist options
  • Save lkrimphove/12e73963c9b7aae9013bd157b80a928f to your computer and use it in GitHub Desktop.
Save lkrimphove/12e73963c9b7aae9013bd157b80a928f to your computer and use it in GitHub Desktop.
data "http" "mime_types" {
url = "https://gist.githubusercontent.com/lkrimphove/46988dc2ac63ad5ad9c95e6109e3c37e/raw/2349abeb136f1f8dbe91c661c928a5ce859432f9/mime.json"
request_headers = {
Accept = "application/json"
}
}
locals {
mime_types = jsondecode(data.http.mime_types.response_body)
}
### BUCKETS
module "input_bucket" {
source = "terraform-aws-modules/s3-bucket/aws"
bucket = var.input_bucket
acl = "private"
control_object_ownership = true
object_ownership = "ObjectWriter"
}
module "output_bucket" {
source = "terraform-aws-modules/s3-bucket/aws"
bucket = var.output_bucket
acl = "private"
control_object_ownership = true
object_ownership = "ObjectWriter"
}
resource "aws_s3_object" "object" {
for_each = fileset("../src/website", "*")
bucket = module.output_bucket.s3_bucket_id
key = each.value
acl = "private"
source = "../src/website/${each.value}"
content_type = lookup(local.mime_types, split(".", each.value)[1], null)
etag = filemd5("../src/website/${each.value}")
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment