package beans.scripts; import java.io.File; import cloudify.widget.common.asyncscriptexecutor.IAsyncExecution; import models.ServerNode; import org.apache.commons.exec.CommandLine; import org.jclouds.compute.ComputeServiceContext; public interface ScriptExecutor{ /** * Used for bootstrapping * @param cmdLine * @param serverNode */ public IAsyncExecution runBootstrapScript( CommandLine cmdLine, ServerNode serverNode ); /** * * @param serverNode - the node we are running the execution on. * @return a populated async execution without writing/executing it. * * good when you want to be able to query if execution finished after you lost a reference to it. */ public IAsyncExecution getBootstrapExecution( ServerNode serverNode ); /** * used for running install and uninstall of applications * @param cmdLine * @param server */ public void runInstallationManagementScript( CommandLine cmdLine, ServerNode server ); public void runTearDownCommand( CommandLine cmdLine ); }