com.hubspot.singularity.smtp.SingularityMailer Maven / Gradle / Ivy
package com.hubspot.singularity.smtp;
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;
import java.util.Optional;
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 sendDisasterMail(final SingularityDisastersData disastersData);
}