def pause_with_reason(self, reason):
        """Internal method for triggering a VM pause with a specified reason code.
        The reason code can be interpreted by device/drivers and thus it might
        behave slightly differently than a normal VM pause.
        
        
        :py:func:`IConsole.pause` 

        in reason of type :class:`Reason`
            Specify the best matching reason code please.

        raises :class:`VBoxErrorInvalidVmState`
            Virtual machine not in Running state.
        
        raises :class:`VBoxErrorVmError`
            Virtual machine error in suspend operation.
        
        """
        if not isinstance(reason, Reason):
            raise TypeError("reason can only be an instance of type Reason")
        self._call("pauseWithReason",
                     in_p=[reason])
Internal method for triggering a VM pause with a specified reason code.
        The reason code can be interpreted by device/drivers and thus it might
        behave slightly differently than a normal VM pause.
        
        
        :py:func:`IConsole.pause` 

        in reason of type :class:`Reason`
            Specify the best matching reason code please.

        raises :class:`VBoxErrorInvalidVmState`
            Virtual machine not in Running state.
        
        raises :class:`VBoxErrorVmError`
            Virtual machine error in suspend operation.