Reapplies the previous configuration.

    .. versionadded:: 2017.7.5

    .. note::
        The current configuration will be come the previous configuration. If
        run a second time back-to-back it is like toggling between two configs.

    Returns:
        bool: True if successfully restored

    Raises:
        CommandExecutionError: On failure

    CLI Example:

    .. code-block:: bash

        salt '*' dsc.restore_config

def restore_config():
    '''
    Reapplies the previous configuration.

    .. versionadded:: 2017.7.5

    .. note::
        The current configuration will be come the previous configuration. If
        run a second time back-to-back it is like toggling between two configs.

    Returns:
        bool: True if successfully restored

    Raises:
        CommandExecutionError: On failure

    CLI Example:

    .. code-block:: bash

        salt '*' dsc.restore_config
    '''
    cmd = 'Restore-DscConfiguration'
    try:
        _pshell(cmd, ignore_retcode=True)
    except CommandExecutionError as exc:
        if 'A previous configuration does not exist' in exc.info['stderr']:
            raise CommandExecutionError('Previous Configuration Not Found')
        raise
    return True