From 2a949b557446f784b654191056ae4bac57fbccc4 Mon Sep 17 00:00:00 2001 From: Yong Tang Date: Wed, 23 Nov 2016 04:58:15 -0800 Subject: [PATCH] Add `--filter enabled=true` for `docker plugin ls` This fix adds `--filter enabled=true` to `docker plugin ls`, as was specified in 28624. The related API and docs has been updated. An integration test has been added. This fix fixes 28624. Signed-off-by: Yong Tang --- command/plugin/list.go | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/command/plugin/list.go b/command/plugin/list.go index 51590224b0..a1b231f570 100644 --- a/command/plugin/list.go +++ b/command/plugin/list.go @@ -4,6 +4,7 @@ import ( "github.com/docker/docker/cli" "github.com/docker/docker/cli/command" "github.com/docker/docker/cli/command/formatter" + "github.com/docker/docker/opts" "github.com/spf13/cobra" "golang.org/x/net/context" ) @@ -12,10 +13,11 @@ type listOptions struct { quiet bool noTrunc bool format string + filter opts.FilterOpt } func newListCommand(dockerCli *command.DockerCli) *cobra.Command { - var opts listOptions + opts := listOptions{filter: opts.NewFilterOpt()} cmd := &cobra.Command{ Use: "ls [OPTIONS]", @@ -32,12 +34,13 @@ func newListCommand(dockerCli *command.DockerCli) *cobra.Command { flags.BoolVarP(&opts.quiet, "quiet", "q", false, "Only display plugin IDs") flags.BoolVar(&opts.noTrunc, "no-trunc", false, "Don't truncate output") flags.StringVar(&opts.format, "format", "", "Pretty-print plugins using a Go template") + flags.VarP(&opts.filter, "filter", "f", "Provide filter values (e.g. 'enabled=true')") return cmd } func runList(dockerCli *command.DockerCli, opts listOptions) error { - plugins, err := dockerCli.Client().PluginList(context.Background()) + plugins, err := dockerCli.Client().PluginList(context.Background(), opts.filter.Value()) if err != nil { return err }