Skip to content

Commit ffe5ef7

Browse files
committed
delete pnic before terminating server
1 parent 1445eef commit ffe5ef7

File tree

1 file changed

+18
-18
lines changed

1 file changed

+18
-18
lines changed

internal/services/instance/server.go

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1243,24 +1243,6 @@ func ResourceInstanceServerDelete(ctx context.Context, d *schema.ResourceData, m
12431243
}
12441244
}
12451245

1246-
// reach running state (mandatory for termination)
1247-
err = reachState(ctx, api, zone, id, instanceSDK.ServerStateRunning)
1248-
if err != nil && !httperrors.Is404(err) {
1249-
return diag.FromErr(err)
1250-
}
1251-
1252-
timeout := d.Timeout(schema.TimeoutDelete)
1253-
1254-
err = api.ServerActionAndWait(&instanceSDK.ServerActionAndWaitRequest{
1255-
Zone: zone,
1256-
ServerID: id,
1257-
Action: instanceSDK.ServerActionTerminate,
1258-
Timeout: &timeout,
1259-
}, scw.WithContext(ctx))
1260-
if err != nil && !httperrors.Is404(err) {
1261-
return diag.FromErr(err)
1262-
}
1263-
12641246
// Delete private-nic if managed by instance_server resource
12651247
if raw, ok := d.GetOk("private_network"); ok {
12661248
ph, err := newPrivateNICHandler(api.API, id, zone)
@@ -1279,6 +1261,24 @@ func ResourceInstanceServerDelete(ctx context.Context, d *schema.ResourceData, m
12791261
}
12801262
}
12811263

1264+
// reach running state (mandatory for termination)
1265+
err = reachState(ctx, api, zone, id, instanceSDK.ServerStateRunning)
1266+
if err != nil && !httperrors.Is404(err) {
1267+
return diag.FromErr(err)
1268+
}
1269+
1270+
timeout := d.Timeout(schema.TimeoutDelete)
1271+
1272+
err = api.ServerActionAndWait(&instanceSDK.ServerActionAndWaitRequest{
1273+
Zone: zone,
1274+
ServerID: id,
1275+
Action: instanceSDK.ServerActionTerminate,
1276+
Timeout: &timeout,
1277+
}, scw.WithContext(ctx))
1278+
if err != nil && !httperrors.Is404(err) {
1279+
return diag.FromErr(err)
1280+
}
1281+
12821282
// Related to https://github.com/hashicorp/terraform-plugin-sdk/issues/142
12831283
_, rootVolumeAttributeSet := d.GetOk("root_volume")
12841284
if d.Get("root_volume.0.delete_on_termination").(bool) || !rootVolumeAttributeSet {

0 commit comments

Comments
 (0)