Skip to content

Commit

Permalink
fix normalizeNullValues when apply resource to accept an empty list
Browse files Browse the repository at this point in the history
and doesn't use a null src otherwise a drift is generate when refresh resource
Fixes #766
  • Loading branch information
jeremmfr committed Jun 18, 2021
1 parent 7a6c389 commit 16ccf25
Showing 1 changed file with 6 additions and 2 deletions.
8 changes: 6 additions & 2 deletions helper/schema/grpc_provider.go
Original file line number Diff line number Diff line change
Expand Up @@ -1261,13 +1261,17 @@ func normalizeNullValues(dst, src cty.Value, apply bool) cty.Value {
}

// Handle null/empty changes for collections during apply.
// A change between null and empty values prefers src to make sure the state
// A change from emtpy to null values prefers src to make sure the state
// is consistent between plan and apply.
// A change from null to empty values prefers dst to not generate drifts of
// values when refresh.
if ty.IsCollectionType() && apply {
dstEmpty := !dst.IsNull() && dst.IsKnown() && dst.LengthInt() == 0
srcEmpty := !src.IsNull() && src.IsKnown() && src.LengthInt() == 0

if (src.IsNull() && dstEmpty) || (srcEmpty && dst.IsNull()) {
if src.IsNull() && dstEmpty {
return dst
} else if srcEmpty && dst.IsNull() {
return src
}
}
Expand Down

0 comments on commit 16ccf25

Please sign in to comment.