mirror of https://github.com/docker/docker-py.git
Unify endpoint config creation when using connect_container_to_network
Signed-off-by: Joffrey F <joffrey@docker.com>
This commit is contained in:
parent
b6fa986293
commit
fc4bfde0d6
|
@ -1,7 +1,7 @@
|
|||
import json
|
||||
|
||||
from ..errors import InvalidVersion
|
||||
from ..utils import check_resource, minimum_version, normalize_links
|
||||
from ..utils import check_resource, minimum_version
|
||||
from ..utils import version_lt
|
||||
|
||||
|
||||
|
@ -63,26 +63,12 @@ class NetworkApiMixin(object):
|
|||
aliases=None, links=None):
|
||||
data = {
|
||||
"Container": container,
|
||||
"EndpointConfig": {
|
||||
"Aliases": aliases,
|
||||
"Links": normalize_links(links) if links else None,
|
||||
},
|
||||
"EndpointConfig": self.create_endpoint_config(
|
||||
aliases=aliases, links=links, ipv4_address=ipv4_address,
|
||||
ipv6_address=ipv6_address
|
||||
),
|
||||
}
|
||||
|
||||
# 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)
|
||||
|
|
|
@ -17,11 +17,13 @@ For example, setting the subnet to `192.168.52.0/24` and gateway address
|
|||
to `192.168.52.254`
|
||||
|
||||
```python
|
||||
|
||||
ipam_config = docker.utils.create_ipam_config(
|
||||
ipam_pool = docker.utils.create_ipam_pool(
|
||||
subnet='192.168.52.0/24',
|
||||
gateway='192.168.52.254'
|
||||
)
|
||||
ipam_config = docker.utils.create_ipam_config(
|
||||
pool_configs=[ipam_pool]
|
||||
)
|
||||
|
||||
docker_client.create_network("network1", driver="bridge", ipam=ipam_config)
|
||||
```
|
||||
|
@ -160,7 +162,7 @@ in `docker.utils.create_ipam_config`.
|
|||
```python
|
||||
ipam_pool = docker.utils.create_ipam_pool(
|
||||
subnet='124.42.0.0/16',
|
||||
iprange='124.42.0.0/8',
|
||||
iprange='124.42.0.0/24',
|
||||
gateway='124.42.0.254',
|
||||
aux_addresses={
|
||||
'reserved1': '124.42.1.1'
|
||||
|
|
Loading…
Reference in New Issue