Skip to content

Commit 18f0639

Browse files
authored
fix: set the container id to avoid null in state (#667)
1 parent 63fadd6 commit 18f0639

File tree

2 files changed

+24
-0
lines changed

2 files changed

+24
-0
lines changed

mongodbatlas/data_source_mongodbatlas_cluster.go

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import (
77

88
"github.com/hashicorp/terraform-plugin-sdk/v2/diag"
99
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
10+
matlas "go.mongodb.org/atlas/mongodbatlas"
1011
)
1112

1213
func dataSourceMongoDBAtlasCluster() *schema.Resource {
@@ -445,6 +446,18 @@ func dataSourceMongoDBAtlasClusterRead(ctx context.Context, d *schema.ResourceDa
445446
return diag.FromErr(fmt.Errorf(errorClusterSetting, "version_release_system", clusterName, err))
446447
}
447448

449+
if cluster.ProviderSettings != nil && cluster.ProviderSettings.ProviderName != "TENANT" {
450+
containers, _, err := conn.Containers.List(ctx, projectID,
451+
&matlas.ContainersListOptions{ProviderName: cluster.ProviderSettings.ProviderName})
452+
if err != nil {
453+
return diag.FromErr(fmt.Errorf(errorClusterRead, clusterName, err))
454+
}
455+
456+
if err := d.Set("container_id", getContainerID(containers, cluster)); err != nil {
457+
return diag.FromErr(fmt.Errorf(errorClusterSetting, "container_id", clusterName, err))
458+
}
459+
}
460+
448461
/*
449462
Get the advaced configuration options and set up to the terraform state
450463
*/

mongodbatlas/data_source_mongodbatlas_clusters.go

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -356,6 +356,16 @@ func flattenClusters(ctx context.Context, d *schema.ResourceData, conn *matlas.C
356356
processArgs, _, err := conn.Clusters.GetProcessArgs(ctx, clusters[i].GroupID, clusters[i].Name)
357357
log.Printf("[WARN] Error setting `advanced_configuration` for the cluster(%s): %s", clusters[i].ID, err)
358358

359+
var containerID string
360+
if clusters[i].ProviderSettings != nil && clusters[i].ProviderSettings.ProviderName != "TENANT" {
361+
containers, _, err := conn.Containers.List(ctx, clusters[i].GroupID,
362+
&matlas.ContainersListOptions{ProviderName: clusters[i].ProviderSettings.ProviderName})
363+
if err != nil {
364+
log.Printf(errorClusterRead, clusters[i].Name, err)
365+
}
366+
367+
containerID = getContainerID(containers, &clusters[i])
368+
}
359369
result := map[string]interface{}{
360370
"advanced_configuration": flattenProcessArgs(processArgs),
361371
"auto_scaling_compute_enabled": clusters[i].AutoScaling.Compute.Enabled,
@@ -394,6 +404,7 @@ func flattenClusters(ctx context.Context, d *schema.ResourceData, conn *matlas.C
394404
"labels": flattenLabels(clusters[i].Labels),
395405
"snapshot_backup_policy": snapshotBackupPolicy,
396406
"version_release_system": clusters[i].VersionReleaseSystem,
407+
"container_id": containerID,
397408
}
398409
results = append(results, result)
399410
}

0 commit comments

Comments
 (0)