name |
A name for the Terraform workspace |
string |
n/a |
yes |
oauth_token_id |
The OAuth token ID of the VCS provider |
string |
n/a |
yes |
repository_name |
The GitHub or GitLab repository to connect the workspace to |
string |
n/a |
yes |
tags |
A mapping of tags to assign to resource |
map(string) |
n/a |
yes |
terraform_organization |
The Terraform Enterprise organization to create the workspace in |
string |
n/a |
yes |
agent_pool_id |
Agent pool ID. Requires "execution_mode" to be set to agent |
string |
null |
no |
auto_apply |
Whether to automatically apply changes when a Terraform plan is successful |
bool |
false |
no |
branch |
The Git branch to trigger the TFE workspace for |
string |
"master" |
no |
clear_text_env_variables |
An optional map with clear text environment variables |
map(string) |
{} |
no |
clear_text_terraform_variables |
An optional map with clear text Terraform variables |
map(string) |
{} |
no |
create_backend_config |
Whether to create a backend.tf containing the remote backend config |
bool |
true |
no |
create_repository |
Whether of not to create a new repository |
bool |
false |
no |
delete_branch_on_merge |
Whether or not to delete the branch after a pull request is merged |
bool |
true |
no |
execution_mode |
Which execution mode to use |
string |
"remote" |
no |
file_triggers_enabled |
Whether to filter runs based on the changed files in a VCS push |
bool |
true |
no |
github_admins |
A list of GitHub teams that should have admins access |
list(string) |
[] |
no |
github_branch_protection |
The GitHub branches to protect from forced pushes and deletion |
list(object({ branches = list(string) enforce_admins = bool push_restrictions = list(string)
required_reviews = object({ dismiss_stale_reviews = bool dismissal_restrictions = list(string) required_approving_review_count = number require_code_owner_reviews = bool })
required_checks = object({ strict = bool contexts = list(string) }) })) |
[] |
no |
github_readers |
A list of GitHub teams that should have read access |
list(string) |
[] |
no |
github_writers |
A list of GitHub teams that should have write access |
list(string) |
[] |
no |
gitlab_branch_protection |
The GitLab branches to protect from forced pushes and deletion |
map(object({ push_access_level = string merge_access_level = string code_owner_approval_required = bool })) |
null |
no |
kms_key_id |
The KMS key ID used to encrypt the SSM parameters |
string |
null |
no |
policy |
The policy to attach to the pipeline user |
string |
null |
no |
policy_arns |
A set of policy ARNs to attach to the pipeline user |
set(string) |
[] |
no |
region |
The default region of the account |
string |
null |
no |
repository_description |
A description for the GitHub or GitLab repository |
string |
null |
no |
repository_owner |
The GitHub organization or GitLab namespace that owns the repository |
string |
null |
no |
repository_visibility |
Make the GitHub repository visibility |
string |
"private" |
no |
sensitive_env_variables |
An optional map with sensitive environment variables |
map(string) |
{} |
no |
sensitive_terraform_variables |
An optional map with sensitive Terraform variables |
map(string) |
{} |
no |
slack_notification_triggers |
The triggers to send to Slack |
list(string) |
[ "run:created", "run:planning", "run:needs_attention", "run:applying", "run:completed", "run:errored" ] |
no |
slack_notification_url |
The Slack Webhook URL to send notification to |
string |
null |
no |
ssh_key_id |
The SSH key ID to assign to the workspace |
string |
null |
no |
terraform_version |
The version of Terraform to use for this workspace |
string |
"latest" |
no |
trigger_prefixes |
List of repository-root-relative paths which should be tracked for changes |
list(string) |
[ "modules" ] |
no |
username |
The username for a new pipeline user. |
string |
null |
no |
vcs_provider |
The VCS provider to use |
string |
"github" |
no |
working_directory |
A relative path that Terraform will execute within |
string |
"terraform" |
no |