From 7e20a90b02291acacd59b7d582a4a02c2848f551 Mon Sep 17 00:00:00 2001 From: Hongbin Lu Date: Sun, 24 Sep 2017 16:47:45 +0000 Subject: [PATCH] Add mac_address to connect_container_to_network Signed-off-by: Hongbin Lu --- docker/api/network.py | 4 +++- docker/types/networks.py | 9 ++++++++- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/docker/api/network.py b/docker/api/network.py index befbb583ce..a81a78f3ba 100644 --- a/docker/api/network.py +++ b/docker/api/network.py @@ -205,7 +205,7 @@ def inspect_network(self, net_id, verbose=None): def connect_container_to_network(self, container, net_id, ipv4_address=None, ipv6_address=None, aliases=None, links=None, - link_local_ips=None): + link_local_ips=None, mac_address=None): """ Connect a container to a network. @@ -224,6 +224,8 @@ def connect_container_to_network(self, container, net_id, network, using the IPv6 protocol. Defaults to ``None``. link_local_ips (:py:class:`list`): A list of link-local (IPv4/IPv6) addresses. + mac_address (str): The MAC address of this container on the + network. Defaults to ``None``. """ data = { "Container": container, diff --git a/docker/types/networks.py b/docker/types/networks.py index 1c7b2c9e69..f6db26c2fa 100644 --- a/docker/types/networks.py +++ b/docker/types/networks.py @@ -4,7 +4,7 @@ class EndpointConfig(dict): def __init__(self, version, aliases=None, links=None, ipv4_address=None, - ipv6_address=None, link_local_ips=None): + ipv6_address=None, link_local_ips=None, mac_address=None): if version_lt(version, '1.22'): raise errors.InvalidVersion( 'Endpoint config is not supported for API version < 1.22' @@ -23,6 +23,13 @@ def __init__(self, version, aliases=None, links=None, ipv4_address=None, if ipv6_address: ipam_config['IPv6Address'] = ipv6_address + if mac_address: + if version_lt(version, '1.25'): + raise errors.InvalidVersion( + 'mac_address is not supported for API version < 1.25' + ) + ipam_config['MacAddress'] = mac_address + if link_local_ips is not None: if version_lt(version, '1.24'): raise errors.InvalidVersion(