1+ import warnings
2+
13from .. import errors
24from .. import utils
35from ..auth import auth
@@ -7,8 +9,16 @@ class ServiceApiMixin(object):
79 @utils .minimum_version ('1.24' )
810 def create_service (
911 self , task_template , name = None , labels = None , mode = None ,
10- update_config = None , networks = None , endpoint_config = None
12+ update_config = None , networks = None , endpoint_config = None ,
13+ endpoint_spec = None
1114 ):
15+ if endpoint_config is not None :
16+ warnings .warn (
17+ 'endpoint_config has been renamed to endpoint_spec.' ,
18+ DeprecationWarning
19+ )
20+ endpoint_spec = endpoint_config
21+
1222 url = self ._url ('/services/create' )
1323 headers = {}
1424 image = task_template .get ('ContainerSpec' , {}).get ('Image' , None )
@@ -26,8 +36,8 @@ def create_service(
2636 'TaskTemplate' : task_template ,
2737 'Mode' : mode ,
2838 'UpdateConfig' : update_config ,
29- 'Networks' : networks ,
30- 'Endpoint ' : endpoint_config
39+ 'Networks' : utils . convert_service_networks ( networks ) ,
40+ 'EndpointSpec ' : endpoint_spec
3141 }
3242 return self ._result (
3343 self ._post_json (url , data = data , headers = headers ), True
@@ -73,7 +83,16 @@ def tasks(self, filters=None):
7383 @utils .check_resource
7484 def update_service (self , service , version , task_template = None , name = None ,
7585 labels = None , mode = None , update_config = None ,
76- networks = None , endpoint_config = None ):
86+ networks = None , endpoint_config = None ,
87+ endpoint_spec = None ):
88+
89+ if endpoint_config is not None :
90+ warnings .warn (
91+ 'endpoint_config has been renamed to endpoint_spec.' ,
92+ DeprecationWarning
93+ )
94+ endpoint_spec = endpoint_config
95+
7796 url = self ._url ('/services/{0}/update' , service )
7897 data = {}
7998 headers = {}
@@ -94,9 +113,9 @@ def update_service(self, service, version, task_template=None, name=None,
94113 if update_config is not None :
95114 data ['UpdateConfig' ] = update_config
96115 if networks is not None :
97- data ['Networks' ] = networks
98- if endpoint_config is not None :
99- data ['Endpoint ' ] = endpoint_config
116+ data ['Networks' ] = utils . convert_service_networks ( networks )
117+ if endpoint_spec is not None :
118+ data ['EndpointSpec ' ] = endpoint_spec
100119
101120 resp = self ._post_json (
102121 url , data = data , params = {'version' : version }, headers = headers
0 commit comments