docs: def WaitForVirtualMachineShutdown(
              self,
              vm_to_poll,
              timeout_seconds,
              sleep_period=5
      ):
          """
          Guest shutdown requests do not run a task we can wait for.
          So, we must poll and wait for status to be poweredOff.
  
          Returns True if shutdown, False if poll expired.
          """
          seconds_waited = 0  # wait counter
          while seconds_waited < timeout_seconds:
              # sleep first, since nothing shuts down instantly
              seconds_waited += sleep_period
              time.sleep(sleep_period)
  
              vm = self.get_vm(vm_to_poll.name)
              if vm.runtime.powerState == \
                      vim.VirtualMachinePowerState.poweredOff:
                  return True
  
          return False