summaryrefslogtreecommitdiff
path: root/pkg/bindings
diff options
context:
space:
mode:
authorOpenShift Merge Robot <openshift-merge-robot@users.noreply.github.com>2020-04-07 21:49:24 +0200
committerGitHub <noreply@github.com>2020-04-07 21:49:24 +0200
commit11c8b01e1d81008bc55fed8d6f62ce39dc5459c8 (patch)
tree36f7089418825a179b5e667a2324ba0cf39f57d0 /pkg/bindings
parent08fa3d511f2b96613bbbe76e517f2c9288e5bf56 (diff)
parent8ae28a55acc51a02597b23140916a690fbbdc3fc (diff)
downloadpodman-11c8b01e1d81008bc55fed8d6f62ce39dc5459c8.tar.gz
podman-11c8b01e1d81008bc55fed8d6f62ce39dc5459c8.tar.bz2
podman-11c8b01e1d81008bc55fed8d6f62ce39dc5459c8.zip
Merge pull request #5739 from jwhonce/wip/diff
V2 Podman diff(changes) support
Diffstat (limited to 'pkg/bindings')
-rw-r--r--pkg/bindings/containers/diff.go24
-rw-r--r--pkg/bindings/images/diff.go24
2 files changed, 48 insertions, 0 deletions
diff --git a/pkg/bindings/containers/diff.go b/pkg/bindings/containers/diff.go
new file mode 100644
index 000000000..82070ca9a
--- /dev/null
+++ b/pkg/bindings/containers/diff.go
@@ -0,0 +1,24 @@
+package containers
+
+import (
+ "context"
+ "net/http"
+
+ "github.com/containers/libpod/pkg/bindings"
+ "github.com/containers/storage/pkg/archive"
+)
+
+// Diff provides the changes between two container layers
+func Diff(ctx context.Context, nameOrId string) ([]archive.Change, error) {
+ conn, err := bindings.GetClient(ctx)
+ if err != nil {
+ return nil, err
+ }
+
+ response, err := conn.DoRequest(nil, http.MethodGet, "/containers/%s/changes", nil, nameOrId)
+ if err != nil {
+ return nil, err
+ }
+ var changes []archive.Change
+ return changes, response.Process(&changes)
+}
diff --git a/pkg/bindings/images/diff.go b/pkg/bindings/images/diff.go
new file mode 100644
index 000000000..cfdd06a97
--- /dev/null
+++ b/pkg/bindings/images/diff.go
@@ -0,0 +1,24 @@
+package images
+
+import (
+ "context"
+ "net/http"
+
+ "github.com/containers/libpod/pkg/bindings"
+ "github.com/containers/storage/pkg/archive"
+)
+
+// Diff provides the changes between two container layers
+func Diff(ctx context.Context, nameOrId string) ([]archive.Change, error) {
+ conn, err := bindings.GetClient(ctx)
+ if err != nil {
+ return nil, err
+ }
+
+ response, err := conn.DoRequest(nil, http.MethodGet, "/images/%s/changes", nil, nameOrId)
+ if err != nil {
+ return nil, err
+ }
+ var changes []archive.Change
+ return changes, response.Process(&changes)
+}