1616
1717"""Compute v2 Aggregate action implementations"""
1818
19+ import argparse
20+ from collections .abc import Iterable , Sequence
1921import logging
2022from typing import Any
2123
4143}
4244
4345
44- def _get_aggregate_columns (item ):
46+ def _get_aggregate_columns (
47+ item : Any ,
48+ ) -> tuple [tuple [str , ...], tuple [str , ...]]:
4549 # To maintain backwards compatibility we need to rename sdk props to
4650 # whatever OSC was using before
4751 column_map = {
@@ -56,7 +60,7 @@ def _get_aggregate_columns(item):
5660class AddAggregateHost (command .ShowOne ):
5761 _description = _ ("Add host to aggregate" )
5862
59- def get_parser (self , prog_name ) :
63+ def get_parser (self , prog_name : str ) -> argparse . ArgumentParser :
6064 parser = super ().get_parser (prog_name )
6165 parser .add_argument (
6266 'aggregate' ,
@@ -68,7 +72,9 @@ def get_parser(self, prog_name):
6872 )
6973 return parser
7074
71- def take_action (self , parsed_args ):
75+ def take_action (
76+ self , parsed_args : argparse .Namespace
77+ ) -> tuple [Sequence [str ], Iterable [Any ]]:
7278 compute_client = self .app .client_manager .compute
7379
7480 aggregate = compute_client .find_aggregate (
@@ -89,7 +95,7 @@ def take_action(self, parsed_args):
8995class CreateAggregate (command .ShowOne ):
9096 _description = _ ("Create a new aggregate" )
9197
92- def get_parser (self , prog_name ) :
98+ def get_parser (self , prog_name : str ) -> argparse . ArgumentParser :
9399 parser = super ().get_parser (prog_name )
94100 parser .add_argument (
95101 "name" , metavar = "<name>" , help = _ ("New aggregate name" )
@@ -111,7 +117,9 @@ def get_parser(self, prog_name):
111117 )
112118 return parser
113119
114- def take_action (self , parsed_args ):
120+ def take_action (
121+ self , parsed_args : argparse .Namespace
122+ ) -> tuple [Sequence [str ], Iterable [Any ]]:
115123 compute_client = self .app .client_manager .compute
116124
117125 attrs = {'name' : parsed_args .name }
@@ -137,7 +145,7 @@ def take_action(self, parsed_args):
137145class DeleteAggregate (command .Command ):
138146 _description = _ ("Delete existing aggregate(s)" )
139147
140- def get_parser (self , prog_name ) :
148+ def get_parser (self , prog_name : str ) -> argparse . ArgumentParser :
141149 parser = super ().get_parser (prog_name )
142150 parser .add_argument (
143151 'aggregate' ,
@@ -147,7 +155,7 @@ def get_parser(self, prog_name):
147155 )
148156 return parser
149157
150- def take_action (self , parsed_args ) :
158+ def take_action (self , parsed_args : argparse . Namespace ) -> None :
151159 compute_client = self .app .client_manager .compute
152160 result = 0
153161 for a in parsed_args .aggregate :
@@ -180,7 +188,7 @@ def take_action(self, parsed_args):
180188class ListAggregate (command .Lister ):
181189 _description = _ ("List all aggregates" )
182190
183- def get_parser (self , prog_name ) :
191+ def get_parser (self , prog_name : str ) -> argparse . ArgumentParser :
184192 parser = super ().get_parser (prog_name )
185193 parser .add_argument (
186194 '--long' ,
@@ -190,7 +198,9 @@ def get_parser(self, prog_name):
190198 )
191199 return parser
192200
193- def take_action (self , parsed_args ):
201+ def take_action (
202+ self , parsed_args : argparse .Namespace
203+ ) -> tuple [tuple [str , ...], Iterable [tuple [Any , ...]]]:
194204 compute_client = self .app .client_manager .compute
195205
196206 aggregates = list (compute_client .aggregates ())
@@ -240,7 +250,7 @@ def take_action(self, parsed_args):
240250class RemoveAggregateHost (command .ShowOne ):
241251 _description = _ ("Remove host from aggregate" )
242252
243- def get_parser (self , prog_name ) :
253+ def get_parser (self , prog_name : str ) -> argparse . ArgumentParser :
244254 parser = super ().get_parser (prog_name )
245255 parser .add_argument (
246256 'aggregate' ,
@@ -252,7 +262,9 @@ def get_parser(self, prog_name):
252262 )
253263 return parser
254264
255- def take_action (self , parsed_args ):
265+ def take_action (
266+ self , parsed_args : argparse .Namespace
267+ ) -> tuple [Sequence [str ], Iterable [Any ]]:
256268 compute_client = self .app .client_manager .compute
257269
258270 aggregate = compute_client .find_aggregate (
@@ -273,7 +285,7 @@ def take_action(self, parsed_args):
273285class SetAggregate (command .Command ):
274286 _description = _ ("Set aggregate properties" )
275287
276- def get_parser (self , prog_name ) :
288+ def get_parser (self , prog_name : str ) -> argparse . ArgumentParser :
277289 parser = super ().get_parser (prog_name )
278290 parser .add_argument (
279291 'aggregate' ,
@@ -309,7 +321,7 @@ def get_parser(self, prog_name):
309321 )
310322 return parser
311323
312- def take_action (self , parsed_args ) :
324+ def take_action (self , parsed_args : argparse . Namespace ) -> None :
313325 compute_client = self .app .client_manager .compute
314326 aggregate = compute_client .find_aggregate (
315327 parsed_args .aggregate , ignore_missing = False
@@ -345,7 +357,7 @@ def take_action(self, parsed_args):
345357class ShowAggregate (command .ShowOne ):
346358 _description = _ ("Display aggregate details" )
347359
348- def get_parser (self , prog_name ) :
360+ def get_parser (self , prog_name : str ) -> argparse . ArgumentParser :
349361 parser = super ().get_parser (prog_name )
350362 parser .add_argument (
351363 'aggregate' ,
@@ -354,7 +366,9 @@ def get_parser(self, prog_name):
354366 )
355367 return parser
356368
357- def take_action (self , parsed_args ):
369+ def take_action (
370+ self , parsed_args : argparse .Namespace
371+ ) -> tuple [Sequence [str ], Iterable [Any ]]:
358372 compute_client = self .app .client_manager .compute
359373 aggregate = compute_client .find_aggregate (
360374 parsed_args .aggregate , ignore_missing = False
@@ -374,7 +388,7 @@ def take_action(self, parsed_args):
374388class UnsetAggregate (command .Command ):
375389 _description = _ ("Unset aggregate properties" )
376390
377- def get_parser (self , prog_name ) :
391+ def get_parser (self , prog_name : str ) -> argparse . ArgumentParser :
378392 parser = super ().get_parser (prog_name )
379393 parser .add_argument (
380394 "aggregate" ,
@@ -394,7 +408,7 @@ def get_parser(self, prog_name):
394408 )
395409 return parser
396410
397- def take_action (self , parsed_args ) :
411+ def take_action (self , parsed_args : argparse . Namespace ) -> None :
398412 compute_client = self .app .client_manager .compute
399413 aggregate = compute_client .find_aggregate (
400414 parsed_args .aggregate , ignore_missing = False
@@ -411,7 +425,7 @@ class CacheImageForAggregate(command.Command):
411425 # NOTE(gtema): According to stephenfin and dansmith there is no and will
412426 # not be anything to return.
413427
414- def get_parser (self , prog_name ) :
428+ def get_parser (self , prog_name : str ) -> argparse . ArgumentParser :
415429 parser = super ().get_parser (prog_name )
416430 parser .add_argument (
417431 'aggregate' ,
@@ -429,7 +443,7 @@ def get_parser(self, prog_name):
429443 )
430444 return parser
431445
432- def take_action (self , parsed_args ) :
446+ def take_action (self , parsed_args : argparse . Namespace ) -> None :
433447 compute_client = self .app .client_manager .compute
434448
435449 if not sdk_utils .supports_microversion (compute_client , '2.81' ):
0 commit comments