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