@@ -122,22 +122,6 @@ func (n *NodePlannableResourceInstanceOrphan) managedResourceExecute(ctx EvalCon
122122 }
123123 }
124124
125- shouldDefer := ctx .Deferrals ().ShouldDeferResourceInstanceChanges (n .Addr , n .Dependencies )
126-
127- var change * plans.ResourceInstanceChange
128- var pDiags tfdiags.Diagnostics
129- var deferred * providers.Deferred
130- if forget {
131- change , pDiags = n .planForget (ctx , oldState , "" )
132- diags = diags .Append (pDiags )
133- } else {
134- change , deferred , pDiags = n .planDestroy (ctx , oldState , "" )
135- diags = diags .Append (pDiags )
136- }
137- if diags .HasErrors () {
138- return diags
139- }
140-
141125 if ! n .skipRefresh && ! forget {
142126 // Refresh this instance even though it is going to be destroyed, in
143127 // order to catch missing resources. If this is a normal plan,
@@ -153,12 +137,7 @@ func (n *NodePlannableResourceInstanceOrphan) managedResourceExecute(ctx EvalCon
153137
154138 oldState = refreshedState
155139
156- if deferred == nil {
157- // set the overall deferred status if it wasn't already set.
158- deferred = refreshDeferred
159- }
160-
161- if deferred == nil && ! shouldDefer {
140+ if refreshDeferred == nil {
162141 // only update the state if we're not deferring the change
163142 diags = diags .Append (n .writeResourceInstanceState (ctx , refreshedState , refreshState ))
164143 if diags .HasErrors () {
@@ -167,6 +146,22 @@ func (n *NodePlannableResourceInstanceOrphan) managedResourceExecute(ctx EvalCon
167146 }
168147 }
169148
149+ shouldDefer := ctx .Deferrals ().ShouldDeferResourceInstanceChanges (n .Addr , n .Dependencies )
150+
151+ var change * plans.ResourceInstanceChange
152+ var pDiags tfdiags.Diagnostics
153+ var deferred * providers.Deferred
154+ if forget {
155+ change , pDiags = n .planForget (ctx , oldState , "" )
156+ diags = diags .Append (pDiags )
157+ } else {
158+ change , deferred , pDiags = n .planDestroy (ctx , oldState , "" )
159+ diags = diags .Append (pDiags )
160+ }
161+ if diags .HasErrors () {
162+ return diags
163+ }
164+
170165 // We might be able to offer an approximate reason for why we are
171166 // planning to delete this object. (This is best-effort; we might
172167 // sometimes not have a reason.)
0 commit comments