Before you start
What happened?
linear_workspace_settings still plans as will be updated in-place when the configuration changes nothing. #28 fixed this for the general case — on linear_team a plan that used to show ten to fifteen lines per team now shows none — but two attributes on this resource were not covered:
~ resource "linear_workspace_settings" "this" {
~ releases_enabled = false -> (known after apply)
~ security_settings_json = jsonencode( # whitespace changes
Neither is set in the configuration that produced this plan: the module never mentions releases_enabled, and security_settings_json is declared with the same content the API returns, differing only in formatting.
releases_enabled looks like the residue of #28 — an unset optional-and-computed attribute that still goes unknown instead of keeping its prior value. It is the only attribute on the resource that does.
security_settings_json is a different shape of the same symptom. The docs say the attribute is "Compared semantically", and Terraform's own # whitespace changes marker says the two values differ in formatting alone — so a semantic comparison should have found them equal and planned nothing.
Expected behavior
A resource whose configuration asks for nothing new does not appear in the plan. Concretely: releases_enabled keeps its prior value like every other unset optional-and-computed attribute after #28, and a security_settings_json that differs only in whitespace produces no diff.
Steps to reproduce
- Pin
kirchDev/linear = 0.2.2, configure the provider with a workspace API token.
- Declare
linear_workspace_settings without releases_enabled, and give security_settings_json the live content with different formatting.
- Import it and run
tofu plan — the resource is listed as will be updated in-place with the two lines above.
Affected resource / data source
linear_workspace_settings
Version & environment
- Provider version: 0.2.2
- OpenTofu version: 1.11.0
- OS: ubuntu-latest (GitHub Actions runner)
Anything else?
Cosmetic, and deliberately filed as such — neither line writes a different value, and the migration that surfaced it is not waiting on this. It is filed because it is the last thing standing between that plan and 0 to change, and a plan that reads "nothing to do" is worth more here than one that reads "one resource changes, but not really": the human approval on these plans is the gate before an irreversible apply.
Found while migrating a live workspace, on a plan that is otherwise exactly as intended — 118 to import, 3 to add, 1 to change, 0 to destroy, where the 1 to change is this resource and nothing else.
Before you start
SECURITY.md)What happened?
linear_workspace_settingsstill plans aswill be updated in-placewhen the configuration changes nothing. #28 fixed this for the general case — onlinear_teama plan that used to show ten to fifteen lines per team now shows none — but two attributes on this resource were not covered:Neither is set in the configuration that produced this plan: the module never mentions
releases_enabled, andsecurity_settings_jsonis declared with the same content the API returns, differing only in formatting.releases_enabledlooks like the residue of #28 — an unset optional-and-computed attribute that still goes unknown instead of keeping its prior value. It is the only attribute on the resource that does.security_settings_jsonis a different shape of the same symptom. The docs say the attribute is "Compared semantically", and Terraform's own# whitespace changesmarker says the two values differ in formatting alone — so a semantic comparison should have found them equal and planned nothing.Expected behavior
A resource whose configuration asks for nothing new does not appear in the plan. Concretely:
releases_enabledkeeps its prior value like every other unset optional-and-computed attribute after #28, and asecurity_settings_jsonthat differs only in whitespace produces no diff.Steps to reproduce
kirchDev/linear = 0.2.2, configure the provider with a workspace API token.linear_workspace_settingswithoutreleases_enabled, and givesecurity_settings_jsonthe live content with different formatting.tofu plan— the resource is listed aswill be updated in-placewith the two lines above.Affected resource / data source
linear_workspace_settingsVersion & environment
Anything else?
Cosmetic, and deliberately filed as such — neither line writes a different value, and the migration that surfaced it is not waiting on this. It is filed because it is the last thing standing between that plan and
0 to change, and a plan that reads "nothing to do" is worth more here than one that reads "one resource changes, but not really": the human approval on these plans is the gate before an irreversible apply.Found while migrating a live workspace, on a plan that is otherwise exactly as intended —
118 to import, 3 to add, 1 to change, 0 to destroy, where the1 to changeis this resource and nothing else.