All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.hubspot.baragon.agent.config.LoadBalancerConfiguration Maven / Gradle / Ivy

There is a newer version: 0.6.2
Show newest version
package com.hubspot.baragon.agent.config;

import java.util.Collections;
import java.util.Set;

import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;

import com.google.common.base.Optional;
import com.google.common.base.Strings;

public class LoadBalancerConfiguration {
  public static final int DEFAULT_COMMAND_TIMEOUT_MS = 10000;

  @NotNull
  private String name;

  private String defaultDomain;

  @Deprecated
  private String domain;

  @NotNull
  private String rootPath;

  @NotNull
  private String checkConfigCommand;

  @NotNull
  private String reloadConfigCommand;

  @Min(0)
  private int commandTimeoutMs = DEFAULT_COMMAND_TIMEOUT_MS;

  @NotNull
  private Set domains = Collections.emptySet();

  @NotNull
  @Min(1)
  private int maxLbWorkerCount = 1;

  @NotNull
  private Optional workerCountCommand = Optional.absent();

  private boolean limitWorkerCount = false;

  public String getName() {
    return name;
  }

  public void setName(String name) {
    this.name = name;
  }

  public String getRootPath() {
    return rootPath;
  }

  public void setRootPath(String rootPath) {
    this.rootPath = rootPath;
  }

  public String getCheckConfigCommand() {
    return checkConfigCommand;
  }

  public void setCheckConfigCommand(String checkConfigCommand) {
    this.checkConfigCommand = checkConfigCommand;
  }

  public String getReloadConfigCommand() {
    return reloadConfigCommand;
  }

  public void setReloadConfigCommand(String reloadConfigCommand) {
    this.reloadConfigCommand = reloadConfigCommand;
  }

  public int getCommandTimeoutMs() {
    return commandTimeoutMs;
  }

  public void setCommandTimeoutMs(int commandTimeoutMs) {
    this.commandTimeoutMs = commandTimeoutMs;
  }

  public Optional getDefaultDomain() {
    return Optional.fromNullable(Strings.emptyToNull(defaultDomain)).or(Optional.fromNullable(Strings.emptyToNull(domain)));
  }

  public void setDefaultDomain(String defaultDomain) {
    this.defaultDomain = defaultDomain;
  }

  @Deprecated
  public Optional getDomain() {
    return getDefaultDomain();
  }

  public void setDomain(String domain) {
    this.domain = domain;
  }

  public Set getDomains() {
    return domains;
  }

  public void setDomains(Set domains) {
    this.domains = domains;
  }

  public int getMaxLbWorkerCount() {
    return maxLbWorkerCount;
  }

  public void setMaxLbWorkerCount(int maxLbWorkerCount) {
    this.maxLbWorkerCount = maxLbWorkerCount;
  }

  public Optional getWorkerCountCommand() {
    return workerCountCommand;
  }

  public void setWorkerCountCommand(Optional workerCountCommand) {
    this.workerCountCommand = workerCountCommand;
  }

  public boolean isLimitWorkerCount() {
    return limitWorkerCount;
  }

  public void setLimitWorkerCount(boolean limitWorkerCount) {
    this.limitWorkerCount = limitWorkerCount;
  }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy