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 Terraform

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

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

Begin

  1. Do one of the following:

    • Install: Run one of the following provision image commands:

      • Linux: ctm provision image Terraform_plugin.Linux

      • Windows: ctm provision image Terraform_plugin.Windows

    • Upgrade: Run the following command:

      ctm provision agent::update

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

  3. 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 Log

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