diff options
Diffstat (limited to 'docker/api/swarm.py')
-rw-r--r-- | docker/api/swarm.py | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/docker/api/swarm.py b/docker/api/swarm.py index db40fdd..d09dd08 100644 --- a/docker/api/swarm.py +++ b/docker/api/swarm.py @@ -85,7 +85,7 @@ class SwarmApiMixin: def init_swarm(self, advertise_addr=None, listen_addr='0.0.0.0:2377', force_new_cluster=False, swarm_spec=None, default_addr_pool=None, subnet_size=None, - data_path_addr=None): + data_path_addr=None, data_path_port=None): """ Initialize a new Swarm using the current connected engine as the first node. @@ -118,6 +118,9 @@ class SwarmApiMixin: networks created from the default subnet pool. Default: None data_path_addr (string): Address or interface to use for data path traffic. For example, 192.168.1.1, or an interface, like eth0. + data_path_port (int): Port number to use for data path traffic. + Acceptable port range is 1024 to 49151. If set to ``None`` or + 0, the default port 4789 will be used. Default: None Returns: (str): The ID of the created node. @@ -166,6 +169,14 @@ class SwarmApiMixin: ) data['DataPathAddr'] = data_path_addr + if data_path_port is not None: + if utils.version_lt(self._version, '1.40'): + raise errors.InvalidVersion( + 'Data path port is only available for ' + 'API version >= 1.40' + ) + data['DataPathPort'] = data_path_port + response = self._post_json(url, data=data) return self._result(response, json=True) |