private LoadBalancerInstance configureInstance(LoadBalancerId id, NodeList nodes,
                                                   LoadBalancer currentLoadBalancer,
                                                   ZoneEndpoint zoneEndpoint,
                                                   CloudAccount cloudAccount) {
        boolean shouldDeactivateRouting = deactivateRouting.with(Dimension.INSTANCE_ID,
                                                                 id.application().serializedForm())
                                                           .value();
        Set<Real> reals = shouldDeactivateRouting ? Set.of() : realsOf(nodes, cloudAccount);
        log.log(Level.FINE, () -> "Configuring instance for " + id + ", targeting: " + reals);
        try {
            return service.configure(currentLoadBalancer.instance().orElseThrow(() -> new IllegalArgumentException("expected existing instance for " + id)),
                                     new LoadBalancerSpec(id.application(), id.cluster(), reals, zoneEndpoint, cloudAccount, currentLoadBalancer.idSeed()),
                                     shouldDeactivateRouting || currentLoadBalancer.state() != LoadBalancer.State.active);
        }
        catch (RuntimeException e) {
            throw new LoadBalancerServiceException("Could not (re)configure " + id + ", targeting: " + reals, e);
        }
    }
Reconfigure a load balancer instance, if necessary
node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/LoadBalancerProvisioner.java