diff options
author | Kunal Kushwaha <kunal.kushwaha@gmail.com> | 2020-05-11 07:25:47 +0000 |
---|---|---|
committer | Kunal Kushwaha <kunal.kushwaha@gmail.com> | 2020-05-20 02:53:47 +0000 |
commit | 1dde2730e85706177c9a0e9078c26560a280f074 (patch) | |
tree | 3ff395f30c83d1953de9654902c17df9747e9f3f /cmd/podman/networks/list.go | |
parent | fa5b33e70b96ea8dfca3b46cab44a2e07028bf0c (diff) | |
download | podman-1dde2730e85706177c9a0e9078c26560a280f074.tar.gz podman-1dde2730e85706177c9a0e9078c26560a280f074.tar.bz2 podman-1dde2730e85706177c9a0e9078c26560a280f074.zip |
filter option added to network ls command.
filter option helps to filter output based on name or supported plugins
by CNI networks.
Signed-off-by: Kunal Kushwaha <kunal.kushwaha@gmail.com>
Diffstat (limited to 'cmd/podman/networks/list.go')
-rw-r--r-- | cmd/podman/networks/list.go | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/cmd/podman/networks/list.go b/cmd/podman/networks/list.go index 1c0528e5c..24604c055 100644 --- a/cmd/podman/networks/list.go +++ b/cmd/podman/networks/list.go @@ -40,8 +40,9 @@ var ( func networkListFlags(flags *pflag.FlagSet) { // TODO enable filters based on something //flags.StringSliceVarP(&networklistCommand.Filter, "filter", "f", []string{}, "Pause all running containers") - flags.StringVarP(&networkListOptions.Format, "format", "f", "", "Pretty-print containers to JSON or using a Go template") + flags.StringVarP(&networkListOptions.Format, "format", "f", "", "Pretty-print networks to JSON or using a Go template") flags.BoolVarP(&networkListOptions.Quiet, "quiet", "q", false, "display only names") + flags.StringVarP(&networkListOptions.Filter, "filter", "", "", "Provide filter values (e.g. 'name=podman')") } func init() { @@ -59,6 +60,14 @@ func networkList(cmd *cobra.Command, args []string) error { nlprs []NetworkListPrintReports ) + // validate the filter pattern. + if len(networkListOptions.Filter) > 0 { + tokens := strings.Split(networkListOptions.Filter, "=") + if len(tokens) != 2 { + return fmt.Errorf("invalid filter syntax : %s", networkListOptions.Filter) + } + } + responses, err := registry.ContainerEngine().NetworkList(registry.Context(), networkListOptions) if err != nil { return err @@ -69,7 +78,7 @@ func networkList(cmd *cobra.Command, args []string) error { return quietOut(responses) } - if networkListOptions.Format == "json" { + if strings.ToLower(networkListOptions.Format) == "json" { return jsonOut(responses) } |