diff --git a/terraform/context.go b/terraform/context.go index d15b9f6c2f..80f6109194 100644 --- a/terraform/context.go +++ b/terraform/context.go @@ -435,7 +435,7 @@ func (c *Context) Apply() (*State, error) { } // Walk the graph - walker, err := c.walk(real, shadow, operation) + walker, err := c.walk(real, real, operation) if len(walker.ValidationErrors) > 0 { err = multierror.Append(err, walker.ValidationErrors...) } diff --git a/terraform/shadow_resource_provider.go b/terraform/shadow_resource_provider.go index bb80be31db..816d344a21 100644 --- a/terraform/shadow_resource_provider.go +++ b/terraform/shadow_resource_provider.go @@ -510,7 +510,7 @@ func (p *shadowResourceProviderShadow) Apply( p.ErrorLock.Lock() defer p.ErrorLock.Unlock() p.Error = multierror.Append(p.Error, fmt.Errorf( - "Unknown 'apply' shadow value: %#v", raw)) + "Unknown 'apply' shadow value for %q: %#v", key, raw)) return nil, nil } diff --git a/terraform/transform_orphan.go b/terraform/transform_orphan.go index f47f51681d..27f032251b 100644 --- a/terraform/transform_orphan.go +++ b/terraform/transform_orphan.go @@ -209,6 +209,8 @@ func (n *graphNodeOrphanResource) EvalTree() EvalNode { // Build instance info info := &InstanceInfo{Id: n.ResourceKey.String(), Type: n.ResourceKey.Type} + info.uniqueExtra = "destroy" + seq.Nodes = append(seq.Nodes, &EvalInstanceInfo{Info: info}) // Each resource mode has its own lifecycle