
com.hubspot.singularity.SingularityLoadBalancerUpdate Maven / Gradle / Ivy
The newest version!
package com.hubspot.singularity;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.google.common.base.Optional;
import com.hubspot.baragon.models.BaragonRequestState;
import com.hubspot.singularity.LoadBalancerRequestType.LoadBalancerRequestId;
public class SingularityLoadBalancerUpdate {
private final BaragonRequestState loadBalancerState;
private final Optional message;
private final long timestamp;
private final Optional uri;
private final LoadBalancerMethod method;
private final LoadBalancerRequestId loadBalancerRequestId;
public enum LoadBalancerMethod {
PRE_ENQUEUE, ENQUEUE, CHECK_STATE, CANCEL, DELETE;
}
@JsonCreator
public SingularityLoadBalancerUpdate(@JsonProperty("state") BaragonRequestState loadBalancerState, @JsonProperty("loadBalancerRequestId") LoadBalancerRequestId loadBalancerRequestId,
@JsonProperty("message") Optional message,
@JsonProperty("timestamp") long timestamp, @JsonProperty("method") LoadBalancerMethod method, @JsonProperty("uri") Optional uri) {
this.loadBalancerState = loadBalancerState;
this.message = message;
this.timestamp = timestamp;
this.uri = uri;
this.method = method;
this.loadBalancerRequestId = loadBalancerRequestId;
}
public BaragonRequestState getLoadBalancerState() {
return loadBalancerState;
}
public Optional getMessage() {
return message;
}
public long getTimestamp() {
return timestamp;
}
public Optional getUri() {
return uri;
}
public LoadBalancerMethod getMethod() {
return method;
}
public LoadBalancerRequestId getLoadBalancerRequestId() {
return loadBalancerRequestId;
}
public static SingularityLoadBalancerUpdate preEnqueue(LoadBalancerRequestId lbRequestId) {
return new SingularityLoadBalancerUpdate(BaragonRequestState.UNKNOWN, lbRequestId, Optional.absent(), System.currentTimeMillis(), LoadBalancerMethod.PRE_ENQUEUE,
Optional.absent());
}
@Override
public String toString() {
return "SingularityLoadBalancerUpdate [loadBalancerState=" + loadBalancerState + ", message=" + message + ", timestamp=" + timestamp + ", uri=" + uri + ", method=" + method
+ ", loadBalancerRequestId=" + loadBalancerRequestId + "]";
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy