{Terraform} for String DirectiveでLoop

 

参考文献: Terraform Up & Running (Yevgeniy Brikman著)
https://itnext.io/terraform-count-for-each-and-for-loops-1018526c2047


cat <<-'EOF' > variables.tf
variable "names" {
  description = "names"
  type = list(string)
  default = [ "user01", "user02" ]
}

variable "tags" {
  type    = map(string)
  default = {
    "key1" = "val1",
    "key2" = "val2"
  }
}

EOF

cat <<-'EOF' > main.tf


resource "local_file" "file01" {
  content  = "%{ for a, b in var.tags }Key:${a}\nValue:${b}\n%{ endfor }"
  filename = "file01.txt"
}

EOF

 

cat <<-'EOF' > outputs.tf

output "for_directive1" {
  value = "%{ for name in var.names }${name}, %{ endfor }"
}


output "for_directive2" {
  value = "%{ for i, name in var.names }${i} ${name}, %{ endfor }"
}

EOF


terraform init
terraform fmt
terraform apply -auto-approve

cat file01.txt

terraform destroy -auto-approve