package com.sequenceiq.cloudbreak.core.flow2.cluster.downscale; import com.sequenceiq.cloudbreak.core.flow2.FlowEvent; import com.sequenceiq.cloudbreak.reactor.api.event.EventSelectorUtil; import com.sequenceiq.cloudbreak.reactor.api.event.resource.CollectDownscaleCandidatesResult; import com.sequenceiq.cloudbreak.reactor.api.event.resource.DecommissionResult; public enum ClusterDownscaleEvent implements FlowEvent { DECOMMISSION_EVENT("CLUSTER_DOWNSCALE_TRIGGER_EVENT"), COLLECT_CANDIDATES_FINISHED_EVENT(EventSelectorUtil.selector(CollectDownscaleCandidatesResult.class)), COLLECT_CANDIDATES_FAILED_EVENT(EventSelectorUtil.failureSelector(CollectDownscaleCandidatesResult.class)), DECOMMISSION_FINISHED_EVENT(EventSelectorUtil.selector(DecommissionResult.class)), DECOMMISSION_FAILED_EVENT(EventSelectorUtil.failureSelector(DecommissionResult.class)), FINALIZED_EVENT("CLUSTERDOWNSCALEFINALIZEDEVENT"), FAILURE_EVENT("CLUSTERDOWNSCALEFAILUREEVENT"), FAIL_HANDLED_EVENT("CLUSTERDOWNSCALEFAILHANDLEDEVENT"); private String event; ClusterDownscaleEvent(String event) { this.event = event; } @Override public String event() { return event; } }