aboutsummaryrefslogtreecommitdiff
path: root/app/controllers/backends/terraform_aws_controller.rb
blob: 5669eb1c55cfa12cc87d5e60dd8ae23a2b3fd7e1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
class Backends::TerraformAwsController < ApplicationController
  def new
    @backend = Backends::TerraformAws.new
  end

  def create
    backend = Backends::TerraformAws.create(create_params)

    flash[:success] = "Backend #{backend.label} created"

    redirect_to terraform_aws_backend_path(backend)
  end

  def update
    @backend = Backends::TerraformAws.update(
      params[:id],
      update_params
    )

    flash[:success] = "Backend #{@backend.label} updated"

    render :show
  end

  def show
    @backend = Backends::TerraformAws.find(params[:id])
  end

  def destroy
    backend = Backends::TerraformAws.find(params[:id])

    flash[:success] = "Backend #{backend.label} deleted"
    backend.delete

    redirect_to setup_path
  end

  private

  def create_params
    params
      .require(:backends_terraform_aws)
      .permit(
        :label,
        :domain,
        :aws_region,
        :aws_access_key_id,
        :aws_secret_access_key
      )
  end

  def update_params
    params
      .require(:backends_terraform_aws)
      .permit(
        :label,
        :aws_access_key_id,
        :aws_secret_access_key
      )
  end
end