in src/main/java/org/opensearch/performanceanalyzer/http_action/config/PerformanceAnalyzerOverridesClusterConfigAction.java [187:234]
private boolean validateOverrides(final ConfigOverrides requestedOverrides) {
boolean isValid = true;
// Check if we have both enable and disable components
if (requestedOverrides.getDisable() == null || requestedOverrides.getEnable() == null) {
return true;
}
// Check if any RCA nodes are present in both enabled and disabled lists.
if (requestedOverrides.getEnable().getRcas() != null
&& requestedOverrides.getDisable().getRcas() != null) {
isValid =
Collections.disjoint(
requestedOverrides.getEnable().getRcas(),
requestedOverrides.getDisable().getRcas());
}
// Check if any deciders are present in both enabled and disabled lists.
if (isValid
&& requestedOverrides.getEnable().getDeciders() != null
&& requestedOverrides.getDisable().getDeciders() != null) {
isValid =
Collections.disjoint(
requestedOverrides.getEnable().getDeciders(),
requestedOverrides.getDisable().getDeciders());
}
// Check if any remediation actions are in both enabled and disabled lists.
if (isValid
&& requestedOverrides.getEnable().getActions() != null
&& requestedOverrides.getDisable().getActions() != null) {
isValid =
Collections.disjoint(
requestedOverrides.getEnable().getActions(),
requestedOverrides.getDisable().getActions());
}
if (isValid
&& requestedOverrides.getEnable().getCollectors() != null
&& requestedOverrides.getDisable().getCollectors() != null) {
isValid =
Collections.disjoint(
requestedOverrides.getEnable().getCollectors(),
requestedOverrides.getDisable().getCollectors());
}
return isValid;
}