From c087576f60213b3dce45074b79b13c752f070d5c Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Sun, 3 Jun 2018 14:16:58 +0100 Subject: Add support for destroying Terraform AWS backends --- app/models/backends/terraform_aws.rb | 12 ++++++++++++ lib/tasks/backend.rake | 7 +++++++ 2 files changed, 19 insertions(+) diff --git a/app/models/backends/terraform_aws.rb b/app/models/backends/terraform_aws.rb index 204eaf0..299b5b5 100644 --- a/app/models/backends/terraform_aws.rb +++ b/app/models/backends/terraform_aws.rb @@ -127,6 +127,18 @@ class Backends::TerraformAws < ApplicationRecord end end + def destroy_backend + TerraformWorkingDirectory.new( + terraform_state_id, + 'terraform/aws/backend' + ).within_working_directory do + RubyTerraform.destroy( + vars: backend_terraform_variables, + force: true + ) + end + end + def available_data_snapshots GovukGuix::DataSnapshot.where(backend: self) end diff --git a/lib/tasks/backend.rake b/lib/tasks/backend.rake index b2db905..c23a3df 100644 --- a/lib/tasks/backend.rake +++ b/lib/tasks/backend.rake @@ -15,5 +15,12 @@ namespace :backend do .find(args.backend_id) .deploy_backend end + + desc 'Destroy a Terraform AWS backend' + task :destroy, [:backend_id] => :environment do |t, args| + Backends::TerraformAws + .find(args.backend_id) + .destroy_backend + end end end -- cgit v1.2.3