Skip to content

Script to generate a report from a Terraform tfstate file.

Notifications You must be signed in to change notification settings

jzohrab/terraform_tfstate_report

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Terraform tfstate Reporter

This tool generates node summary reports from a Terraform .tfstate file, such as the following:

name    ip       id    cluster  module
web     1.1.1.1  id1   A        backend
db      2.2.2.2  id2   A        backend
nagios  3.3.3.3  id3   B        tools

Reports are defined using ERB.

Usage

$ ruby main.rb <path_to_tfstate> <path_to_report_erb>

Some report samples are in the reports subdirectory. It defaults to reports/standard.erb if not specified.

Example (tab-delimited output for import into spreadsheet):

$ ruby main.rb spec/sample_data/terraform.tfstate reports/short.erb
name	ip	id	cluster	module
Luke	1.2.3.4	id1	P1	root.nodes_backend
Leia	2.3.4.5	id2	P1	root.nodes_backend
Solo	6.7.8.9	id3	P3	root.nodes_opstools
Chewie	1.1.1.1	id4	P3	root.nodes_opstools

The Markdown sample report reports/short.md.erb generates the following:

name ip id cluster module
Luke 1.2.3.4 id1 P1 root.nodes_backend
Leia 2.3.4.5 id2 P1 root.nodes_backend
Solo 6.7.8.9 id3 P3 root.nodes_opstools
Chewie 1.1.1.1 id4 P3 root.nodes_opstools

Prerequisities

  • Ruby
  • Bundler: gem install bundler

Installing

$ bundle install installs the following:

If you don't want to install Guard, use $ bundle install --without development.

Running the tests

If you've installed Guard, you can open a dedicated console window and type guard. Guard will observe selected files on disk (see the Guardfile) and automatically run the spec tests on file change.

Run tests manually from console with $ rspec.

About

Script to generate a report from a Terraform tfstate file.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published