From 39a7a773a653176e294382bc6301275fd57aff6b Mon Sep 17 00:00:00 2001 From: baude Date: Mon, 23 Apr 2018 13:32:41 -0500 Subject: varlink images implement varlink image functions for working with libpod with the exception of a couple due to incompletions on the libpod side of things (build). also, created a first pass at a libpodpy package which will stand as a client to working with libpod's varlink methods using python. Signed-off-by: baude Closes: #669 Approved by: baude --- libpod/image/image.go | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'libpod/image') diff --git a/libpod/image/image.go b/libpod/image/image.go index 4d481c8e5..b2dd22b82 100644 --- a/libpod/image/image.go +++ b/libpod/image/image.go @@ -274,6 +274,15 @@ func (i *Image) Names() []string { return i.image.Names } +// RepoDigests returns a string array of repodigests associated with the image +func (i *Image) RepoDigests() []string { + var repoDigests []string + for _, name := range i.Names() { + repoDigests = append(repoDigests, strings.SplitN(name, ":", 2)[0]+"@"+i.Digest().String()) + } + return repoDigests +} + // Created returns the time the image was created func (i *Image) Created() time.Time { return i.image.Created @@ -778,3 +787,18 @@ func splitString(input string) string { func (i *Image) InputIsID() bool { return strings.HasPrefix(i.ID(), i.InputName) } + +// Containers a list of container IDs associated with the image +func (i *Image) Containers() ([]string, error) { + containers, err := i.imageruntime.store.Containers() + if err != nil { + return nil, err + } + var imageContainers []string + for _, c := range containers { + if c.ImageID == i.ID() { + imageContainers = append(imageContainers, c.ID) + } + } + return imageContainers, err +} -- cgit v1.2.3-54-g00ecf