diff options
author | Jhon Honce <jhonce@redhat.com> | 2020-03-24 17:53:28 -0700 |
---|---|---|
committer | Jhon Honce <jhonce@redhat.com> | 2020-03-25 17:54:14 -0700 |
commit | 36a4cc864d1de57cd822a81d01f0b5f1b40eaa7d (patch) | |
tree | 060c945059c47cb412127f27a82c682295b1d253 /pkg | |
parent | ff0124aee1ca700be3b7357b992a220cdacfddfd (diff) | |
download | podman-36a4cc864d1de57cd822a81d01f0b5f1b40eaa7d.tar.gz podman-36a4cc864d1de57cd822a81d01f0b5f1b40eaa7d.tar.bz2 podman-36a4cc864d1de57cd822a81d01f0b5f1b40eaa7d.zip |
V2 podman image
* Exists()
Signed-off-by: Jhon Honce <jhonce@redhat.com>
Diffstat (limited to 'pkg')
-rw-r--r-- | pkg/domain/entities/engine_image.go | 1 | ||||
-rw-r--r-- | pkg/domain/infra/abi/images.go | 7 | ||||
-rw-r--r-- | pkg/domain/infra/tunnel/images.go | 5 |
3 files changed, 13 insertions, 0 deletions
diff --git a/pkg/domain/entities/engine_image.go b/pkg/domain/entities/engine_image.go index d44fdaf53..0294c7129 100644 --- a/pkg/domain/entities/engine_image.go +++ b/pkg/domain/entities/engine_image.go @@ -6,6 +6,7 @@ import ( type ImageEngine interface { Delete(ctx context.Context, nameOrId string, opts ImageDeleteOptions) (*ImageDeleteReport, error) + Exists(ctx context.Context, nameOrId string) (*BoolReport, error) History(ctx context.Context, nameOrId string, opts ImageHistoryOptions) (*ImageHistoryReport, error) List(ctx context.Context, opts ImageListOptions) ([]*ImageSummary, error) Prune(ctx context.Context, opts ImagePruneOptions) (*ImagePruneReport, error) diff --git a/pkg/domain/infra/abi/images.go b/pkg/domain/infra/abi/images.go index 6e9d7f566..39a03ef6c 100644 --- a/pkg/domain/infra/abi/images.go +++ b/pkg/domain/infra/abi/images.go @@ -10,6 +10,13 @@ import ( "github.com/containers/libpod/pkg/domain/utils" ) +func (ir *ImageEngine) Exists(_ context.Context, nameOrId string) (*entities.BoolReport, error) { + if _, err := ir.Libpod.ImageRuntime().NewFromLocal(nameOrId); err != nil { + return &entities.BoolReport{}, nil + } + return &entities.BoolReport{Value: true}, nil +} + func (ir *ImageEngine) Delete(ctx context.Context, nameOrId string, opts entities.ImageDeleteOptions) (*entities.ImageDeleteReport, error) { image, err := ir.Libpod.ImageRuntime().NewFromLocal(nameOrId) if err != nil { diff --git a/pkg/domain/infra/tunnel/images.go b/pkg/domain/infra/tunnel/images.go index 60df40498..921e4a6e3 100644 --- a/pkg/domain/infra/tunnel/images.go +++ b/pkg/domain/infra/tunnel/images.go @@ -9,6 +9,11 @@ import ( "github.com/containers/libpod/pkg/domain/utils" ) +func (ir *ImageEngine) Exists(_ context.Context, nameOrId string) (*entities.BoolReport, error) { + found, err := images.Exists(ir.ClientCxt, nameOrId) + return &entities.BoolReport{Value: found}, err +} + func (ir *ImageEngine) Delete(ctx context.Context, nameOrId string, opts entities.ImageDeleteOptions) (*entities.ImageDeleteReport, error) { results, err := images.Remove(ir.ClientCxt, nameOrId, &opts.Force) if err != nil { |