Fix google_compute_instance_template
crash
#1812
Merged
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.
Fixes hashicorp/terraform-provider-google#5018
ForceNew logic for
source_image
was handled with in a custom diff. Whensource_image
was a self_link to another resource, the custom diff would ForceNew the field before the dependent resource was resolved. This would lead to the SDK trying to sort out a change to a nil value.To fix this, I took the forcenew logic out of the custom diff, and just set the field to ForceNew in the schema. This way, Terraform will resolve the ForceNew normally. The remaining custom diff acts as a more complicated diffSuppress. I'm not sure if it can be rewritten as an actual diffSuppress, since it takes in the
meta
object, where diffSuppress does not.Also added a test that tests this specific scenario since it wasn't covered in the current set of tests.
Release Note Template for Downstream PRs (will be copied)
Derived from GoogleCloudPlatform/magic-modules#3194