the destroy plan should use correct type #32988
Merged
+3
−15
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
When we plan to destroy an instance, the change recorded should use the correct type for the resource rather than
DynamicPseudoType
. Most of the time this is hidden when the change is encoded in the plan, because anynull
is always encoded to the same value, and when decoded it will be converted to the schema type. However when apply requires creating a second plan for an instance's replacement that value is not going to be encoded, and remains a dynamic value which is sent to the provider.Most providers won't see that either, as the grpc request also encodes and decodes the value to conform with the correct schema. The builtin terraform provider does get the raw cty value though, and when that dynamic value is returned validation fails when the type does not match.
Fixes #32985