private Set<String> getPrimaryKeys(Resource.Type type) {
    Set<String> primaryKeys = new HashSet<>();

    if (type == Resource.Type.Configuration) {
      primaryKeys.add("type");
      primaryKeys.add("tag");
    } else {
      Map<Resource.Type, String> keys = PropertyHelper.getKeyPropertyIds(type);
      if (keys != null) {
        String pk = PropertyHelper.getKeyPropertyIds(type).get(type);
        if (pk != null) {
          primaryKeys = Collections.singleton(pk);
        }
      }
    }
    return primaryKeys;
  }
Obtain the primary keys for the specified type.
This method is necessary because some resource types, specifically
the configuration type, don't have a proper pk even though one is
registered.  Instead, multiple properties are used as a 'composite'
key even though this is not supported by the framework.

@param type  resource type

@return set of pk's for a type
ambari-server/src/main/java/org/apache/ambari/server/api/query/render/MinimalRenderer.java