docs: def getStatus(rh):
      """
      Get the basic status of a virtual machine.
  
      Input:
         Request Handle with the following properties:
            function    - 'CMDVM'
            subfunction - 'CMD'
            userid      - userid of the virtual machine
  
      Output:
         Request Handle updated with the results.
         Return code - 0: ok, non-zero: error
      """
  
      rh.printSysLog("Enter getVM.getStatus, userid: " + rh.userid)
  
      results = isLoggedOn(rh, rh.userid)
      if results['rc'] != 0:
          # Uhoh, can't determine if guest is logged on or not
          rh.updateResults(results)
          rh.printSysLog("Exit getVM.getStatus, rc: " +
                         str(rh.results['overallRC']))
          return rh.results['overallRC']
  
      if results['rs'] == 1:
          # Guest is logged off, everything is 0
          powerStr = "Power state: off"
          memStr = "Total Memory: 0M"
          usedMemStr = "Used Memory: 0M"
          procStr = "Processors: 0"
          timeStr = "CPU Used Time: 0 sec"
  
      else:
          powerStr = "Power state: on"
  
      if 'power' in rh.parms:
          # Test here to see if we only need power state
          # Then we can return early
          rh.printLn("N", powerStr)
          rh.updateResults(results)
          rh.printSysLog("Exit getVM.getStatus, rc: " +
                         str(rh.results['overallRC']))
          return rh.results['overallRC']
  
      if results['rs'] != 1:
          # Guest is logged on, go get more info
          results = getPerfInfo(rh, rh.userid)
  
          if results['overallRC'] != 0:
              # Something went wrong in subroutine, exit
              rh.updateResults(results)
              rh.printSysLog("Exit getVM.getStatus, rc: " +
                             str(rh.results['overallRC']))
              return rh.results['overallRC']
          else:
              # Everything went well, response should be good
              memStr = results['response'].split("\n")[0]
              usedMemStr = results['response'].split("\n")[1]
              procStr = results['response'].split("\n")[2]
              timeStr = results['response'].split("\n")[3]
  
      # Build our output string according
      # to what information was asked for
      if 'memory' in rh.parms:
          outStr = memStr + "\n" + usedMemStr
      elif 'cpu' in rh.parms:
          outStr = procStr + "\n" + timeStr
      else:
          # Default to all
          outStr = powerStr + "\n" + memStr + "\n" + usedMemStr
          outStr += "\n" + procStr + "\n" + timeStr
      rh.printLn("N", outStr)
      rh.printSysLog("Exit getVM.getStatus, rc: " +
                     str(rh.results['overallRC']))
      return rh.results['overallRC']