package com.hubspot.baragon.agent.config;

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

public class LoadBalancerConfiguration {

  @NotNull
  private String name;

  @NotNull
  private String rootPath;

  @NotNull
  private String checkConfigCommand;

  @NotNull
  private String reloadConfigCommand;

  @NotNull
  private String proxyTemplate;

  @NotNull
  private String upstreamTemplate;

  @NotNull
  private Boolean rollbackConfigsIfInvalid = false;

  @NotNull
  private Boolean alwaysApplyConfigs = false;

  @Min(0)
  private int commandTimeoutMs = 10000;

  public String getName() {
    return name;
  }

  public String getRootPath() {
    return rootPath;
  }

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

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

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

  public String getCheckConfigCommand() {
    return checkConfigCommand;
  }

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

  public String getReloadConfigCommand() {
    return reloadConfigCommand;
  }

  public void setProxyTemplate(String proxyTemplate) {
    this.proxyTemplate = proxyTemplate;
  }

  public String getProxyTemplate() {
    return proxyTemplate;
  }

  public void setUpstreamTemplatePath(String upstreamTemplate) {
    this.upstreamTemplate = upstreamTemplate;
  }

  public String getUpstreamTemplate() {
    return upstreamTemplate;
  }

  public void setRollbackConfigsIfInvalid(Boolean rollbackConfigsIfInvalid) {
    this.rollbackConfigsIfInvalid = rollbackConfigsIfInvalid;
  }

  public Boolean getRollbackConfigsIfInvalid() {
    return rollbackConfigsIfInvalid;
  }

  public Boolean getAlwaysApplyConfigs() {
    return alwaysApplyConfigs;
  }

  public void setAlwaysApplyConfigs(Boolean alwaysApplyConfigs) {
    this.alwaysApplyConfigs = alwaysApplyConfigs;
  }

  public void setUpstreamTemplate(String upstreamTemplate) {
    this.upstreamTemplate = upstreamTemplate;
  }

  public int getCommandTimeoutMs() {
    return commandTimeoutMs;
  }

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

@@ -342,221 +342,8 @@
 d;%0A%0A
-  @NotNull%0A  private String proxyTemplate;%0A%0A  @NotNull%0A  private String upstreamTemplate;%0A%0A  @NotNull%0A  private Boolean rollbackConfigsIfInvalid = false;%0A%0A  @NotNull%0A  private Boolean alwaysApplyConfigs = false;%0A%0A
   @M
@@ -443,66 +443,8 @@
  %7D%0A%0A
-  public String getRootPath() %7B%0A    return rootPath;%0A  %7D%0A%0A
   pu
@@ -516,48 +516,35 @@
 lic 
-void setRootPath(
 String 
-r
+getR
 ootPath
+(
 ) %7B%0A    
 this
@@ -543,23 +543,14 @@
     
-this.rootPath =
+return
  roo
@@ -582,104 +582,64 @@
  set
-CheckConfigCommand(String checkConfigCommand) %7B%0A    this.checkConfigCommand = checkConfigCommand
+RootPath(String rootPath) %7B%0A    this.rootPath = rootPath
 ;%0A  
@@ -736,22 +736,21 @@
 void set
-Reload
+Check
 ConfigCo
@@ -758,30 +758,29 @@
 mand(String 
-reload
+check
 ConfigComman
@@ -793,22 +793,21 @@
    this.
-reload
+check
 ConfigCo
@@ -814,22 +814,21 @@
 mmand = 
-reload
+check
 ConfigCo
@@ -940,890 +940,108 @@
  set
-ProxyTemplate(String proxyTemplate) %7B%0A    this.proxyTemplate = proxyTemplate;%0A  %7D%0A%0A  public String getProxyTemplate() %7B%0A    return proxyTemplate;%0A  %7D%0A%0A  public void setUpstreamTemplatePath(String upstreamTemplate) %7B%0A    this.upstreamTemplate = upstreamTemplate;%0A  %7D%0A%0A  public String getUpstreamTemplate() %7B%0A    return upstreamTemplate;%0A  %7D%0A%0A  public void setRollbackConfigsIfInvalid(Boolean rollbackConfigsIfInvalid) %7B%0A    this.rollbackConfigsIfInvalid = rollbackConfigsIfInvalid;%0A  %7D%0A%0A  public Boolean getRollbackConfigsIfInvalid() %7B%0A    return rollbackConfigsIfInvalid;%0A  %7D%0A%0A  public Boolean getAlwaysApplyConfigs() %7B%0A    return alwaysApplyConfigs;%0A  %7D%0A%0A  public void setAlwaysApplyConfigs(Boolean alwaysApplyConfigs) %7B%0A    this.alwaysApplyConfigs = alwaysApplyConfigs;%0A  %7D%0A%0A  public void setUpstreamTemplate(String upstreamTemplate) %7B%0A    this.upstreamTemplate = upstreamTemplate
+ReloadConfigCommand(String reloadConfigCommand) %7B%0A    this.reloadConfigCommand = reloadConfigCommand
 ;%0A  

clean up LoadBalancerConfiguration