Path: content/Tips/Terraform/default.md
Terraform
Contitionally process a set of files
This takes a folder full of SQL files and runs them through the templating engine
to insert variables into the file, provided we are in the prod
environment. They
get written into a bucket (so care needs to be taken with sensitive variables)
locals {
templatevars = {
manager_table = data.aws_ssm_parameter.manager_table.value
}
resource "aws_s3_object" "templated_sql_objects" {
for_each = var.ENVIRONMENT == "prod" ? fileset("prodfiles/", "*.sql") : []
bucket = aws_s3_bucket.prod-sql-scripts.id
key = each.key
content = templatefile("prodfiles/${each.key}", local.templatevars)
}
The template files need to contain ${manager_table}
to include the templated variable.
Last updated : 14 November 2024