Control-M for Terraform

Terraform is an open-source Infrastructure as Code (IaC) tool that enables you to create, configure, test, and manage your infrastructure on multiple platforms in a declarative way, using configuration files that describe the desired state of your infrastructure.

Control-M for Terraform enables you to do the following:

  • Connect to the Terraform Cloud with OAuth 2.0 authentication.

  • Trigger a Terraform workspace and pass variables.

  • Create a Terraform workspace and create a variable on a workspace

  • Manage Terraform credentials in a secure connection profile.

  • Connect to any Terraform endpoint.

  • Introduce all Control-M capabilities to Control-M for Terraform, including advanced scheduling criteria, complex dependencies, Resource Pools, Lock Resources, and variables.

  • Integrate Terraform jobs with other Control-M jobs into a single scheduling environment.

  • Monitor the Terraform workspace run status.

  • Attach an SLA job to the entire Terraform service.

Setting up Control-M for TerraformLink copied to clipboard

This procedure describes how to deploy the Terraform plug-in, create a connection profile, and define a Terraform job in Control-M SaaS and Automation API.

Before You Begin

  • Verify that Automation API is installed, as described in Setting Up the API.

  • Verify that Agent version 9.0.21.080 or later is installed.

  • Ensure that the Apply Method in the general settings in Terraform is set to Auto apply.

  1. On the Agent host, run one of the following commands to set the Java environment variable:

    • Linux:

      • Bourne shell/bash: export BMC_INST_JAVA_HOME=<java_11_directory>

      • csh/tcsh: setenv BMC_INST_JAVA_HOME <java_11_directory>

    • Windows: set BMC_INST_JAVA_HOME="<java_11_directory>"

  2. Run one of the following API commands:

    • To install, type one of the following provision image commands:

      • Linux: ctm provision image Terraform_plugin.Linux

      • Windows: ctm provision image Terraform_plugin.Windows

    • To upgrade, type the following command:

      ctm provision agent::update

  3. Create a Terraform connection profile in Control-M SaaS or Automation API, as follows:

  4. Define a Terraform job in Control-M SaaS or Automation API, as follows:

To remove this plug-in from an Agent, see Removing a Plug-in. The plug-in ID is TER102023.

Change LogLink copied to clipboard

The following table provides details about changes that were introduced in new versions of this plug-in:

Plug-in Version

Details

1.0.01

Changed the field name from Variables to Parameters

1.0.00

Initial version