github.com/kaisenlinux/docker.io@v0.0.0-20230510090727-ea55db55fac7/swarmkit/cmd/swarmctl/network/remove.go (about)

     1  package network
     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 <network ID>",
    15  		Short:   "Remove a network",
    16  		Aliases: []string{"rm"},
    17  		RunE: func(cmd *cobra.Command, args []string) error {
    18  			if len(args) == 0 {
    19  				return errors.New("network 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  			network, err := GetNetwork(common.Context(cmd), c, args[0])
    32  			if err != nil {
    33  				return err
    34  			}
    35  			_, err = c.RemoveNetwork(common.Context(cmd), &api.RemoveNetworkRequest{NetworkID: network.ID})
    36  			if err != nil {
    37  				return err
    38  			}
    39  			fmt.Println(args[0])
    40  			return nil
    41  		},
    42  	}
    43  )