<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def restore_backup( self, bootstrap=False, constraints=None, archive=None, backup_id=None, upload_tools=False):
 """Restore a backup archive to a new controller. :param bool bootstrap: Bootstrap a new state machine :param constraints: Model constraints :type constraints: :class:`juju.Constraints` :param str archive: Path to backup archive to restore :param str backup_id: Id of backup to restore :param bool upload_tools: Upload tools if bootstrapping a new machine """

        raise NotImplementedError()