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