• Infrastructure Lifecycle Management
    • TerraformManage infrastructure as code
    • PackerBuild machine images
    • NomadOrchestrate workloads
    • WaypointStandardize application patterns
    • VagrantBuild developer environments
  • Security Lifecycle Management
    • VaultCentrally manage secrets
    • BoundarySecure remote access
    • HCP Vault SecretsManage secrets as a service
    • ConsulSecure network services
    • HCP Vault RadarScan for embedded secrets
HashiCorp Cloud Platform
Get started in minutes with our cloud products
All HCP Products
Learn
  • CertificationsGet HashiCorp certified
  • TutorialsLearn HashiCorp products
  • Well-Architected FrameworkAdopt HashiCorp best practices
Terraform
  • Install
  • Tutorials
    • Docs Overview
    • Intro to Terraform
    • Configuration Language
    • Terraform CLI
    • HCP Terraform
    • Terraform Enterprise
    • CDK for Terraform
    • Provider Use
    • Plugin Development
    • Registry Publishing
    • Integration Program
  • Registry(opens in new tab)
  • Try Cloud(opens in new tab)
  • Sign up

Terraform Home

Terraform Enterprise

  • Terraform Enterprise
  • Terraform Enterprise

  • Overview
    • Overview
    • Adding Public Providers and Modules
    • Publishing Private Providers
    • Public Providers in an Airgapped Installation
    • Publishing Private Modules
    • Test-Integrated Modules
    • Using Providers and Modules
    • Configuration Designer
  • Migrating to Terraform Enterprise

  • HCP Terraform Agents

  • Resources

  • Tutorial Library
  • Certifications
  • Community Forum
    (opens in new tab)
  • Support
    (opens in new tab)
  • GitHub
    (opens in new tab)
  • Terraform Registry
    (opens in new tab)

You are viewing documentation for version v202409-3. View latest version.

  1. Developer
  2. Terraform
  3. Terraform Enterprise v202409-3
  4. Configuration Designer
  • Terraform Enterprise
  • v202502-1 (latest)
  • v202501-1
  • v202411-2
  • v202411-1
  • v202410-1
  • v202409-2
  • v202409-1
  • v202408-1
  • v202407-1
  • v202406-1
  • v202405-1
  • v202404-2
  • v202404-1
  • v202402-2
  • v202402-1
  • v202401-2
  • v202401-1
  • v202312-1
  • v202311-1
  • v202310-1
  • v202309-1
  • v202308-1
  • v202307-1
  • v202306-1
  • v202305-2
  • v202305-1
  • v202304-1
  • v202303-1
  • v202302-1
  • v202301-2
  • v202301-1
  • v202212-2
  • v202212-1
  • v202211-1
  • v202210-1
  • v202209-2
  • v202209-1
  • v202208-3
  • v202208-2
  • v202208-1
  • v202207-2
  • v202207-1
  • v202206-1

Using the Configuration Designer

HCP Terraform's private registry includes a configuration designer that can help you spend less time writing boilerplate code in a module-centric Terraform workflow.

The configuration designer lets you outline a configuration for a new workspace by choosing any number of private modules. It then lists those modules' variables as a fillable HTML form, with a helper interface for finding values that you can interpolate. When you are finished, the designer returns the text of a main.tf configuration. This is the same Terraform code you would have written in your text editor.

Accessing the Configuration Designer

Go to your organization's private registry, and then click <> Design Configuration.

The Select Modules page appears.

Adding Modules

Filter and search the left side of the Select Modules page to find private modules that you can add to your configuration.

Click Add Module for all of the modules you want to use in your configuration. These modules appear in the Selected Modules list on the right side of the page.

Setting Versions

Selecting a module adds its most recent version to the configuration. To specify a different version:

  1. Click the module's version number from the Selected Modules list on the right.
  2. Select an alternate version from the menu.

Setting Variables

When you finish selecting modules, click Next » to go to the Set Variables page.

The left side of this page lists your chosen modules, and the right side lists all variables for the currently selected module. Each variable is labeled as required or optional.

You can switch between modules without losing your work; click a module's Configure button to switch to its variable list.

Once you set a value for all of a module's required variables, its Configure button changes to a green Configured button.

Interpolation Searching

Variable values can be literal strings, or can interpolate other values. When you start typing an interpolation token (${), the designer displays a help message. As you continue typing, it searches the available outputs in your other selected modules, as well as outputs from workspaces where you are authorized to read state outputs. You can select one of these search results, or type a full name if you need to reference a value HCP Terraform does not know about.

Deferring Variables

Sometimes, configuration users should be able to set certain variables according to their use cases.

Select the Deferred checkbox to delegate a variable to configuration users. This ties the variable's value to a new top-level Terraform variable with no default value. All users that create a workspace from your configuration will have to provide a value for that variable.

The Output Configuration

When all modules are configured, click Next ».

The Publish page appears. Use the Preview configuration menu to review the generated code.

The configuration designer does not create any repositories or workspaces. To create workspaces with the configuration, you must download the generated code, save it as the main.tf file in a new directory, and commit it to version control. After you download the code, you can make any necessary changes or additions. For example, you may want to add non-module resources.

When you are sure you have downloaded the results, click Done to discard the configuration. HCP Terraform does not save output from previous configuration designer runs.

On this page:

  1. Using the Configuration Designer
  2. Accessing the Configuration Designer
  3. Adding Modules
  4. Setting Variables
  5. The Output Configuration
  • Certifications
  • System Status
  • Terms of Use
  • Security
  • Privacy
  • Trademark Policy
  • Trade Controls
  • Accessibility
  • Give Feedback(opens in new tab)