package com.sequenceiq.cloudbreak.core.flow2.stack.instance.termination; import com.sequenceiq.cloudbreak.core.flow2.AbstractAction; import com.sequenceiq.cloudbreak.core.flow2.FlowState; enum InstanceTerminationState implements FlowState { INIT_STATE, TERMINATION_FAILED_STATE(InstanceTerminationFailureAction.class), TERMINATION_STATE(InstanceTerminationAction.class), TERMINATION_FINISHED_STATE(InstanceTerminationFinishedAction.class), FINAL_STATE; private Class<? extends AbstractAction> action; InstanceTerminationState() { } InstanceTerminationState(Class<? extends AbstractAction> action) { this.action = action; } @Override public Class<? extends AbstractAction> action() { return action; } }