Skip to content

Latest commit

 

History

History
109 lines (77 loc) · 5.14 KB

File metadata and controls

109 lines (77 loc) · 5.14 KB

Fixit Cloud ☁️ Module: TFC Workspaces

Terraform module for managing Terraform Cloud Workspace resources.

Table of Contents


⚙️ Module Usage

Usage Examples

Requirements

Name Version
terraform 1.3.2
tfe ~> 0.28.1

Providers

Name Version
tfe ~> 0.28.1

Modules

No modules.

Resources

Name Type
tfe_variable.map resource
tfe_workspace.map resource

Inputs

Name Description Type Default Required
terraform_cloud_organization The Terraform Cloud Organization name. string n/a yes
workspaces Map of TF Cloud Workspace names to corresponding workspace config objects.
The optional boolean properties all default to false. If "terraform_version"
is provided, the specified semver will be used to constrain the versions of
TF permitted to run within the workspace. Use the "remote_execution" property
to configure workspace plan/apply operations to run remotely on TFC VMs instead
of your local machine. With remote execution, you can also setup the VCS-driven
workflow via the "vcs_config" property, which will cause apply operations to be
initiated by new changes to "vcs_repo.branch" (default: "main") rather than via
manual CLI/API calls. Note that enabling the VCS-driven workflow will DISABLE
the ability to trigger runs via the CLI/API, which at this time can only be
reversed by manually removing the repository from the workspace via the TF
Cloud console. Instructions for obtaining a "vcs_oauth_token_id" for GitHub
can be found at https://www.terraform.io/cloud-docs/vcs/github.
map(object({
description = optional(string)
tag_names = optional(list(string))
working_directory = optional(string)
terraform_version = optional(string)
allow_destroy_plans = optional(bool)
allow_speculative_plans = optional(bool)
should_queue_all_runs = optional(bool)
remote_execution = optional(object({
variables = optional(list(object({
key = string
value = string
description = optional(string)
is_env_var = optional(bool)
is_value_hcl = optional(bool)
is_sensitive = optional(bool)
})))
vcs_config = optional(object({
identifier = string # e.g., Nerdware-LLC/fixit-cloud-modules
vcs_oauth_token_id = string
branch = optional(string) # default "main"
ingress_submodules = optional(bool) # default false
}))
}))
}))
n/a yes

Outputs

Name Description
Workspace_Variables Map of TFC Workspace Variable resources (sensitive).
Workspaces Map of TFC Workspace resource objects.

📝 License

All scripts and source code contained herein are for commercial use only by Nerdware, LLC.

See LICENSE for more information.

💬 Contact

Trevor Anderson - @TeeRevTweets - Trevor@Nerdware.cloud

     

Dare Mighty Things.