From fec8e95a097c00adcd69b6240d264e55fa7f97ba Mon Sep 17 00:00:00 2001 From: Armon Dadgar Date: Mon, 14 Jul 2014 16:41:57 -0700 Subject: [PATCH] terraform: Ensure ConnInfo is initialized --- terraform/context.go | 8 ++++++++ terraform/context_test.go | 4 ++++ 2 files changed, 12 insertions(+) diff --git a/terraform/context.go b/terraform/context.go index 03394a6a5..467e3ee92 100644 --- a/terraform/context.go +++ b/terraform/context.go @@ -467,6 +467,14 @@ func (c *Context) applyWalkFn() depgraph.WalkFunc { diff.init() } + // If we do not have any connection info, initialize + if r.State.ConnInfo == nil { + r.State.ConnInfo = &ResourceConnectionInfo{} + } + if r.State.ConnInfo.Raw == nil { + r.State.ConnInfo.Raw = make(map[string]interface{}) + } + // Remove any output values from the diff for k, ad := range diff.Attributes { if ad.Type == DiffAttrOutput { diff --git a/terraform/context_test.go b/terraform/context_test.go index 9ef8b451d..f91425256 100644 --- a/terraform/context_test.go +++ b/terraform/context_test.go @@ -513,6 +513,10 @@ func TestContextApply_Provisioner_ConnInfo(t *testing.T) { pr := testProvisioner() p.ApplyFn = func(s *ResourceState, d *ResourceDiff) (*ResourceState, error) { + if s.ConnInfo == nil || s.ConnInfo.Raw == nil { + t.Fatalf("ConnInfo not initialized") + } + result, _ := testApplyFn(s, d) result.ConnInfo = &ResourceConnectionInfo{ Raw: map[string]interface{}{