databricks-cli/cmd/labs/uninstall.go

41 lines
972 B
Go
Raw Normal View History

package labs
import (
"fmt"
"github.com/databricks/cli/cmd/labs/project"
"github.com/databricks/cli/cmd/root"
"github.com/spf13/cobra"
)
func newUninstallCommand() *cobra.Command {
return &cobra.Command{
Use: "uninstall NAME",
Args: root.ExactArgs(1),
Short: "Uninstalls project",
ValidArgsFunction: func(cmd *cobra.Command, args []string, toComplete string) ([]string, cobra.ShellCompDirective) {
var names []string
installed, _ := project.Installed(cmd.Context())
for _, v := range installed {
names = append(names, v.Name)
}
return names, cobra.ShellCompDirectiveNoFileComp
},
RunE: func(cmd *cobra.Command, args []string) error {
ctx := cmd.Context()
installed, err := project.Installed(ctx)
if err != nil {
return err
}
name := args[0]
for _, prj := range installed {
if prj.Name != name {
continue
}
return prj.Uninstall(cmd)
}
return fmt.Errorf("not found: %s", name)
},
}
}