Terraform plan file to JSON
Go
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
vendor Vendor dependencies Oct 21, 2016
.gitignore tfjson Oct 21, 2016
LICENSE Add MIT license Oct 21, 2016
README.md Add MIT license Oct 21, 2016
circle.yml Add circle.yml (#5) May 17, 2017
tfjson.go Implement readme example as a test Oct 21, 2016
tfjson_test.go Add license to test file Nov 2, 2016

README.md

tfjson

Utility to read in a Terraform plan file and dump it out in JSON. Standalone version of Terraform PR #3170.

Installation

$ go get github.com/palantir/tfjson

Usage

Given the following Terraform resources:

provider "aws" {
  region = "us-east-1"
}

resource "aws_vpc" "main" {
  cidr_block = "10.0.0.0/16"
}

module "inner" {
  source = "./inner"
}

// in inner module:

resource "aws_vpc" "inner" {
  cidr_block = "10.0.0.0/8"
}

Running terraform plan -out=terraform.tfplan produces a Terraform plan file. The JSON representation produced by tfjson looks like:

$ tfjson terraform.tfplan
{
    "aws_vpc.main": {
        "cidr_block": "10.0.0.0/16",
        "default_network_acl_id": "",
        "default_route_table_id": "",
        "default_security_group_id": "",
        "destroy": false,
        "destroy_tainted": false,
        "dhcp_options_id": "",
        "enable_classiclink": "",
        "enable_dns_hostnames": "",
        "enable_dns_support": "",
        "id": "",
        "instance_tenancy": "",
        "main_route_table_id": ""
    },
    "destroy": false,
    "inner": {
        "aws_vpc.inner": {
            "cidr_block": "10.0.0.0/8",
            "default_network_acl_id": "",
            "default_route_table_id": "",
            "default_security_group_id": "",
            "destroy": false,
            "destroy_tainted": false,
            "dhcp_options_id": "",
            "enable_classiclink": "",
            "enable_dns_hostnames": "",
            "enable_dns_support": "",
            "id": "",
            "instance_tenancy": "",
            "main_route_table_id": ""
        },
        "destroy": false
    }
}

License

This project is made available under the MIT License.