Skip to content

Commit 5bc9d86

Browse files
committed
fix(mongodb): use regional ID parsing instead of zonal
1 parent ec321cf commit 5bc9d86

File tree

5 files changed

+18
-37
lines changed

5 files changed

+18
-37
lines changed

internal/services/mongodb/data_source_instance.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ func DataSourceInstance() *schema.Resource {
3535
}
3636

3737
func DataSourceInstanceRead(ctx context.Context, d *schema.ResourceData, m any) diag.Diagnostics {
38-
mongodbAPI, zone, region, err := newAPIWithZoneAndRegion(d, m)
38+
mongodbAPI, region, err := newAPIWithRegion(d, m)
3939
if err != nil {
4040
return diag.FromErr(err)
4141
}
@@ -65,10 +65,10 @@ func DataSourceInstanceRead(ctx context.Context, d *schema.ResourceData, m any)
6565
instanceID = foundInstance.ID
6666
}
6767

68-
zonedID := datasource.NewZonedID(instanceID, zone)
69-
d.SetId(zonedID)
68+
regionalID := datasource.NewRegionalID(instanceID, region)
69+
d.SetId(regionalID)
7070

71-
err = d.Set("instance_id", zonedID)
71+
err = d.Set("instance_id", regionalID)
7272
if err != nil {
7373
return diag.FromErr(err)
7474
}

internal/services/mongodb/helpers.go

Lines changed: 4 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,8 @@ import (
77
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
88
mongodb "github.com/scaleway/scaleway-sdk-go/api/mongodb/v1"
99
"github.com/scaleway/scaleway-sdk-go/scw"
10-
"github.com/scaleway/terraform-provider-scaleway/v2/internal/locality/zonal"
10+
"github.com/scaleway/terraform-provider-scaleway/v2/internal/locality/regional"
11+
1112
"github.com/scaleway/terraform-provider-scaleway/v2/internal/meta"
1213
"github.com/scaleway/terraform-provider-scaleway/v2/internal/transport"
1314
)
@@ -59,23 +60,9 @@ func newAPIWithRegion(d *schema.ResourceData, m any) (*mongodb.API, scw.Region,
5960
return newAPI(m), region, nil
6061
}
6162

