in neptune-endpoints-info-lambda/src/main/java/software/amazon/lambda/NeptuneEndpointsInfoLambda.java [138:177]
private NeptuneClusterMetadata addAnnotations(NeptuneClusterMetadata clusterMetadata) {
List<String> suspended = Arrays.stream(suspendedEndpoints.split(","))
.map(String::trim)
.collect(Collectors.toList());
for (NeptuneInstanceMetadata instance : clusterMetadata.getInstances()) {
for (String suspendedEndpoint : suspended) {
if (suspendedEndpoint.equals("all")) {
setSuspended(instance);
} else if (suspendedEndpoint.equals("writer") && instance.isPrimary()) {
setSuspended(instance);
} else if (suspendedEndpoint.equals("reader") && instance.isReader()) {
setSuspended(instance);
} else if (suspendedEndpoint.equalsIgnoreCase(instance.getAddress())) {
setSuspended(instance);
} else if (suspendedEndpoint.equalsIgnoreCase(instance.getInstanceId())) {
setSuspended(instance);
}
}
if (instance.hasTag(SUSPENDED_KEY, SUSPENDED_VALUE)) {
setSuspended(instance);
}
}
for (String suspendedEndpoint : suspended) {
if (suspendedEndpoint.equals("all")) {
setSuspended(clusterMetadata.getClusterEndpoint());
setSuspended(clusterMetadata.getReaderEndpoint());
} else if (suspendedEndpoint.equals("writer")) {
setSuspended(clusterMetadata.getClusterEndpoint());
} else if (suspendedEndpoint.equals("reader")) {
setSuspended(clusterMetadata.getReaderEndpoint());
}
}
return clusterMetadata;
}