fakherhannafi / terraform-aws-mcaf-workspace

Terraform module to create a TFC workspace for resources in an AWS account.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

terraform-aws-mcaf-workspace

Requirements

Name Version
terraform >= 0.13.0

Providers

Name Version
github n/a
tfe n/a

Inputs

Name Description Type Default Required
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

Outputs

Name Description
repo_full_name The full 'organization/repository' name of the repository
workspace_id The Terraform workspace ID

About

Terraform module to create a TFC workspace for resources in an AWS account.

License:Apache License 2.0


Languages

Language:HCL 98.6%Language:Smarty 1.4%