Examples

Below is a myriad of examples for commonly performed terrasnek actions. If there are examples you would like to see listed here, please file a GitHub Issue describing your use case.

Configure the API Class

import os
from terrasnek.api import TFC

TFC_TOKEN = os.getenv("TFC_TOKEN", None)
TFC_URL = os.getenv("TFC_URL", None)  # ex: https://app.terraform.io

api = TFC(TFC_TOKEN, url=TFC_URL)
api.set_org("YOUR_ORGANIZATION")

Create a Workspace

create_workspace_payload = {
    # https://www.terraform.io/docs/cloud/api/workspaces.html#sample-payload
}

created_workspace = api.workspaces.create(create_workspace_payload)
created_workspace_id = created_workspace["data"]["id"]

Add Variables to a Workspace [Deprecated]

create_var_payload = {
    # https://www.terraform.io/docs/cloud/api/variables.html#sample-payload
}

api.vars.create(create_var_payload)

Add Workspace Variables

create_ws_var_payload = {
    # https://www.terraform.io/docs/cloud/api/variables.html#sample-payload
}
workspace_id = "ws-foo"

api.workspace_vars.create(workspace_id, create_ws_var_payload)

Create a Run on a Workspace

create_run_payload = {
    # https://www.terraform.io/docs/cloud/api/run.html#sample-payload
}

run = api.runs.create(create_run_payload)
run_id = self._run["data"]["id"]

Override a Failed Policy Check

pol_checks = api.pol_checks.list(run_id)
api.pol_checks.override(pol_checks["data"][0]["id"])

Apply a Run on a Workspace

apply_run_payload = {
   # https://www.terraform.io/docs/cloud/api/run.html#sample-payload-1
}
applied_run = api.runs.apply(run_id, payload)