diff --git a/docker/api/network.py b/docker/api/network.py index 1f9ea9e4..33a2feb9 100644 --- a/docker/api/network.py +++ b/docker/api/network.py @@ -21,7 +21,8 @@ class NetworkApiMixin(object): return self._result(res, json=True) @minimum_version('1.21') - def create_network(self, name, driver=None, options=None, ipam=None): + def create_network(self, name, driver=None, options=None, ipam=None, + check_duplicate=None): if options is not None and not isinstance(options, dict): raise TypeError('options must be a dictionary') @@ -30,6 +31,7 @@ class NetworkApiMixin(object): 'Driver': driver, 'Options': options, 'IPAM': ipam, + 'CheckDuplicate': check_duplicate } url = self._url("/networks/create") res = self._post_json(url, data=data) diff --git a/tests/integration/network_test.py b/tests/integration/network_test.py index 053e4ae3..0a81215a 100644 --- a/tests/integration/network_test.py +++ b/tests/integration/network_test.py @@ -212,6 +212,13 @@ class TestNetworks(helpers.BaseTestCase): self.execute(container, ['nslookup', 'bar']) + @requires_api_version('1.21') + def test_create_check_duplicate(self): + net_name, net_id = self.create_network() + with self.assertRaises(docker.errors.APIError): + self.client.create_network(net_name, check_duplicate=True) + self.client.create_network(net_name, check_duplicate=False) + @requires_api_version('1.22') def test_connect_with_links(self): net_name, net_id = self.create_network()