docs: def check_for_completion(self):
          """
          Check once for completion of the job and return completion status and
          result if it has completed.
  
          If the job completed in error, an :exc:`~zhmcclient.HTTPError`
          exception is raised.
  
          Returns:
  
            : A tuple (status, result) with:
  
            * status (:term:`string`): Completion status of the job, as
              returned in the ``status`` field of the response body of the
              "Query Job Status" HMC operation, as follows:
  
              * ``"complete"``: Job completed (successfully).
              * any other value: Job is not yet complete.
  
            * result (:term:`json object` or `None`): `None` for incomplete
              jobs. For completed jobs, the result of the original asynchronous
              operation that was performed by the job, from the ``job-results``
              field of the response body of the "Query Job Status" HMC
              operation. That result is a :term:`json object` as described
              for the asynchronous operation, or `None` if the operation has no
              result.
  
          Raises:
  
            :exc:`~zhmcclient.HTTPError`: The job completed in error, or the job
              status cannot be retrieved, or the job cannot be deleted.
            :exc:`~zhmcclient.ParseError`
            :exc:`~zhmcclient.ClientAuthError`
            :exc:`~zhmcclient.ServerAuthError`
            :exc:`~zhmcclient.ConnectionError`
          """
          job_result_obj = self.session.get(self.uri)
          job_status = job_result_obj['status']
          if job_status == 'complete':
              self.session.delete(self.uri)
              op_status_code = job_result_obj['job-status-code']
              if op_status_code in (200, 201):
                  op_result_obj = job_result_obj.get('job-results', None)
              elif op_status_code == 204:
                  # No content
                  op_result_obj = None
              else:
                  error_result_obj = job_result_obj.get('job-results', None)
                  if not error_result_obj:
                      message = None
                  elif 'message' in error_result_obj:
                      message = error_result_obj['message']
                  elif 'error' in error_result_obj:
                      message = error_result_obj['error']
                  else:
                      message = None
                  error_obj = {
                      'http-status': op_status_code,
                      'reason': job_result_obj['job-reason-code'],
                      'message': message,
                      'request-method': self.op_method,
                      'request-uri': self.op_uri,
                  }
                  raise HTTPError(error_obj)
          else:
              op_result_obj = None
          return job_status, op_result_obj