mirror of
https://github.com/containers/podman.git
synced 2025-12-11 17:27:19 +08:00
podman-remote inspect
base enablement of the inspect command. Signed-off-by: baude <bbaude@redhat.com>
This commit is contained in:
50
libpod/adapter/containers_remote.go
Normal file
50
libpod/adapter/containers_remote.go
Normal file
@@ -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())
|
||||
}
|
||||
Reference in New Issue
Block a user