diff options
Diffstat (limited to 'terraform@1.2.9.rb')
-rw-r--r-- | terraform@1.2.9.rb | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/terraform@1.2.9.rb b/terraform@1.2.9.rb new file mode 100644 index 0000000..ca3f150 --- /dev/null +++ b/terraform@1.2.9.rb @@ -0,0 +1,60 @@ +class TerraformAT129 < Formula + desc "Tool to build, change, and version infrastructure" + homepage "https://www.terraform.io/" + url "https://github.com/hashicorp/terraform/archive/v1.2.9.tar.gz" + sha256 "40aba75e2fcc3088a88b086a6038c8fb3b1dbe93ac769124c72ce1983558bec7" + license "MPL-2.0" + head "https://github.com/hashicorp/terraform.git", branch: "main" + + keg_only :versioned_formula + + depends_on "go" => :build + + conflicts_with "tfenv", because: "tfenv symlinks terraform binaries" + + # Needs libraries at runtime: + # /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.29' not found (required by node) + fails_with gcc: "5" + + def install + # v0.6.12 - source contains tests which fail if these environment variables are set locally. + ENV.delete "AWS_ACCESS_KEY" + ENV.delete "AWS_SECRET_KEY" + + # resolves issues fetching providers while on a VPN that uses /etc/resolv.conf + # https://github.com/hashicorp/terraform/issues/26532#issuecomment-720570774 + ENV["CGO_ENABLED"] = "1" + + system "go", "build", *std_go_args, "-ldflags", "-s -w" + end + + test do + minimal = testpath/"minimal.tf" + minimal.write <<~EOS + variable "aws_region" { + default = "us-west-2" + } + variable "aws_amis" { + default = { + eu-west-1 = "ami-b1cf19c6" + us-east-1 = "ami-de7ab6b6" + us-west-1 = "ami-3f75767a" + us-west-2 = "ami-21f78e11" + } + } + # Specify the provider and access details + provider "aws" { + access_key = "this_is_a_fake_access" + secret_key = "this_is_a_fake_secret" + region = var.aws_region + } + resource "aws_instance" "web" { + instance_type = "m1.small" + ami = var.aws_amis[var.aws_region] + count = 4 + } + EOS + system "#{bin}/terraform", "init" + system "#{bin}/terraform", "graph" + end +end |