Skip to content

linear_workspace_settings still plans a change when nothing changes #31

Description

@TitusKirch

Before you start

  • I searched existing issues and didn't find a duplicate
  • This is not a security vulnerability (those follow SECURITY.md)

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

  1. Pin kirchDev/linear = 0.2.2, configure the provider with a workspace API token.
  2. Declare linear_workspace_settings without releases_enabled, and give security_settings_json the live content with different formatting.
  3. 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.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions