confluentinc / terraform-provider-confluent

Terraform Provider for Confluent
Apache License 2.0
118 stars 61 forks source link

Recreates resources if a name contains ":" #299

Open AliaksandrShamchonak opened 10 months ago

AliaksandrShamchonak commented 10 months ago

The terraform provider recreates resources if a name contains ":"

Reproduce:

terraform {
  required_providers {
    confluent = {
      source  = "confluentinc/confluent"
      version = "1.51.0"
    }
  }
}

resource "confluent_role_binding" "role-binding" {
  principal   = "User:sa-xxxxxx"
  role_name   = "DeveloperRead"
  crn_pattern = "crn://confluent.cloud/organization=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/environment=env-xxxxx/schema-registry=lsrc-xxxxx/subject=:.context:subject.v1"
}

Changes will be made to the next terraform plan:

  # confluent_role_binding.role-binding must be replaced
-/+ resource "confluent_role_binding" "role-binding" {
      ~ crn_pattern = "crn://confluent.cloud/organization=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/environment=env-xxxxx/schema-registry=lsrc-xxxxx/subject=%3A.context%3Asubject.v1" -> "crn://confluent.cloud/organization=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/environment=env-xxxxx/schema-registry=lsrc-xxxxx/subject=:.context:subject.v1" # forces replacement
      ~ id          = "rb-xxxxx" -> (known after apply)
        # (2 unchanged attributes hidden)
    }

Plan: 1 to add, 0 to change, 1 to destroy.

Please replace "%3A" to ":" for the terraform provider. Thanks.