in src/main/java/com/aws/logaggregator/security/AWSSecretManagerParam.java [112:132]
public Map<String, Object> fillSecrets(Map<String, Object> map) {
for (Map.Entry<String, Object> entry : map.entrySet()) {
if (entry.getValue() instanceof Map) {
fillSecrets((Map<String, Object>) entry.getValue());
} else if (entry.getValue() instanceof List) {
List<Object> list = (List<Object>) entry.getValue();
list.forEach((temp) -> {
fillSecrets((Map<String, Object>) temp);
});
} else {
Matcher matcher = pattern.matcher("" + entry.getValue());
if (matcher.matches()) {
System.out.println(matcher.group(1));
String secretPath = matcher.group(1);
String[] pathTokens = secretPath.split("\\|");
entry.setValue(getSecrets(pathTokens[0], pathTokens[1], pathTokens.length > 2 ? pathTokens[2] : null));
}
}
}
return map;
}