diff options
| author | Joffrey F <joffrey@docker.com> | 2016-03-09 14:24:54 -0800 |
|---|---|---|
| committer | Joffrey F <joffrey@docker.com> | 2016-03-09 14:24:54 -0800 |
| commit | b7b0fa6affa47a1186e1a3d20069bc2150aa07f1 (patch) | |
| tree | 4d7d8182d8fbc58ac9b30bed59e1d46c6eb179dd /docker | |
| parent | efc949a3df90e1afdddb743cf440caf304518f5e (diff) | |
| parent | d4a5bc4a86e9ab69368c80027439bca3ecc1e852 (diff) | |
| download | docker-py-b7b0fa6affa47a1186e1a3d20069bc2150aa07f1.tar.gz | |
Merge branch '935' of https://github.com/mdaue/docker-py into mdaue-935
Diffstat (limited to 'docker')
| -rw-r--r-- | docker/api/network.py | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/docker/api/network.py b/docker/api/network.py index d9a6128..1f9ea9e 100644 --- a/docker/api/network.py +++ b/docker/api/network.py @@ -1,6 +1,8 @@ import json +from ..errors import InvalidVersion from ..utils import check_resource, minimum_version, normalize_links +from ..utils import version_lt class NetworkApiMixin(object): @@ -48,6 +50,7 @@ class NetworkApiMixin(object): @check_resource @minimum_version('1.21') def connect_container_to_network(self, container, net_id, + ipv4_address=None, ipv6_address=None, aliases=None, links=None): data = { "Container": container, @@ -56,6 +59,21 @@ class NetworkApiMixin(object): "Links": normalize_links(links) if links else None, }, } + + # IPv4 or IPv6 or neither: + if ipv4_address or ipv6_address: + if version_lt(self._version, '1.22'): + raise InvalidVersion('IP address assignment is not ' + 'supported in API version < 1.22') + + data['EndpointConfig']['IPAMConfig'] = dict() + if ipv4_address: + data['EndpointConfig']['IPAMConfig']['IPv4Address'] = \ + ipv4_address + if ipv6_address: + data['EndpointConfig']['IPAMConfig']['IPv6Address'] = \ + ipv6_address + url = self._url("/networks/{0}/connect", net_id) res = self._post_json(url, data=data) self._raise_for_status(res) |
