in maestro-common/src/main/java/com/netflix/maestro/models/Actions.java [126:227]
static {
WORKFLOW_INSTANCE_STATUS_TO_ACTION_MAP = new EnumMap<>(WorkflowInstance.Status.class);
WORKFLOW_INSTANCE_STATUS_TO_ACTION_MAP.put(
WorkflowInstance.Status.CREATED,
Arrays.asList(WorkflowInstanceAction.STOP, WorkflowInstanceAction.KILL));
WORKFLOW_INSTANCE_STATUS_TO_ACTION_MAP.put(
WorkflowInstance.Status.IN_PROGRESS,
Arrays.asList(WorkflowInstanceAction.STOP, WorkflowInstanceAction.KILL));
WORKFLOW_INSTANCE_STATUS_TO_ACTION_MAP.put(
WorkflowInstance.Status.PAUSED,
Arrays.asList(WorkflowInstanceAction.STOP, WorkflowInstanceAction.KILL));
WORKFLOW_INSTANCE_STATUS_TO_ACTION_MAP.put(
WorkflowInstance.Status.TIMED_OUT,
Collections.singletonList(WorkflowInstanceAction.RESTART));
WORKFLOW_INSTANCE_STATUS_TO_ACTION_MAP.put(
WorkflowInstance.Status.STOPPED, Collections.singletonList(WorkflowInstanceAction.RESTART));
WORKFLOW_INSTANCE_STATUS_TO_ACTION_MAP.put(
WorkflowInstance.Status.FAILED,
Arrays.asList(WorkflowInstanceAction.RESTART, WorkflowInstanceAction.UNBLOCK));
WORKFLOW_INSTANCE_STATUS_TO_ACTION_MAP.put(
WorkflowInstance.Status.SUCCEEDED,
Collections.singletonList(WorkflowInstanceAction.RESTART));
STEP_INSTANCE_STATUS_TO_ACTION_MAP = new EnumMap<>(StepInstance.Status.class);
// not support SKIP action for CREATED status because maestro_step_satisfied is uninitialized
STEP_INSTANCE_STATUS_TO_ACTION_MAP.put(
StepInstance.Status.CREATED,
Arrays.asList(StepInstanceAction.PAUSE, StepInstanceAction.STOP, StepInstanceAction.KILL));
STEP_INSTANCE_STATUS_TO_ACTION_MAP.put(
StepInstance.Status.INITIALIZED,
Arrays.asList(
StepInstanceAction.PAUSE,
StepInstanceAction.STOP,
StepInstanceAction.KILL,
StepInstanceAction.SKIP));
STEP_INSTANCE_STATUS_TO_ACTION_MAP.put(
StepInstance.Status.PAUSED,
Arrays.asList(
StepInstanceAction.RESUME,
StepInstanceAction.STOP,
StepInstanceAction.KILL,
StepInstanceAction.SKIP));
STEP_INSTANCE_STATUS_TO_ACTION_MAP.put(
StepInstance.Status.WAITING_FOR_SIGNALS,
Arrays.asList(
StepInstanceAction.STOP,
StepInstanceAction.KILL,
StepInstanceAction.SKIP,
StepInstanceAction.BYPASS_STEP_DEPENDENCIES));
STEP_INSTANCE_STATUS_TO_ACTION_MAP.put(
StepInstance.Status.EVALUATING_PARAMS,
Arrays.asList(StepInstanceAction.STOP, StepInstanceAction.KILL, StepInstanceAction.SKIP));
STEP_INSTANCE_STATUS_TO_ACTION_MAP.put(
StepInstance.Status.WAITING_FOR_PERMITS,
Arrays.asList(StepInstanceAction.STOP, StepInstanceAction.KILL, StepInstanceAction.SKIP));
STEP_INSTANCE_STATUS_TO_ACTION_MAP.put(
StepInstance.Status.STARTING,
Arrays.asList(StepInstanceAction.STOP, StepInstanceAction.KILL, StepInstanceAction.SKIP));
STEP_INSTANCE_STATUS_TO_ACTION_MAP.put(
StepInstance.Status.RUNNING,
Arrays.asList(StepInstanceAction.STOP, StepInstanceAction.KILL, StepInstanceAction.SKIP));
STEP_INSTANCE_STATUS_TO_ACTION_MAP.put(
StepInstance.Status.FINISHING,
Arrays.asList(StepInstanceAction.STOP, StepInstanceAction.KILL, StepInstanceAction.SKIP));
STEP_INSTANCE_STATUS_TO_ACTION_MAP.put(
StepInstance.Status.DISABLED, Collections.singletonList(StepInstanceAction.RESTART));
STEP_INSTANCE_STATUS_TO_ACTION_MAP.put(
StepInstance.Status.UNSATISFIED, Collections.singletonList(StepInstanceAction.RESTART));
STEP_INSTANCE_STATUS_TO_ACTION_MAP.put(
StepInstance.Status.SKIPPED,
Arrays.asList(StepInstanceAction.RESTART, StepInstanceAction.SKIP));
STEP_INSTANCE_STATUS_TO_ACTION_MAP.put(
StepInstance.Status.SUCCEEDED,
Arrays.asList(StepInstanceAction.RESTART, StepInstanceAction.SKIP));
STEP_INSTANCE_STATUS_TO_ACTION_MAP.put(
StepInstance.Status.COMPLETED_WITH_ERROR,
Arrays.asList(StepInstanceAction.RESTART, StepInstanceAction.SKIP));
STEP_INSTANCE_STATUS_TO_ACTION_MAP.put(
StepInstance.Status.USER_FAILED,
Arrays.asList(StepInstanceAction.STOP, StepInstanceAction.KILL, StepInstanceAction.SKIP));
STEP_INSTANCE_STATUS_TO_ACTION_MAP.put(
StepInstance.Status.PLATFORM_FAILED,
Arrays.asList(StepInstanceAction.STOP, StepInstanceAction.KILL, StepInstanceAction.SKIP));
STEP_INSTANCE_STATUS_TO_ACTION_MAP.put(
StepInstance.Status.TIMEOUT_FAILED,
Arrays.asList(StepInstanceAction.STOP, StepInstanceAction.KILL, StepInstanceAction.SKIP));
STEP_INSTANCE_STATUS_TO_ACTION_MAP.put(
StepInstance.Status.FATALLY_FAILED,
Arrays.asList(StepInstanceAction.RESTART, StepInstanceAction.SKIP));
STEP_INSTANCE_STATUS_TO_ACTION_MAP.put(
StepInstance.Status.INTERNALLY_FAILED,
Arrays.asList(StepInstanceAction.RESTART, StepInstanceAction.SKIP));
STEP_INSTANCE_STATUS_TO_ACTION_MAP.put(
StepInstance.Status.STOPPED,
Arrays.asList(StepInstanceAction.RESTART, StepInstanceAction.SKIP));
STEP_INSTANCE_STATUS_TO_ACTION_MAP.put(
StepInstance.Status.TIMED_OUT,
Arrays.asList(StepInstanceAction.RESTART, StepInstanceAction.SKIP));
}