docs: def restart(self, force=False, wait_for_available=True,
                  operation_timeout=None):
          """
          Restart the HMC represented by this Console object.
  
          Once the HMC is online again, this Console object, as well as any other
          resource objects accessed through this HMC, can continue to be used.
          An automatic re-logon will be performed under the covers, because the
          HMC restart invalidates the currently used HMC session.
  
          Authorization requirements:
  
          * Task permission for the "Shutdown/Restart" task.
          * "Remote Restart" must be enabled on the HMC.
  
          Parameters:
  
            force (bool):
              Boolean controlling whether the restart operation is processed when
              users are connected (`True`) or not (`False`). Users in this sense
              are local or remote GUI users. HMC WS API clients do not count as
              users for this purpose.
  
            wait_for_available (bool):
              Boolean controlling whether this method should wait for the HMC to
              become available again after the restart, as follows:
  
              * If `True`, this method will wait until the HMC has restarted and
                is available again. The
                :meth:`~zhmcclient.Client.query_api_version` method will be used
                to check for availability of the HMC.
  
              * If `False`, this method will return immediately once the HMC
                has accepted the request to be restarted.
  
            operation_timeout (:term:`number`):
              Timeout in seconds, for waiting for HMC availability after the
              restart. The special value 0 means that no timeout is set. `None`
              means that the default async operation timeout of the session is
              used. If the timeout expires when `wait_for_available=True`, a
              :exc:`~zhmcclient.OperationTimeout` is raised.
  
          Raises:
  
            :exc:`~zhmcclient.HTTPError`
            :exc:`~zhmcclient.ParseError`
            :exc:`~zhmcclient.AuthError`
            :exc:`~zhmcclient.ConnectionError`
            :exc:`~zhmcclient.OperationTimeout`: The timeout expired while
              waiting for the HMC to become available again after the restart.
          """
          body = {'force': force}
          self.manager.session.post(self.uri + '/operations/restart', body=body)
          if wait_for_available:
              time.sleep(10)
              self.manager.client.wait_for_available(
                  operation_timeout=operation_timeout)