private boolean deregisterOldTargets()

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;
    }