summaryrefslogtreecommitdiff
path: root/libpod/image
diff options
context:
space:
mode:
authorbaude <bbaude@redhat.com>2018-04-23 13:32:41 -0500
committerAtomic Bot <atomic-devel@projectatomic.io>2018-04-26 19:14:44 +0000
commit39a7a773a653176e294382bc6301275fd57aff6b (patch)
tree334db314ef5681bd6979e2be91dd39640f8e00ff /libpod/image
parent0ccfd7dc20c11bc2f9d646c98cc67fb399cd9013 (diff)
downloadpodman-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.go24
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
+}