io.pivotal.services.plugin.tasks.helper.CfScaleInstanceCountDelegate Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of ya-cf-app-gradle-plugin Show documentation
Show all versions of ya-cf-app-gradle-plugin Show documentation
Gradle Plugin to push an application to Cloud Foundry
package io.pivotal.services.plugin.tasks.helper;
import io.pivotal.services.plugin.CfProperties;
import org.cloudfoundry.operations.CloudFoundryOperations;
import org.cloudfoundry.operations.applications.ScaleApplicationRequest;
import org.gradle.api.logging.Logger;
import org.gradle.api.logging.Logging;
import reactor.core.publisher.Mono;
/**
* Helper class for scaling instance Count of an app
*
* @author Biju Kunjummen
*/
public class CfScaleInstanceCountDelegate {
private static final Logger LOGGER = Logging.getLogger(CfScaleInstanceCountDelegate.class);
public Mono scaleInstances(CloudFoundryOperations cfOperations,
CfProperties cfProperties, int instanceCount) {
Mono resp = cfOperations.applications().scale(
ScaleApplicationRequest.builder()
.instances(instanceCount)
.build()
).doOnSubscribe((s) -> {
LOGGER.lifecycle("Scaling app {} to instance count {}", cfProperties.name(), instanceCount);
});
return resp;
}
}