code: def service(self):
          
          if self._service is not None:
              return self._service
  
          info = self.search_results_info
  
          if info is None:
              return None
  
          splunkd = urlsplit(info.splunkd_uri, info.splunkd_protocol, allow_fragments=False)
  
          self._service = Service(
              scheme=splunkd.scheme, host=splunkd.hostname, port=splunkd.port, token=info.auth_token, app=info.ppc_app)
  
          return self._service
docs: Returns a Splunk service object for this command invocation or None.
  
          The service object is created from the Splunkd URI and authentication
          token passed to the command invocation in the search results info file.
          This data is not passed to a command invocation by default. You must
          request it by specifying this pair of configuration settings in
          commands.conf:
  
             .. code-block:: python
                 enableheader=true
                 requires_srinfo=true
  
          The :code:`enableheader` setting is :code:`true` by default. Hence, you
          need not set it. The :code:`requires_srinfo` setting is false by
          default. Hence, you must set it.
  
          :return: :class:`splunklib.client.Service`, if :code:`enableheader` and
              :code:`requires_srinfo` are both :code:`true`. Otherwise, if either
              :code:`enableheader` or :code:`requires_srinfo` are :code:`false`,
              a value of :code:`None` is returned.