77from .. import mgr
88from ..model import nvmeof as model
99from ..security import Scope
10+ from ..services .nvmeof_cli import NvmeofCLICommand
1011from ..services .orchestrator import OrchClient
1112from ..tools import str_to_bool
1213from . import APIDoc , APIRouter , BaseController , CreatePermission , \
3031 @APIDoc ("NVMe-oF Gateway Management API" , "NVMe-oF Gateway" )
3132 class NVMeoFGateway (RESTController ):
3233 @EndpointDoc ("Get information about the NVMeoF gateway" )
34+ @NvmeofCLICommand ("nvmeof gw info" )
3335 @map_model (model .GatewayInfo )
3436 @handle_nvmeof_error
3537 def list (self , gw_group : Optional [str ] = None ):
@@ -54,6 +56,7 @@ def group(self):
5456 @APIDoc ("NVMe-oF Subsystem Management API" , "NVMe-oF Subsystem" )
5557 class NVMeoFSubsystem (RESTController ):
5658 @EndpointDoc ("List all NVMeoF subsystems" )
59+ @NvmeofCLICommand ("nvmeof subsystem list" )
5760 @map_collection (model .Subsystem , pick = "subsystems" )
5861 @handle_nvmeof_error
5962 def list (self , gw_group : Optional [str ] = None ):
@@ -68,6 +71,7 @@ def list(self, gw_group: Optional[str] = None):
6871 "gw_group" : Param (str , "NVMeoF gateway group" , True , None ),
6972 },
7073 )
74+ @NvmeofCLICommand ("nvmeof subsystem get" )
7175 @map_model (model .Subsystem , first = "subsystems" )
7276 @handle_nvmeof_error
7377 def get (self , nqn : str , gw_group : Optional [str ] = None ):
@@ -84,6 +88,7 @@ def get(self, nqn: str, gw_group: Optional[str] = None):
8488 "gw_group" : Param (str , "NVMeoF gateway group" , True , None ),
8589 },
8690 )
91+ @NvmeofCLICommand ("nvmeof subsystem add" )
8792 @empty_response
8893 @handle_nvmeof_error
8994 def create (self , nqn : str , enable_ha : bool , max_namespaces : int = 1024 ,
@@ -98,10 +103,11 @@ def create(self, nqn: str, enable_ha: bool, max_namespaces: int = 1024,
98103 "Delete an existing NVMeoF subsystem" ,
99104 parameters = {
100105 "nqn" : Param (str , "NVMeoF subsystem NQN" ),
101- "force" : Param (bool , "Force delete" , "false" ),
106+ "force" : Param (bool , "Force delete" , True , False ),
102107 "gw_group" : Param (str , "NVMeoF gateway group" , True , None ),
103108 },
104109 )
110+ @NvmeofCLICommand ("nvmeof subsystem del" )
105111 @empty_response
106112 @handle_nvmeof_error
107113 def delete (self , nqn : str , force : Optional [str ] = "false" , gw_group : Optional [str ] = None ):
@@ -121,6 +127,7 @@ class NVMeoFListener(RESTController):
121127 "gw_group" : Param (str , "NVMeoF gateway group" , True , None ),
122128 },
123129 )
130+ @NvmeofCLICommand ("nvmeof listener list" )
124131 @map_collection (model .Listener , pick = "listeners" )
125132 @handle_nvmeof_error
126133 def list (self , nqn : str , gw_group : Optional [str ] = None ):
@@ -139,6 +146,7 @@ def list(self, nqn: str, gw_group: Optional[str] = None):
139146 "gw_group" : Param (str , "NVMeoF gateway group" , True , None ),
140147 },
141148 )
149+ @NvmeofCLICommand ("nvmeof listener add" )
142150 @empty_response
143151 @handle_nvmeof_error
144152 def create (
@@ -171,6 +179,7 @@ def create(
171179 "gw_group" : Param (str , "NVMeoF gateway group" , True , None ),
172180 },
173181 )
182+ @NvmeofCLICommand ("nvmeof listener del" )
174183 @empty_response
175184 @handle_nvmeof_error
176185 def delete (
@@ -204,6 +213,7 @@ class NVMeoFNamespace(RESTController):
204213 "gw_group" : Param (str , "NVMeoF gateway group" , True , None ),
205214 },
206215 )
216+ @NvmeofCLICommand ("nvmeof ns list" )
207217 @map_collection (model .Namespace , pick = "namespaces" )
208218 @handle_nvmeof_error
209219 def list (self , nqn : str , gw_group : Optional [str ] = None ):
@@ -219,6 +229,7 @@ def list(self, nqn: str, gw_group: Optional[str] = None):
219229 "gw_group" : Param (str , "NVMeoF gateway group" , True , None ),
220230 },
221231 )
232+ @NvmeofCLICommand ("nvmeof ns get" )
222233 @map_model (model .Namespace , first = "namespaces" )
223234 @handle_nvmeof_error
224235 def get (self , nqn : str , nsid : str , gw_group : Optional [str ] = None ):
@@ -236,6 +247,7 @@ def get(self, nqn: str, nsid: str, gw_group: Optional[str] = None):
236247 "gw_group" : Param (str , "NVMeoF gateway group" , True , None ),
237248 },
238249 )
250+ @NvmeofCLICommand ("nvmeof ns get_io_stats" )
239251 @map_model (model .NamespaceIOStats )
240252 @handle_nvmeof_error
241253 def io_stats (self , nqn : str , nsid : str , gw_group : Optional [str ] = None ):
@@ -257,6 +269,7 @@ def io_stats(self, nqn: str, nsid: str, gw_group: Optional[str] = None):
257269 "gw_group" : Param (str , "NVMeoF gateway group" , True , None ),
258270 },
259271 )
272+ @NvmeofCLICommand ("nvmeof ns add" )
260273 @map_model (model .NamespaceCreation )
261274 @handle_nvmeof_error
262275 def create (
@@ -296,6 +309,7 @@ def create(
296309 "gw_group" : Param (str , "NVMeoF gateway group" , True , None ),
297310 },
298311 )
312+ @NvmeofCLICommand ("nvmeof ns update" )
299313 @empty_response
300314 @handle_nvmeof_error
301315 def update (
@@ -360,6 +374,7 @@ def update(
360374 "gw_group" : Param (str , "NVMeoF gateway group" , True , None ),
361375 },
362376 )
377+ @NvmeofCLICommand ("nvmeof ns del" )
363378 @empty_response
364379 @handle_nvmeof_error
365380 def delete (self , nqn : str , nsid : str , gw_group : Optional [str ] = None ):
@@ -378,6 +393,7 @@ class NVMeoFHost(RESTController):
378393 "gw_group" : Param (str , "NVMeoF gateway group" , True , None ),
379394 },
380395 )
396+ @NvmeofCLICommand ("nvmeof host list" )
381397 @map_collection (
382398 model .Host ,
383399 pick = "hosts" ,
@@ -400,6 +416,7 @@ def list(self, nqn: str, gw_group: Optional[str] = None):
400416 "gw_group" : Param (str , "NVMeoF gateway group" , True , None ),
401417 },
402418 )
419+ @NvmeofCLICommand ("nvmeof host add" )
403420 @empty_response
404421 @handle_nvmeof_error
405422 def create (self , nqn : str , host_nqn : str , gw_group : Optional [str ] = None ):
@@ -415,6 +432,7 @@ def create(self, nqn: str, host_nqn: str, gw_group: Optional[str] = None):
415432 "gw_group" : Param (str , "NVMeoF gateway group" , True , None ),
416433 },
417434 )
435+ @NvmeofCLICommand ("nvmeof host del" )
418436 @empty_response
419437 @handle_nvmeof_error
420438 def delete (self , nqn : str , host_nqn : str , gw_group : Optional [str ] = None ):
@@ -432,6 +450,7 @@ class NVMeoFConnection(RESTController):
432450 "gw_group" : Param (str , "NVMeoF gateway group" , True , None ),
433451 },
434452 )
453+ @NvmeofCLICommand ("nvmeof connection list" )
435454 @map_collection (model .Connection , pick = "connections" )
436455 @handle_nvmeof_error
437456 def list (self , nqn : str , gw_group : Optional [str ] = None ):
0 commit comments