Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/claranet/python-terrafile
Manages external Terraform modules
https://github.com/claranet/python-terrafile
Last synced: about 6 hours ago
JSON representation
Manages external Terraform modules
- Host: GitHub
- URL: https://github.com/claranet/python-terrafile
- Owner: claranet
- License: mit
- Created: 2017-05-31T10:20:33.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2019-10-17T08:47:23.000Z (about 5 years ago)
- Last Synced: 2024-10-31T14:13:07.720Z (8 days ago)
- Language: Python
- Size: 11.7 KB
- Stars: 38
- Watchers: 11
- Forks: 12
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-terraform - python-terrafile - Systematically manage external modules from Github for use in Terraform. (Tools / Miscellaneous)
- awesome-tf - python-terrafile - Systematically manage external modules from Github for use in Terraform. (Tools / Community providers)
README
# 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/](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
```shell
pip install terrafile
```## Usage
```shell
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
```yaml
# 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"
```