public OperationFuture<Server> modify(Server server, ModifyServerConfig modifyServerConfig) {
        List<ModifyServerRequest> request = serverConverter.buildModifyServerRequest(modifyServerConfig,
            modifyServerConfig.getCustomFields().isEmpty() ? null : client.getCustomFields());

        Link response = client.modify(idByRef(server), request);

        OperationFuture<Server> modifyServerFuture;

        if (response == null) {
            modifyServerFuture = new OperationFuture<>(
                server,
                new NoWaitingJobFuture()
            );
        } else {
            modifyServerFuture = new OperationFuture<>(
                server,
                response.getId(),
                queueClient
            );
        }

        if (modifyServerConfig.getMachineConfig() != null &&
            modifyServerConfig.getMachineConfig().getAutoscalePolicy() != null) {

            return new OperationFuture<>(
                server,
                new ParallelJobsFuture(
                    modifyServerFuture.jobFuture(),
                    autoscalePolicyServiceSupplier.get().setAutoscalePolicyOnServer(
                        modifyServerConfig.getMachineConfig().getAutoscalePolicy(), server
                    ).jobFuture()
                )
            );
        }

        return modifyServerFuture;
    }
public OperationFuture < Server > modify ( Server server , ModifyServerConfig modifyServerConfig ) { List < ModifyServerRequest > request = serverConverter . buildModifyServerRequest ( modifyServerConfig , modifyServerConfig . getCustomFields ( ) . isEmpty ( ) ? null : client . getCustomFields ( ) ) ; Link response = client . modify ( idByRef ( server ) , request ) ; OperationFuture < Server > modifyServerFuture ; if ( response == null ) { modifyServerFuture = new OperationFuture < > ( server , new NoWaitingJobFuture ( ) ) ; } else { modifyServerFuture = new OperationFuture < > ( server , response . getId ( ) , queueClient ) ; } if ( modifyServerConfig . getMachineConfig ( ) != null && modifyServerConfig . getMachineConfig ( ) . getAutoscalePolicy ( ) != null ) { return new OperationFuture < > ( server , new ParallelJobsFuture ( modifyServerFuture . jobFuture ( ) , autoscalePolicyServiceSupplier . get ( ) . setAutoscalePolicyOnServer ( modifyServerConfig . getMachineConfig ( ) . getAutoscalePolicy ( ) , server ) . jobFuture ( ) ) ) ; } return modifyServerFuture ; }
Modify existing server
@param server server reference
@param modifyServerConfig server config
@return OperationFuture wrapper for ServerRef