Description
When running plan on my code, I get these errors. I am running terraform 0.12.6 from terragrunt 0.19.14 on a Mac.
Error: Unsupported block type
on .terraform/modules/rabbitmq/ulamlabs-terraform-aws-rabbitmq-2889a04/main.tf line 49, in data "template_file" "cloud-init":
49: vars {
Blocks of type "vars" are not expected here. Did you mean to define argument
"vars"? If so, use the equals sign to assign it a value.
Error: Unsupported block type
on .terraform/modules/rabbitmq/ulamlabs-terraform-aws-rabbitmq-2889a04/main.tf line 105, in resource "aws_security_group" "rabbitmq_elb":
105: tags {
Blocks of type "tags" are not expected here. Did you mean to define argument
"tags"? If so, use the equals sign to assign it a value.
According to https://www.terraform.io/docs/providers/template/d/file.html and https://www.terraform.io/docs/providers/aws/r/security_group.html those should use an =
.
Found this in the upgrade docs (https://www.terraform.io/upgrade-guides/0-12.html):
Due to the design of the configuration language decoder in Terraform v0.11 and earlier, it was in many cases possible to interchange the argument syntax (with =) and the block syntax (with just braces) when dealing with map arguments vs. nested blocks. However, this led to some subtle bugs and limitations, so Terraform v0.12 now requires consistent usage of argument syntax for arguments and nested block syntax for nested blocks.
This leads me to believe that it should be safe to use an equal sign for pre 0.12 versions.