code: def describe(self, fields=None, io=None, **kwargs):
          
          if fields is not None and io is not None:
              raise DXError('DXJob.describe: cannot provide non-None values for both fields and io')
          describe_input = {}
          if fields is not None:
              describe_input['fields'] = fields
          if io is not None:
              describe_input['io'] = io
          self._desc = dxpy.api.job_describe(self._dxid, describe_input, **kwargs)
          return self._desc
docs: :param fields: dict where the keys are field names that should
              be returned, and values should be set to True (by default,
              all fields are returned)
          :type fields: dict
          :param io: Include input and output fields in description;
              cannot be provided with *fields*; default is True if
              *fields* is not provided (deprecated)
          :type io: bool
          :returns: Description of the job
          :rtype: dict
  
          Returns a hash with key-value pairs containing information about
          the job, including its state and (optionally) its inputs and
          outputs, as described in the API documentation for the
          `/job-xxxx/describe
          <https://wiki.dnanexus.com/API-Specification-v1.0.0/Applets-and-Entry-Points#API-method:-/job-xxxx/describe>`_
          method.