
com.yahoo.container.core.VipStatusConfig Maven / Gradle / Ivy
/**
* This file is generated from a config definition file.
* ------------ D O N O T E D I T ! ------------
*/
package com.yahoo.container.core;
import java.util.*;
import java.nio.file.Path;
import edu.umd.cs.findbugs.annotations.NonNull;
import com.yahoo.config.*;
/**
* This class represents the root node of vip-status
*
* Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
*/
public final class VipStatusConfig extends ConfigInstance {
public final static String CONFIG_DEF_MD5 = "3ba4170a4cc4608640dc128bf122e209";
public final static String CONFIG_DEF_NAME = "vip-status";
public final static String CONFIG_DEF_NAMESPACE = "container.core";
public final static String CONFIG_DEF_VERSION = "";
public final static String[] CONFIG_DEF_SCHEMA = {
"namespace=container.core",
"noSearchBackendsImpliesOutOfService bool default=true",
"accessdisk bool default=false",
"statusfile string default=\"share/qrsdocs/status.html\""
};
public static String getDefMd5() { return CONFIG_DEF_MD5; }
public static String getDefName() { return CONFIG_DEF_NAME; }
public static String getDefNamespace() { return CONFIG_DEF_NAMESPACE; }
public static String getDefVersion() { return CONFIG_DEF_VERSION; }
public interface Producer extends ConfigInstance.Producer {
void getConfig(Builder builder);
}
public static class Builder implements ConfigInstance.Builder {
private Set __uninitialized = new HashSet();
private Boolean noSearchBackendsImpliesOutOfService = null;
private Boolean accessdisk = null;
private String statusfile = null;
public Builder() { }
public Builder(VipStatusConfig config) {
noSearchBackendsImpliesOutOfService(config.noSearchBackendsImpliesOutOfService());
accessdisk(config.accessdisk());
statusfile(config.statusfile());
}
private Builder override(Builder __superior) {
if (__superior.noSearchBackendsImpliesOutOfService != null)
noSearchBackendsImpliesOutOfService(__superior.noSearchBackendsImpliesOutOfService);
if (__superior.accessdisk != null)
accessdisk(__superior.accessdisk);
if (__superior.statusfile != null)
statusfile(__superior.statusfile);
return this;
}
public Builder noSearchBackendsImpliesOutOfService(boolean __value) {
noSearchBackendsImpliesOutOfService = __value;
return this;
}
private Builder noSearchBackendsImpliesOutOfService(String __value) {
return noSearchBackendsImpliesOutOfService(Boolean.valueOf(__value));
}
public Builder accessdisk(boolean __value) {
accessdisk = __value;
return this;
}
private Builder accessdisk(String __value) {
return accessdisk(Boolean.valueOf(__value));
}
public Builder statusfile(String __value) {
if (__value == null) throw new IllegalArgumentException("Null value is not allowed.");
statusfile = __value;
return this;
}
@java.lang.Override
public final boolean dispatchGetConfig(ConfigInstance.Producer producer) {
if (producer instanceof Producer) {
((Producer)producer).getConfig(this);
return true;
}
return false;
}
@java.lang.Override
public final String getDefMd5() { return CONFIG_DEF_MD5; }
@java.lang.Override
public final String getDefName() { return CONFIG_DEF_NAME; }
@java.lang.Override
public final String getDefNamespace() { return CONFIG_DEF_NAMESPACE; }
}
// If there is a Vespa search backend connected to this container, and that
// backend is out of service, automatically remove this container from VIP
// rotation, ignoring any status file.
private final BooleanNode noSearchBackendsImpliesOutOfService;
// Whether to return hard coded reply or serve "status.html" from disk
private final BooleanNode accessdisk;
// The file to serve as the status file.
// If the paht is relative vespa home is prepended
private final StringNode statusfile;
public VipStatusConfig(Builder builder) {
this(builder, true);
}
private VipStatusConfig(Builder builder, boolean throwIfUninitialized) {
if (throwIfUninitialized && ! builder.__uninitialized.isEmpty())
throw new IllegalArgumentException("The following builder parameters for " +
"vip-status must be initialized: " + builder.__uninitialized);
noSearchBackendsImpliesOutOfService = (builder.noSearchBackendsImpliesOutOfService == null) ?
new BooleanNode(true) : new BooleanNode(builder.noSearchBackendsImpliesOutOfService);
accessdisk = (builder.accessdisk == null) ?
new BooleanNode(false) : new BooleanNode(builder.accessdisk);
statusfile = (builder.statusfile == null) ?
new StringNode("share/qrsdocs/status.html") : new StringNode(builder.statusfile);
}
/**
* @return vip-status.noSearchBackendsImpliesOutOfService
*/
public boolean noSearchBackendsImpliesOutOfService() {
return noSearchBackendsImpliesOutOfService.value();
}
/**
* @return vip-status.accessdisk
*/
public boolean accessdisk() {
return accessdisk.value();
}
/**
* @return vip-status.statusfile
*/
public String statusfile() {
return statusfile.value();
}
private ChangesRequiringRestart getChangesRequiringRestart(VipStatusConfig newConfig) {
ChangesRequiringRestart changes = new ChangesRequiringRestart("vip-status");
return changes;
}
private static boolean containsFieldsFlaggedWithRestart() {
return false;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy