private boolean containsHostFromHostGroups(String configType, String propertyName) {
    String propertyValue = clusterTopology.getConfiguration().getPropertyValue(configType, propertyName);
    if (StringUtils.isEmpty(propertyValue)) {
      return false;
    }
    // check fir bp import
    Matcher m = HostGroup.HOSTGROUP_REGEX.matcher(propertyValue);
    if (m.find()) {
      return true;
    }

    // check for bp export
    for (HostGroupInfo groupInfo : clusterTopology.getHostGroupInfo().values()) {
      Collection<String> hosts = groupInfo.getHostNames();
      for (String host : hosts) {
        if (propertyValue.contains(host)) {
          return true;
        }
      }
    }
    return false;
  }
Statically-defined list of filters to apply on cluster config
property updates.

This will initially be used to filter out properties that do not
need to be set, due to a given dependency property not having
an expected value.

The UI uses the Recommendations/StackAdvisor APIs to accomplish this, but
Blueprints will use filters in the short-term, and hopefully move to a more
unified approach in the next release.

This filter approach will also be used to remove properties in a given component
that are not valid in a High-Availability deployment (example: HDFS NameNode HA).
ambari-server/src/main/java/org/apache/ambari/server/controller/internal/BlueprintConfigurationProcessor.java