mirror of
https://github.com/containers/podman.git
synced 2025-06-18 15:39:08 +08:00
add podman remote client
podman client that is capable of: * images * ps * rm * rmi this is only a mockup to frame out and prove python library and ssh tunnelling usage. Signed-off-by: baude <bbaude@redhat.com> Closes: #986 Approved by: rhatdan
This commit is contained in:
25
contrib/python/cmd/rmi.py
Normal file
25
contrib/python/cmd/rmi.py
Normal file
@ -0,0 +1,25 @@
|
||||
from pman import PodmanRemote
|
||||
from utils import write_out, write_err
|
||||
|
||||
def cli(subparser):
|
||||
imagesp = subparser.add_parser("rmi",
|
||||
help=("delete one or more images"))
|
||||
imagesp.add_argument("--force", "-f", action="store_true", help="force delete", dest="force")
|
||||
imagesp.add_argument("delete_targets", nargs='*', help="images to delete")
|
||||
imagesp.set_defaults(_class=Rmi, func='remove_images')
|
||||
|
||||
|
||||
class Rmi(PodmanRemote):
|
||||
|
||||
def remove_images(self):
|
||||
delete_targets = getattr(self.args, "delete_targets")
|
||||
if len(delete_targets) < 1:
|
||||
raise ValueError("you must supply at least one image id or name to delete")
|
||||
force = getattr(self.args, "force")
|
||||
for d in delete_targets:
|
||||
image = self.client.images.get(d)
|
||||
if image["containers"] > 0 and not force:
|
||||
write_err("unable to delete {} because it has associated errors. retry with --force".format(d))
|
||||
continue
|
||||
image.remove(force)
|
||||
write_out(image["id"])
|
Reference in New Issue
Block a user