@@ -4,11 +4,12 @@ import (
44 "context"
55 "fmt"
66
7+ "github.com/alibaba/pouch/apis/filters"
78 "github.com/alibaba/pouch/apis/types"
89 "github.com/alibaba/pouch/pkg/reference"
910 "github.com/alibaba/pouch/pkg/utils"
1011
11- digest "github.com/opencontainers/go-digest"
12+ "github.com/opencontainers/go-digest"
1213 "github.com/spf13/cobra"
1314)
1415
@@ -38,6 +39,7 @@ type ImagesCommand struct {
3839 flagQuiet bool
3940 flagDigest bool
4041 flagNoTrunc bool
42+ flagFilter []string
4143}
4244
4345// Init initialize images command.
@@ -63,17 +65,22 @@ func (i *ImagesCommand) addFlags() {
6365 flagSet .BoolVarP (& i .flagQuiet , "quiet" , "q" , false , "Only show image numeric ID" )
6466 flagSet .BoolVar (& i .flagDigest , "digest" , false , "Show images with digest" )
6567 flagSet .BoolVar (& i .flagNoTrunc , "no-trunc" , false , "Do not truncate output" )
68+ flagSet .StringSliceVarP (& i .flagFilter , "filter" , "f" , []string {}, "Filter output based on conditions provided" )
6669}
6770
6871// runImages is the entry of images container command.
6972func (i * ImagesCommand ) runImages (args []string ) error {
7073 ctx := context .Background ()
7174 apiClient := i .cli .Client ()
7275
73- imageList , err := apiClient . ImageList ( ctx )
76+ imageFilterArgs , err := filters . FromFilterOpts ( i . flagFilter )
7477 if err != nil {
75- return fmt .Errorf ("failed to get image list: %v" , err )
78+ return err
79+ }
7680
81+ imageList , err := apiClient .ImageList (ctx , imageFilterArgs )
82+ if err != nil {
83+ return fmt .Errorf ("failed to get image list: %v" , err )
7784 }
7885
7986 if i .flagQuiet {
0 commit comments