From de9b9e378de4d4ae5af49429275c221c060a3e7c Mon Sep 17 00:00:00 2001
From: Timo Furrer <tfurrer@gitlab.com>
Date: Fri, 26 Jan 2024 08:39:31 +0100
Subject: [PATCH] Support input in plan job to generate a destroy plan

---
 templates/plan.yml | 13 ++++++++++++-
 1 file changed, 12 insertions(+), 1 deletion(-)

diff --git a/templates/plan.yml b/templates/plan.yml
index 061d4c5..04e0b3a 100644
--- a/templates/plan.yml
+++ b/templates/plan.yml
@@ -42,6 +42,10 @@ spec:
     state_name:
       default: default
       description: 'Remote OpenTofu state name.'
+    destroy_plan:
+      default: false
+      type: boolean
+      description: 'Set to `true` to generate a destroy instead of an apply plan.'
 
 ---
 
@@ -78,5 +82,12 @@ spec:
   image:
     name: '$[[ inputs.image_registry_base ]]/gitlab-opentofu:$[[ inputs.version ]]-opentofu$[[ inputs.opentofu_version ]]'
   script:
-    - gitlab-tofu plan
+    - |
+      if !$[[ inputs.destroy_plan ]]; then
+        echo "gitlab-tofu plan"
+        gitlab-tofu plan
+      else
+        echo "gitlab-tofu plan -destroy"
+        gitlab-tofu plan -destroy
+      fi
     - gitlab-tofu plan-json
-- 
GitLab