Skip to content

Instantly share code, notes, and snippets.

@arnobroekhof
Last active September 30, 2020 14:11
Show Gist options
  • Save arnobroekhof/ae51624702462642f6e2100a9838d282 to your computer and use it in GitHub Desktop.
Save arnobroekhof/ae51624702462642f6e2100a9838d282 to your computer and use it in GitHub Desktop.
Terraform 0.11.x loop through a map and create files with content based on a maps --> key, value
variable "object_list" {
type = "map"
default = {
content1 = "this is example content 1",
content2 = "this is example content 2"
}
}
resource "local_file" "local_files" {
count = "${length(var.object_list)}" # perform this action based on the amount of items in the map
filename = "${element(keys(var.object_list), count.index)}" # lookup the key name based on the current count index.
content = "${lookup(var.object_list, "${element(keys(var.object_list), count.index)}")}" # lookup the key's value based on a double interpolation.
}
@confiq
Copy link

confiq commented Jan 23, 2020

how would you do this in 0.12?

@itskornbailey
Copy link

how would you do this in 0.12?

You dont need to do this in terraform 12, terraform 12 introduces for and foreach which makes the approach much easier and cleaner
https://www.terraform.io/docs/configuration/expressions.html

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment