From a48799dc3019c18bd7e9cf9bdb45926febdcd757 Mon Sep 17 00:00:00 2001 From: lmasson Date: Mon, 19 Feb 2024 15:25:25 +0100 Subject: [PATCH] feat(apple-silicon): add WaitForPossibleServerDeletion support --- api/applesilicon/v1alpha1/apple_silicon_utils.go | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/api/applesilicon/v1alpha1/apple_silicon_utils.go b/api/applesilicon/v1alpha1/apple_silicon_utils.go index b095a419a..f76ad4a7a 100644 --- a/api/applesilicon/v1alpha1/apple_silicon_utils.go +++ b/api/applesilicon/v1alpha1/apple_silicon_utils.go @@ -60,3 +60,19 @@ func (s *API) WaitForServer(req *WaitForServerRequest, opts ...scw.RequestOption } return server.(*Server), nil } + +func (s *API) WaitForPossibleDeletion(req *WaitForServerRequest, opts ...scw.RequestOption) (*Server, error) { + server, err := s.WaitForServer(&WaitForServerRequest{ + ServerID: req.ServerID, + Zone: req.Zone, + Timeout: scw.TimeDurationPtr(defaultTimeout), + RetryInterval: scw.TimeDurationPtr(defaultRetryInterval), + }, opts..., + ) + if err != nil { + return nil, errors.Wrap(err, "waiting for server failed") + } + timeToDelete := *server.DeletableAt + time.Sleep(timeToDelete.Sub(time.Now())) + return server, nil +}