fix null check and shadowed state variable
The tainted state was checked against `cty.NilVal`, however it was always being set to a null value. The refreshed state value was being shadowed, and not used in the following plan.
This commit is contained in:
parent
e4e50617aa
commit
cb7a08c691
|
@ -905,7 +905,7 @@ func (n *NodeAbstractResourceInstance) plan(
|
||||||
// If our prior value was tainted then we actually want this to appear
|
// If our prior value was tainted then we actually want this to appear
|
||||||
// as a replace change, even though so far we've been treating it as a
|
// as a replace change, even though so far we've been treating it as a
|
||||||
// create.
|
// create.
|
||||||
if action == plans.Create && priorValTainted != cty.NilVal {
|
if action == plans.Create && !priorValTainted.IsNull() {
|
||||||
if createBeforeDestroy {
|
if createBeforeDestroy {
|
||||||
action = plans.CreateThenDelete
|
action = plans.CreateThenDelete
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -128,11 +128,12 @@ func (n *NodePlannableResourceInstance) managedResourceExecute(ctx EvalContext)
|
||||||
|
|
||||||
// Refresh, maybe
|
// Refresh, maybe
|
||||||
if !n.skipRefresh {
|
if !n.skipRefresh {
|
||||||
instanceRefreshState, refreshDiags := n.refresh(ctx, instanceRefreshState)
|
s, refreshDiags := n.refresh(ctx, instanceRefreshState)
|
||||||
diags = diags.Append(refreshDiags)
|
diags = diags.Append(refreshDiags)
|
||||||
if diags.HasErrors() {
|
if diags.HasErrors() {
|
||||||
return diags
|
return diags
|
||||||
}
|
}
|
||||||
|
instanceRefreshState = s
|
||||||
|
|
||||||
diags = diags.Append(n.writeResourceInstanceState(ctx, instanceRefreshState, n.Dependencies, refreshState))
|
diags = diags.Append(n.writeResourceInstanceState(ctx, instanceRefreshState, n.Dependencies, refreshState))
|
||||||
if diags.HasErrors() {
|
if diags.HasErrors() {
|
||||||
|
|
Loading…
Reference in New Issue