package com.hubspot.singularity;
import java.util.List;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.google.common.base.Optional;
import com.wordnik.swagger.annotations.ApiModelProperty;
public class SingularityShellCommand {
private final String name;
private final Optional<List<String>> options;
private final Optional<String> user;
private final Optional<String> logfileName;
public SingularityShellCommand(@JsonProperty("name") String name, @JsonProperty("options") Optional<List<String>> options, @JsonProperty("user") Optional<String> user, @JsonProperty("logfileName") Optional<String> logfileName) {
this.name = name;
this.options = options;
this.user = user;
this.logfileName = logfileName;
}
@ApiModelProperty(required=false, value="User who requested the shell command")
public Optional<String> getUser() {
return user;
}
@ApiModelProperty(required=true, value="Name of the shell command to run")
public String getName() {
return name;
}
@ApiModelProperty(required=false, value="Additional options related to the shell command")
public Optional<List<String>> getOptions() {
return options;
}
@ApiModelProperty(required=false, value="File name for shell command output")
public Optional<String> getLogfileName() {
return logfileName;
}
@Override public String toString() {
return "SingularityShellCommand[" +
"name='" + name + '\'' +
", options=" + options +
", user=" + user +
", logfileName=" + logfileName +
']';
}
}