Skip to main content

Python HTTP client library for Terraform Cloud/Enterprise API.

Project description

pytfc

Python HTTP client library for the Terraform Cloud and Terraform Enterprise API.

import pytfc
client = pytfc.Client(org='my-tfe-org')
client.workspaces.create(name='aws-base-vpc-dev')
client.set_ws(name='aws-base-vpc-dev')
client.workspace_variables.create(key='AWS_ACCESS_KEY_ID', value='ABCDEFGHIJKLMNOPQRST', category='env', sensitive='true')
client.workspace_variables.create(key='AWS_SECRET_ACCESS_KEY', value='ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789ABCD', category='env', sensitive='true')

Usage

A client object must be instantiated with certain parameters. The parameters can be specified as environment variables or directly as function arguments. The only parameter required at the time a client is instantiated is the API token. A hostname is also required if you are using TFE, and if a hostname is not specified it is assumed you are using TFC (app.terraform.io). Depending on what level you are working at, mainly Organization-level vs. Workspace-level, you can optionally set some of the other parameters either at the time the client is instantiated or after the fact.

Instantiating a Client

With environment variables:

os.environ['TFE_HOSTNAME']='tfe.whatever.com'
os.environ['TFE_TOKEN']='abcdefghijklmn.atlasv1.opqrstuvwxyz012345678987654321abcdefghijklmnopqrstuvwxyz01234567890'

client = pytfc.Client(org='my-existing-tfe-org')

Directly as function arguments:

client = pytfc.Client(hostname='tfe.whatever.com', token='abcdefghijklmn.atlasv1.opqrstuvwxyz012345678987654321abcdefghijklmnopqrstuvwxyz01234567890', org='my-existing-tfe-org')

Setting the Organization and Workspace when a client is instantiated:

client = pytfc.Client(org='my-existing-tfe-org', ws='my-existing-tfe-ws')

Assumes the TFE_HOSTNAME and TFE_TOKEN environment variables are set.

Setting the Organization and Workspace after a client is instantiated:

client = pytfc.Client()
client.set_org(name='my-existing-tfe-org')
client.set_ws(name='my-existing-tfe-ws')

Assumes the TFE_HOSTNAME and TFE_TOKEN environment variables are set.


See the docs for more details and examples on usage.

 


Note: this is repository is not officially supported or maintained by HashiCorp.

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

pytfc-0.0.20.tar.gz (28.6 kB view details)

Uploaded Source

Built Distribution

pytfc-0.0.20-py3-none-any.whl (44.7 kB view details)

Uploaded Python 3

File details

Details for the file pytfc-0.0.20.tar.gz.

File metadata

  • Download URL: pytfc-0.0.20.tar.gz
  • Upload date:
  • Size: 28.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.18

File hashes

Hashes for pytfc-0.0.20.tar.gz
Algorithm Hash digest
SHA256 ed9960895109b0d80e665177c59aead69f73f3b366ed2f76a7b1e76ba57d64c2
MD5 e20f84a2ee687ad3e569c2600ae70f2c
BLAKE2b-256 dd6690cac0879aa6ce1c70eead0c3b54eec6d80748acd16545637fbf621d8339

See more details on using hashes here.

File details

Details for the file pytfc-0.0.20-py3-none-any.whl.

File metadata

  • Download URL: pytfc-0.0.20-py3-none-any.whl
  • Upload date:
  • Size: 44.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.18

File hashes

Hashes for pytfc-0.0.20-py3-none-any.whl
Algorithm Hash digest
SHA256 8c4a1f4ab03008061e7de2dbbad5f00878c610e61c0a32a9970aa51f126d2daf
MD5 a48b132ca536bbb3c52e6fd21a0caa74
BLAKE2b-256 20167b0382cdaeac896af485982081536ca307553367a484a99359a6654cf8d9

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