package com.hubspot.baragon.service.config;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.google.common.base.Optional;
@JsonIgnoreProperties(ignoreUnknown = true)
public class ElbConfiguration {
@JsonProperty("enabled")
private boolean enabled = false;
@NotNull
@JsonProperty("awsAccessKeyId")
private String awsAccessKeyId;
@NotNull
@JsonProperty("awsAccessKeySecret")
private String awsAccessKeySecret;
@Min(60)
private int intervalSeconds = 120;
@Min(0)
private int initialDelaySeconds = 0;
@JsonProperty("removeLastHealthyEnabled")
private boolean removeLastHealthyEnabled = false;
@JsonProperty("removeKnownAgentEnabled")
private boolean removeKnownAgentEnabled = false;
@JsonProperty("removeKnownAgentMinutes")
private int removeKnownAgentMinutes = 30;
@JsonProperty("deregisterEnabled")
private boolean deregisterEnabled = false;
@JsonProperty("failWhenNoElbForVpc")
private boolean failWhenNoElbForVpc = false;
@JsonProperty("checkForCorrectVpc")
private boolean checkForCorrectVpc = false;
@JsonProperty("awsRegion")
private Optional<String> awsRegion = Optional.absent();
@JsonProperty("awsEndpoint")
private Optional<String> awsEndpoint = Optional.absent();
private long defaultCheckInWaitTimeMs = 5000;
public boolean isEnabled() {
return enabled;
}
public void setEnabled(boolean enabled) {
this.enabled = enabled;
}
public String getAwsAccessKeyId() {
return awsAccessKeyId;
}
public void setAwsAccessKeyId(String awsAccessKeyId) {
this.awsAccessKeyId = awsAccessKeyId;
}
public String getAwsAccessKeySecret() {
return awsAccessKeySecret;
}
public void setAwsAccessKeySecret(String awsAccessKeySecret) {
this.awsAccessKeySecret = awsAccessKeySecret;
}
public int getIntervalSeconds() {
return intervalSeconds;
}
public void setIntervalSeconds(int intervalSeconds) {
this.intervalSeconds = intervalSeconds;
}
public int getInitialDelaySeconds() {
return initialDelaySeconds;
}
public void setInitialDelaySeconds(int initialDelaySeconds) {
this.initialDelaySeconds = initialDelaySeconds;
}
public boolean isRemoveLastHealthyEnabled() {
return removeLastHealthyEnabled;
}
public void setRemoveLastHealthyEnabled(boolean removeLastHealthyEnabled) {
this.removeLastHealthyEnabled = removeLastHealthyEnabled;
}
public boolean isRemoveKnownAgentEnabled() {
return removeKnownAgentEnabled;
}
public void setRemoveKnownAgentEnabled(boolean removeKnownAgentEnabled) {
this.removeKnownAgentEnabled = removeKnownAgentEnabled;
}
public boolean isDeregisterEnabled() {
return deregisterEnabled;
}
public void setDeregisterEnabled(boolean deregisterEnabled) {
this.deregisterEnabled = deregisterEnabled;
}
public int getRemoveKnownAgentMinutes() {
return removeKnownAgentMinutes;
}
public void setRemoveKnownAgentMinutes(int removeKnownAgentMinutes) {
this.removeKnownAgentMinutes = removeKnownAgentMinutes;
}
public boolean isFailWhenNoElbForVpc() {
return failWhenNoElbForVpc;
}
public void setFailWhenNoElbForVpc(boolean failWhenNoElbForVpc) {
this.failWhenNoElbForVpc = failWhenNoElbForVpc;
}
public boolean isCheckForCorrectVpc() {
return checkForCorrectVpc;
}
public void setCheckForCorrectVpc(boolean checkForCorrectVpc) {
this.checkForCorrectVpc = checkForCorrectVpc;
}
public Optional<String> getAwsRegion() {
return awsRegion;
}
public void setAwsRegion(Optional<String> awsRegion) {
this.awsRegion = awsRegion;
}
public Optional<String> getAwsEndpoint() {
return awsEndpoint;
}
public void setAwsEndpoint(Optional<String> awsEndpoint) {
this.awsEndpoint = awsEndpoint;
}
public long getDefaultCheckInWaitTimeMs() {
return defaultCheckInWaitTimeMs;
}
public void setDefaultCheckInWaitTimeMs(long defaultCheckInWaitTimeMs) {
this.defaultCheckInWaitTimeMs = defaultCheckInWaitTimeMs;
}
}