Description
As introduced in around version 1.7 (I think) of terraform confluent provider, Stream governance is handled under the resource confluent_environment
. We are in a situation where our Environments
are provisioned using an older version of the provider (1.6.x). When we try to update it now to version 2.2.x, we thought that it would be able to pickup the configured Stream Governance package
, given our terraform code is updated.
Current package is set to Essentials
# Old code
resource "confluent_environment" "env-foo" {
display_name = "foo-environment"
lifecycle {
prevent_destroy = true
}
}
Then updated to
# New code
resource "confluent_environment" "env-foo" {
display_name = "foo-environment"
stream_governance {
package = "ESSENTIALS"
}
lifecycle {
prevent_destroy = true
}
}
Given that terraform refresh is ran, we thought and would have expected that when running terraform plan/apply
no change is detected since code is reflecting the current state.
# confluent_environment.env-foo will be updated in-place
~ resource "confluent_environment" "env-foo" {
id = "env-xxxx"
# (2 unchanged attributes hidden)
~ stream_governance {
+ package = "ESSENTIALS"
}
}
Even if removing the state manually and then re-import, the behaviour still persist. It's as if the API is not returning and reflecting the current state.