diff options
author | baude <bbaude@redhat.com> | 2019-02-20 15:02:18 -0600 |
---|---|---|
committer | baude <bbaude@redhat.com> | 2019-02-21 08:40:42 -0600 |
commit | e91ec38a70f4755d06972a0b65edd1f2e5366581 (patch) | |
tree | 4f5792f6662ebe43bee3331354c13585351eb81e /libpod/adapter/pods.go | |
parent | 4934bf23272f185fa9f08d0ba890c5a0eb4ed14d (diff) | |
download | podman-e91ec38a70f4755d06972a0b65edd1f2e5366581.tar.gz podman-e91ec38a70f4755d06972a0b65edd1f2e5366581.tar.bz2 podman-e91ec38a70f4755d06972a0b65edd1f2e5366581.zip |
enable podman-remote pod rm
add the ability to delete a pod from the remote client.
Signed-off-by: baude <bbaude@redhat.com>
Diffstat (limited to 'libpod/adapter/pods.go')
-rw-r--r-- | libpod/adapter/pods.go | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/libpod/adapter/pods.go b/libpod/adapter/pods.go new file mode 100644 index 000000000..59642c42e --- /dev/null +++ b/libpod/adapter/pods.go @@ -0,0 +1,38 @@ +// +build !remoteclient + +package adapter + +import ( + "context" + "github.com/containers/libpod/libpod/adapter/shortcuts" + + "github.com/containers/libpod/cmd/podman/cliconfig" + "github.com/containers/libpod/libpod" +) + +// Pod ... +type Pod struct { + *libpod.Pod +} + +// RemovePods ... +func (r *LocalRuntime) RemovePods(ctx context.Context, cli *cliconfig.PodRmValues) ([]string, []error) { + var ( + errs []error + podids []string + ) + pods, err := shortcuts.GetPodsByContext(cli.All, cli.Latest, cli.InputArgs, r.Runtime) + if err != nil { + errs = append(errs, err) + return nil, errs + } + + for _, p := range pods { + if err := r.RemovePod(ctx, p, cli.Force, cli.Force); err != nil { + errs = append(errs, err) + } else { + podids = append(podids, p.ID()) + } + } + return podids, errs +} |