Package com.dtolabs.rundeck.core.plugins
Class BaseScriptPlugin
- java.lang.Object
-
- com.dtolabs.rundeck.core.plugins.AbstractDescribableScriptPlugin
-
- com.dtolabs.rundeck.core.plugins.BaseScriptPlugin
-
- All Implemented Interfaces:
ProxySecretBundleCreator,Describable
- Direct Known Subclasses:
ScriptOptionValues,ScriptPluginFileCopier,ScriptPluginNodeExecutor,ScriptTourLoader,ScriptUserGroupSource
public abstract class BaseScriptPlugin extends AbstractDescribableScriptPlugin implements ProxySecretBundleCreator
BaseScriptPlugin provides common methods for running scripts, used by the script plugin implementations.
-
-
Field Summary
-
Fields inherited from class com.dtolabs.rundeck.core.plugins.AbstractDescribableScriptPlugin
CONFIG_BLANK_IF_UNEXPANDED, CONFIG_DEFAULT, CONFIG_DESCRIPTION, CONFIG_LABELS, CONFIG_NAME, CONFIG_PROP_PREFIX, CONFIG_RENDERING_OPTIONS, CONFIG_REQUIRED, CONFIG_SCOPE, CONFIG_TITLE, CONFIG_TYPE, CONFIG_VALUES, DESCRIPTION_PROP, SETTING_MERGE_ENVIRONMENT, TITLE_PROP
-
-
Constructor Summary
Constructors Modifier Constructor Description protectedBaseScriptPlugin(ScriptPluginProvider provider)protectedBaseScriptPlugin(ScriptPluginProvider provider, Framework framework)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected java.lang.String[]createScriptArgs(java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.lang.String>> localDataContext)Create the command array for the data context.protected ExecArgListcreateScriptArgsList(java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.lang.String>> dataContext)Create the command array for the data context.protected DataContextcreateScriptDataContext(Framework framework, java.lang.String project, java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.lang.String>> context)create script data contextprotected DataContextcreateScriptDataContext(java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.lang.String>> context)protected java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.lang.String>>createStepItemDataContext(Framework framework, java.lang.String project, java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.lang.String>> context, java.util.Map<java.lang.String,java.lang.Object> configuration)Create a data context containing the plugin values "file","scriptfile" and "base", as well as all config values.ScriptExecHelpergetScriptExecHelper()java.util.List<java.lang.String>listSecretsPath(ExecutionContext context, INodeEntry node)java.util.List<java.lang.String>listSecretsPathWorkflowNodeStep(ExecutionContext context, INodeEntry node, java.util.Map<java.lang.String,java.lang.Object> configuration)java.util.List<java.lang.String>listSecretsPathWorkflowStep(ExecutionContext context, java.util.Map<java.lang.String,java.lang.Object> configuration)SecretBundleprepareSecretBundle(ExecutionContext context, INodeEntry node)SecretBundleprepareSecretBundleWorkflowNodeStep(ExecutionContext context, INodeEntry node, java.util.Map<java.lang.String,java.lang.Object> configuration)SecretBundleprepareSecretBundleWorkflowStep(ExecutionContext context, java.util.Map<java.lang.String,java.lang.Object> configuration)protected intrunPluginScript(PluginStepContext executionContext, java.io.PrintStream outputStream, java.io.PrintStream errorStream, Framework framework, java.util.Map<java.lang.String,java.lang.Object> configuration)Runs the script configured for the script plugin and channels the output to two streams.voidsetScriptExecHelper(ScriptExecHelper scriptExecHelper)-
Methods inherited from class com.dtolabs.rundeck.core.plugins.AbstractDescribableScriptPlugin
createDescription, createDescription, createPluginData, getDescription, getFramework, getProvider, isAllowCustomProperties, isUseConventionalPropertiesMapping, loadConfigData, loadContentConversionPropertyValues, loadInstanceDataFromNodeAttributes
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface com.dtolabs.rundeck.core.execution.proxy.ProxySecretBundleCreator
listSecretsPathResourceModel, prepareSecretBundleResourceModel
-
-
-
-
Constructor Detail
-
BaseScriptPlugin
protected BaseScriptPlugin(ScriptPluginProvider provider, Framework framework)
-
BaseScriptPlugin
protected BaseScriptPlugin(ScriptPluginProvider provider)
-
-
Method Detail
-
runPluginScript
protected int runPluginScript(PluginStepContext executionContext, java.io.PrintStream outputStream, java.io.PrintStream errorStream, Framework framework, java.util.Map<java.lang.String,java.lang.Object> configuration) throws java.io.IOException, java.lang.InterruptedException, ConfigurationException
Runs the script configured for the script plugin and channels the output to two streams.- Parameters:
executionContext- contextoutputStream- output streamerrorStream- error streamframework- fwlkconfiguration- configuration- Returns:
- exit code
- Throws:
java.io.IOException- if any IO exception occursjava.lang.InterruptedException- if interrupted while waiting for the command to finishConfigurationException
-
createStepItemDataContext
protected java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.lang.String>> createStepItemDataContext(Framework framework, java.lang.String project, java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.lang.String>> context, java.util.Map<java.lang.String,java.lang.Object> configuration)
Create a data context containing the plugin values "file","scriptfile" and "base", as well as all config values.- Parameters:
framework- fwkproject- project namecontext- data contextconfiguration- configuration- Returns:
- data context
-
createScriptDataContext
protected DataContext createScriptDataContext(Framework framework, java.lang.String project, java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.lang.String>> context)
create script data context- Parameters:
framework- fwkproject- project namecontext- orig context- Returns:
- new data context
-
createScriptDataContext
protected DataContext createScriptDataContext(java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.lang.String>> context)
-
createScriptArgs
protected java.lang.String[] createScriptArgs(java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.lang.String>> localDataContext)
Create the command array for the data context.- Parameters:
localDataContext- data- Returns:
- command array
-
createScriptArgsList
protected ExecArgList createScriptArgsList(java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.lang.String>> dataContext)
Create the command array for the data context.- Parameters:
dataContext- data- Returns:
- arglist
-
getScriptExecHelper
public ScriptExecHelper getScriptExecHelper()
-
setScriptExecHelper
public void setScriptExecHelper(ScriptExecHelper scriptExecHelper)
-
prepareSecretBundle
public SecretBundle prepareSecretBundle(ExecutionContext context, INodeEntry node)
- Specified by:
prepareSecretBundlein interfaceProxySecretBundleCreator
-
prepareSecretBundleWorkflowStep
public SecretBundle prepareSecretBundleWorkflowStep(ExecutionContext context, java.util.Map<java.lang.String,java.lang.Object> configuration)
- Specified by:
prepareSecretBundleWorkflowStepin interfaceProxySecretBundleCreator
-
prepareSecretBundleWorkflowNodeStep
public SecretBundle prepareSecretBundleWorkflowNodeStep(ExecutionContext context, INodeEntry node, java.util.Map<java.lang.String,java.lang.Object> configuration)
- Specified by:
prepareSecretBundleWorkflowNodeStepin interfaceProxySecretBundleCreator
-
listSecretsPath
public java.util.List<java.lang.String> listSecretsPath(ExecutionContext context, INodeEntry node)
- Specified by:
listSecretsPathin interfaceProxySecretBundleCreator
-
listSecretsPathWorkflowNodeStep
public java.util.List<java.lang.String> listSecretsPathWorkflowNodeStep(ExecutionContext context, INodeEntry node, java.util.Map<java.lang.String,java.lang.Object> configuration)
- Specified by:
listSecretsPathWorkflowNodeStepin interfaceProxySecretBundleCreator
-
listSecretsPathWorkflowStep
public java.util.List<java.lang.String> listSecretsPathWorkflowStep(ExecutionContext context, java.util.Map<java.lang.String,java.lang.Object> configuration)
- Specified by:
listSecretsPathWorkflowStepin interfaceProxySecretBundleCreator
-
-