2323}
2424
2525try :
26- from ..services .nvmeof_client import NVMeoFClient , empty_response , \
27- handle_nvmeof_error , map_collection , map_model
26+ from ..services .nvmeof_client import NVMeoFClient , convert_to_model , \
27+ empty_response , handle_nvmeof_error , map_collection , pick
2828except ImportError as e :
2929 logger .error ("Failed to import NVMeoFClient and related components: %s" , e )
3030else :
3333 class NVMeoFGateway (RESTController ):
3434 @EndpointDoc ("Get information about the NVMeoF gateway" )
3535 @NvmeofCLICommand ("nvmeof gw info" )
36- @map_model (model .GatewayInfo )
36+ @convert_to_model (model .GatewayInfo )
3737 @handle_nvmeof_error
3838 def list (self , gw_group : Optional [str ] = None ):
3939 return NVMeoFClient (gw_group = gw_group ).stub .get_gateway_info (
@@ -56,7 +56,7 @@ def group(self):
5656 @ReadPermission
5757 @Endpoint ('GET' , '/version' )
5858 @NvmeofCLICommand ("nvmeof gw version" )
59- @map_model (model .GatewayVersion )
59+ @convert_to_model (model .GatewayVersion )
6060 @handle_nvmeof_error
6161 def version (self , gw_group : Optional [str ] = None ):
6262 gw_info = NVMeoFClient (gw_group = gw_group ).stub .get_gateway_info (
@@ -69,7 +69,7 @@ def version(self, gw_group: Optional[str] = None):
6969 @ReadPermission
7070 @Endpoint ('GET' , '/log_level' )
7171 @NvmeofCLICommand ("nvmeof gw get_log_level" )
72- @map_model (model .GatewayLogLevelInfo )
72+ @convert_to_model (model .GatewayLogLevelInfo )
7373 @handle_nvmeof_error
7474 def get_log_level (self , gw_group : Optional [str ] = None ):
7575 gw_log_level = NVMeoFClient (gw_group = gw_group ).stub .get_gateway_log_level (
@@ -80,7 +80,7 @@ def get_log_level(self, gw_group: Optional[str] = None):
8080 @ReadPermission
8181 @Endpoint ('PUT' , '/log_level' )
8282 @NvmeofCLICommand ("nvmeof gw set_log_level" )
83- @map_model (model .RequestStatus )
83+ @convert_to_model (model .RequestStatus )
8484 @handle_nvmeof_error
8585 def set_log_level (self , log_level : str , gw_group : Optional [str ] = None ):
8686 log_level = log_level .lower ()
@@ -95,7 +95,7 @@ class NVMeoFSpdk(RESTController):
9595 @ReadPermission
9696 @Endpoint ('GET' , '/log_level' )
9797 @NvmeofCLICommand ("nvmeof spdk_log_level get" )
98- @map_model (model .SpdkNvmfLogFlagsAndLevelInfo )
98+ @convert_to_model (model .SpdkNvmfLogFlagsAndLevelInfo )
9999 @handle_nvmeof_error
100100 def get_spdk_log_level (self , gw_group : Optional [str ] = None ):
101101 spdk_log_level = NVMeoFClient (gw_group = gw_group ).stub .get_spdk_nvmf_log_flags_and_level (
@@ -106,7 +106,7 @@ def get_spdk_log_level(self, gw_group: Optional[str] = None):
106106 @ReadPermission
107107 @Endpoint ('PUT' , '/log_level' )
108108 @NvmeofCLICommand ("nvmeof spdk_log_level set" )
109- @map_model (model .RequestStatus )
109+ @convert_to_model (model .RequestStatus )
110110 @handle_nvmeof_error
111111 def set_spdk_log_level (self , log_level : Optional [str ] = None ,
112112 print_level : Optional [str ] = None , gw_group : Optional [str ] = None ):
@@ -121,7 +121,7 @@ def set_spdk_log_level(self, log_level: Optional[str] = None,
121121 @ReadPermission
122122 @Endpoint ('PUT' , '/log_level/disable' )
123123 @NvmeofCLICommand ("nvmeof spdk_log_level disable" )
124- @map_model (model .RequestStatus )
124+ @convert_to_model (model .RequestStatus )
125125 @handle_nvmeof_error
126126 def disable_spdk_log_level (self , gw_group : Optional [str ] = None ):
127127 spdk_log_level = NVMeoFClient (gw_group = gw_group ).stub .disable_spdk_nvmf_logs (
@@ -133,8 +133,9 @@ def disable_spdk_log_level(self, gw_group: Optional[str] = None):
133133 @APIDoc ("NVMe-oF Subsystem Management API" , "NVMe-oF Subsystem" )
134134 class NVMeoFSubsystem (RESTController ):
135135 @EndpointDoc ("List all NVMeoF subsystems" )
136+ @pick (field = "subsystems" , first = True )
136137 @NvmeofCLICommand ("nvmeof subsystem list" )
137- @map_collection (model .Subsystem , pick = "subsystems" )
138+ @convert_to_model (model .SubsystemList )
138139 @handle_nvmeof_error
139140 def list (self , gw_group : Optional [str ] = None ):
140141 return NVMeoFClient (gw_group = gw_group ).stub .list_subsystems (
@@ -148,8 +149,9 @@ def list(self, gw_group: Optional[str] = None):
148149 "gw_group" : Param (str , "NVMeoF gateway group" , True , None ),
149150 },
150151 )
152+ @pick (field = "subsystems" , first = True )
151153 @NvmeofCLICommand ("nvmeof subsystem get" )
152- @map_model (model .Subsystem , first = "subsystems" )
154+ @convert_to_model (model .SubsystemList )
153155 @handle_nvmeof_error
154156 def get (self , nqn : str , gw_group : Optional [str ] = None ):
155157 return NVMeoFClient (gw_group = gw_group ).stub .list_subsystems (
@@ -165,8 +167,9 @@ def get(self, nqn: str, gw_group: Optional[str] = None):
165167 "gw_group" : Param (str , "NVMeoF gateway group" , True , None ),
166168 },
167169 )
168- @NvmeofCLICommand ("nvmeof subsystem add" )
169170 @empty_response
171+ @NvmeofCLICommand ("nvmeof subsystem add" )
172+ @convert_to_model (model .RequestStatus )
170173 @handle_nvmeof_error
171174 def create (self , nqn : str , enable_ha : bool , max_namespaces : int = 1024 ,
172175 gw_group : Optional [str ] = None ):
@@ -184,8 +187,9 @@ def create(self, nqn: str, enable_ha: bool, max_namespaces: int = 1024,
184187 "gw_group" : Param (str , "NVMeoF gateway group" , True , None ),
185188 },
186189 )
187- @NvmeofCLICommand ("nvmeof subsystem del" )
188190 @empty_response
191+ @NvmeofCLICommand ("nvmeof subsystem del" )
192+ @convert_to_model (model .RequestStatus )
189193 @handle_nvmeof_error
190194 def delete (self , nqn : str , force : Optional [str ] = "false" , gw_group : Optional [str ] = None ):
191195 return NVMeoFClient (gw_group = gw_group ).stub .delete_subsystem (
@@ -204,8 +208,9 @@ class NVMeoFListener(RESTController):
204208 "gw_group" : Param (str , "NVMeoF gateway group" , True , None ),
205209 },
206210 )
211+ @pick ("listeners" )
207212 @NvmeofCLICommand ("nvmeof listener list" )
208- @map_collection (model .Listener , pick = "listeners" )
213+ @convert_to_model (model .ListenerList )
209214 @handle_nvmeof_error
210215 def list (self , nqn : str , gw_group : Optional [str ] = None ):
211216 return NVMeoFClient (gw_group = gw_group ).stub .list_listeners (
@@ -223,8 +228,9 @@ def list(self, nqn: str, gw_group: Optional[str] = None):
223228 "gw_group" : Param (str , "NVMeoF gateway group" , True , None ),
224229 },
225230 )
226- @NvmeofCLICommand ("nvmeof listener add" )
227231 @empty_response
232+ @NvmeofCLICommand ("nvmeof listener add" )
233+ @convert_to_model (model .RequestStatus )
228234 @handle_nvmeof_error
229235 def create (
230236 self ,
@@ -256,8 +262,9 @@ def create(
256262 "gw_group" : Param (str , "NVMeoF gateway group" , True , None ),
257263 },
258264 )
259- @NvmeofCLICommand ("nvmeof listener del" )
260265 @empty_response
266+ @NvmeofCLICommand ("nvmeof listener del" )
267+ @convert_to_model (model .RequestStatus )
261268 @handle_nvmeof_error
262269 def delete (
263270 self ,
@@ -290,8 +297,9 @@ class NVMeoFNamespace(RESTController):
290297 "gw_group" : Param (str , "NVMeoF gateway group" , True , None ),
291298 },
292299 )
300+ @pick ("namespaces" )
293301 @NvmeofCLICommand ("nvmeof ns list" )
294- @map_collection (model .Namespace , pick = "namespaces" )
302+ @convert_to_model (model .NamespaceList )
295303 @handle_nvmeof_error
296304 def list (self , nqn : str , gw_group : Optional [str ] = None ):
297305 return NVMeoFClient (gw_group = gw_group ).stub .list_namespaces (
@@ -306,8 +314,9 @@ def list(self, nqn: str, gw_group: Optional[str] = None):
306314 "gw_group" : Param (str , "NVMeoF gateway group" , True , None ),
307315 },
308316 )
317+ @pick ("namespaces" , first = True )
309318 @NvmeofCLICommand ("nvmeof ns get" )
310- @map_model (model .Namespace , first = "namespaces" )
319+ @convert_to_model (model .NamespaceList )
311320 @handle_nvmeof_error
312321 def get (self , nqn : str , nsid : str , gw_group : Optional [str ] = None ):
313322 return NVMeoFClient (gw_group = gw_group ).stub .list_namespaces (
@@ -325,7 +334,7 @@ def get(self, nqn: str, nsid: str, gw_group: Optional[str] = None):
325334 },
326335 )
327336 @NvmeofCLICommand ("nvmeof ns get_io_stats" )
328- @map_model (model .NamespaceIOStats )
337+ @convert_to_model (model .NamespaceIOStats )
329338 @handle_nvmeof_error
330339 def io_stats (self , nqn : str , nsid : str , gw_group : Optional [str ] = None ):
331340 return NVMeoFClient (gw_group = gw_group ).stub .namespace_get_io_stats (
@@ -357,7 +366,7 @@ def io_stats(self, nqn: str, nsid: str, gw_group: Optional[str] = None):
357366 },
358367 )
359368 @NvmeofCLICommand ("nvmeof ns add" )
360- @map_model (model .NamespaceCreation )
369+ @convert_to_model (model .NamespaceCreation )
361370 @handle_nvmeof_error
362371 def create (
363372 self ,
@@ -404,8 +413,9 @@ def create(
404413 "trash_image" : Param (bool , "Trash RBD image after removing namespace" )
405414 },
406415 )
416+ @pick ("namespaces" , first = True )
407417 @NvmeofCLICommand ("nvmeof ns update" )
408- @map_model (model .Namespace , first = "namespaces" )
418+ @convert_to_model (model .NamespaceList )
409419 @handle_nvmeof_error
410420 def update (
411421 self ,
@@ -486,8 +496,9 @@ def update(
486496 "force" : Param (str , "Force remove the RBD image" )
487497 },
488498 )
489- @NvmeofCLICommand ("nvmeof ns del" )
490499 @empty_response
500+ @NvmeofCLICommand ("nvmeof ns del" )
501+ @convert_to_model (model .RequestStatus )
491502 @handle_nvmeof_error
492503 def delete (
493504 self ,
@@ -538,8 +549,9 @@ def list(self, nqn: str, gw_group: Optional[str] = None):
538549 "gw_group" : Param (str , "NVMeoF gateway group" , True , None ),
539550 },
540551 )
541- @NvmeofCLICommand ("nvmeof host add" )
542552 @empty_response
553+ @NvmeofCLICommand ("nvmeof host add" )
554+ @convert_to_model (model .RequestStatus )
543555 @handle_nvmeof_error
544556 def create (self , nqn : str , host_nqn : str , gw_group : Optional [str ] = None ):
545557 return NVMeoFClient (gw_group = gw_group ).stub .add_host (
@@ -554,8 +566,9 @@ def create(self, nqn: str, host_nqn: str, gw_group: Optional[str] = None):
554566 "gw_group" : Param (str , "NVMeoF gateway group" , True , None ),
555567 },
556568 )
557- @NvmeofCLICommand ("nvmeof host del" )
558569 @empty_response
570+ @NvmeofCLICommand ("nvmeof host del" )
571+ @convert_to_model (model .RequestStatus )
559572 @handle_nvmeof_error
560573 def delete (self , nqn : str , host_nqn : str , gw_group : Optional [str ] = None ):
561574 return NVMeoFClient (gw_group = gw_group ).stub .remove_host (
@@ -572,8 +585,9 @@ class NVMeoFConnection(RESTController):
572585 "gw_group" : Param (str , "NVMeoF gateway group" , True , None ),
573586 },
574587 )
588+ @pick ("connections" )
575589 @NvmeofCLICommand ("nvmeof connection list" )
576- @map_collection (model .Connection , pick = "connections" )
590+ @convert_to_model (model .ConnectionList )
577591 @handle_nvmeof_error
578592 def list (self , nqn : str , gw_group : Optional [str ] = None ):
579593 return NVMeoFClient (gw_group = gw_group ).stub .list_connections (
0 commit comments