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.21.tar.gz (29.1 kB view details)

Uploaded Source

Built Distribution

pytfc-0.0.21-py3-none-any.whl (45.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: pytfc-0.0.21.tar.gz
  • Upload date:
  • Size: 29.1 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.21.tar.gz
Algorithm Hash digest
SHA256 a7655da940eb4e8c7eaa6617314be53ba2dc33a953950780ec7d368485b9ebb1
MD5 95ad0ff7e846398dac4ca84e86054c9b
BLAKE2b-256 76cc28d4719abbe19fad236324d9a395c4f74319ffdc9f36e652b05172bcd7b1

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pytfc-0.0.21-py3-none-any.whl
  • Upload date:
  • Size: 45.2 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.21-py3-none-any.whl
Algorithm Hash digest
SHA256 bb85be4b25e2977c8dc15017557cecb5173f997320b470ce8bb443a7da510c8f
MD5 c1c170773efe9744865f650b75ce2231
BLAKE2b-256 df99ed48546995a0e5e20d4a9b874b7439b00a91cfdc3575a1110e5727720d8f

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