docs: def service_data(self):
          """
          Returns all introspected service data.
  
          If the data has been previously accessed, a memoized version of the
          data is returned.
  
          :returns: A dict of introspected service data
          :rtype: dict
          """
          # Lean on the cache first.
          if self._loaded_service_data is not None:
              return self._loaded_service_data
  
          # We don't have a cache. Build it.
          self._loaded_service_data = self._introspect_service(
              # We care about the ``botocore.session`` here, not the
              # ``kotocore.session``.
              self.session.core_session,
              self.service_name
          )
          # Clear out the API version, just in case.
          self._api_version = None
          return self._loaded_service_data