summaryrefslogtreecommitdiff
path: root/pkg/bindings/images
diff options
context:
space:
mode:
authorOpenShift Merge Robot <openshift-merge-robot@users.noreply.github.com>2020-04-21 05:07:30 -0400
committerGitHub <noreply@github.com>2020-04-21 05:07:30 -0400
commit90636fe8c2d1eb5ae75afa73405c8b12a0417fca (patch)
treec6e320c49d6d223e4009a3ee5a54793777579c82 /pkg/bindings/images
parent89276a5f92717c4c6a299ca2be182a3797d9c90d (diff)
parent09dc701097ac874c3885fa58ed4f143c29ae83f0 (diff)
downloadpodman-90636fe8c2d1eb5ae75afa73405c8b12a0417fca.tar.gz
podman-90636fe8c2d1eb5ae75afa73405c8b12a0417fca.tar.bz2
podman-90636fe8c2d1eb5ae75afa73405c8b12a0417fca.zip
Merge pull request #5863 from vrothberg/v2-fix-rmi
podman rmi: refactor logic
Diffstat (limited to 'pkg/bindings/images')
-rw-r--r--pkg/bindings/images/images.go27
1 files changed, 19 insertions, 8 deletions
diff --git a/pkg/bindings/images/images.go b/pkg/bindings/images/images.go
index e0f523ebd..06f01c7a0 100644
--- a/pkg/bindings/images/images.go
+++ b/pkg/bindings/images/images.go
@@ -109,23 +109,34 @@ func Load(ctx context.Context, r io.Reader, name *string) (*entities.ImageLoadRe
return &report, response.Process(&report)
}
-// Remove deletes an image from local storage. The optional force parameter will forcibly remove
-// the image by removing all all containers, including those that are Running, first.
-func Remove(ctx context.Context, nameOrID string, force *bool) ([]map[string]string, error) {
- var deletes []map[string]string
+// Remove deletes an image from local storage. The optional force parameter
+// will forcibly remove the image by removing all all containers, including
+// those that are Running, first.
+func Remove(ctx context.Context, images []string, opts entities.ImageRemoveOptions) (*entities.ImageRemoveReport, error) {
+ var report handlers.LibpodImagesRemoveReport
conn, err := bindings.GetClient(ctx)
if err != nil {
return nil, err
}
params := url.Values{}
- if force != nil {
- params.Set("force", strconv.FormatBool(*force))
+ params.Set("all", strconv.FormatBool(opts.All))
+ params.Set("force", strconv.FormatBool(opts.Force))
+ for _, i := range images {
+ params.Add("images", i)
}
- response, err := conn.DoRequest(nil, http.MethodDelete, "/images/%s", params, nameOrID)
+
+ response, err := conn.DoRequest(nil, http.MethodGet, "/images/remove", params)
if err != nil {
return nil, err
}
- return deletes, response.Process(&deletes)
+ if err := response.Process(&report); err != nil {
+ return nil, err
+ }
+ var rmError error
+ if report.Error != "" {
+ rmError = errors.New(report.Error)
+ }
+ return &report.ImageRemoveReport, rmError
}
// Export saves an image from local storage as a tarball or image archive. The optional format