Skip to content

Commit 8db00ea

Browse files
authored
feat(vpc): add retry function when deleting private networks (scaleway#2660)
1 parent 69f5571 commit 8db00ea

File tree

1 file changed

+26
-0
lines changed

1 file changed

+26
-0
lines changed

api/vpc/v2/vpc_utils.go

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
package vpc
2+
3+
import (
4+
"errors"
5+
"net/http"
6+
"time"
7+
8+
"github.com/scaleway/scaleway-sdk-go/scw"
9+
)
10+
11+
func (s *API) TryDeletingPrivateNetwork(req *DeletePrivateNetworkRequest, retriesLeft int, opts ...scw.RequestOption) (*PrivateNetwork, error) {
12+
err := s.DeletePrivateNetwork(&DeletePrivateNetworkRequest{
13+
PrivateNetworkID: req.PrivateNetworkID,
14+
Region: req.Region,
15+
}, opts...)
16+
17+
var respErr *scw.ResponseError
18+
if errors.As(err, &respErr) && respErr.StatusCode == http.StatusInternalServerError {
19+
time.Sleep(5 * time.Second)
20+
if retriesLeft > 0 {
21+
return s.TryDeletingPrivateNetwork(req, retriesLeft-1, opts...)
22+
}
23+
}
24+
25+
return nil, err
26+
}

0 commit comments

Comments
 (0)