com.yahoo.vespa.hosted.controller.athenz.config.AthenzConfig Maven / Gradle / Ivy
/**
* This file is generated from a config definition file.
* ------------ D O N O T E D I T ! ------------
*/
package com.yahoo.vespa.hosted.controller.athenz.config;
import java.util.*;
import java.io.File;
import java.nio.file.Path;
import com.yahoo.config.*;
/**
* This class represents the root node of athenz
*
* Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
*/
public final class AthenzConfig extends ConfigInstance {
public final static String CONFIG_DEF_MD5 = "3b606ce30eaa6df8348b1e61758ed74c";
public final static String CONFIG_DEF_NAME = "athenz";
public final static String CONFIG_DEF_NAMESPACE = "vespa.hosted.controller.athenz.config";
public final static String CONFIG_DEF_VERSION = "";
public final static String[] CONFIG_DEF_SCHEMA = {
"namespace=vespa.hosted.controller.athenz.config",
"zmsUrl string",
"ztsUrl string",
"domain string",
"service.name string"
};
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(Arrays.asList(
"zmsUrl",
"ztsUrl",
"domain"
));
private String zmsUrl = null;
private String ztsUrl = null;
private String domain = null;
public Service.Builder service = new Service.Builder();
public Builder() { }
public Builder(AthenzConfig config) {
zmsUrl(config.zmsUrl());
ztsUrl(config.ztsUrl());
domain(config.domain());
service(new Service.Builder(config.service()));
}
private Builder override(Builder __superior) {
if (__superior.zmsUrl != null)
zmsUrl(__superior.zmsUrl);
if (__superior.ztsUrl != null)
ztsUrl(__superior.ztsUrl);
if (__superior.domain != null)
domain(__superior.domain);
service(service.override(__superior.service));
return this;
}
public Builder zmsUrl(String __value) {
if (__value == null) throw new IllegalArgumentException("Null value is not allowed.");
zmsUrl = __value;
__uninitialized.remove("zmsUrl");
return this;
}
public Builder ztsUrl(String __value) {
if (__value == null) throw new IllegalArgumentException("Null value is not allowed.");
ztsUrl = __value;
__uninitialized.remove("ztsUrl");
return this;
}
public Builder domain(String __value) {
if (__value == null) throw new IllegalArgumentException("Null value is not allowed.");
domain = __value;
__uninitialized.remove("domain");
return this;
}
public Builder service(Service.Builder __builder) {
service = __builder;
return this;
}
/**
* Make a new builder and run the supplied function on it before adding it to the list
* @param __func lambda that modifies the given builder
* @return this builder
*/
public Builder service(java.util.function.Consumer __func) {
Service.Builder __inner = new Service.Builder();
__func.accept(__inner);
service = __inner;
return this;
}
private boolean _applyOnRestart = false;
@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; }
@java.lang.Override
public final boolean getApplyOnRestart() { return _applyOnRestart; }
@java.lang.Override
public final void setApplyOnRestart(boolean applyOnRestart) { _applyOnRestart = applyOnRestart; }
public AthenzConfig build() {
return new AthenzConfig(this);
}
}
// URL to ZMS API endpoint
private final StringNode zmsUrl;
// URL to ZTS API endpoint
private final StringNode ztsUrl;
// Athenz domain for controller identity. The domain is also used for Athenz tenancy integration.
private final StringNode domain;
private final Service service;
public AthenzConfig(Builder builder) {
this(builder, true);
}
private AthenzConfig(Builder builder, boolean throwIfUninitialized) {
if (throwIfUninitialized && ! builder.__uninitialized.isEmpty())
throw new IllegalArgumentException("The following builder parameters for " +
"athenz must be initialized: " + builder.__uninitialized);
zmsUrl = (builder.zmsUrl == null) ?
new StringNode() : new StringNode(builder.zmsUrl);
ztsUrl = (builder.ztsUrl == null) ?
new StringNode() : new StringNode(builder.ztsUrl);
domain = (builder.domain == null) ?
new StringNode() : new StringNode(builder.domain);
service = new Service(builder.service, throwIfUninitialized);
}
/**
* @return athenz.zmsUrl
*/
public String zmsUrl() {
return zmsUrl.value();
}
/**
* @return athenz.ztsUrl
*/
public String ztsUrl() {
return ztsUrl.value();
}
/**
* @return athenz.domain
*/
public String domain() {
return domain.value();
}
/**
* @return athenz.service
*/
public Service service() {
return service;
}
private ChangesRequiringRestart getChangesRequiringRestart(AthenzConfig newConfig) {
ChangesRequiringRestart changes = new ChangesRequiringRestart("athenz");
return changes;
}
private static boolean containsFieldsFlaggedWithRestart() {
return false;
}
/**
* This class represents athenz.service
*/
public final static class Service extends InnerNode {
public static class Builder implements ConfigBuilder {
private Set __uninitialized = new HashSet(Arrays.asList(
"name"
));
private String name = null;
public Builder() { }
public Builder(Service config) {
name(config.name());
}
private Builder override(Builder __superior) {
if (__superior.name != null)
name(__superior.name);
return this;
}
public Builder name(String __value) {
if (__value == null) throw new IllegalArgumentException("Null value is not allowed.");
name = __value;
__uninitialized.remove("name");
return this;
}
public Service build() {
return new Service(this);
}
}
// Athenz service name for controller identity
private final StringNode name;
public Service(Builder builder) {
this(builder, true);
}
private Service(Builder builder, boolean throwIfUninitialized) {
if (throwIfUninitialized && ! builder.__uninitialized.isEmpty())
throw new IllegalArgumentException("The following builder parameters for " +
"athenz.service must be initialized: " + builder.__uninitialized);
name = (builder.name == null) ?
new StringNode() : new StringNode(builder.name);
}
/**
* @return athenz.service.name
*/
public String name() {
return name.value();
}
private ChangesRequiringRestart getChangesRequiringRestart(Service newConfig) {
ChangesRequiringRestart changes = new ChangesRequiringRestart("service");
return changes;
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy