Interesting new feature landing in
v1.17.0 . It introduces a new plan flag:
terraform plan -minimal-refresh. Using
-minimal-refresh is similar in principle to
#35290 (comment), per resource instance, so Terraform will first plan using the pre-refreshed state of a resource and if the change produced is a no-op, then the refresh will be skipped. If that plan does produce a change (anything but no-op), then Terraform will refresh the state for just that resource and run another plan.
github.com/hashicorp/terraform/issues/35290