private Map<String, Object> getConfigProperties(String clusterName, String versionTag, String configType)
      throws NoSuchParentResourceException,
      UnsupportedPropertyException, SystemException {
    // Get desired configs based on the tag
    ResourceProvider configResourceProvider = getResourceProvider(Resource.Type.Configuration);
    Predicate configPredicate = new PredicateBuilder().property
        (ConfigurationResourceProvider.CLUSTER_NAME).equals(clusterName).and()
        .property(ConfigurationResourceProvider.TYPE).equals(configType).and()
        .property(ConfigurationResourceProvider.TAG).equals(versionTag).toPredicate();
    Set<Resource> configResources;
    try {
      configResources = configResourceProvider.getResources
          (PropertyHelper.getReadRequest(ConfigurationResourceProvider.CLUSTER_NAME,
              ConfigurationResourceProvider.TYPE,
              ConfigurationResourceProvider.TAG), configPredicate);
    } catch (NoSuchResourceException e) {
      LOG.info("Resource for the desired config not found.", e);
      return emptyMap();
    }
    return configResources.stream()
        .findFirst()
        .map(res -> res.getPropertiesMap()
            .get(PROPERTIES_CATEGORY))
        .orElse(emptyMap());
  }
Gets the desired configuration version tag for the given cluster and config
type.

@param clusterName
         the cluster name
@param configType
         the configuration type (for example <code>hdfs-site</code>).
@return
ambari-server/src/main/java/org/apache/ambari/server/controller/internal/AbstractProviderModule.java