Skip to content

Commit ea6fdae

Browse files
yfodilremyleone
andauthored
feat(lb): improve backend help in case healthcheck is missing (#2689)
Co-authored-by: Rémy Léone <[email protected]>
1 parent a529cb6 commit ea6fdae

File tree

1 file changed

+17
-0
lines changed

1 file changed

+17
-0
lines changed

internal/namespaces/lb/v1/custom_backend.go

+17
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ package lb
22

33
import (
44
"context"
5+
"errors"
56
"fmt"
67
"reflect"
78
"strings"
@@ -12,6 +13,7 @@ import (
1213
"github.com/scaleway/scaleway-sdk-go/api/baremetal/v1"
1314
"github.com/scaleway/scaleway-sdk-go/api/instance/v1"
1415
"github.com/scaleway/scaleway-sdk-go/api/lb/v1"
16+
"github.com/scaleway/scaleway-sdk-go/scw"
1517
)
1618

1719
var (
@@ -781,6 +783,21 @@ func interceptBackend() core.CommandInterceptor {
781783

782784
res, err := runner(ctx, argsI)
783785
if err != nil {
786+
var invalidArgErr *scw.InvalidArgumentsError
787+
if errors.As(err, &invalidArgErr) {
788+
for _, detail := range invalidArgErr.Details {
789+
switch detail.ArgumentName {
790+
case "Port":
791+
return nil, &core.CliError{
792+
Err: fmt.Errorf("missing or invalid 'health-check.port' argument"),
793+
}
794+
case "CheckMaxRetries":
795+
return nil, &core.CliError{
796+
Err: fmt.Errorf("missing or invalid 'health-check.check-max-retries' argument"),
797+
}
798+
}
799+
}
800+
}
784801
return nil, err
785802
}
786803

0 commit comments

Comments
 (0)