in aws-rds-dbproxytargetgroup/src/main/java/software/amazon/rds/dbproxytargetgroup/UpdateHandler.java [184:204]
private boolean deregisterOldTargets(ResourceModel oldModel, ResourceModel newModel) {
List<String> oldClusters = Utility.getClusters(oldModel);
List<String> newClusters = Utility.getClusters(newModel);
List<String> clustersToRemove = listNewObjects(oldClusters, newClusters);
List<String> oldInstances = Utility.getInstances(oldModel);
List<String> newInstances = Utility.getInstances(newModel);
List<String> instancesToRemove = listNewObjects(oldInstances, newInstances);
if (clustersToRemove.size() == 0 && instancesToRemove.size() == 0) {
return true;
}
DeregisterDBProxyTargetsRequest deregisterRequest = new DeregisterDBProxyTargetsRequest()
.withDBProxyName(newModel.getDBProxyName())
.withTargetGroupName(newModel.getTargetGroupName())
.withDBClusterIdentifiers(clustersToRemove)
.withDBInstanceIdentifiers(instancesToRemove);
clientProxy.injectCredentialsAndInvoke(deregisterRequest, rdsClient::deregisterDBProxyTargets);
return true;
}