github.com/cloud-foundations/dominator@v0.0.0-20221004181915-6e4fee580046/cmd/imagetool/showImageFilter.go (about) 1 package main 2 3 import ( 4 "fmt" 5 6 "github.com/Cloud-Foundations/Dominator/lib/log" 7 "github.com/Cloud-Foundations/Dominator/proto/imageserver" 8 ) 9 10 func showImageFilterSubcommand(args []string, logger log.DebugLogger) error { 11 if err := showImageFilter(args[0]); err != nil { 12 return fmt.Errorf("Error showing image filter: %s", err) 13 } 14 return nil 15 } 16 17 func showImageFilter(imageName string) error { 18 imageSClient, _ := getClients() 19 request := imageserver.GetImageRequest{ 20 ImageName: imageName, 21 IgnoreFilesystem: true, 22 Timeout: *timeout, 23 } 24 var reply imageserver.GetImageResponse 25 err := imageSClient.RequestReply("ImageServer.GetImage", request, &reply) 26 if err != nil { 27 return err 28 } 29 if reply.Image == nil { 30 return fmt.Errorf("no image") 31 } 32 if reply.Image.Filter == nil { 33 return fmt.Errorf("no filter") 34 } 35 for _, line := range reply.Image.Filter.FilterLines { 36 fmt.Println(line) 37 } 38 return nil 39 }