diff --git a/ibm/service/eventstreams/resource_ibm_event_streams_topic.go b/ibm/service/eventstreams/resource_ibm_event_streams_topic.go index a682866ea8..bc59c8f770 100644 --- a/ibm/service/eventstreams/resource_ibm_event_streams_topic.go +++ b/ibm/service/eventstreams/resource_ibm_event_streams_topic.go @@ -8,6 +8,7 @@ import ( "fmt" "log" "os" + "slices" "strings" "time" @@ -288,6 +289,7 @@ func createSaramaAdminClient(d *schema.ResourceData, meta interface{}) (sarama.C d.Set("kafka_http_url", adminURL) log.Printf("[INFO] createSaramaAdminClient kafka_http_url is set to %s", adminURL) brokerAddress := flex.ExpandStringList(instance.Extensions["kafka_brokers_sasl"].([]interface{})) + slices.Sort(brokerAddress) d.Set("kafka_brokers_sasl", brokerAddress) log.Printf("[INFO] createSaramaAdminClient kafka_brokers_sasl is set to %s", brokerAddress) tenantID := strings.TrimPrefix(strings.Split(adminURL, ".")[0], "https://") diff --git a/ibm/service/eventstreams/resource_ibm_event_streams_topic_test.go b/ibm/service/eventstreams/resource_ibm_event_streams_topic_test.go index ba446d6eff..680fd68775 100644 --- a/ibm/service/eventstreams/resource_ibm_event_streams_topic_test.go +++ b/ibm/service/eventstreams/resource_ibm_event_streams_topic_test.go @@ -302,7 +302,7 @@ func createEventStreamsTopicResourceWithConfig(createInstance bool, topicName st } func testAccCheckIBMEventStreamsInstanceDestroy(s *terraform.State) error { - rsContClient, err := acc.TestAccProvider.Meta().(conns.ClientSession).ResourceControllerAPI() + rsContClient, err := acc.TestAccProvider.Meta().(conns.ClientSession).ResourceControllerAPIV2() if err != nil { return err } @@ -311,16 +311,17 @@ func testAccCheckIBMEventStreamsInstanceDestroy(s *terraform.State) error { continue } instanceID := rs.Primary.ID - instance, err := rsContClient.ResourceServiceInstance().GetInstance(instanceID) - - if err == nil { - if !reflect.DeepEqual(instance, models.ServiceInstance{}) && instance.State == "active" { - return fmt.Errorf("Instance still exists: %s", rs.Primary.ID) - } - } else { - if !strings.Contains(err.Error(), "404") { - return fmt.Errorf("[ERROR] Error checking if instance (%s) has been destroyed: %s", rs.Primary.ID, err) + instance, err := rsContClient.ResourceServiceInstanceV2().GetInstance(instanceID) + if err != nil { + if strings.Contains(err.Error(), "404") { + return nil } + return fmt.Errorf("[ERROR] Error checking if instance (%s) has been destroyed: %s", rs.Primary.ID, err) + } + + if !reflect.DeepEqual(instance, models.ServiceInstanceV2{}) && + instance.State != "removed" && instance.State != "pending_reclamation" { + return fmt.Errorf("[ERROR] Instance (%s) is not removed", rs.Primary.ID) } } return nil