
com.hubspot.blazar.config.SingularityConfiguration Maven / Gradle / Ivy
The newest version!
package com.hubspot.blazar.config;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.google.common.base.CharMatcher;
import com.google.common.base.Optional;
import com.hubspot.singularity.SingularityClientCredentials;
import javax.validation.constraints.NotNull;
public class SingularityConfiguration {
@NotNull
private final String host;
@NotNull
private final String request;
private final Optional path;
private final Optional credentials;
@JsonCreator
public SingularityConfiguration(@JsonProperty("host") String host,
@JsonProperty("request") String request,
@JsonProperty("path") Optional path,
@JsonProperty("credentials") Optional credentials) {
this.host = host;
this.request = request;
this.path = trimSlashes(path); // singularity client adds leading and trailing slashes
this.credentials = credentials;
}
public String getHost() {
return host;
}
public String getRequest() {
return request;
}
public Optional getPath() {
return path;
}
public Optional getCredentials() {
return credentials;
}
private static Optional trimSlashes(Optional s) {
if (s.isPresent()) {
return Optional.of(CharMatcher.is('/').trimFrom(s.get()));
} else {
return s;
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy