diff --git a/plans/objchange/compatible.go b/plans/objchange/compatible.go index fda7d83a2..9298dc48e 100644 --- a/plans/objchange/compatible.go +++ b/plans/objchange/compatible.go @@ -176,6 +176,12 @@ func assertValueCompatible(planned, actual cty.Value, path cty.Path) []error { return errs } + if !planned.IsKnown() { + // We didn't know what were going to end up with during plan, so + // anything goes during apply. + return errs + } + if actual.IsNull() { if planned.IsNull() { return nil @@ -189,11 +195,6 @@ func assertValueCompatible(planned, actual cty.Value, path cty.Path) []error { ty := planned.Type() switch { - case ty == cty.DynamicPseudoType || !planned.IsKnown(): - // We didn't know what were going to end up with during plan, so - // anything goes during apply. - return errs - case !actual.IsKnown(): errs = append(errs, path.NewErrorf("was known, but now unknown"))