package com.hubspot.singularity.api;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.google.common.base.Optional;
import com.wordnik.swagger.annotations.ApiModelProperty;
public class SingularityScaleRequest extends SingularityExpiringRequestParent {
private final Optional<Integer> instances;
private final Optional<Boolean> skipHealthchecks;
private final Optional<Boolean> bounce;
private final Optional<Boolean> incremental;
@JsonCreator
public SingularityScaleRequest(@JsonProperty("instances") Optional<Integer> instances, @JsonProperty("durationMillis") Optional<Long> durationMillis,
@JsonProperty("skipHealthchecks") Optional<Boolean> skipHealthchecks, @JsonProperty("actionId") Optional<String> actionId, @JsonProperty("message") Optional<String> message,
@JsonProperty("bounce") Optional<Boolean> bounce, @JsonProperty("incremental") Optional<Boolean> incremental) {
super(durationMillis, actionId, message);
this.instances = instances;
this.skipHealthchecks = skipHealthchecks;
this.bounce = bounce;
this.incremental = incremental;
}
@ApiModelProperty(required=false, value="If set to true, healthchecks will be skipped while scaling this request (only)")
public Optional<Boolean> getSkipHealthchecks() {
return skipHealthchecks;
}
@ApiModelProperty(required=false, value="The number of instances to scale to")
public Optional<Integer> getInstances() {
return instances;
}
@ApiModelProperty(required=false, value="Bounce the request to get to the new scale")
public Optional<Boolean> getBounce() {
return bounce;
}
@ApiModelProperty(required=false, value="If present and set to true, old tasks will be killed as soon as replacement tasks are available, instead of waiting for all replacement tasks to be healthy")
public Optional<Boolean> getIncremental() {
return incremental;
}
@Override
public String toString() {
return "SingularityScaleRequest{" +
"instances=" + instances +
", skipHealthchecks=" + skipHealthchecks +
", bounce=" + bounce +
", incremental=" + incremental +
"} " + super.toString();
}
}