it's possible to get a nil diff in PreApply

Looking through the operations in node_resource_apply and
node_resource_destroy, there are multiple nil checks for diffApply, so
one we need to continue to assume that the diff can be nil through there
until we ensure that it is non-nill in all cases.

So regardless of how we came to get a nil diff in the UiHook PreApply
method, we need to check it.
This commit is contained in:
James Bardin 2017-04-28 21:58:55 -04:00
parent 8101a60b72
commit 947db2304a
2 changed files with 9 additions and 0 deletions

View File

@ -42,6 +42,10 @@ func (h *CountHook) PreApply(
h.Lock()
defer h.Unlock()
if d.Empty() {
return terraform.HookActionContinue, nil
}
if h.pending == nil {
h.pending = make(map[string]countHookAction)
}

View File

@ -59,6 +59,11 @@ func (h *UiHook) PreApply(
d *terraform.InstanceDiff) (terraform.HookAction, error) {
h.once.Do(h.init)
// if there's no diff, there's nothing to output
if d.Empty() {
return terraform.HookActionContinue, nil
}
id := n.HumanId()
op := uiResourceModify