From 2fd016738a6c6a0dcfbdc722c8497ac13dfeccd0 Mon Sep 17 00:00:00 2001 From: Martin Atkins Date: Thu, 29 Nov 2018 16:47:18 -0800 Subject: [PATCH] core: NodePlanDeposedResourceInstanceObject populate EvalReadStateDeposed The Provider field is required and will cause a panic if not populated. --- terraform/eval_state.go | 7 +++++++ terraform/node_resource_destroy_deposed.go | 1 + 2 files changed, 8 insertions(+) diff --git a/terraform/eval_state.go b/terraform/eval_state.go index 9c2856301..82cf7838c 100644 --- a/terraform/eval_state.go +++ b/terraform/eval_state.go @@ -88,6 +88,13 @@ type EvalReadStateDeposed struct { } func (n *EvalReadStateDeposed) Eval(ctx EvalContext) (interface{}, error) { + if n.Provider == nil || *n.Provider == nil { + panic("EvalReadStateDeposed used with no Provider object") + } + if n.ProviderSchema == nil || *n.ProviderSchema == nil { + panic("EvalReadStateDeposed used with no ProviderSchema object") + } + key := n.Key if key == states.NotDeposed { return nil, fmt.Errorf("EvalReadStateDeposed used with no instance key; this is a bug in Terraform and should be reported") diff --git a/terraform/node_resource_destroy_deposed.go b/terraform/node_resource_destroy_deposed.go index 0c4a272ab..67c46913f 100644 --- a/terraform/node_resource_destroy_deposed.go +++ b/terraform/node_resource_destroy_deposed.go @@ -88,6 +88,7 @@ func (n *NodePlanDeposedResourceInstanceObject) EvalTree() EvalNode { }, &EvalReadStateDeposed{ Addr: addr.Resource, + Provider: &provider, ProviderSchema: &providerSchema, Key: n.DeposedKey, Output: &state,