package com.hubspot.singularity;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.google.common.base.Optional;
import com.wordnik.swagger.annotations.ApiModel;
import com.wordnik.swagger.annotations.ApiModelProperty;
@ApiModel( description = "Represents a task sandbox file that was uploaded to S3" )
public class SingularityS3Log extends SingularityS3LogMetadata {
private final String getUrl;
private final String downloadUrl;
@JsonCreator
public SingularityS3Log(@JsonProperty("getUrl") String getUrl, @JsonProperty("key") String key, @JsonProperty("lastModified") long lastModified, @JsonProperty("size") long size, @JsonProperty("downloadUrl") String downloadUrl,
@JsonProperty("startTime") Optional<Long> startTime, @JsonProperty("endTime") Optional<Long> endTime) {
super(key, lastModified, size, startTime, endTime);
this.getUrl = getUrl;
this.downloadUrl = downloadUrl;
}
@ApiModelProperty("URL to file in S3")
public String getGetUrl() {
return getUrl;
}
@ApiModelProperty("URL to file in S3 containing headers that will force file to be downloaded instead of viewed")
public String getDownloadUrl() {
return downloadUrl;
}
@Override
public String toString() {
return "SingularityS3Log{" +
"getUrl='" + getUrl + '\'' +
", downloadUrl='" + downloadUrl + '\'' +
"} " + super.toString();
}
}