def restart(self, hard=False, timeout=<NUM_LIT:30>, force=True):
body = dict()<EOL>body['<STR_LIT>'] = {<EOL>'<STR_LIT>': '<STR_LIT>' if hard else '<STR_LIT>',<EOL>'<STR_LIT>': '<STR_LIT>'.format(timeout),<EOL>'<STR_LIT>': '<STR_LIT>' if force else '<STR_LIT:ignore>'<EOL>}<EOL>path = '<STR_LIT>'.format(self.uuid)<EOL>self.cloud_manager.post_request(path, body)<EOL>object.__setattr__(self, '<STR_LIT:state>', '<STR_LIT>')<EOL>
Restart the server. By default, issue a soft restart with a timeout of 30s
and a hard restart after the timeout.

After the a timeout a hard restart is performed if the server has not stopped.

Note: API responds immediately (unlike in start), with state: started.
This client will, however, set state as 'maintenance' to signal that the server is neither
started nor stopped.