From 9ef75e1a6a3906edd49528f2b45719153ac7f31c Mon Sep 17 00:00:00 2001 From: Patrick Aikens Date: Tue, 27 Apr 2021 15:38:54 -0400 Subject: [PATCH 1/2] Switch taint/untaint order --- src/TerraformTaintPlugin.groovy | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/TerraformTaintPlugin.groovy b/src/TerraformTaintPlugin.groovy index 32fe8c45..d6e3bb06 100644 --- a/src/TerraformTaintPlugin.groovy +++ b/src/TerraformTaintPlugin.groovy @@ -28,8 +28,8 @@ class TerraformTaintPlugin implements TerraformEnvironmentStagePlugin, Terraform } public void apply(TerraformEnvironmentStage stage) { - stage.decorate(PLAN_COMMAND, runTerraformTaintCommand(stage.getEnvironment())) stage.decorate(PLAN_COMMAND, runTerraformUntaintCommand(stage.getEnvironment())) + stage.decorate(PLAN_COMMAND, runTerraformTaintCommand(stage.getEnvironment())) } public void apply(TerraformTaintCommand command) { From 90168112bed10a558b733ce83ac696e62a876afa Mon Sep 17 00:00:00 2001 From: Patrick Aikens Date: Tue, 27 Apr 2021 15:25:05 -0400 Subject: [PATCH 2/2] Don't run a taint/untaint command unless a resource is specified --- src/TerraformTaintPlugin.groovy | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/TerraformTaintPlugin.groovy b/src/TerraformTaintPlugin.groovy index d6e3bb06..97bff19d 100644 --- a/src/TerraformTaintPlugin.groovy +++ b/src/TerraformTaintPlugin.groovy @@ -60,7 +60,7 @@ class TerraformTaintPlugin implements TerraformEnvironmentStagePlugin, Terraform public Closure runTerraformTaintCommand(String environment) { def taintCommand = TerraformTaintCommand.instanceFor(environment) return { closure -> - if (shouldApply()) { + if (shouldApply() && Jenkinsfile.instance.getEnv().TAINT_RESOURCE) { echo "Running '${taintCommand.toString()}'. TerraformTaintPlugin is enabled." sh taintCommand.toString() } @@ -71,7 +71,7 @@ class TerraformTaintPlugin implements TerraformEnvironmentStagePlugin, Terraform public Closure runTerraformUntaintCommand(String environment) { def untaintCommand = TerraformUntaintCommand.instanceFor(environment) return { closure -> - if (shouldApply()) { + if (shouldApply() && Jenkinsfile.instance.getEnv().UNTAINT_RESOURCE) { echo "Running '${untaintCommand.toString()}'. TerraformTaintPlugin is enabled." sh untaintCommand.toString() }