def rollback(self, number=<NUM_LIT:0>):
if number < <NUM_LIT:0>:<EOL><INDENT>raise pyPluribus.exceptions.RollbackError("<STR_LIT>")<EOL><DEDENT>available_configs = len(self._config_history)<EOL>max_rollbacks = available_configs - <NUM_LIT:2><EOL>if max_rollbacks < <NUM_LIT:0>:<EOL><INDENT>raise pyPluribus.exceptions.RollbackError("<STR_LIT>")<EOL><DEDENT>if max_rollbacks > <NUM_LIT:0> and number > max_rollbacks:<EOL><INDENT>raise pyPluribus.exceptions.RollbackError("<STR_LIT>".format(cfgs=max_rollbacks))<EOL><DEDENT>config_location = <NUM_LIT:1>  <EOL>if max_rollbacks > <NUM_LIT:0>:  <EOL><INDENT>config_location = available_configs - number - <NUM_LIT:1>  <EOL><DEDENT>desired_config = self._config_history[config_location]<EOL>try:<EOL><INDENT>self._upload_config_content(desired_config, rollbacked=True)<EOL><DEDENT>except pyPluribus.exceptions.ConfigLoadError as loaderr:<EOL><INDENT>raise pyPluribus.exceptions.RollbackError("<STR_LIT>".format(err=loaderr))<EOL><DEDENT>del self._config_history[(config_location+<NUM_LIT:1>):]  <EOL>self._last_working_config = desired_config<EOL>self._committed = True<EOL>self._config_changed = False<EOL>return True<EOL>
Will rollback the configuration to a previous state.
Can be called also when

:param number: How many steps back in the configuration history must look back.
:raise pyPluribus.exceptions.RollbackError: In case the configuration cannot be rolled back.