67 lines
2.4 KiB
Ruby
67 lines
2.4 KiB
Ruby
require "language/go"
|
|
|
|
class TerraformInventory < Formula
|
|
desc "Terraform State → Ansible Dynamic Inventory"
|
|
homepage "https://github.com/adammck/terraform-inventory"
|
|
url "https://github.com/adammck/terraform-inventory/archive/v0.6.1.tar.gz"
|
|
sha256 "9cdcbc5ce4247b72bb72923d01246f51252a88908d760d766daeac51dd8feed9"
|
|
head "https://github.com/adammck/terraform-inventory.git"
|
|
|
|
bottle do
|
|
cellar :any_skip_relocation
|
|
sha256 "6c423700ad3cb2a27295cbbca5de08a5a47b3f42a7c9cc53abfe9c3d1061b6b3" => :sierra
|
|
sha256 "d876b7acee1bfaaeaaf284bfd8518195b10005f7de504c8aaf39be3164b93dac" => :el_capitan
|
|
sha256 "77b4cfd96088f6019ad5bd0f0faf6757d1fb8c34ea3b327490ff33fde03538c1" => :yosemite
|
|
sha256 "19fed440ba3c95ef85fcd529f151131136fa684c9a091d17177ac8f74426e7d5" => :mavericks
|
|
end
|
|
|
|
depends_on "go" => :build
|
|
|
|
go_resource "github.com/stretchr/testify" do
|
|
url "https://github.com/stretchr/testify.git",
|
|
:revision => "f390dcf405f7b83c997eac1b06768bb9f44dec18"
|
|
end
|
|
|
|
def install
|
|
ENV["GOPATH"] = buildpath
|
|
|
|
mkdir_p buildpath/"src/github.com/adammck/"
|
|
ln_sf buildpath, buildpath/"src/github.com/adammck/terraform-inventory"
|
|
Language::Go.stage_deps resources, buildpath/"src"
|
|
|
|
system "go", "build", "-o", bin/"terraform-inventory", "-ldflags", "-X main.build_version='#{version}'"
|
|
end
|
|
|
|
test do
|
|
example = <<-EOS.undent
|
|
{
|
|
"version": 1,
|
|
"serial": 1,
|
|
"modules": [
|
|
{
|
|
"path": [
|
|
"root"
|
|
],
|
|
"outputs": {},
|
|
"resources": {
|
|
"aws_instance.example_instance": {
|
|
"type": "aws_instance",
|
|
"primary": {
|
|
"id": "i-12345678",
|
|
"attributes": {
|
|
"public_ip": "1.2.3.4"
|
|
},
|
|
"meta": {
|
|
"schema_version": "1"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
EOS
|
|
(testpath/"example.tfstate").write(example)
|
|
assert_match(/example_instance/, shell_output("#{bin}/terraform-inventory --list example.tfstate"))
|
|
end
|
|
end
|