com.hubspot.singularity.smtp.SingularityMailer Maven / Gradle / Ivy
package com.hubspot.singularity.smtp;
import com.google.common.base.Optional;
import com.hubspot.singularity.ExtendedTaskState;
import com.hubspot.singularity.SingularityDisastersData;
import com.hubspot.singularity.SingularityRequest;
import com.hubspot.singularity.SingularityTask;
import com.hubspot.singularity.SingularityTaskHistory;
import com.hubspot.singularity.SingularityTaskId;
import com.hubspot.singularity.api.SingularityPauseRequest;
import com.hubspot.singularity.api.SingularityScaleRequest;
public interface SingularityMailer {
void sendTaskOverdueMail(final Optional task, final SingularityTaskId taskId, final SingularityRequest request, final long runTime, final long expectedRuntime);
void queueTaskCompletedMail(final Optional task, final SingularityTaskId taskId, final SingularityRequest request, final ExtendedTaskState taskState);
void sendTaskCompletedMail(SingularityTaskHistory taskHistory, SingularityRequest request);
void sendRequestPausedMail(SingularityRequest request, Optional pauseRequest, Optional user);
void sendRequestUnpausedMail(SingularityRequest request, Optional user, Optional message);
void sendRequestScaledMail(SingularityRequest request, Optional newScaleRequest, Optional formerInstances, Optional user);
void sendRequestRemovedMail(SingularityRequest request, Optional user, Optional message);
void sendRequestInCooldownMail(final SingularityRequest request);
void sendReplacementTasksFailingMail(final SingularityRequest request);
void sendDisasterMail(final SingularityDisastersData disastersData);
}