1313
1414"""Availability Zone action implementations"""
1515
16+ import argparse
1617import copy
1718import logging
19+ from collections .abc import Iterable , Sequence
20+ from typing import Any
1821
1922from openstack import exceptions as sdk_exceptions
2023from openstack import utils as sdk_utils
2730LOG = logging .getLogger (__name__ )
2831
2932
30- def _xform_compute_availability_zone (az , include_extra ):
31- result = []
33+ def _xform_compute_availability_zone (
34+ az : Any , include_extra : bool
35+ ) -> list [dict [str , str ]]:
36+ result : list [dict [str , str ]] = []
3237 zone_info = {
3338 'zone_name' : az .name ,
3439 'zone_status' : (
@@ -62,8 +67,8 @@ def _xform_compute_availability_zone(az, include_extra):
6267 return result
6368
6469
65- def _xform_network_availability_zone (az ) :
66- result = []
70+ def _xform_network_availability_zone (az : Any ) -> list [ dict [ str , str ]] :
71+ result : list [ dict [ str , str ]] = []
6772 zone_info = {}
6873 zone_info ['zone_name' ] = az .name
6974 zone_info ['zone_status' ] = az .state
@@ -74,8 +79,8 @@ def _xform_network_availability_zone(az):
7479 return result
7580
7681
77- def _xform_volume_availability_zone (az ) :
78- result = []
82+ def _xform_volume_availability_zone (az : Any ) -> list [ dict [ str , str ]] :
83+ result : list [ dict [ str , str ]] = []
7984 zone_info = {
8085 'zone_name' : az .name ,
8186 'zone_status' : (
@@ -89,7 +94,7 @@ def _xform_volume_availability_zone(az):
8994class ListAvailabilityZone (command .Lister ):
9095 _description = _ ("List availability zones and their status" )
9196
92- def get_parser (self , prog_name ) :
97+ def get_parser (self , prog_name : str ) -> argparse . ArgumentParser :
9398 parser = super ().get_parser (prog_name )
9499 parser .add_argument (
95100 '--compute' ,
@@ -117,7 +122,9 @@ def get_parser(self, prog_name):
117122 )
118123 return parser
119124
120- def _get_compute_availability_zones (self , parsed_args ):
125+ def _get_compute_availability_zones (
126+ self , parsed_args : argparse .Namespace
127+ ) -> list [dict [str , str ]]:
121128 compute_client = self .app .client_manager .compute
122129 try :
123130 data = list (compute_client .availability_zones (details = True ))
@@ -132,7 +139,9 @@ def _get_compute_availability_zones(self, parsed_args):
132139 result += _xform_compute_availability_zone (zone , parsed_args .long )
133140 return result
134141
135- def _get_network_availability_zones (self , parsed_args ):
142+ def _get_network_availability_zones (
143+ self , parsed_args : argparse .Namespace
144+ ) -> list [dict [str , str ]]:
136145 network_client = self .app .client_manager .network
137146 try :
138147 # Verify that the extension exists.
@@ -153,7 +162,9 @@ def _get_network_availability_zones(self, parsed_args):
153162 result += _xform_network_availability_zone (zone )
154163 return result
155164
156- def _get_volume_availability_zones (self , parsed_args ):
165+ def _get_volume_availability_zones (
166+ self , parsed_args : argparse .Namespace
167+ ) -> list [dict [str , str ]]:
157168 volume_client = sdk_utils .ensure_service_version (
158169 self .app .client_manager .sdk_connection .volume , '3'
159170 )
@@ -174,7 +185,9 @@ def _get_volume_availability_zones(self, parsed_args):
174185 result += _xform_volume_availability_zone (zone )
175186 return result
176187
177- def take_action (self , parsed_args ):
188+ def take_action (
189+ self , parsed_args : argparse .Namespace
190+ ) -> tuple [Sequence [str ], Iterable [tuple [Any , ...]]]:
178191 columns : tuple [str , ...] = ('Zone Name' , 'Zone Status' )
179192 if parsed_args .long :
180193 columns += (
0 commit comments