2828LOG = logging .getLogger (__name__ )
2929
3030
31- def get_service_name (service ):
32- if hasattr (service , 'name' ):
33- return service .name
34- else :
35- return ''
31+ def _format_endpoint (endpoint , service ):
32+ columns = (
33+ 'is_enabled' ,
34+ 'id' ,
35+ 'interface' ,
36+ 'region_id' ,
37+ 'region_id' ,
38+ 'service_id' ,
39+ 'url' ,
40+ )
41+ column_headers = (
42+ 'enabled' ,
43+ 'id' ,
44+ 'interface' ,
45+ 'region' ,
46+ 'region_id' ,
47+ 'service_id' ,
48+ 'url' ,
49+ 'service_name' ,
50+ 'service_type' ,
51+ )
52+
53+ data = utils .get_item_properties (endpoint , columns )
54+ data += (getattr (service , 'name' , '' ), service .type )
55+ return column_headers , data
3656
3757
3858class AddProjectToEndpoint (command .Command ):
@@ -112,23 +132,23 @@ def get_parser(self, prog_name):
112132 return parser
113133
114134 def take_action (self , parsed_args ):
115- identity_client = self .app .client_manager .identity
116- service = common .find_service (identity_client , parsed_args .service )
117-
118- endpoint = identity_client .endpoints .create (
119- service = service .id ,
120- url = parsed_args .url ,
121- interface = parsed_args .interface ,
122- region = parsed_args .region ,
123- enabled = parsed_args .enabled ,
124- )
135+ identity_client = self .app .client_manager .sdk_connection .identity
136+ service = common .find_service_sdk (identity_client , parsed_args .service )
137+
138+ kwargs = {}
139+
140+ kwargs ['service_id' ] = service .id
141+ kwargs ['url' ] = parsed_args .url
142+ kwargs ['interface' ] = parsed_args .interface
143+ kwargs ['is_enabled' ] = parsed_args .enabled
144+
145+ if parsed_args .region :
146+ region = identity_client .get_region (parsed_args .region )
147+ kwargs ['region_id' ] = region .id
148+
149+ endpoint = identity_client .create_endpoint (** kwargs )
125150
126- info = {}
127- endpoint ._info .pop ('links' )
128- info .update (endpoint ._info )
129- info ['service_name' ] = get_service_name (service )
130- info ['service_type' ] = service .type
131- return zip (* sorted (info .items ()))
151+ return _format_endpoint (endpoint , service = service )
132152
133153
134154class DeleteEndpoint (command .Command ):
@@ -145,14 +165,12 @@ def get_parser(self, prog_name):
145165 return parser
146166
147167 def take_action (self , parsed_args ):
148- identity_client = self .app .client_manager .identity
168+ identity_client = self .app .client_manager .sdk_connection . identity
149169 result = 0
150170 for i in parsed_args .endpoint :
151171 try :
152- endpoint_id = utils .find_resource (
153- identity_client .endpoints , i
154- ).id
155- identity_client .endpoints .delete (endpoint_id )
172+ endpoint_id = identity_client .find_endpoint (i ).id
173+ identity_client .delete_endpoint (endpoint_id )
156174 except Exception as e :
157175 result += 1
158176 LOG .error (
@@ -208,28 +226,24 @@ def get_parser(self, prog_name):
208226 return parser
209227
210228 def take_action (self , parsed_args ):
211- identity_client = self .app .client_manager .identity
229+ identity_client = self .app .client_manager .sdk_connection . identity
212230
213231 endpoint = None
214232 if parsed_args .endpoint :
215- endpoint = utils .find_resource (
216- identity_client .endpoints , parsed_args .endpoint
217- )
233+ endpoint = identity_client .find_endpoint (parsed_args .endpoint )
218234 project = None
219235 if parsed_args .project :
220- project = common .find_project (
221- identity_client ,
236+ project = identity_client .find_project (
222237 parsed_args .project ,
223238 parsed_args .project_domain ,
224239 )
225240
226241 if endpoint :
227- columns : tuple [str , ...] = ('ID' , 'Name' )
228- data = identity_client .endpoint_filter .list_projects_for_endpoint (
229- endpoint = endpoint .id
230- )
242+ column_headers = ('ID' , 'Name' )
243+ columns : tuple [str , ...] = ('id' , 'name' )
244+ data = identity_client .endpoint_projects (endpoint = endpoint .id )
231245 else :
232- columns = (
246+ column_headers = (
233247 'ID' ,
234248 'Region' ,
235249 'Service Name' ,
@@ -238,37 +252,41 @@ def take_action(self, parsed_args):
238252 'Interface' ,
239253 'URL' ,
240254 )
255+ columns = (
256+ 'id' ,
257+ 'region_id' ,
258+ 'service_name' ,
259+ 'service_type' ,
260+ 'is_enabled' ,
261+ 'interface' ,
262+ 'url' ,
263+ )
241264 kwargs = {}
242265 if parsed_args .service :
243- service = common .find_service (
266+ service = common .find_service_sdk (
244267 identity_client , parsed_args .service
245268 )
246- kwargs ['service ' ] = service .id
269+ kwargs ['service_id ' ] = service .id
247270 if parsed_args .interface :
248271 kwargs ['interface' ] = parsed_args .interface
249272 if parsed_args .region :
250- kwargs ['region' ] = parsed_args .region
273+ region = identity_client .get_region (parsed_args .region )
274+ kwargs ['region_id' ] = region .id
251275
252276 if project :
253- data = (
254- identity_client .endpoint_filter .list_endpoints_for_project (
255- project = project .id
256- )
277+ data = list (
278+ identity_client .project_endpoints (project = project .id )
257279 )
258280 else :
259- data = identity_client .endpoints .list (** kwargs )
260-
261- service_list = identity_client .services .list ()
281+ data = list (identity_client .endpoints (** kwargs ))
262282
263283 for ep in data :
264- service = common .find_service_in_list (
265- service_list , ep .service_id
266- )
267- ep .service_name = get_service_name (service )
284+ service = identity_client .find_service (ep .service_id )
285+ ep .service_name = getattr (service , 'name' , '' )
268286 ep .service_type = service .type
269287
270288 return (
271- columns ,
289+ column_headers ,
272290 (
273291 utils .get_item_properties (
274292 s ,
@@ -363,28 +381,34 @@ def get_parser(self, prog_name):
363381 return parser
364382
365383 def take_action (self , parsed_args ):
366- identity_client = self .app .client_manager .identity
367- endpoint = utils . find_resource (
368- identity_client . endpoints , parsed_args . endpoint
369- )
384+ identity_client = self .app .client_manager .sdk_connection . identity
385+ endpoint = identity_client . find_endpoint ( parsed_args . endpoint )
386+
387+ kwargs = {}
370388
371- service_id = None
372389 if parsed_args .service :
373- service = common .find_service (identity_client , parsed_args .service )
374- service_id = service .id
375- enabled = None
390+ service = common .find_service_sdk (
391+ identity_client , parsed_args .service
392+ )
393+ kwargs ['service_id' ] = service .id
394+
376395 if parsed_args .enabled :
377- enabled = True
396+ kwargs [ 'is_enabled' ] = True
378397 if parsed_args .disabled :
379- enabled = False
398+ kwargs ['is_enabled' ] = False
399+
400+ if parsed_args .url :
401+ kwargs ['url' ] = parsed_args .url
402+
403+ if parsed_args .interface :
404+ kwargs ['interface' ] = parsed_args .interface
380405
381- identity_client .endpoints .update (
406+ if parsed_args .region :
407+ kwargs ['region_id' ] = parsed_args .region
408+
409+ identity_client .update_endpoint (
382410 endpoint .id ,
383- service = service_id ,
384- url = parsed_args .url ,
385- interface = parsed_args .interface ,
386- region = parsed_args .region ,
387- enabled = enabled ,
411+ ** kwargs ,
388412 )
389413
390414
@@ -404,16 +428,9 @@ def get_parser(self, prog_name):
404428 return parser
405429
406430 def take_action (self , parsed_args ):
407- identity_client = self .app .client_manager .identity
408- endpoint = utils .find_resource (
409- identity_client .endpoints , parsed_args .endpoint
410- )
431+ identity_client = self .app .client_manager .sdk_connection .identity
432+ endpoint = identity_client .find_endpoint (parsed_args .endpoint )
411433
412- service = common .find_service (identity_client , endpoint .service_id )
434+ service = common .find_service_sdk (identity_client , endpoint .service_id )
413435
414- info = {}
415- endpoint ._info .pop ('links' )
416- info .update (endpoint ._info )
417- info ['service_name' ] = get_service_name (service )
418- info ['service_type' ] = service .type
419- return zip (* sorted (info .items ()))
436+ return _format_endpoint (endpoint , service )
0 commit comments