Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

always allow computed-only changes in the plan #31509

Merged
merged 1 commit into from Jul 27, 2022

Conversation

jbardin
Copy link
Member

@jbardin jbardin commented Jul 25, 2022

Allow the provider to plan any compatible value for computed-only attributes. We currently fail here if there's an apparent config value at this point and the provider set a new computed value.

We don't need to check the config for null here, because under normal circumstances there should never be a config value for a computed-only attribute in the first place. There however could be 2 reasons we find one at this point:

  • A user set ignore_changes on a computed attribute and ignored the warning, causing us to insert the prior state value into the plan-time config. This unfortunately is only a warning to prevent breaking configs which are currently working with legacy providers.
  • Core currently fails to validate if config attributes are computed, and a provider not using one of the official SDKs may not have sufficient validation itself.

Neither of these cases constitute an error in the plan created by the provider, so we can let it pass the AssertPlanValid test. Legacy providers avoided this error because they have the ignore_changes re-applied after the plan for backwards compatibility.

Return early from AssertPlanValid for any attribute which is only
computed. We currently fail if there's a config value, but that could
only happen because of core, not because of the provider.
@jbardin jbardin added the 1.2-backport If you add this label to a PR before merging, backport-assistant will open a new PR once merged label Jul 25, 2022
@jbardin jbardin requested a review from a team July 25, 2022 20:20
@jbardin jbardin self-assigned this Jul 25, 2022
@jbardin jbardin merged commit 93c525b into main Jul 27, 2022
@jbardin jbardin deleted the jbardin/valid-computed-plan branch July 27, 2022 14:09
@github-actions
Copy link

Reminder for the merging maintainer: if this is a user-visible change, please update the changelog on the appropriate release branch.

@github-actions
Copy link

I'm going to lock this pull request because it has been closed for 30 days ⏳. This helps our maintainers find and focus on the active contributions.
If you have found a problem that seems related to this change, please open a new issue and complete the issue template so we can capture all the details necessary to investigate further.

@github-actions github-actions bot locked as resolved and limited conversation to collaborators Aug 27, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
1.2-backport If you add this label to a PR before merging, backport-assistant will open a new PR once merged
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants