code: def service_list(profile=None, **connection_args):
      '''
      Return a list of available services (keystone services-list)
  
      CLI Example:
  
      .. code-block:: bash
  
          salt '*' keystone.service_list
      '''
      kstone = auth(profile, **connection_args)
      ret = {}
      for service in kstone.services.list():
          ret[service.name] = dict((value, getattr(service, value)) for value in dir(service)
                                   if not value.startswith('_') and
                                   isinstance(getattr(service, value), (six.string_types, dict, bool)))
      return ref service_list(profile=None, **connection_args):
      '''
      Return a list of available services (keystone services-list)
  
      CLI Example:
  
      .. code-block:: bash
  
          salt '*' keystone.service_list
      '''
      kstone = auth(profile, **connection_args)
      ret = {}
      for service in kstone.services.list():
          ret[service.name] = dict((value, getattr(service, value)) for value in dir(service)
                                   if not value.startswith('_') and
                                   isinstance(getattr(service, value), (six.string_types, dict, bool)))
      return ret
docs: Return a list of available services (keystone services-list)
  
      CLI Example:
  
      .. code-block:: bash
  
          salt '*' keystone.service_list