Skip to content

Commit f55c798

Browse files
authored
feat(dhcp-reservation): add retry and timeout for gateway network (#1223)
1 parent 7708a19 commit f55c798

2 files changed

+1032
-1293
lines changed

scaleway/resource_vpc_public_gateway_dhcp_reservation.go

+9-24
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,9 @@ func resourceScalewayVPCPublicGatewayDHCPReservation() *schema.Resource {
2222
Importer: &schema.ResourceImporter{
2323
StateContext: schema.ImportStatePassthroughContext,
2424
},
25+
Timeouts: &schema.ResourceTimeout{
26+
Default: schema.DefaultTimeout(defaultVPCGatewayTimeout),
27+
},
2528
SchemaVersion: 0,
2629
Schema: map[string]*schema.Schema{
2730
"gateway_network_id": {
@@ -83,10 +86,7 @@ func resourceScalewayVPCPublicGatewayDHCPCReservationCreate(ctx context.Context,
8386
}
8487

8588
gatewayNetworkID := expandID(d.Get("gateway_network_id"))
86-
_, err = vpcgwAPI.WaitForGatewayNetwork(&vpcgw.WaitForGatewayNetworkRequest{
87-
GatewayNetworkID: gatewayNetworkID,
88-
Zone: zone,
89-
}, scw.WithContext(ctx))
89+
_, err = waitForVPCGatewayNetwork(ctx, vpcgwAPI, zone, gatewayNetworkID, d.Timeout(schema.TimeoutCreate))
9090
if err != nil {
9191
return diag.FromErr(err)
9292
}
@@ -103,10 +103,7 @@ func resourceScalewayVPCPublicGatewayDHCPCReservationCreate(ctx context.Context,
103103

104104
d.SetId(newZonedIDString(zone, res.ID))
105105

106-
_, err = vpcgwAPI.WaitForGatewayNetwork(&vpcgw.WaitForGatewayNetworkRequest{
107-
Zone: zone,
108-
GatewayNetworkID: gatewayNetworkID,
109-
}, scw.WithContext(ctx))
106+
_, err = waitForVPCGatewayNetwork(ctx, vpcgwAPI, zone, gatewayNetworkID, d.Timeout(schema.TimeoutCreate))
110107
if err != nil {
111108
return diag.FromErr(err)
112109
}
@@ -157,10 +154,7 @@ func resourceScalewayVPCPublicGatewayDHCPReservationUpdate(ctx context.Context,
157154
}
158155

159156
gatewayNetworkID := expandID(d.Get("gateway_network_id"))
160-
_, err = vpcgwAPI.WaitForGatewayNetwork(&vpcgw.WaitForGatewayNetworkRequest{
161-
GatewayNetworkID: gatewayNetworkID,
162-
Zone: zone,
163-
}, scw.WithContext(ctx))
157+
_, err = waitForVPCGatewayNetwork(ctx, vpcgwAPI, zone, gatewayNetworkID, d.Timeout(schema.TimeoutUpdate))
164158
if err != nil {
165159
return diag.FromErr(err)
166160
}
@@ -176,10 +170,7 @@ func resourceScalewayVPCPublicGatewayDHCPReservationUpdate(ctx context.Context,
176170
return diag.FromErr(err)
177171
}
178172

179-
_, err = vpcgwAPI.WaitForGatewayNetwork(&vpcgw.WaitForGatewayNetworkRequest{
180-
GatewayNetworkID: gatewayNetworkID,
181-
Zone: zone,
182-
}, scw.WithContext(ctx))
173+
_, err = waitForVPCGatewayNetwork(ctx, vpcgwAPI, zone, gatewayNetworkID, d.Timeout(schema.TimeoutUpdate))
183174
if err != nil {
184175
return diag.FromErr(err)
185176
}
@@ -195,10 +186,7 @@ func resourceScalewayVPCPublicGatewayDHCPReservationDelete(ctx context.Context,
195186
}
196187

197188
gatewayNetworkID := expandID(d.Get("gateway_network_id"))
198-
_, err = vpcgwAPI.WaitForGatewayNetwork(&vpcgw.WaitForGatewayNetworkRequest{
199-
GatewayNetworkID: gatewayNetworkID,
200-
Zone: zone,
201-
}, scw.WithContext(ctx))
189+
_, err = waitForVPCGatewayNetwork(ctx, vpcgwAPI, zone, gatewayNetworkID, d.Timeout(schema.TimeoutDelete))
202190
if err != nil {
203191
return diag.FromErr(err)
204192
}
@@ -212,10 +200,7 @@ func resourceScalewayVPCPublicGatewayDHCPReservationDelete(ctx context.Context,
212200
return diag.FromErr(err)
213201
}
214202

215-
_, err = vpcgwAPI.WaitForGatewayNetwork(&vpcgw.WaitForGatewayNetworkRequest{
216-
GatewayNetworkID: gatewayNetworkID,
217-
Zone: zone,
218-
}, scw.WithContext(ctx))
203+
_, err = waitForVPCGatewayNetwork(ctx, vpcgwAPI, zone, gatewayNetworkID, d.Timeout(schema.TimeoutDelete))
219204
if err != nil {
220205
return diag.FromErr(err)
221206
}

0 commit comments

Comments
 (0)