diff options
author | OpenShift Merge Robot <openshift-merge-robot@users.noreply.github.com> | 2019-01-19 20:40:37 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-01-19 20:40:37 +0100 |
commit | 579fc0f7eb3928a076b0a5d1d6ec444205a0a930 (patch) | |
tree | 739a21529954fb0009e5fa2a785d753389e344b4 /libpod/adapter/containers_remote.go | |
parent | 0d4bfb013108f836dbc6369d38b01b6e92d6141d (diff) | |
parent | eadaa5fb420e3e8e6b0e277ac88cc528f9950ee4 (diff) | |
download | podman-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.go | 50 |
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()) +} |