Before you add a Terraform configuration to a vRealize Automation Cloud Assembly template, set up and integrate your version control repository.

  1. Prerequisites
  2. Store Terraform configuration files in a version control repository
  3. Enable cloud zone mapping
  4. Integrate your repository with vRealize Automation Cloud Assembly

Prerequisites

For the vRealize Automation on-premises product to run Terraform operations, you need the Terraform runtime integration. See Een Terraform runtimeomgeving voor vRealize Automation Cloud Assembly voorbereiden.

Store Terraform configuration files in a version control repository

vRealize Automation Cloud Assembly supports the following version control repositories for Terraform configurations.

  • GitHub cloud, GitHub Enterprise on-premises
  • GitLab cloud
  • 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.

  1. Default directory
  2. Single subdirectory layer
  3. Deployment-ready Terraform configuration files

    Don't include a Terraform state file with configuration files. If terraform.tfstate is present, errors occur during deployment.

Repository directory structure

Enable cloud zone mapping

If you expect to deploy to a public cloud vendor, the Terraform runtime engine needs those cloud zone credentials.

In the project Provisioning tab, enable Allow Terraform cloud zone mapping.

Terraform cloud zone mapping enabled

Even though credentials are securely transmitted, for additional security, you should leave the option disabled if project users don't need to deploy to a public cloud vendor.

Integrate your repository with vRealize Automation Cloud Assembly

In vRealize Automation Cloud Assembly, go to Infrastructure > Connections > Integrations.

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.

Terraform repository integration