From 0056e4a3f77dd7066b344e3c7f6015fb29c5d868 Mon Sep 17 00:00:00 2001 From: Enrico Candino Date: Mon, 17 Feb 2025 10:37:42 +0100 Subject: [PATCH] add check for number of arguments (#252) --- cli/cmds/cluster/create.go | 20 +++++++++++--------- cli/cmds/cluster/delete.go | 18 +++++++++++------- 2 files changed, 22 insertions(+), 16 deletions(-) diff --git a/cli/cmds/cluster/create.go b/cli/cmds/cluster/create.go index 7a51889d..0c8edc55 100644 --- a/cli/cmds/cluster/create.go +++ b/cli/cmds/cluster/create.go @@ -55,12 +55,12 @@ func NewCreateCmd() *cli.Command { createFlags := NewCreateFlags(createConfig) return &cli.Command{ - Name: "create", - Usage: "Create new cluster", - Action: createAction(createConfig), - Flags: append(cmds.CommonFlags, createFlags...), - Args: false, - ArgsUsage: "NAME", + Name: "create", + Usage: "Create new cluster", + UsageText: "k3kcli cluster create [command options] NAME", + Action: createAction(createConfig), + Flags: append(cmds.CommonFlags, createFlags...), + HideHelpCommand: true, } } @@ -68,10 +68,12 @@ func createAction(config *CreateConfig) cli.ActionFunc { return func(clx *cli.Context) error { ctx := context.Background() + if clx.NArg() != 1 { + return cli.ShowSubcommandHelp(clx) + } + name := clx.Args().First() - if name == "" { - return errors.New("empty cluster name") - } else if name == k3kcluster.ClusterInvalidName { + if name == k3kcluster.ClusterInvalidName { return errors.New("invalid cluster name") } diff --git a/cli/cmds/cluster/delete.go b/cli/cmds/cluster/delete.go index ad90d901..d99f38b8 100644 --- a/cli/cmds/cluster/delete.go +++ b/cli/cmds/cluster/delete.go @@ -16,20 +16,24 @@ import ( func NewDeleteCmd() *cli.Command { return &cli.Command{ - Name: "delete", - Usage: "Delete an existing cluster", - Action: delete, - Flags: cmds.CommonFlags, + Name: "delete", + Usage: "Delete an existing cluster", + UsageText: "k3kcli cluster delete [command options] NAME", + Action: delete, + Flags: cmds.CommonFlags, + HideHelpCommand: true, } } func delete(clx *cli.Context) error { ctx := context.Background() + if clx.NArg() != 1 { + return cli.ShowSubcommandHelp(clx) + } + name := clx.Args().First() - if name == "" { - return errors.New("empty cluster name") - } else if name == k3kcluster.ClusterInvalidName { + if name == k3kcluster.ClusterInvalidName { return errors.New("invalid cluster name") }