terrafile

Manages external Terraform modules.


License
MIT
Install
pip install terrafile==0.3.3

Documentation

python-terrafile

Manages external Terraform modules, controlled by a Terrafile.

This is basically a Python version of the tool described at http://bensnape.com/2016/01/14/terraform-design-patterns-the-terrafile/

Additionally, python-terrafile supports modules from the Terraform Registry, as well as modules in local directories identified by a relative path starting with either ./ or ../ or an absolute path starting with /.

Installation

pip install terrafile

Usage

pterrafile [path]

If path is provided, it must be the path to a Terrafile file, or a directory containing one. If not provided, it looks for the file in the current working directory.

Examples

# Terraform Registry module
terraform-aws-lambda:
  source: "claranet/lambda/aws"
  version: "0.7.0"

# Git module (HTTPS)
terraform-aws-lambda:
  source: "https://github.com/claranet/terraform-aws-lambda.git"
  version: "v0.7.0"

# Git module (SSH)
terraform-aws-lambda:
  source: "git@github.com:claranet/terraform-aws-lambda.git"
  version: "v0.7.0"

# Local directory module
terraform-aws-lambda:
  source: "../../modules/terraform-aws-lambda"