private void processConfigurationType(Cluster cluster, String configType, RecommendationResponse.BlueprintConfigurations configurations) throws AmbariException {
    Map<String, String> updates = new HashMap<>();
    Collection<String> removals = new HashSet<>();

    // Gather the updates
    Map<String, String> recommendedConfigProperties = configurations.getProperties();
    if (recommendedConfigProperties != null) {
      updates.putAll(recommendedConfigProperties);
    }

    // Determine if any properties need to be removed
    Map<String, ValueAttributesInfo> recommendedConfigPropertyAttributes = configurations.getPropertyAttributes();
    if (recommendedConfigPropertyAttributes != null) {
      for (Map.Entry<String, ValueAttributesInfo> entry : recommendedConfigPropertyAttributes.entrySet()) {
        ValueAttributesInfo info = entry.getValue();

        if ((info != null) && "true".equalsIgnoreCase(info.getDelete())) {
          updates.remove(entry.getKey());
          removals.add(entry.getKey());
        }
      }
    }

    configHelper.updateConfigType(cluster, cluster.getCurrentStackVersion(), managementController, configType, updates, removals, "internal",
        getServiceVersionNote());
  }
Process the configuration to add, update, and remove properties as needed.

@param cluster
         the cluster
@param configType
         the configuration type
@param configurations
         the recommended configuration values
@throws AmbariException
ambari-server/src/main/java/org/apache/ambari/server/controller/internal/AmbariServerStackAdvisorAwareConfigurationHandler.java