terraform/plans/objchange
James Bardin ef086399f9 compare empty strings as null in sets
The Legacy SDK cannot handle missing strings from objects in sets, and
will insert an empty string when planning the missing value. This
subverts the `couldHaveUnknownBlockPlaceholder` check, and causes
errors when `dynamic` is used with NestingSet blocks.

We don't have a separate codepath to handle the internals of
AssertObjectCompatible differently for the legacy SDK, but we can treat
empty strings as null strings within set objects to avoid the failed
assertions.
2020-10-19 18:07:45 -04:00
..
action.go backend/local: treat output changes as side-effects to be applied 2020-05-29 07:36:40 -07:00
all_null.go configs/configschema: Introduce the NestingGroup mode for blocks 2019-04-10 14:53:52 -07:00
compatible.go compare empty strings as null in sets 2020-10-19 18:07:45 -04:00
compatible_test.go compare empty strings as null in sets 2020-10-19 18:07:45 -04:00
doc.go
lcs.go Support lists of deeply marked values 2020-09-25 13:33:44 -04:00
lcs_test.go Support lists of deeply marked values 2020-09-25 13:33:44 -04:00
normalize_obj.go configs/configschema: Introduce the NestingGroup mode for blocks 2019-04-10 14:53:52 -07:00
normalize_obj_test.go plans/objchange: Don't panic when dynamic-typed attrs are present 2019-03-11 08:18:26 -07:00
objchange.go handle non-null, but empty NestingMap in a set 2020-10-15 21:21:14 -04:00
objchange_test.go handle non-null, but empty NestingMap in a set 2020-10-15 21:21:14 -04:00
plan_valid.go configs/configschema: Introduce the NestingGroup mode for blocks 2019-04-10 14:53:52 -07:00
plan_valid_test.go plans/objchange: Don't panic when prior state contains nested map blocks 2019-03-18 09:16:50 -07:00