diff --git a/internal/app/wwctl/container/delete/main.go b/internal/app/wwctl/container/delete/main.go index 0f9c57af..250b5ac2 100644 --- a/internal/app/wwctl/container/delete/main.go +++ b/internal/app/wwctl/container/delete/main.go @@ -1,15 +1,24 @@ package delete import ( + "fmt" + "github.com/hpcng/warewulf/internal/pkg/api/container" "github.com/hpcng/warewulf/internal/pkg/api/routes/wwapiv1" + "github.com/hpcng/warewulf/internal/pkg/api/util" "github.com/spf13/cobra" ) func CobraRunE(cmd *cobra.Command, args []string) (err error) { - cdp := &wwapiv1.ContainerDeleteParameter{ ContainerNames: args, } + if !SetYes { + yes := util.ConfirmationPrompt(fmt.Sprintf("Are you sure you want to container %s", args)) + if !yes { + return + } + + } return container.ContainerDelete(cdp) } diff --git a/internal/app/wwctl/container/delete/root.go b/internal/app/wwctl/container/delete/root.go index 64e909ba..787353b0 100644 --- a/internal/app/wwctl/container/delete/root.go +++ b/internal/app/wwctl/container/delete/root.go @@ -8,10 +8,10 @@ import ( var ( baseCmd = &cobra.Command{ DisableFlagsInUseLine: true, - Use: "delete [OPTIONS] CONTAINER [...]", - Short: "Delete an imported container", - Long: "This command will delete CONTAINERs that have been imported into Warewulf.", - RunE: CobraRunE, + Use: "delete [OPTIONS] CONTAINER [...]", + Short: "Delete an imported container", + Long: "This command will delete CONTAINERs that have been imported into Warewulf.", + RunE: CobraRunE, ValidArgsFunction: func(cmd *cobra.Command, args []string, toComplete string) ([]string, cobra.ShellCompDirective) { if len(args) != 0 { return nil, cobra.ShellCompDirectiveNoFileComp @@ -20,10 +20,11 @@ var ( return list, cobra.ShellCompDirectiveNoFileComp }, } + SetYes bool ) func init() { - + baseCmd.PersistentFlags().BoolVarP(&SetYes, "yes", "y", false, "Set 'yes' to all questions asked") } // GetRootCommand returns the root cobra.Command for the application.