Mongey / terraform-provider-confluentcloud

A Terraform provider for managing resource in confluent.cloud
MIT License
110 stars 47 forks source link

Terraform import does not import all configuration arguments #23

Closed mlovic closed 4 years ago

mlovic commented 4 years ago

Hi! I have some existing Confluent resources that I want to now manage through Terraform.

I successfully terraform import'ed a cluster, but most of the parameters (configuration arguments?) were not imported. This results in Terraform wanting to replace the cluster when I run terraform plan.

 $>  terraform12 state show confluentcloud_kafka_cluster.pre-prod

# confluentcloud_kafka_cluster.pre-prod:
resource "confluentcloud_kafka_cluster" "pre-prod" {
    bootstrap_servers = "SASL_SSL://xxx:9092"
    id                = "lxx-xxx"
}

 $> terraform plan -target=confluentcloud_kafka_cluster.pre-prod

Refreshing Terraform state in-memory prior to plan...
[...]
Terraform will perform the following actions:

  # confluentcloud_kafka_cluster.pre-prod must be replaced
-/+ resource "confluentcloud_kafka_cluster" "pre-prod" {
      + availability      = "LOW" # forces replacement
      ~ bootstrap_servers = "SASL_SSL://xxx:9092" -> (known after apply)
      + environment_id    = "xxx" # forces replacement
      ~ id                = "xxx" -> (known after apply)
      + name              = "xxx" # forces replacement
      + region            = "xxx" # forces replacement
      + service_provider  = "aws" # forces replacement
    }

I'm new to Terraform plugins, but from looking at the code, it looks like this functionality is just not implemented. Is that the case?

Are there plans to implement it? Would it just be a matter of filling out the clusterRead function?

For now I am planning on just manually updating the state file as a workaround. If you have a better suggestion, please let me know!