summaryrefslogtreecommitdiff
path: root/pkg/varlinkapi
diff options
context:
space:
mode:
authorbaude <bbaude@redhat.com>2019-02-21 15:12:04 -0600
committerbaude <bbaude@redhat.com>2019-02-22 11:08:04 -0600
commitbc6b4aa39c9156f31a5d370b19e91f42e0f14181 (patch)
tree04300664a1b58b4a8d24681efb6db36560282a80 /pkg/varlinkapi
parentb4c10790d514538277a937a443219e4310cb057f (diff)
downloadpodman-bc6b4aa39c9156f31a5d370b19e91f42e0f14181.tar.gz
podman-bc6b4aa39c9156f31a5d370b19e91f42e0f14181.tar.bz2
podman-bc6b4aa39c9156f31a5d370b19e91f42e0f14181.zip
podman-remote pod inspect|exists
enable the remote client to be able to inspect a pod. also, bonus of enabling the podman pod exists command which returns a 0 or 1 depending on whether the given pod exists. Signed-off-by: baude <bbaude@redhat.com>
Diffstat (limited to 'pkg/varlinkapi')
-rw-r--r--pkg/varlinkapi/pods.go17
1 files changed, 17 insertions, 0 deletions
diff --git a/pkg/varlinkapi/pods.go b/pkg/varlinkapi/pods.go
index 1dd864d03..2988c5d84 100644
--- a/pkg/varlinkapi/pods.go
+++ b/pkg/varlinkapi/pods.go
@@ -286,3 +286,20 @@ func (i *LibpodAPI) GetPodsByContext(call iopodman.VarlinkCall, all, latest bool
}
return call.ReplyGetPodsByContext(podids)
}
+
+// PodStateData returns a container's state data in string format
+func (i *LibpodAPI) PodStateData(call iopodman.VarlinkCall, name string) error {
+ pod, err := i.Runtime.LookupPod(name)
+ if err != nil {
+ return call.ReplyErrorOccurred(err.Error())
+ }
+ data, err := pod.Inspect()
+ if err != nil {
+ return call.ReplyErrorOccurred("unable to obtain pod state")
+ }
+ b, err := json.Marshal(data)
+ if err != nil {
+ return call.ReplyErrorOccurred("unable to serialize pod inspect data")
+ }
+ return call.ReplyPodStateData(string(b))
+}