»Provisioning No-Code Infrastructure
Note: No-code provisioning is in beta and available in the Terraform Cloud Business tier.
No-code provisioning lets you deploy infrastructure resources in a new Terraform Cloud workspace without writing any Terraform configuration. You can create a no-code workspace from any module labeled No-code Ready in your organization's private registry.
The no-code provisioning workflow is best for quickly deploying relatively static infrastructure. Beyond changing variable values, you cannot apply configuration changes to existing no-code workspaces. If you need to deploy updates to the no-code ready module's configuration, you must create new no-code workspaces with new resources. We recommend standard modules for use cases that require dynamic configuration and development.
Hands On: Try the Create and Use No-Code Ready Modules tutorial.
Terraform automatically starts a new run to provision no-code infrastructure upon workspace creation. No-code modules contain provider blocks in their configuration, but still require provider credentials for successful deployment. Organization administrators determine how new workspaces should access provider credentials, which may require specific module design.
The no-code provisioning workflow creates a new Terraform Cloud workspace to deploy and manage the no-code ready module's resources. Terraform Cloud automatically starts a run to provision the module's resources in the new workspace. Depending on the workspace's settings, Terraform either automatically applies the plan or prompts you for approval to provision the infrastructure.
To launch the no-code workflow:
Click Registry in the main Terraform Cloud navigation to access your organization's private registry.
Click Modules to view the list of available modules in the private registry. You can filter for no-code ready modules in your registry. No-code enabled modules have a No-code Ready badge next to their names.
Select the no-code ready module to view its details, then click Provision workspace. The Configure module inputs page appears.
Terraform Cloud scans the module configuration for input variables and prompts for values for any variables without defaults or undefined in an existing global variable set. Terraform requires values for these variables to successfully complete runs in the workspace. Terraform Cloud performs type validation for the variable values if the module configuration specifies a type.
(Optional) Set values for the input variables. You can choose to skip this step and configure the variables later. However, Terraform Cloud does not prompt you for these values again and your Terraform runs may fail.
Cick Next: Workspace settings.
Enter a Workspace Name. The name must be unique within the organization and can include letters, numbers, dashes (-), and underscores (_). Refer to the workspace naming recommendations for more guidance.
Choose a Project for the workspace. Teams with access to the specified project will automatically be able to view the workspace. Refer to Organizing Workspaces with Projects for more details.
Add an optional Description for the workspace.
Select an apply method for the workspace. Auto apply automatically applies any successful runs in the workspace, including the initial run on workspace creation. Manual apply prompts operators to review and confirm the changes in a run. Auto apply is the default option for a no-code workspace.
Click Create workspace. Terraform Cloud creates a new workspace and starts a run. Depending on the apply method, it automatically applies your infrastructure or prompts you for approval to create the no-code module's resources.
No-code workspaces have a limited feature set because you cannot access the resource configuration. However, you can edit workspace variables and settings, including notifications, permissions, and run triggers. You can use run triggers to connect the workspace to one or more source workspaces, start new runs when you change workspace variables, or queue destroy runs.
If the module’s configuration changes, you must destroy the workspace and create a new one to provision resources with the updated configuration.