diff options
Diffstat (limited to 'docker/api/volume.py')
-rw-r--r-- | docker/api/volume.py | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/docker/api/volume.py b/docker/api/volume.py index 9c6d5f8..5de089e 100644 --- a/docker/api/volume.py +++ b/docker/api/volume.py @@ -115,17 +115,27 @@ class VolumeApiMixin(object): return self._result(self._get(url), True) @utils.minimum_version('1.21') - def remove_volume(self, name): + def remove_volume(self, name, force=False): """ Remove a volume. Similar to the ``docker volume rm`` command. Args: name (str): The volume's name + force (bool): Force removal of volumes that were already removed + out of band by the volume driver plugin. Raises: - - ``docker.errors.APIError``: If volume failed to remove. + :py:class:`docker.errors.APIError` + If volume failed to remove. """ - url = self._url('/volumes/{0}', name) + params = {} + if force: + if utils.version_lt(self._version, '1.25'): + raise errors.InvalidVersion( + 'force removal was introduced in API 1.25' + ) + params = {'force': force} + + url = self._url('/volumes/{0}', name, params=params) resp = self._delete(url) self._raise_for_status(resp) |