/**
* Get the rules, if any, that all ideal states in this cluster must follow
* @return map of rule name to key-value requirements in the ideal state
*/
public Map<String, Map<String, String>> getIdealStateRules() {
NamespacedConfig rules = new NamespacedConfig(this, IDEAL_STATE_RULE_PREFIX);
Map<String, Map<String, String>> idealStateRuleMap = Maps.newHashMap();
for (String simpleKey : rules.getSimpleFields().keySet()) {
String simpleValue = rules.getSimpleField(simpleKey);
String[] splitRules = simpleValue.split("(?<!\\\\),");
Map<String, String> singleRule = Maps.newHashMap();
for (String rule : splitRules) {
String[] keyValue = rule.split("(?<!\\\\)=");
if (keyValue.length >= 2) {