github.com/kaisenlinux/docker.io@v0.0.0-20230510090727-ea55db55fac7/swarmkit/cmd/swarmctl/service/remove.go (about) 1 package service 2 3 import ( 4 "errors" 5 "fmt" 6 7 "github.com/docker/swarmkit/api" 8 "github.com/docker/swarmkit/cmd/swarmctl/common" 9 "github.com/spf13/cobra" 10 ) 11 12 var ( 13 removeCmd = &cobra.Command{ 14 Use: "remove <service ID>", 15 Short: "Remove a service", 16 Aliases: []string{"rm"}, 17 RunE: func(cmd *cobra.Command, args []string) error { 18 if len(args) == 0 { 19 return errors.New("service ID missing") 20 } 21 22 if len(args) > 1 { 23 return errors.New("remove command takes exactly 1 argument") 24 } 25 26 c, err := common.Dial(cmd) 27 if err != nil { 28 return err 29 } 30 31 for _, serviceName := range args { 32 service, err := getService(common.Context(cmd), c, serviceName) 33 if err != nil { 34 return err 35 } 36 _, err = c.RemoveService(common.Context(cmd), &api.RemoveServiceRequest{ServiceID: service.ID}) 37 if err != nil { 38 return err 39 } 40 fmt.Println(serviceName) 41 } 42 return nil 43 }, 44 } 45 )