package io.cattle.platform.engine.manager; import io.cattle.platform.engine.process.LaunchConfiguration; import io.cattle.platform.engine.process.ProcessDefinition; import io.cattle.platform.engine.process.ProcessInstance; import io.cattle.platform.engine.server.ProcessInstanceReference; import java.util.List; public interface ProcessManager { List<ProcessInstanceReference> pendingTasks(); Long getRemainingTask(ProcessInstance instance); ProcessInstance loadProcess(Long id); ProcessInstanceReference loadReference(Long id); ProcessInstance createProcessInstance(LaunchConfiguration config); void scheduleProcessInstance(LaunchConfiguration config); void persistState(ProcessInstance process, boolean schedule); ProcessDefinition getProcessDelegate(ProcessDefinition def); ProcessDefinition getProcessDefinition(String name); }