diff options
author | baude <bbaude@redhat.com> | 2018-04-23 13:32:41 -0500 |
---|---|---|
committer | Atomic Bot <atomic-devel@projectatomic.io> | 2018-04-26 19:14:44 +0000 |
commit | 39a7a773a653176e294382bc6301275fd57aff6b (patch) | |
tree | 334db314ef5681bd6979e2be91dd39640f8e00ff /libpod/image | |
parent | 0ccfd7dc20c11bc2f9d646c98cc67fb399cd9013 (diff) | |
download | podman-39a7a773a653176e294382bc6301275fd57aff6b.tar.gz podman-39a7a773a653176e294382bc6301275fd57aff6b.tar.bz2 podman-39a7a773a653176e294382bc6301275fd57aff6b.zip |
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 <bbaude@redhat.com>
Closes: #669
Approved by: baude
Diffstat (limited to 'libpod/image')
-rw-r--r-- | libpod/image/image.go | 24 |
1 files changed, 24 insertions, 0 deletions
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 +} |