From fead5872e5ca1672fda0998f8d630cd20f410e8c Mon Sep 17 00:00:00 2001 From: Luke Amdor Date: Tue, 2 Dec 2014 13:53:09 -0600 Subject: [PATCH] Fix for multivars when modulestate not created yet --- terraform/context.go | 5 ++--- terraform/terraform_test.go | 3 +++ .../test-fixtures/plan-module-multi-var/child/main.tf | 2 ++ terraform/test-fixtures/plan-module-multi-var/main.tf | 7 ++++++- 4 files changed, 13 insertions(+), 4 deletions(-) diff --git a/terraform/context.go b/terraform/context.go index 91811fc91f..d45420c587 100644 --- a/terraform/context.go +++ b/terraform/context.go @@ -1705,7 +1705,6 @@ func (c *walkContext) computeResourceMultiVariable( } // Get the relevant module - // TODO: Not use only root module module := c.Context.state.ModuleByPath(c.Path) count, err := cr.Count() @@ -1716,8 +1715,8 @@ func (c *walkContext) computeResourceMultiVariable( err) } - // If we have no count, return empty - if count == 0 { + // If we have no module in the state yet or count, return empty + if module == nil || count == 0 { return "", nil } diff --git a/terraform/terraform_test.go b/terraform/terraform_test.go index ac1ac0613b..7956a94d54 100644 --- a/terraform/terraform_test.go +++ b/terraform/terraform_test.go @@ -844,6 +844,9 @@ STATE: const testTerraformPlanModuleMultiVarStr = ` DIFF: +CREATE: aws_instance.parent.0 +CREATE: aws_instance.parent.1 + module.child: CREATE: aws_instance.bar.0 baz: "" => "baz" diff --git a/terraform/test-fixtures/plan-module-multi-var/child/main.tf b/terraform/test-fixtures/plan-module-multi-var/child/main.tf index ca0b9c7ed2..ad8dd6073e 100644 --- a/terraform/test-fixtures/plan-module-multi-var/child/main.tf +++ b/terraform/test-fixtures/plan-module-multi-var/child/main.tf @@ -1,3 +1,5 @@ +variable "things" {} + resource "aws_instance" "bar" { baz = "baz" count = 2 diff --git a/terraform/test-fixtures/plan-module-multi-var/main.tf b/terraform/test-fixtures/plan-module-multi-var/main.tf index 9b9c77f3d1..9fa2330fe1 100644 --- a/terraform/test-fixtures/plan-module-multi-var/main.tf +++ b/terraform/test-fixtures/plan-module-multi-var/main.tf @@ -1,4 +1,9 @@ +resource "aws_instance" "parent" { + count = 2 +} + module "child" { - source = "./child" + source = "./child" + things = "${join(",", aws_instance.bar.*.private_ip)}" }