summaryrefslogtreecommitdiff
path: root/docker
diff options
context:
space:
mode:
authorJoffrey F <joffrey@docker.com>2016-03-09 14:24:54 -0800
committerJoffrey F <joffrey@docker.com>2016-03-09 14:24:54 -0800
commitb7b0fa6affa47a1186e1a3d20069bc2150aa07f1 (patch)
tree4d7d8182d8fbc58ac9b30bed59e1d46c6eb179dd /docker
parentefc949a3df90e1afdddb743cf440caf304518f5e (diff)
parentd4a5bc4a86e9ab69368c80027439bca3ecc1e852 (diff)
downloaddocker-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.py18
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)