Source code for aiodocker.volumes

import json

from .utils import clean_filters


[docs]class DockerVolumes: def __init__(self, docker): self.docker = docker
[docs] async def list(self, *, filters=None): """ Return a list of volumes Args: filters: a dict with a list of filters Available filters: dangling=<boolean> driver=<volume-driver-name> label=<key> or label=<key>:<value> name=<volume-name> """ params = {} if filters is None else {"filters": clean_filters(filters)} data = await self.docker._query_json("volumes", params=params) return data
[docs] async def get(self, id): data = await self.docker._query_json(f"volumes/{id}", method="GET") return DockerVolume(self.docker, data["Name"])
[docs] async def create(self, config): config = json.dumps(config, sort_keys=True).encode("utf-8") data = await self.docker._query_json( "volumes/create", method="POST", data=config ) return DockerVolume(self.docker, data["Name"])
[docs]class DockerVolume: def __init__(self, docker, name): self.docker = docker self.name = name
[docs] async def show(self): data = await self.docker._query_json(f"volumes/{self.name}") return data
[docs] async def delete(self): async with self.docker._query(f"volumes/{self.name}", method="DELETE"): pass