Before you add a Terraform configuration to a Cloud Assembly template, set up and integrate your version control repository.
Prerequisites
For the vRealize Automation on-premises product to run Terraform operations, you need the Terraform runtime integration. See Preparing a Cloud Assembly Terraform runtime environment.
Store Terraform configuration files in a version control repository
Cloud Assembly supports the following version control repositories for Terraform configurations.
- GitHub cloud, GitHub Enterprise on-premises
- GitLab cloud, GitLab Enterprise on-premises
- Bitbucket on-premises
In your version control repository, create a default directory with one layer of subdirectories, each with Terraform configuration files. Create one subdirectory per Terraform configuration.
- Default directory
- Single subdirectory layer
- Deployment-ready Terraform configuration files
Don't include a Terraform state file with configuration files. If
terraform.tfstate
is present, errors occur during deployment.
Enable cloud zone mapping
If you expect to deploy to a cloud account, the Terraform runtime engine needs those cloud zone credentials.
In the project Provisioning tab, enable Allow Terraform cloud zone mapping.
Even though credentials are securely transmitted, for additional security, you should leave the option deactivated if project users don't need to deploy to a cloud account.
Integrate your repository with Cloud Assembly
In Cloud Assembly, go to .
Add an integration to the repository offering type where you stored the Terraform configurations: GitHub, GitLab, or Bitbucket.
When you add your project to the integration, select the Terraform Configurations type, and identify the repository and branch.
Folder is the default directory of your earlier structure.