
com.hubspot.deploy.ExecutorData Maven / Gradle / Ivy
The newest version!
package com.hubspot.deploy;
import java.util.List;
import java.util.Map;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.google.common.base.Optional;
import com.hubspot.mesos.JavaUtils;
import com.hubspot.singularity.executor.SingularityExecutorLogrotateFrequency;
@JsonIgnoreProperties(ignoreUnknown = true)
public class ExecutorData {
private final String cmd;
private final List embeddedArtifacts;
private final List externalArtifacts;
private final List s3Artifacts;
private final List successfulExitCodes;
private final Optional runningSentinel;
private final Optional user;
private final List extraCmdLineArgs;
private final Optional loggingTag;
private final Map loggingExtraFields;
private final Optional sigKillProcessesAfterMillis;
private final Optional maxTaskThreads;
private final Optional preserveTaskSandboxAfterFinish;
private final Optional loggingS3Bucket;
private final Optional maxOpenFiles;
private final Optional skipLogrotateAndCompress;
private final Optional> s3ArtifactSignatures;
private final Optional logrotateFrequency;
@JsonCreator
public ExecutorData(@JsonProperty("cmd") String cmd, @JsonProperty("embeddedArtifacts") List embeddedArtifacts, @JsonProperty("externalArtifacts") List externalArtifacts,
@JsonProperty("s3Artifacts") List s3Artifacts, @JsonProperty("successfulExitCodes") List successfulExitCodes, @JsonProperty("user") Optional user,
@JsonProperty("runningSentinel") Optional runningSentinel, @JsonProperty("extraCmdLineArgs") List extraCmdLineArgs, @JsonProperty("loggingTag") Optional loggingTag,
@JsonProperty("loggingExtraFields") Map loggingExtraFields, @JsonProperty("sigKillProcessesAfterMillis") Optional sigKillProcessesAfterMillis,
@JsonProperty("maxTaskThreads") Optional maxTaskThreads, @JsonProperty("preserveTaskSandboxAfterFinish") Optional preserveTaskSandboxAfterFinish,
@JsonProperty("loggingS3Bucket") Optional loggingS3Bucket, @JsonProperty("maxOpenFiles") Optional maxOpenFiles,
@JsonProperty("skipLogrotateAndCompress") Optional skipLogrotateAndCompress, @JsonProperty("s3ArtifactSignatures") Optional> s3ArtifactSignatures,
@JsonProperty("logrotateFrequency") Optional logrotateFrequency) {
this.cmd = cmd;
this.embeddedArtifacts = JavaUtils.nonNullImmutable(embeddedArtifacts);
this.externalArtifacts = JavaUtils.nonNullImmutable(externalArtifacts);
this.s3Artifacts = JavaUtils.nonNullImmutable(s3Artifacts);
this.user = user;
this.successfulExitCodes = JavaUtils.nonNullImmutable(successfulExitCodes);
this.extraCmdLineArgs = JavaUtils.nonNullImmutable(extraCmdLineArgs);
this.runningSentinel = runningSentinel;
this.loggingTag = loggingTag;
this.loggingExtraFields = JavaUtils.nonNullImmutable(loggingExtraFields);
this.sigKillProcessesAfterMillis = sigKillProcessesAfterMillis;
this.maxTaskThreads = maxTaskThreads;
this.preserveTaskSandboxAfterFinish = preserveTaskSandboxAfterFinish;
this.loggingS3Bucket = loggingS3Bucket;
this.maxOpenFiles = maxOpenFiles;
this.skipLogrotateAndCompress = skipLogrotateAndCompress;
this.s3ArtifactSignatures = s3ArtifactSignatures;
this.logrotateFrequency = logrotateFrequency;
}
public ExecutorDataBuilder toBuilder() {
return new ExecutorDataBuilder(cmd, embeddedArtifacts, externalArtifacts, s3Artifacts, successfulExitCodes, runningSentinel, user, extraCmdLineArgs, loggingTag,
loggingExtraFields, sigKillProcessesAfterMillis, maxTaskThreads, preserveTaskSandboxAfterFinish, loggingS3Bucket, maxOpenFiles, skipLogrotateAndCompress, s3ArtifactSignatures, logrotateFrequency);
}
public String getCmd() {
return cmd;
}
public Optional getLoggingTag() {
return loggingTag;
}
public Map getLoggingExtraFields() {
return loggingExtraFields;
}
public List getEmbeddedArtifacts() {
return embeddedArtifacts;
}
public List getExternalArtifacts() {
return externalArtifacts;
}
public List getSuccessfulExitCodes() {
return successfulExitCodes;
}
public List getExtraCmdLineArgs() {
return extraCmdLineArgs;
}
public Optional getRunningSentinel() {
return runningSentinel;
}
public Optional getUser() {
return user;
}
public Optional getSigKillProcessesAfterMillis() {
return sigKillProcessesAfterMillis;
}
public List getS3Artifacts() {
return s3Artifacts;
}
public Optional getMaxTaskThreads() {
return maxTaskThreads;
}
public Optional getPreserveTaskSandboxAfterFinish() {
return preserveTaskSandboxAfterFinish;
}
public Optional getLoggingS3Bucket() {
return loggingS3Bucket;
}
public Optional getMaxOpenFiles() {
return maxOpenFiles;
}
public Optional getSkipLogrotateAndCompress() {
return skipLogrotateAndCompress;
}
public Optional> getS3ArtifactSignatures() {
return s3ArtifactSignatures;
}
public Optional getLogrotateFrequency() {
return logrotateFrequency;
}
@Override
public String toString() {
return "ExecutorData[" +
"cmd='" + cmd + '\'' +
", embeddedArtifacts=" + embeddedArtifacts +
", externalArtifacts=" + externalArtifacts +
", s3Artifacts=" + s3Artifacts +
", successfulExitCodes=" + successfulExitCodes +
", runningSentinel=" + runningSentinel +
", user=" + user +
", extraCmdLineArgs=" + extraCmdLineArgs +
", loggingTag=" + loggingTag +
", loggingExtraFields=" + loggingExtraFields +
", sigKillProcessesAfterMillis=" + sigKillProcessesAfterMillis +
", maxTaskThreads=" + maxTaskThreads +
", preserveTaskSandboxAfterFinish=" + preserveTaskSandboxAfterFinish +
", loggingS3Bucket=" + loggingS3Bucket +
", maxOpenFiles=" + maxOpenFiles +
", skipLogrotateAndCompress=" + skipLogrotateAndCompress +
", s3ArtifactSignatures=" + s3ArtifactSignatures +
", logrotateFrequency=" + logrotateFrequency +
']';
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy