Skip to main content

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

terrorform-0.2.1.tar.gz (4.3 kB view details)

Uploaded Source

Built Distribution

terrorform-0.2.1-py3-none-any.whl (4.8 kB view details)

Uploaded Python 3

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

Hashes for terrorform-0.2.1.tar.gz
Algorithm Hash digest
SHA256 025b070ed692a31cb2bd79eb2e443db1395f72e437d6ddb366be8e4dd723aefe
MD5 1a04f70730bac04242ee618c088833f5
BLAKE2b-256 de4d4bdf1611b10d0f0fe84b65bec3f22ae5e0137f08391657d2321d3e478f54

See more details on using hashes here.

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

Hashes for terrorform-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 d85bc4d0347b7b130ed78065a8ec9b2733d93665d203e30b27f465f90d78ed06
MD5 ec028bdc3d33c40ffbcc3b89219cc868
BLAKE2b-256 28fc80944173e26a9dcb3274a2a19e3decb64279684fd21828f935f95ac09dc0

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page