1212# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
1313# License for the specific language governing permissions and limitations
1414# under the License.
15- #
1615
16+ import argparse
17+ from collections .abc import Iterable , Sequence
1718import logging
18- import typing as ty
19+ from typing import Any
1920
2021from osc_lib .cli import format_columns
2122from osc_lib .cli import identity as osc_id
5960}
6061
6162
62- def _get_columns (item ) :
63+ def _get_columns (item : Any ) -> tuple [ tuple [ str , ...], tuple [ str , ...]] :
6364 column_map : dict [str , str ] = {}
6465 hidden_columns = ['location' , 'tenant_id' ]
6566 return osc_utils .get_osc_show_columns_for_sdk_resource (
6667 item , column_map , hidden_columns
6768 )
6869
6970
70- def _get_common_parser (parser , update = None ):
71+ def _get_common_parser (
72+ parser : argparse .ArgumentParser , update : str | None = None
73+ ) -> None :
7174 """Adds to parser arguments common to create, set and unset commands.
7275
7376 :params ArgumentParser parser: argparse object contains all command's
@@ -95,7 +98,7 @@ def _get_common_parser(parser, update=None):
9598 REPEAT_RT = _ ("repeat option for multiple Route Targets" )
9699 REPEAT_RD = _ ("repeat option for multiple Route Distinguishers" )
97100
98- def is_appended ():
101+ def is_appended () -> bool :
99102 return update is None or update == 'set'
100103
101104 if update is None or update == 'set' :
@@ -183,7 +186,9 @@ def is_appended():
183186 )
184187
185188
186- def _args2body (client_manager , id , action , args ):
189+ def _args2body (
190+ client_manager : Any , id : str , action : str , args : argparse .Namespace
191+ ) -> dict [str , Any ]:
187192
188193 if not (
189194 args .purge_route_target
@@ -198,7 +203,7 @@ def _args2body(client_manager, id, action, args):
198203 ):
199204 bgpvpn = client_manager .network .get_bgpvpn (id )
200205
201- attrs : dict [str , ty . Any ] = {}
206+ attrs : dict [str , Any ] = {}
202207
203208 if 'name' in args and args .name is not None :
204209 attrs ['name' ] = str (args .name )
@@ -265,7 +270,7 @@ def _args2body(client_manager, id, action, args):
265270class CreateBgpvpn (command .ShowOne ):
266271 _description = _ ("Create BGP VPN resource" )
267272
268- def get_parser (self , prog_name ) :
273+ def get_parser (self , prog_name : str ) -> argparse . ArgumentParser :
269274 parser = super ().get_parser (prog_name )
270275 osc_id .add_project_owner_option_to_parser (parser )
271276 _get_common_parser (parser )
@@ -280,7 +285,9 @@ def get_parser(self, prog_name):
280285 )
281286 return parser
282287
283- def take_action (self , parsed_args ):
288+ def take_action (
289+ self , parsed_args : argparse .Namespace
290+ ) -> tuple [Sequence [str ], Iterable [Any ]]:
284291 client = self .app .client_manager .network
285292 attrs = {}
286293 if parsed_args .name is not None :
@@ -317,7 +324,7 @@ def take_action(self, parsed_args):
317324class SetBgpvpn (command .Command ):
318325 _description = _ ("Set BGP VPN properties" )
319326
320- def get_parser (self , prog_name ) :
327+ def get_parser (self , prog_name : str ) -> argparse . ArgumentParser :
321328 parser = super ().get_parser (prog_name )
322329 parser .add_argument (
323330 'bgpvpn' ,
@@ -327,7 +334,7 @@ def get_parser(self, prog_name):
327334 _get_common_parser (parser , update = 'set' )
328335 return parser
329336
330- def take_action (self , parsed_args ) :
337+ def take_action (self , parsed_args : argparse . Namespace ) -> None :
331338 client = self .app .client_manager .network
332339 id = client .find_bgpvpn (parsed_args .bgpvpn , ignore_missing = False )['id' ]
333340 body = _args2body (self .app .client_manager , id , 'set' , parsed_args )
@@ -337,7 +344,7 @@ def take_action(self, parsed_args):
337344class UnsetBgpvpn (command .Command ):
338345 _description = _ ("Unset BGP VPN properties" )
339346
340- def get_parser (self , prog_name ) :
347+ def get_parser (self , prog_name : str ) -> argparse . ArgumentParser :
341348 parser = super ().get_parser (prog_name )
342349 parser .add_argument (
343350 'bgpvpn' ,
@@ -347,7 +354,7 @@ def get_parser(self, prog_name):
347354 _get_common_parser (parser , update = 'unset' )
348355 return parser
349356
350- def take_action (self , parsed_args ) :
357+ def take_action (self , parsed_args : argparse . Namespace ) -> None :
351358 client = self .app .client_manager .network
352359 id = client .find_bgpvpn (parsed_args .bgpvpn , ignore_missing = False )['id' ]
353360 body = _args2body (self .app .client_manager , id , 'unset' , parsed_args )
@@ -357,7 +364,7 @@ def take_action(self, parsed_args):
357364class DeleteBgpvpn (command .Command ):
358365 _description = _ ("Delete BGP VPN resource(s)" )
359366
360- def get_parser (self , prog_name ) :
367+ def get_parser (self , prog_name : str ) -> argparse . ArgumentParser :
361368 parser = super ().get_parser (prog_name )
362369 parser .add_argument (
363370 'bgpvpns' ,
@@ -367,7 +374,7 @@ def get_parser(self, prog_name):
367374 )
368375 return parser
369376
370- def take_action (self , parsed_args ) :
377+ def take_action (self , parsed_args : argparse . Namespace ) -> None :
371378 client = self .app .client_manager .network
372379 fails = 0
373380 for id_or_name in parsed_args .bgpvpns :
@@ -393,7 +400,7 @@ def take_action(self, parsed_args):
393400class ListBgpvpn (command .Lister ):
394401 _description = _ ("List BGP VPN resources" )
395402
396- def get_parser (self , prog_name ) :
403+ def get_parser (self , prog_name : str ) -> argparse . ArgumentParser :
397404 parser = super ().get_parser (prog_name )
398405 osc_id .add_project_owner_option_to_parser (parser )
399406 parser .add_argument (
@@ -413,7 +420,9 @@ def get_parser(self, prog_name):
413420 )
414421 return parser
415422
416- def take_action (self , parsed_args ):
423+ def take_action (
424+ self , parsed_args : argparse .Namespace
425+ ) -> tuple [Sequence [str ], Iterable [tuple [Any , ...]]]:
417426 client = self .app .client_manager .network
418427 params = {}
419428 if parsed_args .project is not None :
@@ -443,7 +452,7 @@ def take_action(self, parsed_args):
443452class ShowBgpvpn (command .ShowOne ):
444453 _description = _ ("Show information of a given BGP VPN" )
445454
446- def get_parser (self , prog_name ) :
455+ def get_parser (self , prog_name : str ) -> argparse . ArgumentParser :
447456 parser = super ().get_parser (prog_name )
448457 parser .add_argument (
449458 'bgpvpn' ,
@@ -452,7 +461,9 @@ def get_parser(self, prog_name):
452461 )
453462 return parser
454463
455- def take_action (self , parsed_args ):
464+ def take_action (
465+ self , parsed_args : argparse .Namespace
466+ ) -> tuple [Sequence [str ], Iterable [Any ]]:
456467 client = self .app .client_manager .network
457468 id = client .find_bgpvpn (parsed_args .bgpvpn , ignore_missing = False )['id' ]
458469 obj = client .get_bgpvpn (id )
0 commit comments