A base class for performing a terraform
execution.
Modifiers | Name | Description |
---|---|---|
protected static java.lang.String |
JSON_FORMAT |
Command-line parameter for JSON output. |
protected static java.lang.String |
NO_COLOR |
Command-line parameter for no colour. |
Fields inherited from class | Fields |
---|---|
class org.ysb33r.grolifant.api.exec.AbstractExecWrapperTask |
__$stMC, TASK_NAME, TASK_DESCRIPTION, TASK_GROUP, TASK_TYPE, TASK_DEPENDS_ON, TASK_OVERWRITE, TASK_ACTION, TASK_CONSTRUCTOR_ARGS |
class org.gradle.api.DefaultTask |
TASK_NAME, TASK_DESCRIPTION, TASK_GROUP, TASK_TYPE, TASK_DEPENDS_ON, TASK_OVERWRITE, TASK_ACTION, TASK_CONSTRUCTOR_ARGS |
Type | Name and description |
---|---|
java.util.Map<java.lang.String, ?> |
environment |
java.lang.String |
logLevel |
java.lang.String |
logLevel |
java.lang.Object |
sourceSet |
Constructor and description |
---|
protected AbstractTerraformTask
(java.lang.String cmd, java.util.List<java.lang.Class> configExtensions, java.util.List<TerraformExtensionConfigTypes> terraformConfigExtensions)
|
Type Params | Return Type | Name and description |
---|---|---|
|
protected void |
addBooleanCmdLineOption(TerraformExecSpec execSpec, java.lang.String optionName, boolean value) Adds a boolean command-line option with correct formatting to the execution specification. |
|
protected void |
addCommandLineProvider(org.gradle.api.provider.Provider<java.util.List<java.lang.String>> provider) Adds a command-line provider. |
|
protected TerraformExecSpec |
addCommandSpecificsToExecSpec(TerraformExecSpec execSpec) Add specific command-line options for the command. /** Add specific command-line options for the command. |
|
protected void |
addVariableFilesToCmdLine(TerraformExecSpec execSpec, org.gradle.api.file.FileCollection collection) Add files containing variables to command-line. |
|
protected void |
addVariablesToCmdLine(TerraformExecSpec execSpec, java.util.Map<java.lang.String, java.lang.String> vars) Adds Terraform variables to execution specification. |
|
protected TerraformExecSpec |
buildExecSpec() |
|
protected void |
captureStdOutTo(org.gradle.api.provider.Provider<java.io.File> output) When command is run, capture the standard output |
|
protected TerraformExecSpec |
configureExecSpec(TerraformExecSpec execSpec) Configures a TerraformExecSpec. |
|
protected TerraformExecSpec |
configureExecSpecForCmd(TerraformExecSpec execSpec, java.lang.String tfcmd, java.util.List<java.lang.String> cmdParams) Configures execution specification for a specific command. |
|
protected TerraformExecSpec |
createExecSpec() Creates a TerraformExecSpec. |
|
void |
exec() |
|
org.gradle.api.provider.Provider<java.io.File> |
getDataDir() |
|
protected java.util.List<java.lang.String> |
getDefaultCommandParameters() Returns a list of the default command parameters. |
|
java.util.Map<java.lang.String, java.lang.String> |
getEnvironment() Environment for running the exe |
|
org.gradle.api.provider.Provider<java.io.File> |
getLogDir() |
|
java.lang.String |
getLogLevel() The level at which Terraform should log. |
|
org.gradle.api.provider.Provider<java.io.File> |
getReportsDir() |
|
org.gradle.api.provider.Provider<java.io.File> |
getSourceDir() |
|
TerraformSourceDirectorySet |
getSourceSet() |
|
protected java.lang.String |
getTerraformCommand() Retunbs the terraform command this task is implementing. |
|
protected java.util.Map<java.lang.String, java.lang.String> |
getTerraformEnvironment() |
|
protected TerraformExtension |
getToolExtension() |
|
void |
setEnvironment(java.util.Map<java.lang.String, ?> args) Replace current environment with new one. |
|
void |
setLogLevel(java.lang.String lvl) |
|
void |
setLogLevel(org.gradle.api.logging.LogLevel lvl) |
|
void |
setSourceSet(java.lang.Object source) @param source Source set of anything that can be resolved using org.ysb33r.grolifant.api.StringUtils#stringize(Object s) and looked up as a Terraform source set. |
|
protected void |
supportsAutoApprove() To be called from tasks where the command supports auto-approve . |
|
protected void |
supportsColor(boolean withColor = true) To be called from tasks where the command supports no-color . |
|
protected void |
supportsForce() |
|
protected void |
supportsInputs() To be called from tasks where the command supports input . |
|
java.lang.String |
terraformPath(java.lang.Object file) Converts a file path to a format suitable for interpretation by Terraform on the appropriate platform. |
|
void |
unsetLogLevel() |
|
void |
useAwsEnvironment() Adds AWS environmental variables to Terraform runtime environment. |
Methods inherited from class | Name |
---|---|
class org.ysb33r.grolifant.api.exec.AbstractExecWrapperTask |
org.ysb33r.grolifant.api.exec.AbstractExecWrapperTask#setEnvironment(java.util.Map), org.ysb33r.grolifant.api.exec.AbstractExecWrapperTask#getEnvironment(), org.ysb33r.grolifant.api.exec.AbstractExecWrapperTask#invokeMethod(java.lang.String, java.lang.Object), org.ysb33r.grolifant.api.exec.AbstractExecWrapperTask#getMetaClass(), org.ysb33r.grolifant.api.exec.AbstractExecWrapperTask#setMetaClass(groovy.lang.MetaClass), org.ysb33r.grolifant.api.exec.AbstractExecWrapperTask#getProperty(java.lang.String), org.ysb33r.grolifant.api.exec.AbstractExecWrapperTask#exec(), org.ysb33r.grolifant.api.exec.AbstractExecWrapperTask#environment(java.util.Map), org.ysb33r.grolifant.api.exec.AbstractExecWrapperTask#getLogger(), org.ysb33r.grolifant.api.exec.AbstractExecWrapperTask#getTimeout(), org.ysb33r.grolifant.api.exec.AbstractExecWrapperTask#setDescription(java.lang.String), org.ysb33r.grolifant.api.exec.AbstractExecWrapperTask#getProject(), org.ysb33r.grolifant.api.exec.AbstractExecWrapperTask#getIdentityPath(), org.ysb33r.grolifant.api.exec.AbstractExecWrapperTask#getStandardOutputCapture(), org.ysb33r.grolifant.api.exec.AbstractExecWrapperTask#setGroup(java.lang.String), org.ysb33r.grolifant.api.exec.AbstractExecWrapperTask#getAnt(), org.ysb33r.grolifant.api.exec.AbstractExecWrapperTask#getConvention(), org.ysb33r.grolifant.api.exec.AbstractExecWrapperTask#getLogging(), org.ysb33r.grolifant.api.exec.AbstractExecWrapperTask#getLogging(), org.ysb33r.grolifant.api.exec.AbstractExecWrapperTask#getDidWork(), org.ysb33r.grolifant.api.exec.AbstractExecWrapperTask#getAsDynamicObject(), org.ysb33r.grolifant.api.exec.AbstractExecWrapperTask#setActions(java.util.List), org.ysb33r.grolifant.api.exec.AbstractExecWrapperTask#getTaskDependencies(), org.ysb33r.grolifant.api.exec.AbstractExecWrapperTask#getTaskDependencies(), org.ysb33r.grolifant.api.exec.AbstractExecWrapperTask#getDependsOn(), org.ysb33r.grolifant.api.exec.AbstractExecWrapperTask#setDependsOn(java.lang.Iterable), org.ysb33r.grolifant.api.exec.AbstractExecWrapperTask#dependsOn([Ljava.lang.Object;), org.ysb33r.grolifant.api.exec.AbstractExecWrapperTask#onlyIf(org.gradle.api.specs.Spec), org.ysb33r.grolifant.api.exec.AbstractExecWrapperTask#onlyIf(groovy.lang.Closure), org.ysb33r.grolifant.api.exec.AbstractExecWrapperTask#setOnlyIf(groovy.lang.Closure), org.ysb33r.grolifant.api.exec.AbstractExecWrapperTask#setOnlyIf(org.gradle.api.specs.Spec), org.ysb33r.grolifant.api.exec.AbstractExecWrapperTask#setDidWork(boolean), org.ysb33r.grolifant.api.exec.AbstractExecWrapperTask#doFirst(java.lang.String, org.gradle.api.Action), org.ysb33r.grolifant.api.exec.AbstractExecWrapperTask#doFirst(groovy.lang.Closure), org.ysb33r.grolifant.api.exec.AbstractExecWrapperTask#doFirst(org.gradle.api.Action), org.ysb33r.grolifant.api.exec.AbstractExecWrapperTask#doLast(java.lang.String, org.gradle.api.Action), org.ysb33r.grolifant.api.exec.AbstractExecWrapperTask#doLast(org.gradle.api.Action), org.ysb33r.grolifant.api.exec.AbstractExecWrapperTask#doLast(groovy.lang.Closure), org.ysb33r.grolifant.api.exec.AbstractExecWrapperTask#getEnabled(), org.ysb33r.grolifant.api.exec.AbstractExecWrapperTask#getOutputs(), org.ysb33r.grolifant.api.exec.AbstractExecWrapperTask#getOutputs(), org.ysb33r.grolifant.api.exec.AbstractExecWrapperTask#getDestroyables(), org.ysb33r.grolifant.api.exec.AbstractExecWrapperTask#getLocalState(), org.ysb33r.grolifant.api.exec.AbstractExecWrapperTask#getTemporaryDir(), org.ysb33r.grolifant.api.exec.AbstractExecWrapperTask#mustRunAfter([Ljava.lang.Object;), org.ysb33r.grolifant.api.exec.AbstractExecWrapperTask#setMustRunAfter(java.lang.Iterable), org.ysb33r.grolifant.api.exec.AbstractExecWrapperTask#getMustRunAfter(), org.ysb33r.grolifant.api.exec.AbstractExecWrapperTask#finalizedBy([Ljava.lang.Object;), org.ysb33r.grolifant.api.exec.AbstractExecWrapperTask#setFinalizedBy(java.lang.Iterable), org.ysb33r.grolifant.api.exec.AbstractExecWrapperTask#getFinalizedBy(), org.ysb33r.grolifant.api.exec.AbstractExecWrapperTask#shouldRunAfter([Ljava.lang.Object;), org.ysb33r.grolifant.api.exec.AbstractExecWrapperTask#setShouldRunAfter(java.lang.Iterable), org.ysb33r.grolifant.api.exec.AbstractExecWrapperTask#getShouldRunAfter(), org.ysb33r.grolifant.api.exec.AbstractExecWrapperTask#getTaskIdentity(), org.ysb33r.grolifant.api.exec.AbstractExecWrapperTask#injectIntoNewInstance(org.gradle.api.internal.project.ProjectInternal, org.gradle.api.internal.project.taskfactory.TaskIdentity, java.util.concurrent.Callable), org.ysb33r.grolifant.api.exec.AbstractExecWrapperTask#getTaskActions(), org.ysb33r.grolifant.api.exec.AbstractExecWrapperTask#hasTaskActions(), org.ysb33r.grolifant.api.exec.AbstractExecWrapperTask#getOnlyIf(), org.ysb33r.grolifant.api.exec.AbstractExecWrapperTask#getImpliesSubProjects(), org.ysb33r.grolifant.api.exec.AbstractExecWrapperTask#setImpliesSubProjects(boolean), org.ysb33r.grolifant.api.exec.AbstractExecWrapperTask#replaceLogger(org.gradle.api.logging.Logger), org.ysb33r.grolifant.api.exec.AbstractExecWrapperTask#getTemporaryDirFactory(), org.ysb33r.grolifant.api.exec.AbstractExecWrapperTask#prependParallelSafeAction(org.gradle.api.Action), org.ysb33r.grolifant.api.exec.AbstractExecWrapperTask#appendParallelSafeAction(org.gradle.api.Action), org.ysb33r.grolifant.api.exec.AbstractExecWrapperTask#isHasCustomActions(), org.ysb33r.grolifant.api.exec.AbstractExecWrapperTask#isEnabled(), org.ysb33r.grolifant.api.exec.AbstractExecWrapperTask#configure(groovy.lang.Closure), org.ysb33r.grolifant.api.exec.AbstractExecWrapperTask#configure(groovy.lang.Closure), org.ysb33r.grolifant.api.exec.AbstractExecWrapperTask#getDescription(), org.ysb33r.grolifant.api.exec.AbstractExecWrapperTask#setEnabled(boolean), org.ysb33r.grolifant.api.exec.AbstractExecWrapperTask#property(java.lang.String), org.ysb33r.grolifant.api.exec.AbstractExecWrapperTask#hasProperty(java.lang.String), org.ysb33r.grolifant.api.exec.AbstractExecWrapperTask#getGroup(), org.ysb33r.grolifant.api.exec.AbstractExecWrapperTask#getInputs(), org.ysb33r.grolifant.api.exec.AbstractExecWrapperTask#getInputs(), org.ysb33r.grolifant.api.exec.AbstractExecWrapperTask#setProperty(java.lang.String, java.lang.Object), org.ysb33r.grolifant.api.exec.AbstractExecWrapperTask#toString(), org.ysb33r.grolifant.api.exec.AbstractExecWrapperTask#compareTo(org.gradle.api.Task), org.ysb33r.grolifant.api.exec.AbstractExecWrapperTask#compareTo(java.lang.Object), org.ysb33r.grolifant.api.exec.AbstractExecWrapperTask#getName(), org.ysb33r.grolifant.api.exec.AbstractExecWrapperTask#getActions(), org.ysb33r.grolifant.api.exec.AbstractExecWrapperTask#getState(), org.ysb33r.grolifant.api.exec.AbstractExecWrapperTask#getState(), org.ysb33r.grolifant.api.exec.AbstractExecWrapperTask#getPath(), org.ysb33r.grolifant.api.exec.AbstractExecWrapperTask#getExtensions(), org.ysb33r.grolifant.api.exec.AbstractExecWrapperTask#wait(long, int), org.ysb33r.grolifant.api.exec.AbstractExecWrapperTask#wait(long), org.ysb33r.grolifant.api.exec.AbstractExecWrapperTask#wait(), org.ysb33r.grolifant.api.exec.AbstractExecWrapperTask#equals(java.lang.Object), org.ysb33r.grolifant.api.exec.AbstractExecWrapperTask#hashCode(), org.ysb33r.grolifant.api.exec.AbstractExecWrapperTask#getClass(), org.ysb33r.grolifant.api.exec.AbstractExecWrapperTask#notify(), org.ysb33r.grolifant.api.exec.AbstractExecWrapperTask#notifyAll() |
class org.gradle.api.DefaultTask |
org.gradle.api.DefaultTask#getLogger(), org.gradle.api.DefaultTask#getTimeout(), org.gradle.api.DefaultTask#setDescription(java.lang.String), org.gradle.api.DefaultTask#getProject(), org.gradle.api.DefaultTask#getIdentityPath(), org.gradle.api.DefaultTask#getStandardOutputCapture(), org.gradle.api.DefaultTask#setGroup(java.lang.String), org.gradle.api.DefaultTask#getAnt(), org.gradle.api.DefaultTask#getConvention(), org.gradle.api.DefaultTask#getLogging(), org.gradle.api.DefaultTask#getLogging(), org.gradle.api.DefaultTask#getDidWork(), org.gradle.api.DefaultTask#getAsDynamicObject(), org.gradle.api.DefaultTask#setActions(java.util.List), org.gradle.api.DefaultTask#getTaskDependencies(), org.gradle.api.DefaultTask#getTaskDependencies(), org.gradle.api.DefaultTask#getDependsOn(), org.gradle.api.DefaultTask#setDependsOn(java.lang.Iterable), org.gradle.api.DefaultTask#dependsOn([Ljava.lang.Object;), org.gradle.api.DefaultTask#onlyIf(org.gradle.api.specs.Spec), org.gradle.api.DefaultTask#onlyIf(groovy.lang.Closure), org.gradle.api.DefaultTask#setOnlyIf(groovy.lang.Closure), org.gradle.api.DefaultTask#setOnlyIf(org.gradle.api.specs.Spec), org.gradle.api.DefaultTask#setDidWork(boolean), org.gradle.api.DefaultTask#doFirst(java.lang.String, org.gradle.api.Action), org.gradle.api.DefaultTask#doFirst(groovy.lang.Closure), org.gradle.api.DefaultTask#doFirst(org.gradle.api.Action), org.gradle.api.DefaultTask#doLast(java.lang.String, org.gradle.api.Action), org.gradle.api.DefaultTask#doLast(org.gradle.api.Action), org.gradle.api.DefaultTask#doLast(groovy.lang.Closure), org.gradle.api.DefaultTask#getEnabled(), org.gradle.api.DefaultTask#getOutputs(), org.gradle.api.DefaultTask#getOutputs(), org.gradle.api.DefaultTask#getDestroyables(), org.gradle.api.DefaultTask#getLocalState(), org.gradle.api.DefaultTask#getTemporaryDir(), org.gradle.api.DefaultTask#mustRunAfter([Ljava.lang.Object;), org.gradle.api.DefaultTask#setMustRunAfter(java.lang.Iterable), org.gradle.api.DefaultTask#getMustRunAfter(), org.gradle.api.DefaultTask#finalizedBy([Ljava.lang.Object;), org.gradle.api.DefaultTask#setFinalizedBy(java.lang.Iterable), org.gradle.api.DefaultTask#getFinalizedBy(), org.gradle.api.DefaultTask#shouldRunAfter([Ljava.lang.Object;), org.gradle.api.DefaultTask#setShouldRunAfter(java.lang.Iterable), org.gradle.api.DefaultTask#getShouldRunAfter(), org.gradle.api.DefaultTask#getTaskIdentity(), org.gradle.api.DefaultTask#injectIntoNewInstance(org.gradle.api.internal.project.ProjectInternal, org.gradle.api.internal.project.taskfactory.TaskIdentity, java.util.concurrent.Callable), org.gradle.api.DefaultTask#getTaskActions(), org.gradle.api.DefaultTask#hasTaskActions(), org.gradle.api.DefaultTask#getOnlyIf(), org.gradle.api.DefaultTask#getImpliesSubProjects(), org.gradle.api.DefaultTask#setImpliesSubProjects(boolean), org.gradle.api.DefaultTask#replaceLogger(org.gradle.api.logging.Logger), org.gradle.api.DefaultTask#getTemporaryDirFactory(), org.gradle.api.DefaultTask#prependParallelSafeAction(org.gradle.api.Action), org.gradle.api.DefaultTask#appendParallelSafeAction(org.gradle.api.Action), org.gradle.api.DefaultTask#isHasCustomActions(), org.gradle.api.DefaultTask#isEnabled(), org.gradle.api.DefaultTask#configure(groovy.lang.Closure), org.gradle.api.DefaultTask#configure(groovy.lang.Closure), org.gradle.api.DefaultTask#getDescription(), org.gradle.api.DefaultTask#setEnabled(boolean), org.gradle.api.DefaultTask#property(java.lang.String), org.gradle.api.DefaultTask#hasProperty(java.lang.String), org.gradle.api.DefaultTask#getGroup(), org.gradle.api.DefaultTask#getInputs(), org.gradle.api.DefaultTask#getInputs(), org.gradle.api.DefaultTask#setProperty(java.lang.String, java.lang.Object), org.gradle.api.DefaultTask#toString(), org.gradle.api.DefaultTask#compareTo(org.gradle.api.Task), org.gradle.api.DefaultTask#compareTo(java.lang.Object), org.gradle.api.DefaultTask#getName(), org.gradle.api.DefaultTask#getActions(), org.gradle.api.DefaultTask#getState(), org.gradle.api.DefaultTask#getState(), org.gradle.api.DefaultTask#getPath(), org.gradle.api.DefaultTask#getExtensions(), org.gradle.api.DefaultTask#wait(long, int), org.gradle.api.DefaultTask#wait(long), org.gradle.api.DefaultTask#wait(), org.gradle.api.DefaultTask#equals(java.lang.Object), org.gradle.api.DefaultTask#hashCode(), org.gradle.api.DefaultTask#getClass(), org.gradle.api.DefaultTask#notify(), org.gradle.api.DefaultTask#notifyAll() |
Command-line parameter for JSON output.
Command-line parameter for no colour.
command
- Command to be executed. See https://www.terraform.io/docs/commands/index.html for details.configExtensions
- Configuration extensions to be added to this task.terraformConfigExtensions
- Configuration extensions that are added to the terraform task extension.Adds a boolean command-line option with correct formatting to the execution specification.
execSpec
- ExecSpec to configureoptionName
- Name of optionvalue
- Boolean valueAdds a command-line provider.
Add specific command-line options for the command. /** Add specific command-line options for the command.
Add files containing variables to command-line.
execSpec
- Specification to be configuredcollection
- Collection of files containing variables.Adds Terraform variables to execution specification.
execSpec
- Specification to be configured.vars
- Map of variables to be added.When command is run, capture the standard output
output
- Output fileConfigures a TerraformExecSpec.
execSpec
- Specification to be configuredConfigures execution specification for a specific command.
execSpec
- Specification to configure.tfcmd
- Terraform command.cmdParams
- Default command parameters.Creates a TerraformExecSpec.
null
.Returns a list of the default command parameters.
Environment for running the exe
Calling this will resolve all lazy-values in the variable map.
The level at which Terraform should log.
null
signifying that logging is switched off. Retunbs the terraform
command this task is implementing.
Replace current environment with new one. Calling this will also remove any project extension environment from this task.
args
- New environment key-value map of properties.
source
- Source set of anything that can be resolved using org.ysb33r.grolifant.api.StringUtils#stringize(Object s)
and looked up as a Terraform source set. To be called from tasks where the command supports auto-approve
.
To be called from tasks where the command supports no-color
.
Will get set if --console=plain was provided to Gradle
withColor
- If set to false
, the task will always run without color output. To be called from tasks where the command supports input
.
Converts a file path to a format suitable for interpretation by Terraform on the appropriate platform.
file
- Object that can be converted using project.file
.Adds AWS environmental variables to Terraform runtime environment.
Groovy Documentation