summaryrefslogtreecommitdiff
path: root/libpod/adapter/containers_remote.go
diff options
context:
space:
mode:
authorOpenShift Merge Robot <openshift-merge-robot@users.noreply.github.com>2019-01-19 20:40:37 +0100
committerGitHub <noreply@github.com>2019-01-19 20:40:37 +0100
commit579fc0f7eb3928a076b0a5d1d6ec444205a0a930 (patch)
tree739a21529954fb0009e5fa2a785d753389e344b4 /libpod/adapter/containers_remote.go
parent0d4bfb013108f836dbc6369d38b01b6e92d6141d (diff)
parenteadaa5fb420e3e8e6b0e277ac88cc528f9950ee4 (diff)
downloadpodman-579fc0f7eb3928a076b0a5d1d6ec444205a0a930.tar.gz
podman-579fc0f7eb3928a076b0a5d1d6ec444205a0a930.tar.bz2
podman-579fc0f7eb3928a076b0a5d1d6ec444205a0a930.zip
Merge pull request #2183 from baude/remoteinspect
podman-remote inspect
Diffstat (limited to 'libpod/adapter/containers_remote.go')
-rw-r--r--libpod/adapter/containers_remote.go50
1 files changed, 50 insertions, 0 deletions
diff --git a/libpod/adapter/containers_remote.go b/libpod/adapter/containers_remote.go
new file mode 100644
index 000000000..9623304e5
--- /dev/null
+++ b/libpod/adapter/containers_remote.go
@@ -0,0 +1,50 @@
+// +build remoteclient
+
+package adapter
+
+import (
+ "encoding/json"
+
+ iopodman "github.com/containers/libpod/cmd/podman/varlink"
+ "github.com/containers/libpod/libpod"
+ "github.com/containers/libpod/pkg/inspect"
+)
+
+// Inspect returns an inspect struct from varlink
+func (c *Container) Inspect(size bool) (*inspect.ContainerInspectData, error) {
+ reply, err := iopodman.ContainerInspectData().Call(c.Runtime.Conn, c.ID())
+ if err != nil {
+ return nil, err
+ }
+ data := inspect.ContainerInspectData{}
+ if err := json.Unmarshal([]byte(reply), &data); err != nil {
+ return nil, err
+ }
+ return &data, err
+}
+
+// ID returns the ID of the container
+func (c *Container) ID() string {
+ return c.config.ID
+}
+
+// GetArtifact returns a container's artifacts
+func (c *Container) GetArtifact(name string) ([]byte, error) {
+ var data []byte
+ reply, err := iopodman.ContainerArtifacts().Call(c.Runtime.Conn, c.ID(), name)
+ if err != nil {
+ return nil, err
+ }
+ if err := json.Unmarshal([]byte(reply), &data); err != nil {
+ return nil, err
+ }
+ return data, err
+}
+
+// Config returns a container's Config ... same as ctr.Config()
+func (c *Container) Config() *libpod.ContainerConfig {
+ if c.config != nil {
+ return c.config
+ }
+ return c.Runtime.Config(c.ID())
+}