Help us shape the future of Go! Take the 2026 Go Developer Survey

tfmodule

command module
v0.1.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 10, 2022 License: MIT Imports: 4 Imported by: 0

README

tfmodule

release badge test Coverage Status

tfmodule is a CLI tool for managing Terraform modules.

Install

Homebrew
$ brew install chroju/tap/tfmodule
Download binary

Download the latest binary from here and put it in your $PATH directory.

go get

If you have set up Go environment, you can also install tfmodule with go get command.

$ go get github.com/chroju/tfmodule

Usage

tfmodule has sub-commands template , analyze .

template

template parses the Terraform module configuration in the given file path, and outputs a template for the module.

$ tfmodule template ../modules/hoge
module "hoge" {
  source = "../modules/hoge"

  // variable discription
  // type: number
  instance_counts = 2
  // variable discription
  // type: string
  instance_comment = "" // no default value
}

output "hoge_instance_id" {
  value = module.hoge.instance_id
}

You can replace module name in the template with -n or --name option.

$ tfmodule template ../modules/hoge -n fuga
module "fuga" {
  source = "../modules/hoge"

  // variable discription 
  // type: string
  instance_comment = "" // no default value
}

output "fuga_instance_id" {
  value = module.fuga.instance_id
}

Use the --no-default option, ignore variables with default values, and --no-outputs option, ignore outputs.

$ tfmodule template ../modules/hoge --no-defaults --no-outputs
module "fuga" {
  source = "../modules/hoge"

  // variable discription 
  // type: string
  instance_comment = "" // no default value
}

--minimum has the same meaning as adding both --no-outputs and --no-defaults .

$ tfmodule template ../modules/hoge --minimum
module "fuga" {
  source = "../modules/hoge"

  // variable discription 
  // type: string
  instance_comment = "" // no default value
}
analyze

analyze analyzes a Terraform module configuration and outputs the description about its internal structure.

$ tfmodule analyze "../modules/hoge"
resources:
  aws_s3_bucket.s3_bucket
  aws_s3_bucket_policy.s3_bucket_policy

outputs:
  bucket_arn: aws_s3_bucket.s3_bucket.arn

TODO

  • Analyze the modules on the Internet as well.

LICENSE

MIT

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL