aboutsummaryrefslogtreecommitdiff
path: root/app/models/backends/terraform_aws/backend_methods.rb
diff options
context:
space:
mode:
Diffstat (limited to 'app/models/backends/terraform_aws/backend_methods.rb')
-rw-r--r--app/models/backends/terraform_aws/backend_methods.rb27
1 files changed, 11 insertions, 16 deletions
diff --git a/app/models/backends/terraform_aws/backend_methods.rb b/app/models/backends/terraform_aws/backend_methods.rb
index b21c83e..52875e6 100644
--- a/app/models/backends/terraform_aws/backend_methods.rb
+++ b/app/models/backends/terraform_aws/backend_methods.rb
@@ -48,10 +48,7 @@ module Backends::TerraformAws::BackendMethods
end
def deploy_backend
- TerraformWorkingDirectory.new(
- terraform_state_id,
- 'terraform/aws/backend'
- ).within_working_directory do
+ within_backend_terraform_working_directory do
RubyTerraform.apply(
vars: backend_terraform_variables,
auto_approve: true
@@ -60,10 +57,7 @@ module Backends::TerraformAws::BackendMethods
end
def refresh_backend_state
- TerraformWorkingDirectory.new(
- terraform_state_id,
- 'terraform/aws/backend'
- ).within_working_directory do
+ within_backend_terraform_working_directory do
RubyTerraform.refresh(
vars: backend_terraform_variables
)
@@ -71,10 +65,7 @@ module Backends::TerraformAws::BackendMethods
end
def destroy_backend
- TerraformWorkingDirectory.new(
- terraform_state_id,
- 'terraform/aws/backend'
- ).within_working_directory do
+ within_backend_terraform_working_directory do
RubyTerraform.destroy(
vars: backend_terraform_variables,
force: true
@@ -83,10 +74,7 @@ module Backends::TerraformAws::BackendMethods
end
def stop_backend
- TerraformWorkingDirectory.new(
- terraform_state_id,
- 'terraform/aws/backend'
- ).within_working_directory do
+ within_backend_terraform_working_directory do
RubyTerraform.destroy(
vars: backend_terraform_variables,
target: 'aws_spot_instance_request.main',
@@ -95,6 +83,13 @@ module Backends::TerraformAws::BackendMethods
end
end
+ def within_backend_terraform_working_directory(&block)
+ TerraformWorkingDirectory.new(
+ terraform_state_id,
+ 'terraform/aws/backend'
+ ).within_working_directory(&block)
+ end
+
def available_data_snapshots
GovukGuix::DataSnapshot.where(backend: self)
end