github.com/containers/libpod@v1.9.4-0.20220419124438-4284fd425507/cmd/podman/network_list.go (about) 1 // +build !remoteclient 2 3 package main 4 5 import ( 6 "errors" 7 8 "github.com/containers/libpod/cmd/podman/cliconfig" 9 "github.com/containers/libpod/pkg/adapter" 10 "github.com/containers/libpod/pkg/rootless" 11 "github.com/spf13/cobra" 12 ) 13 14 var ( 15 networklistCommand cliconfig.NetworkListValues 16 networklistDescription = `List networks` 17 _networklistCommand = &cobra.Command{ 18 Use: "ls", 19 Args: noSubArgs, 20 Short: "network list", 21 Long: networklistDescription, 22 RunE: func(cmd *cobra.Command, args []string) error { 23 networklistCommand.InputArgs = args 24 networklistCommand.GlobalFlags = MainGlobalOpts 25 networklistCommand.Remote = remoteclient 26 return networklistCmd(&networklistCommand) 27 }, 28 Example: `podman network list`, 29 } 30 ) 31 32 func init() { 33 networklistCommand.Command = _networklistCommand 34 networklistCommand.SetHelpTemplate(HelpTemplate()) 35 networklistCommand.SetUsageTemplate(UsageTemplate()) 36 flags := networklistCommand.Flags() 37 // TODO enable filters based on something 38 //flags.StringSliceVarP(&networklistCommand.Filter, "filter", "f", []string{}, "Pause all running containers") 39 flags.BoolVarP(&networklistCommand.Quiet, "quiet", "q", false, "display only names") 40 } 41 42 func networklistCmd(c *cliconfig.NetworkListValues) error { 43 if rootless.IsRootless() && !remoteclient { 44 return errors.New("network list is not supported for rootless mode") 45 } 46 if len(c.InputArgs) > 0 { 47 return errors.New("network list takes no arguments") 48 } 49 runtime, err := adapter.GetRuntimeNoStore(getContext(), &c.PodmanCommand) 50 if err != nil { 51 return err 52 } 53 return runtime.NetworkList(c) 54 }