Terraform wrapper for python
Project description
terrorform
Python wrapper for Terraform
Purpose
This library provides a thin wrapper around the Terraform build tool. Existing libraries for the same purpose were
either more complicated than what I needed or defunct. The name terrorform
was chosen because every other name I
could think of was being squatted on in PyPi.
Package Installation and Usage
The package is available on PyPi:
python -m pip install terrorform
The library can be imported in the normal ways:
import terrorform
from terrorform import *
Examples
This library supports init
, apply
, and destroy
workflows:
from terrorform import *
# Run full setup/teardown workflow with target directory equal to current working directory
init_resp = terrorform.init()
apply_resp = terrorform.apply()
destroy_resp = terrorform.destroy()
The library also supports top level synonyms, allowing the same workflows to be run without
referencing the terrorform
class:
from terrorform import *
init_resp = init()
apply_resp = apply()
destroy_resp = destroy()
Keyword arguments, boolean flags, and custom variables are passed to each workflow. No checking is performed to ensure that they are valid terraform CLI options. These parameters are split into three categories: keyword arguments, boolean flags, and custom variables:
apply_resp = terrorform.apply(
# Terraform-specific keyword args, both global and non-global
kw_args={
"-chdir": "/tmp/terrorform/"
},
# Terraform-specific boolean flags
boolean_flags=["-no-color"],
# Custom variables required by your terraform scripts
vars_dict={
"my_custom_variable": "Hello"
}
)
Testing
Tests are run using pytest
:
python -m pytest tests.py
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file terrorform-0.2.1.tar.gz
.
File metadata
- Download URL: terrorform-0.2.1.tar.gz
- Upload date:
- Size: 4.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 025b070ed692a31cb2bd79eb2e443db1395f72e437d6ddb366be8e4dd723aefe |
|
MD5 | 1a04f70730bac04242ee618c088833f5 |
|
BLAKE2b-256 | de4d4bdf1611b10d0f0fe84b65bec3f22ae5e0137f08391657d2321d3e478f54 |
File details
Details for the file terrorform-0.2.1-py3-none-any.whl
.
File metadata
- Download URL: terrorform-0.2.1-py3-none-any.whl
- Upload date:
- Size: 4.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d85bc4d0347b7b130ed78065a8ec9b2733d93665d203e30b27f465f90d78ed06 |
|
MD5 | ec028bdc3d33c40ffbcc3b89219cc868 |
|
BLAKE2b-256 | 28fc80944173e26a9dcb3274a2a19e3decb64279684fd21828f935f95ac09dc0 |