Skip to main content

A Python Wrapper around the Terraform CLI

Project description

Terrapyst

Terrapyst is a Python wrapper around the Terraform CLI.

Usage

Quick Start

Terrapyst usage centers around the Workspace object, which can be used to run the typical Terraform commands in that workspace. Just like with the CLI you have to initialize the workspace before you can run plans or applies.

from terrapyst import Workspace

workspace = Workspace(path="./")
workspace.init()

results, plan = workspace.plan()

if !results.successful:
  raise Exception(f"Terraform run failed without output: {results.stdout}")

if plan.deletions > 0:
  raise Exception("Deletions not expected from this plan")

results, apply_log = workspace.apply(plan_path=plan.plan_path, auto_approve=True)

if !results.successful:
  print("Terraform Apply was not successful.")

for resource_name, resource_data in apply_log.resources.items():
  print(f"${resource_name}: ${resource['message']}")

for output_name, output_data in apply_log.outputs.items():
  print(f"{output_name}:\n")
  print(yaml.dumps(output_data))
  print("\n\n\n")

The plan step can be skipped if you are auto approving.

from terrapyst import Workspace

workspace = Workspace(path="./")
workspace.init()
results, apply_log = workspace.apply(auto_approve=True)

Installation

Terrapyst can be installed with pip.

pip install terrapyst

In addition to Terrapyst you should have the Terraform binary installed on your system.

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

terrapyst-0.4.1.tar.gz (10.5 kB view details)

Uploaded Source

Built Distribution

terrapyst-0.4.1-py3-none-any.whl (12.7 kB view details)

Uploaded Python 3

File details

Details for the file terrapyst-0.4.1.tar.gz.

File metadata

  • Download URL: terrapyst-0.4.1.tar.gz
  • Upload date:
  • Size: 10.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.15

File hashes

Hashes for terrapyst-0.4.1.tar.gz
Algorithm Hash digest
SHA256 bc85d57a9fd1b3752c34b688df07ea45c815cd3e9049a3b769a469eacf9c4ed4
MD5 4c5d62a6f94765cdaa76e11b4939ba29
BLAKE2b-256 06c8a83a5187b96f8827b2997be083cb06136bb5366bd528fd5b0879ccee3e5f

See more details on using hashes here.

File details

Details for the file terrapyst-0.4.1-py3-none-any.whl.

File metadata

  • Download URL: terrapyst-0.4.1-py3-none-any.whl
  • Upload date:
  • Size: 12.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.15

File hashes

Hashes for terrapyst-0.4.1-py3-none-any.whl
Algorithm Hash digest
SHA256 1b26681eb68c66cd4d2998ac2848e3099a2bab92b1b3dc9a611e1846e84f21c9
MD5 df3d03e5a2127662f12dfa0ea00d6e1f
BLAKE2b-256 9930a9cbc8c805ceb01dc0545e42b76ab3643cff8aea96a1fcbc1d56654a01ac

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