com.elastisys.scale.cloudpool.splitter.requests.http.HttpRequestFactory Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of cloudpool.splitter Show documentation
Show all versions of cloudpool.splitter Show documentation
A cloud pool that uses a configured list of child cloud pools to carry out operations.
The newest version!
package com.elastisys.scale.cloudpool.splitter.requests.http;
import java.util.concurrent.Callable;
import com.elastisys.scale.cloudpool.api.types.MachinePool;
import com.elastisys.scale.cloudpool.api.types.MembershipStatus;
import com.elastisys.scale.cloudpool.api.types.PoolSizeSummary;
import com.elastisys.scale.cloudpool.api.types.ServiceState;
import com.elastisys.scale.cloudpool.splitter.Splitter;
import com.elastisys.scale.cloudpool.splitter.config.PrioritizedCloudPool;
import com.elastisys.scale.cloudpool.splitter.requests.RequestFactory;
/**
* A {@link RequestFactory} that produces request tasks that invoke cloud pool
* over HTTP.
*
* @see Splitter
*/
public class HttpRequestFactory implements RequestFactory {
@Override
public Callable newGetMachinePoolRequest(
PrioritizedCloudPool cloudPool) {
return new GetMachinePoolRequest(cloudPool);
}
@Override
public Callable newGetPoolSizeRequest(
PrioritizedCloudPool cloudPool) {
return new GetPoolSizeRequest(cloudPool);
}
@Override
public Callable newSetDesiredSizeRequest(
PrioritizedCloudPool cloudPool, int desiredSize) {
return new SetDesiredSizeRequest(cloudPool, desiredSize);
}
@Override
public Callable newTerminateMachineRequest(
PrioritizedCloudPool cloudPool, String machineId,
boolean decrementDesiredSize) {
return new TerminateMachineRequest(cloudPool, machineId,
decrementDesiredSize);
}
@Override
public Callable newSetServiceStateRequest(
PrioritizedCloudPool cloudPool, String machineId,
ServiceState serviceState) {
return new SetServiceStateRequest(cloudPool, machineId, serviceState);
}
@Override
public Callable newSetMembershipStatusRequest(
PrioritizedCloudPool cloudPool, String machineId,
MembershipStatus membershipStatus) {
return new SetMembershipStatusRequest(cloudPool, machineId,
membershipStatus);
}
@Override
public Callable newAttachMachineRequest(
PrioritizedCloudPool cloudPool, String machineId) {
return new AttachMachineRequest(cloudPool, machineId);
}
@Override
public Callable newDetachMachineRequest(
PrioritizedCloudPool cloudPool, String machineId,
boolean decrementDesiredSize) {
return new DetachMachineRequest(cloudPool, machineId,
decrementDesiredSize);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy