File tree Expand file tree Collapse file tree 1 file changed +15
-3
lines changed Expand file tree Collapse file tree 1 file changed +15
-3
lines changed Original file line number Diff line number Diff line change @@ -273,9 +273,21 @@ def start_vm(
273273 if not is_ready :
274274 raise LisaException (f"VM { name } did not start" )
275275
276- def stop_vm (self , name : str ) -> None :
277- # stop vm
278- self ._run_hyperv_cmdlet ("Stop-VM" , f"-Name { name } -Force" , force_run = True )
276+ def stop_vm (self , name : str , is_graceful : bool = False ) -> None :
277+ """
278+ Stop a Hyper-V VM.
279+
280+ Args:
281+ name: VM name to stop
282+ is_graceful: If True, attempts graceful shutdown with -Force.
283+ If False (default), performs immediate -TurnOff.
284+ """
285+ if is_graceful :
286+ # Graceful shutdown (cleaner, but slower)
287+ self ._run_hyperv_cmdlet ("Stop-VM" , f"-Name { name } -Force" , force_run = True )
288+ else :
289+ # Immediate power-off (fast, for recycling)
290+ self ._run_hyperv_cmdlet ("Stop-VM" , f"-Name { name } -TurnOff" , force_run = True )
279291
280292 def restart_vm (
281293 self ,
You can’t perform that action at this time.
0 commit comments