Last active
September 30, 2020 14:11
-
-
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
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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. | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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