62-
// NewAPIWithZoneAndID returns a mongoDB API with zone and ID extracted from the state
63-
func NewAPIWithZoneAndID(m any, id string) (*mongodb.API, scw.Zone, string, error) {
64-
zone, ID, err := zonal.ParseID(id)
65-
if err != nil {
66-
return nil, "", "", err
67-
}
68-
69-
return newAPI(m), zone, ID, nil
70-
}
71-
63+
// NewAPIWithRegionAndID returns a mongoDB API with region and ID extracted from the state
7264
func NewAPIWithRegionAndID(m any, id string) (*mongodb.API, scw.Region, string, error) {
73-
zone, ID, err := zonal.ParseID(id)
74-
if err != nil {
75-
return nil, "", "", err
76-
}
77-
78-
region, err := zone.Region()
65+
region, ID, err := regional.ParseID(id)
7966
if err != nil {
8067
return nil, "", "", err
8168
}

internal/services/mongodb/instance.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ import (
2020
"github.com/scaleway/terraform-provider-scaleway/v2/internal/httperrors"
2121
"github.com/scaleway/terraform-provider-scaleway/v2/internal/locality"
2222
"github.com/scaleway/terraform-provider-scaleway/v2/internal/locality/regional"
23-
"github.com/scaleway/terraform-provider-scaleway/v2/internal/locality/zonal"
23+
2424
"github.com/scaleway/terraform-provider-scaleway/v2/internal/services/account"
2525
"github.com/scaleway/terraform-provider-scaleway/v2/internal/services/ipam"
2626
"github.com/scaleway/terraform-provider-scaleway/v2/internal/types"
@@ -263,7 +263,7 @@ func ResourceInstance() *schema.Resource {
263263
}
264264

265265
func ResourceInstanceCreate(ctx context.Context, d *schema.ResourceData, m any) diag.Diagnostics {
266-
mongodbAPI, zone, err := newAPIWithZone(d, m)
266+
mongodbAPI, region, err := newAPIWithRegion(d, m)
267267
if err != nil {
268268
return diag.FromErr(err)
269269
}
@@ -361,7 +361,7 @@ func ResourceInstanceCreate(ctx context.Context, d *schema.ResourceData, m any)
361361
}
362362
}
363363

364-
d.SetId(zonal.NewIDString(zone, res.ID))
364+
d.SetId(regional.NewIDString(region, res.ID))
365365

366366
_, err = waitForInstance(ctx, mongodbAPI, res.Region, res.ID, d.Timeout(schema.TimeoutCreate))
367367
if err != nil {

internal/services/mongodb/instance_test.go

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -502,12 +502,7 @@ func IsInstanceDestroyed(tt *acctest.TestTools) resource.TestCheckFunc {
502502
continue
503503
}
504504

505-
mongodbAPI, zone, ID, err := mongodb.NewAPIWithZoneAndID(tt.Meta, rs.Primary.ID)
506-
if err != nil {
507-
return err
508-
}
509-
510-
extractRegion, err := zone.Region()
505+
mongodbAPI, extractRegion, ID, err := mongodb.NewAPIWithRegionAndID(tt.Meta, rs.Primary.ID)
511506
if err != nil {
512507
return err
513508
}

internal/services/mongodb/snapshot.go

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@ import (
1010
"github.com/scaleway/scaleway-sdk-go/scw"
1111
"github.com/scaleway/terraform-provider-scaleway/v2/internal/locality"
1212
"github.com/scaleway/terraform-provider-scaleway/v2/internal/locality/regional"
13-
"github.com/scaleway/terraform-provider-scaleway/v2/internal/locality/zonal"
1413
"github.com/scaleway/terraform-provider-scaleway/v2/internal/types"
1514
"github.com/scaleway/terraform-provider-scaleway/v2/internal/verify"
1615
)
@@ -86,7 +85,7 @@ func ResourceSnapshot() *schema.Resource {
8685
}
8786

8887
func ResourceSnapshotCreate(ctx context.Context, d *schema.ResourceData, m any) diag.Diagnostics {
89-
mongodbAPI, zone, region, err := newAPIWithZoneAndRegion(d, m)
88+
mongodbAPI, region, err := newAPIWithRegion(d, m)
9089
if err != nil {
9190
return diag.FromErr(err)
9291
}
@@ -105,7 +104,7 @@ func ResourceSnapshotCreate(ctx context.Context, d *schema.ResourceData, m any)
105104
}
106105

107106
if snapshot != nil {
108-
d.SetId(zonal.NewIDString(zone, snapshot.ID))
107+
d.SetId(regional.NewIDString(region, snapshot.ID))
109108

110109
_, err = waitForSnapshot(ctx, mongodbAPI, region, instanceID, snapshot.ID, d.Timeout(schema.TimeoutCreate))
111110
if err != nil {
@@ -122,7 +121,7 @@ func ResourceSnapshotRead(ctx context.Context, d *schema.ResourceData, m any) di
122121
return diag.FromErr(err)
123122
}
124123

125-
zone, snapshotID, err := zonal.ParseID(d.Id())
124+
_, snapshotID, err := regional.ParseID(d.Id())
126125
if err != nil {
127126
return diag.FromErr(err)
128127
}
@@ -134,7 +133,7 @@ func ResourceSnapshotRead(ctx context.Context, d *schema.ResourceData, m any) di
134133
return diag.FromErr(err)
135134
}
136135

137-
_ = d.Set("instance_id", zonal.NewIDString(zone, *snapshot.InstanceID))
136+
_ = d.Set("instance_id", regional.NewIDString(region, *snapshot.InstanceID))
138137
_ = d.Set("name", snapshot.Name)
139138
_ = d.Set("instance_name", snapshot.InstanceName)
140139
_ = d.Set("size", int64(snapshot.SizeBytes))
@@ -154,7 +153,7 @@ func ResourceSnapshotUpdate(ctx context.Context, d *schema.ResourceData, m any)
154153
return diag.FromErr(err)
155154
}
156155

157-
_, snapshotID, err := zonal.ParseID(d.Id())
156+
_, snapshotID, err := regional.ParseID(d.Id())
158157
if err != nil {
159158
return diag.FromErr(err)
160159
}
@@ -200,7 +199,7 @@ func ResourceSnapshotDelete(_ context.Context, d *schema.ResourceData, m any) di
200199
return diag.FromErr(err)
201200
}
202201

203-
_, snapshotID, err := zonal.ParseID(d.Id())
202+
_, snapshotID, err := regional.ParseID(d.Id())
204203
if err != nil {
205204
return diag.FromErr(err)
206205
}

0 commit comments

Comments
 (0)