Skip to content

phildier/python-terrafile

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

Add a module_path key to the Terrafile to specify the module destination path relative to the Terrafile location, or an absolute path.

Examples

module_path: modules

# 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: "[email protected]:claranet/terraform-aws-lambda.git"
  version: "v0.7.0"

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

About

Manages external Terraform modules

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 89.7%
  • Makefile 9.8%
  • Shell 0.5%